Change the way signalType is dissected to be
[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  *
8  * Maintained by Andreas Sikkema (andreas.sikkema@philips.com)
9  *
10  * $Id: packet-h245.c,v 1.42 2003/11/22 11:12:19 sahlberg Exp $
11  *
12  * Ethereal - Network traffic analyzer
13  * By Gerald Combs <gerald@ethereal.com>
14  * Copyright 1998 Gerald Combs
15  *
16  * This program is free software; you can redistribute it and/or
17  * modify it under the terms of the GNU General Public License
18  * as published by the Free Software Foundation; either version 2
19  * of the License, or (at your option) any later version.
20  *
21  * This program is distributed in the hope that it will be useful,
22  * but WITHOUT ANY WARRANTY; without even the implied warranty of
23  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24  * GNU General Public License for more details.
25  *
26  * You should have received a copy of the GNU General Public License
27  * along with this program; if not, write to the Free Software
28  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
29  */
30
31 #ifdef HAVE_CONFIG_H
32 # include "config.h"
33 #endif
34
35 #include <glib.h>
36 #include <epan/packet.h>
37 #include <epan/conversation.h>
38
39 #include <stdio.h>
40 #include <string.h>
41
42 #include "prefs.h"
43 #include "packet-tpkt.h"
44 #include "packet-per.h"
45 #include "t35.h"
46
47 static dissector_handle_t rtp_handle=NULL;
48 static dissector_handle_t rtcp_handle=NULL;
49
50 static dissector_handle_t h245_handle;
51 static dissector_handle_t MultimediaSystemControlMessage_handle;
52
53 static int proto_h245 = -1;             /* h245 over tpkt */
54 static int hf_h245_rfc_number = -1;
55 static int hf_h245_pdu_type = -1;
56 static int hf_h245_DialingInformationNumber_networkAddress = -1;
57 static int hf_h245_signalType = -1;
58 static int hf_h245_e164Address = -1;
59 static int hf_h245_subAddress = -1;
60 static int hf_h245_domainBased = -1;
61 static int hf_h245_internationalNumber = -1;
62 static int hf_h245_IndicationMessage_type = -1;
63 static int hf_h245_RequestMessage_type = -1;
64 static int hf_h245_ResponseMessage_type = -1;
65 static int hf_h245_CommandMessage_type = -1;
66 static int hf_h245_PixelAspectCode = -1;
67 static int hf_h245_LogicalChannelNumber = -1;
68 static int hf_h245_SequenceNumber = -1;
69 static int hf_h245_EndSessionCommand_type = -1;
70 static int hf_h245_MobileMultilinkReconfigurationIndication = -1;
71 static int hf_h245_FlowControlIndication = -1;
72 static int hf_h245_UserInputIndication_extendedAlphanumeric = -1;
73 static int hf_h245_UserInputIndication_signalUpdate_rtp = -1;
74 static int hf_h245_UserInputIndication_signalUpdate = -1;
75 static int hf_h245_UserInputIndication_signal_rtp = -1;
76 static int hf_h245_UserInputIndication_signal = -1;
77 static int hf_h245_NewATMVCIndication_reverseParameters = -1;
78 static int hf_h245_NewATMVCIndication_aal_aal5 = -1;
79 static int hf_h245_NewATMVCIndication_aal_aal1 = -1;
80 static int hf_h245_NewATMVCIndication_aal = -1;
81 static int hf_h245_NewATMVCIndication = -1;
82 static int hf_h245_VendorIdentification = -1;
83 static int hf_h245_MCLocationIndication = -1;
84 static int hf_h245_H2250MaximumSkewIndication = -1;
85 static int hf_h245_H223SkewIndication = -1;
86 static int hf_h245_JitterIndication = -1;
87 static int hf_h245_MiscellaneousIndication_type_videoNotDecodedMBs = -1;
88 static int hf_h245_MiscellaneousIndication = -1;
89 static int hf_h245_VideoIndicateCompose = -1;
90 static int hf_h245_TerminalYouAreSeeingInSubPictureNumber = -1;
91 static int hf_h245_FunctionNotSupported = -1;
92 static int hf_h245_MobileMultilinkReconfigurationCommand = -1;
93 static int hf_h245_NewATMVCCommand_reverseParameters = -1;
94 static int hf_h245_NewATMVCCommand = -1;
95 static int hf_h245_NewATMVCCommand_aal_aal5 = -1;
96 static int hf_h245_NewATMVCCommand_aal_aal1 = -1;
97 static int hf_h245_EncryptionUpdateRequest = -1;
98 static int hf_h245_KeyProtectionMethod = -1;
99 static int hf_h245_MiscellaneousCommand_type_lostPartialPicture = -1;
100 static int hf_h245_MiscellaneousCommand_type_videoBadMBs = -1;
101 static int hf_h245_MiscellaneousCommand_type_progressiveRefinementStart = -1;
102 static int hf_h245_MiscellaneousCommand_type_videoFastUpdateMB = -1;
103 static int hf_h245_MiscellaneousCommand_type_videoFastUpdateGOB = -1;
104 static int hf_h245_MiscellaneousCommand = -1;
105 static int hf_h245_SubstituteConferenceIDCommand = -1;
106 static int hf_h245_FlowControlCommand = -1;
107 static int hf_h245_EncryptionCommand_encryptionAlgorithmID = -1;
108 static int hf_h245_SendTerminalCapabilitySet_specificRequest = -1;
109 static int hf_h245_LogicalChannelRateRelease = -1;
110 static int hf_h245_LogicalChannelRateReject = -1;
111 static int hf_h245_LogicalChannelRateAck = -1;
112 static int hf_h245_LogicalChannelRateRequest = -1;
113 static int hf_h245_ConnectionIdentifier = -1;
114 static int hf_h245_DialingInformationNumber = -1;
115 static int hf_h245_MultilinkIndication_excessiveError = -1;
116 static int hf_h245_MultilinkIndication_crcDesired = -1;
117 static int hf_h245_MultilinkResponse_maximumHeaderInterval = -1;
118 static int hf_h245_MultilinkResponse_removeConnection = -1;
119 static int hf_h245_MultilinkResponse_addConnection = -1;
120 static int hf_h245_MultilinkResponse_callInformation = -1;
121 static int hf_h245_MultilinkRequest_maximumHeaderInterval = -1;
122 static int hf_h245_MultilinkRequest_removeConnection = -1;
123 static int hf_h245_MultilinkRequest_addConnection = -1;
124 static int hf_h245_MultilinkRequest_callInformation = -1;
125 static int hf_h245_TerminalInformation = -1;
126 static int hf_h245_RequestAllTerminalIDsResponse = -1;
127 static int hf_h245_ConferenceResponse_terminalCertificateResponse = -1;
128 static int hf_h245_ConferenceResponse_chairTokenOwnerResponse = -1;
129 static int hf_h245_ConferenceResponse_extensionAddressResponse = -1;
130 static int hf_h245_ConferenceResponse_passwordResponse = -1;
131 static int hf_h245_ConferenceResponse_conferenceIDResponse = -1;
132 static int hf_h245_ConferenceResponse_terminalIDResponse = -1;
133 static int hf_h245_ConferenceResponse_mCterminalIDResponse = -1;
134 static int hf_h245_TerminalLabel = -1;
135 static int hf_h245_Criteria = -1;
136 static int hf_h245_ConferenceRequest_requestTerminalCertificate = -1;
137 static int hf_h245_CommunicationModeTableEntry = -1;
138 static int hf_h245_CommunicationModeRequest = -1;
139 static int hf_h245_CommunicationModeCommand = -1;
140 static int hf_h245_MaintenanceLoopOffCommand = -1;
141 static int hf_h245_MaintenanceLoopReject = -1;
142 static int hf_h245_MaintenanceLoopAck = -1;
143 static int hf_h245_MaintenanceLoopRequest = -1;
144 static int hf_h245_RoundTripDelayResponse = -1;
145 static int hf_h245_RoundTripDelayRequest = -1;
146 static int hf_h245_DataMode_application_t38fax = -1;
147 static int hf_h245_DataMode_application_nlpid = -1;
148 static int hf_h245_DataMode = -1;
149 static int hf_h245_VBDMode = -1;
150 static int hf_h245_G7231AnnexCMode_g723AnnexCAudioMode = -1;
151 static int hf_h245_G7231AnnexCMode = -1;
152 static int hf_h245_IS13818AudioMode = -1;
153 static int hf_h245_IS11172AudioMode = -1;
154 static int hf_h245_IS11172VideoMode = -1;
155 static int hf_h245_H263VideoMode = -1;
156 static int hf_h245_H262VideoMode = -1;
157 static int hf_h245_H261VideoMode = -1;
158 static int hf_h245_RedundancyEncodingMode = -1;
159 static int hf_h245_H2250ModeParameters = -1;
160 static int hf_h245_H223ModeParameters_adaptationLayerType_al3 = -1;
161 static int hf_h245_H223ModeParameters = -1;
162 static int hf_h245_FECMode_rfc2733Mode_mode_separateStream_samePort = -1;
163 static int hf_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort = -1;
164 static int hf_h245_FECMode_rfc2733Mode = -1;
165 static int hf_h245_MultiplePayloadStreamElementMode = -1;
166 static int hf_h245_MultiplePayloadStreamMode = -1;
167 static int hf_h245_RedundancyEncodingDTModeElement = -1;
168 static int hf_h245_RedundancyEncodingDTMode = -1;
169 static int hf_h245_MultiplexedStreamModeParameters = -1;
170 static int hf_h245_H235Mode = -1;
171 static int hf_h245_ModeElement = -1;
172 static int hf_h245_RequestModeRelease = -1;
173 static int hf_h245_RequestModeReject = -1;
174 static int hf_h245_RequestModeAck = -1;
175 static int hf_h245_RequestMode = -1;
176 static int hf_h245_RequestMultiplexEntryRelease = -1;
177 static int hf_h245_RequestMultiplexEntryRejectionDescriptions = -1;
178 static int hf_h245_RequestMultiplexEntryReject = -1;
179 static int hf_h245_RequestMultiplexEntryAck = -1;
180 static int hf_h245_RequestMultiplexEntry = -1;
181 static int hf_h245_MultiplexEntrySendRelease = -1;
182 static int hf_h245_MultiplexEntryRejectionDescriptions = -1;
183 static int hf_h245_MultiplexEntrySendReject = -1;
184 static int hf_h245_MultiplexEntrySendAck = -1;
185 static int hf_h245_MultiplexElement = -1;
186 static int hf_h245_MultiplexEntryDescriptor = -1;
187 static int hf_h245_MultiplexEntrySend = -1;
188 static int hf_h245_RequestChannelCloseRelease = -1;
189 static int hf_h245_RequestChannelCloseReject = -1;
190 static int hf_h245_RequestChannelCloseAck = -1;
191 static int hf_h245_RequestChannelClose = -1;
192 static int hf_h245_CloseLogicalChannelAck = -1;
193 static int hf_h245_CloseLogicalChannel = -1;
194 static int hf_h245_H2250LogicalChannelAckParameters = -1;
195 static int hf_h245_OpenLogicalChannelConfirm = -1;
196 static int hf_h245_OpenLogicalChannelReject = -1;
197 static int hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters = -1;
198 static int hf_h245_OpenLogicalChannelAck = -1;
199 static int hf_h245_EscrowData = -1;
200 static int hf_h245_EncryptionSync = -1;
201 static int hf_h245_MulticastAddress_iP6Address = -1;
202 static int hf_h245_MulticastAddress_iPAddress = -1;
203 static int hf_h245_UnicastAddress_iPSourceRouteAddress = -1;
204 static int hf_h245_UnicastAddress_iP6Address = -1;
205 static int hf_h245_UnicastAddress_iPXAddress = -1;
206 static int hf_h245_UnicastAddress_iPAddress = -1;
207 static int hf_h245_FECData_rfc2733_mode_separateStream_samePort = -1;
208 static int hf_h245_FECData_rfc2733_mode_separateStream_differentPort = -1;
209 static int hf_h245_FECData_rfc2733 = -1;
210 static int hf_h245_MultiplePayloadStreamElement = -1;
211 static int hf_h245_MultiplePayloadStream = -1;
212 static int hf_h245_RedundancyEncodingElement = -1;
213 static int hf_h245_RedundancyEncoding_rtpRedundancyEncoding = -1;
214 static int hf_h245_RedundancyEncoding = -1;
215 static int hf_h245_RTPPayloadType = -1;
216 static int hf_h245_H2250LogicalChannelParameters = -1;
217 static int hf_h245_V76HDLCParameters = -1;
218 static int hf_h245_V76LogicalChannelParameters_mode_eRM = -1;
219 static int hf_h245_V76LogicalChannelParameters = -1;
220 static int hf_h245_H223AnnexCArqParameters = -1;
221 static int hf_h245_H223AL3MParameters = -1;
222 static int hf_h245_H223AL2MParameters = -1;
223 static int hf_h245_H223AL1MParameters = -1;
224 static int hf_h245_H223LogicalChannelParameters_adaptionLayerType_al3 = -1;
225 static int hf_h245_H223LogicalChannelParameters = -1;
226 static int hf_h245_H222LogicalChannelParameters = -1;
227 static int hf_h245_MultiplexedStreamParameter = -1;
228 static int hf_h245_H235Media = -1;
229 static int hf_h245_V75Parameters = -1;
230 static int hf_h245_Q2931Address = -1;
231 static int hf_h245_NetworkAccessParameters = -1;
232 static int hf_h245_reverseLogicalChannelParameters = -1;
233 static int hf_h245_forwardLogicalChannelParameters = -1;
234 static int hf_h245_OpenLogicalChannel = -1;
235 static int hf_h245_FECCapability_rfc2733_separateStream = -1;
236 static int hf_h245_FECCapability_rfc2733 = -1;
237 static int hf_h245_MultiplePayloadStreamCapability = -1;
238 static int hf_h245_NoPTAudioToneCapability = -1;
239 static int hf_h245_NoPTAudioTelephonyEventCapability = -1;
240 static int hf_h245_AudioToneCapability = -1;
241 static int hf_h245_AudioTelephonyEventCapability = -1;
242 static int hf_h245_MultiplexedStreamCapability = -1;
243 static int hf_h245_GenericParameter = -1;
244 static int hf_h245_GenericCapability = -1;
245 static int hf_h245_ConferenceCapability = -1;
246 static int hf_h245_IntegrityCapability = -1;
247 static int hf_h245_AuthenticationCapability = -1;
248 static int hf_h245_EncryptionAuthenticationAndIntegrity = -1;
249 static int hf_h245_T38FaxTcpOptions = -1;
250 static int hf_h245_T38FaxUdpOptions = -1;
251 static int hf_h245_T38FaxProfile = -1;
252 static int hf_h245_T84Profile_t84Restricted = -1;
253 static int hf_h245_V42bis = -1;
254 static int hf_h245_DataApplicationCapability_application_t38fax = -1;
255 static int hf_h245_DataApplicationCapability_application_nlpid = -1;
256 static int hf_h245_DataApplicationCapability_application_t84 = -1;
257 static int hf_h245_DataApplicationCapability = -1;
258 static int hf_h245_VBDCapability = -1;
259 static int hf_h245_GSMAudioCapability = -1;
260 static int hf_h245_IS13818AudioCapability = -1;
261 static int hf_h245_IS11172AudioCapability = -1;
262 static int hf_h245_G7231AnnexCCapability_g723AnnexCAudioMode = -1;
263 static int hf_h245_G7231AnnexCCapability = -1;
264 static int hf_h245_G729Extensions = -1;
265 static int hf_h245_AudioCapability_g7231 = -1;
266 static int hf_h245_IS11172VideoCapability = -1;
267 static int hf_h245_H263Version3Options = -1;
268 static int hf_h245_H263ModeComboFlags = -1;
269 static int hf_h245_H263VideoModeCombos = -1;
270 static int hf_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR = -1;
271 static int hf_h245_CustomPictureFormat_mPI_customPCF = -1;
272 static int hf_h245_CustomPictureFormat_mPI = -1;
273 static int hf_h245_CustomPictureFormat = -1;
274 static int hf_h245_CustomPictureClockFrequency = -1;
275 static int hf_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters = -1;
276 static int hf_h245_RefPictureSelection_enhancedReferencePicSelect = -1;
277 static int hf_h245_RefPictureSelection_additionalPictureMemory = -1;
278 static int hf_h245_RefPictureSelection = -1;
279 static int hf_h245_TransperencyParameters = -1;
280 static int hf_h245_H263Options = -1;
281 static int hf_h245_EnhancementOptions = -1;
282 static int hf_h245_BEnhancementParameters = -1;
283 static int hf_h245_EnhancementLayerInfo = -1;
284 static int hf_h245_H263VideoCapability = -1;
285 static int hf_h245_H262VideoCapability = -1;
286 static int hf_h245_H261VideoCapability = -1;
287 static int hf_h245_MediaDistributionCapability = -1;
288 static int hf_h245_MultipointCapability = -1;
289 static int hf_h245_receiveMultipointCapability = -1;
290 static int hf_h245_transmitMultipointCapability = -1;
291 static int hf_h245_receiveAndTransmitMultipointCapability = -1;
292 static int hf_h245_RTPH263VideoRedundancyFrameMapping = -1;
293 static int hf_h245_RTPH263VideoRedundancyEncoding = -1;
294 static int hf_h245_RedundancyEncodingCapability = -1;
295 static int hf_h245_TransportCapability = -1;
296 static int hf_h245_MediaChannelCapability = -1;
297 static int hf_h245_MediaTransportType_AtmAAL5Compressed = -1;
298 static int hf_h245_QOSCapability = -1;
299 static int hf_h245_ATMParameters = -1;
300 static int hf_h245_RSVPParameters = -1;
301 static int hf_h245_MediaPacketizationCapability = -1;
302 static int hf_h245_H2250Capability_mcCapability = -1;
303 static int hf_h245_H2250Capability = -1;
304 static int hf_h245_V75Capability = -1;
305 static int hf_h245_V76Capability = -1;
306 static int hf_h245_H223AnnexCCapability = -1;
307 static int hf_h245_H223Capability_mobileMultilinkFrameCapability = -1;
308 static int hf_h245_H223Capability_mobileOperationTransmitCapability = -1;
309 static int hf_h245_H223Capability_h223MultiplexTableCapability_enhanced = -1;
310 static int hf_h245_H223Capability = -1;
311 static int hf_h245_VCCapability_aal1ViaGateway = -1;
312 static int hf_h245_VCCapability_availableBitRates_rangeOfBitRates = -1;
313 static int hf_h245_VCCapability_availableBitRates = -1;
314 static int hf_h245_VCCapability_aal5 = -1;
315 static int hf_h245_VCCapability_aal1 = -1;
316 static int hf_h245_VCCapability = -1;
317 static int hf_h245_H222Capability = -1;
318 static int hf_h245_H235SecurityCapability = -1;
319 static int hf_h245_Capability_h233EncryptionReceiveCapability = -1;
320 static int hf_h245_TerminalCapabilitySetRelease = -1;
321 static int hf_h245_TerminalCapabilitySetReject = -1;
322 static int hf_h245_TerminalCapabilitySetAck = -1;
323 static int hf_h245_CapabilityDescriptor = -1;
324 static int hf_h245_CapabilityTableEntry = -1;
325 static int hf_h245_TerminalCapabilitySet = -1;
326 static int hf_h245_MasterSlaveDeterminationRelease = -1;
327 static int hf_h245_MasterSlaveDeterminationReject = -1;
328 static int hf_h245_MasterSlaveDeterminationAck = -1;
329 static int hf_h245_MasterSlaveDetermination = -1;
330 static int hf_h245_h221NonStandard = -1;
331 static int hf_h245_NonStandardParameter = -1;
332 static int hf_h245_NonStandardMessage = -1;
333 static int hf_h245_FlowControlIndication_restriction = -1;
334 static int hf_h245_FlowControlIndication_scope = -1;
335 static int hf_h245_UserInputIndication_userInputSupportIndication = -1;
336 static int hf_h245_UserInputIndication = -1;
337 static int hf_h245_NewATMVCIndication_reverseParameters_multiplex = -1;
338 static int hf_h245_NewATMVCIndication_multiplex = -1;
339 static int hf_h245_NewATMVCIndication_aal_aal1_errorCorrection = -1;
340 static int hf_h245_NewATMVCIndication_aal_aal1_clockRecovery = -1;
341 static int hf_h245_JitterIndication_scope = -1;
342 static int hf_h245_MiscellaneousIndication_type = -1;
343 static int hf_h245_ConferenceIndication = -1;
344 static int hf_h245_FunctionNotSupported_cause = -1;
345 static int hf_h245_FunctionNotUnderstood = -1;
346 static int hf_h245_MobileMultilinkReconfigurationCommand_status = -1;
347 static int hf_h245_NewATMVCCommand_reverseParameters_multiplex = -1;
348 static int hf_h245_NewATMVCCommand_multiplex = -1;
349 static int hf_h245_NewATMVCCommand_aal_aal1_errorCorrection = -1;
350 static int hf_h245_NewATMVCCommand_aal_aal1_clockRecovery = -1;
351 static int hf_h245_NewATMVCCommand_aal = -1;
352 static int hf_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag = -1;
353 static int hf_h245_H223MultiplexReconfiguration_h223ModeChange = -1;
354 static int hf_h245_H223MultiplexReconfiguration = -1;
355 static int hf_h245_PictureReference = -1;
356 static int hf_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount = -1;
357 static int hf_h245_MiscellaneousCommand_type = -1;
358 static int hf_h245_ConferenceCommand = -1;
359 static int hf_h245_EndSessionCommand_gstnOptions = -1;
360 static int hf_h245_EndSessionCommand_isdnOptions = -1;
361 static int hf_h245_FlowControlCommand_restriction = -1;
362 static int hf_h245_FlowControlCommand_scope = -1;
363 static int hf_h245_EncryptionCommand = -1;
364 static int hf_h245_SendTerminalCapabilitySet = -1;
365 static int hf_h245_LogicalChannelRateRejectReason = -1;
366 static int hf_h245_DialingInformationNetworkType = -1;
367 static int hf_h245_DialingInformation = -1;
368 static int hf_h245_MultilinkIndication = -1;
369 static int hf_h245_MultilinkResponse_addConnection_responseCode_rejected = -1;
370 static int hf_h245_MultilinkResponse_addConnection_responseCode = -1;
371 static int hf_h245_MultilinkResponse = -1;
372 static int hf_h245_MultilinkRequest_maximumHeaderInterval_requestType = -1;
373 static int hf_h245_MultilinkRequest = -1;
374 static int hf_h245_RemoteMCResponse_reject = -1;
375 static int hf_h245_RemoteMCResponse = -1;
376 static int hf_h245_RemoteMCRequest = -1;
377 static int hf_h245_ConferenceResponse_sendThisSourceResponse = -1;
378 static int hf_h245_ConferenceResponse_makeTerminalBroadcasterResponse = -1;
379 static int hf_h245_ConferenceResponse_broadcastMyLogicalChannelResponse = -1;
380 static int hf_h245_ConferenceResponse_makeMeChairResponse = -1;
381 static int hf_h245_ConferenceResponse = -1;
382 static int hf_h245_ConferenceRequest = -1;
383 static int hf_h245_CommunicationModeTableEntry_dataType = -1;
384 static int hf_h245_CommunicationModeResponse = -1;
385 static int hf_h245_MaintenanceLoopReject_cause = -1;
386 static int hf_h245_MaintenanceLoopReject_type = -1;
387 static int hf_h245_MaintenanceLoopAck_type = -1;
388 static int hf_h245_MaintenanceLoopRequest_type = -1;
389 static int hf_h245_EncryptionMode = -1;
390 static int hf_h245_DataMode_application = -1;
391 static int hf_h245_IS13818AudioMode_multiChannelType = -1;
392 static int hf_h245_IS13818AudioMode_audioSampling = -1;
393 static int hf_h245_IS13818AudioMode_audioLayer = -1;
394 static int hf_h245_IS11172AudioMode_multichannelType = -1;
395 static int hf_h245_IS11172AudioMode_audioSampling = -1;
396 static int hf_h245_IS11172AudioMode_audioLayer = -1;
397 static int hf_h245_AudioMode_g7231 = -1;
398 static int hf_h245_AudioMode = -1;
399 static int hf_h245_H263VideoMode_resolution = -1;
400 static int hf_h245_H262VideoMode_profileAndLevel = -1;
401 static int hf_h245_H261VideoMode_resolution = -1;
402 static int hf_h245_VideoMode = -1;
403 static int hf_h245_RedundancyEncodingMode_secondaryEncoding = -1;
404 static int hf_h245_V76ModeParameters = -1;
405 static int hf_h245_H223ModeParameters_adaptationLayerType = -1;
406 static int hf_h245_FECMode_rfc2733Mode_mode_separateStream = -1;
407 static int hf_h245_FECMode_rfc2733Mode_mode = -1;
408 static int hf_h245_FECMode = -1;
409 static int hf_h245_RedundancyEncodingDTModeElement_type = -1;
410 static int hf_h245_H235Mode_mediaMode = -1;
411 static int hf_h245_ModeElementType = -1;
412 static int hf_h245_RequestModeReject_cause = -1;
413 static int hf_h245_RequestMultiplexEntryRejectionDescriptions_cause = -1;
414 static int hf_h245_MultiplexEntryRejectionDescriptions_cause = -1;
415 static int hf_h245_MultiplexElement_repeatCount = -1;
416 static int hf_h245_MultiplexElement_type = -1;
417 static int hf_h245_RequestChannelCloseReject_cause = -1;
418 static int hf_h245_RequestChannelClose_reason = -1;
419 static int hf_h245_CloseLogicalChannel_reason = -1;
420 static int hf_h245_CloseLogicalChannel_source = -1;
421 static int hf_h245_OpenLogicalChannelReject_cause = -1;
422 static int hf_h245_forwardMultiplexAckParameters = -1;
423 static int hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters = -1;
424 static int hf_h245_MulticastAddress = -1;
425 static int hf_h245_UnicastAddress_iPSourceRouteAddress_routing = -1;
426 static int hf_h245_UnicastAddress = -1;
427 static int hf_h245_mediaControlChannel = -1;
428 static int hf_h245_localAreaAddress = -1;
429 static int hf_h245_mediaChannel = -1;
430 static int hf_h245_signalAddress = -1;
431 static int hf_h245_FECData_rfc2733_mode_separateStream = -1;
432 static int hf_h245_FECData_rfc2733_mode = -1;
433 static int hf_h245_FECData = -1;
434 static int hf_h245_RTPPayloadType_payloadDescriptor = -1;
435 static int hf_h245_H2250LogicalChannelParameters_mediaPacketization = -1;
436 static int hf_h245_CRCLength = -1;
437 static int hf_h245_V76LogicalChannelParameters_mode_eRM_recovery = -1;
438 static int hf_h245_V76LogicalChannelParameters_mode = -1;
439 static int hf_h245_V76LogicalChannelParameters_suspendResume = -1;
440 static int hf_h245_H223AnnexCArqParameters_numberOfRetransmissions = -1;
441 static int hf_h245_H223AL3MParameters_arqType = -1;
442 static int hf_h245_H223AL3MParameters_crcLength = -1;
443 static int hf_h245_H223AL3MParameters_headerFormat = -1;
444 static int hf_h245_H223AL2MParameters_headerFEC = -1;
445 static int hf_h245_H223AL1MParameters_arqType = -1;
446 static int hf_h245_H223AL1MParameters_crcLength = -1;
447 static int hf_h245_H223AL1MParameters_headerFEC = -1;
448 static int hf_h245_H223AL1MParameters_transferMode = -1;
449 static int hf_h245_H223LogicalChannelParameters_adaptationLayerType = -1;
450 static int hf_h245_H235Media_mediaType = -1;
451 static int hf_h245_DataType = -1;
452 static int hf_h245_Q2931Address_address = -1;
453 static int hf_h245_NetworkAccessParameters_t120SetupProcedure = -1;
454 static int hf_h245_NetworkAccessParameters_networkAddress = -1;
455 static int hf_h245_NetworkAccessParameters_distribution = -1;
456 static int hf_h245_reverseLogicalChannelParameters_multiplexParameters = -1;
457 static int hf_h245_forwardLogicalChannelParameters_multiplexParameters = -1;
458 static int hf_h245_FECCapability = -1;
459 static int hf_h245_MultiplexFormat = -1;
460 static int hf_h245_ParameterValue = -1;
461 static int hf_h245_ParameterIdentifier = -1;
462 static int hf_h245_CapabilityIdentifier = -1;
463 static int hf_h245_UserInputCapability = -1;
464 static int hf_h245_MediaEncryptionAlgorithm = -1;
465 static int hf_h245_T38FaxUdpOptions_t38FaxUdpEC = -1;
466 static int hf_h245_T38FaxRateManagement = -1;
467 static int hf_h245_T84Profile = -1;
468 static int hf_h245_CompressionType = -1;
469 static int hf_h245_DataProtocolCapability_v76wCompression = -1;
470 static int hf_h245_DataProtocolCapability = -1;
471 static int hf_h245_DataApplicationCapability_application = -1;
472 static int hf_h245_AudioCapability = -1;
473 static int hf_h245_CustomPictureFormat_pixelAspectInformation = -1;
474 static int hf_h245_RefPictureSelection_videoBackChannelSend = -1;
475 static int hf_h245_VideoCapability = -1;
476 static int hf_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping = -1;
477 static int hf_h245_RedundancyEncodingMethod = -1;
478 static int hf_h245_MediaTransportType = -1;
479 static int hf_h245_QOSMode = -1;
480 static int hf_h245_H223Capability_h223MultiplexTableCapability = -1;
481 static int hf_h245_VCCapability_availableBitRates_type = -1;
482 static int hf_h245_MultiplexCapability = -1;
483 static int hf_h245_Capability = -1;
484 static int hf_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded = -1;
485 static int hf_h245_TerminalCapabilitySetReject_cause = -1;
486 static int hf_h245_MasterSlaveDeterminationReject_cause = -1;
487 static int hf_h245_MasterSlaveDeterminationAck_decision = -1;
488 static int hf_h245_RequestModeAck_response_decision = -1;
489 static int hf_h245_NonStandardIdentifier = -1;
490 static int hf_h245_h233EncryptionTransmitCapability = -1;
491 static int hf_h245_nullClockRecovery = -1;
492 static int hf_h245_srtsClockRecovery = -1;
493 static int hf_h245_adaptiveClockRecovery = -1;
494 static int hf_h245_nullErrorCorrection = -1;
495 static int hf_h245_longInterleaver = -1;
496 static int hf_h245_shortInterleaver = -1;
497 static int hf_h245_errorCorrectionOnly = -1;
498 static int hf_h245_structuredDataTransfer = -1;
499 static int hf_h245_partiallyFilledCells = -1;
500 static int hf_h245_transportStream = -1;
501 static int hf_h245_programStream = -1;
502 static int hf_h245_transportWithIframes = -1;
503 static int hf_h245_videoWithAL1 = -1;
504 static int hf_h245_videoWithAL2 = -1;
505 static int hf_h245_videoWithAL3 = -1;
506 static int hf_h245_audioWithAL1 = -1;
507 static int hf_h245_audioWithAL2 = -1;
508 static int hf_h245_audioWithAL3 = -1;
509 static int hf_h245_dataWithAL1 = -1;
510 static int hf_h245_dataWithAL2 = -1;
511 static int hf_h245_dataWithAL3 = -1;
512 static int hf_h245_maxMUXPDUSizeCapability = -1;
513 static int hf_h245_nsrpSupport = -1;
514 static int hf_h245_modeChangeCapability = -1;
515 static int hf_h245_h223AnnexA = -1;
516 static int hf_h245_h223AnnexADoubleFlag_bool = -1;
517 static int hf_h245_h223AnnexB = -1;
518 static int hf_h245_h223AnnexBwithHeader = -1;
519 static int hf_h245_videoWithAL1M = -1;
520 static int hf_h245_videoWithAL2M = -1;
521 static int hf_h245_videoWithAL3M = -1;
522 static int hf_h245_audioWithAL1M = -1;
523 static int hf_h245_audioWithAL2M = -1;
524 static int hf_h245_audioWithAL3M = -1;
525 static int hf_h245_dataWithAL1M = -1;
526 static int hf_h245_dataWithAL2M = -1;
527 static int hf_h245_dataWithAL3M = -1;
528 static int hf_h245_alpduInterleaving = -1;
529 static int hf_h245_rsCodeCapability = -1;
530 static int hf_h245_suspendResumeCapabilitywAddress = -1;
531 static int hf_h245_suspendResumeCapabilitywoAddress = -1;
532 static int hf_h245_rejCapability = -1;
533 static int hf_h245_sREJCapability = -1;
534 static int hf_h245_mREJCapability = -1;
535 static int hf_h245_crc8bitCapability = -1;
536 static int hf_h245_crc16bitCapability = -1;
537 static int hf_h245_crc32bitCapability = -1;
538 static int hf_h245_uihCapability = -1;
539 static int hf_h245_twoOctetAddressFieldCapability = -1;
540 static int hf_h245_loopBackTestCapability = -1;
541 static int hf_h245_audioHeader = -1;
542 static int hf_h245_centralizedConferenceMC = -1;
543 static int hf_h245_decentralizedConferenceMC = -1;
544 static int hf_h245_rtcpVideoControlCapability = -1;
545 static int hf_h245_logicalChannelSwitchingCapability = -1;
546 static int hf_h245_t120DynamicPortCapability = -1;
547 static int hf_h245_h261aVideoPacketization = -1;
548 static int hf_h245_atmUBR = -1;
549 static int hf_h245_atmrtVBR = -1;
550 static int hf_h245_atmnrtVBR = -1;
551 static int hf_h245_atmABR = -1;
552 static int hf_h245_atmCBR = -1;
553 static int hf_h245_variableDelta = -1;
554 static int hf_h245_multicastCapability = -1;
555 static int hf_h245_multiUniCastConference = -1;
556 static int hf_h245_centralizedControl = -1;
557 static int hf_h245_distributedControl = -1;
558 static int hf_h245_centralizedAudio = -1;
559 static int hf_h245_distributedAudio = -1;
560 static int hf_h245_centralizedVideo = -1;
561 static int hf_h245_distributedVideo = -1;
562 static int hf_h245_temporalSpatialTradeOffCapability = -1;
563 static int hf_h245_stillImageTransmission = -1;
564 static int hf_h245_videoBadMBsCap = -1;
565 static int hf_h245_profileAndLevelSPatML = -1;
566 static int hf_h245_profileAndLevelMPatLL = -1;
567 static int hf_h245_profileAndLevelMPatML = -1;
568 static int hf_h245_profileAndLevelMPatH14 = -1;
569 static int hf_h245_profileAndLevelMPatHL = -1;
570 static int hf_h245_profileAndLevelSNRatLL = -1;
571 static int hf_h245_profileAndLevelSNRatML = -1;
572 static int hf_h245_profileAndLevelSpatialatH14 = -1;
573 static int hf_h245_profileAndLevelHPatML = -1;
574 static int hf_h245_profileAndLevelHPatH14 = -1;
575 static int hf_h245_profileAndLevelHPatHL = -1;
576 static int hf_h245_unrestrictedVector = -1;
577 static int hf_h245_arithmeticCoding = -1;
578 static int hf_h245_advancedPrediction = -1;
579 static int hf_h245_pbFrames = -1;
580 static int hf_h245_errorCompensation = -1;
581 static int hf_h245_baseBitRateConstrained = -1;
582 static int hf_h245_advancedIntraCodingMode = -1;
583 static int hf_h245_deblockingFilterMode = -1;
584 static int hf_h245_improvedPBFramesMode = -1;
585 static int hf_h245_unlimitedMotionVectors = -1;
586 static int hf_h245_fullPictureFreeze = -1;
587 static int hf_h245_partialPictureFreezeAndRelease = -1;
588 static int hf_h245_resizingPartPicFreezeAndRelease = -1;
589 static int hf_h245_fullPictureSnapshot = -1;
590 static int hf_h245_partialPictureSnapshot = -1;
591 static int hf_h245_videoSegmentTagging = -1;
592 static int hf_h245_progressiveRefinement = -1;
593 static int hf_h245_dynamicPictureResizingByFour = -1;
594 static int hf_h245_dynamicPictureResizingSixteenthPel = -1;
595 static int hf_h245_dynamicWarpingHalfPel = -1;
596 static int hf_h245_dynamicWarpingSixteenthPel = -1;
597 static int hf_h245_independentSegmentDecoding = -1;
598 static int hf_h245_slicesInOrderNonRect = -1;
599 static int hf_h245_slicesInOrderRect = -1;
600 static int hf_h245_slicesNoOrderNonRect = -1;
601 static int hf_h245_slicesNoOrderRect = -1;
602 static int hf_h245_alternateInterVLCMode = -1;
603 static int hf_h245_modifiedQuantizationMode = -1;
604 static int hf_h245_reducedResolutionUpdate = -1;
605 static int hf_h245_separateVideoBackChannel = -1;
606 static int hf_h245_videoMux = -1;
607 static int hf_h245_anyPixelAspectRatio = -1;
608 static int hf_h245_referencePicSelect = -1;
609 static int hf_h245_enhancedReferencePicSelect_bool = -1;
610 static int hf_h245_dataPartitionedSlices = -1;
611 static int hf_h245_fixedPointIDCT0 = -1;
612 static int hf_h245_interlacedFields = -1;
613 static int hf_h245_currentPictureHeaderRepetition = -1;
614 static int hf_h245_previousPictureHeaderRepetition = -1;
615 static int hf_h245_nextPictureHeaderRepetition = -1;
616 static int hf_h245_pictureNumber_bool = -1;
617 static int hf_h245_spareReferencePictures = -1;
618 static int hf_h245_constrainedBitstream = -1;
619 static int hf_h245_silenceSuppression = -1;
620 static int hf_h245_annexA = -1;
621 static int hf_h245_annexB = -1;
622 static int hf_h245_annexD = -1;
623 static int hf_h245_annexE = -1;
624 static int hf_h245_annexF = -1;
625 static int hf_h245_annexG = -1;
626 static int hf_h245_annexH = -1;
627 static int hf_h245_audioLayer1 = -1;
628 static int hf_h245_audioLayer2 = -1;
629 static int hf_h245_audioLayer3 = -1;
630 static int hf_h245_audioSampling32k = -1;
631 static int hf_h245_audioSampling44k1 = -1;
632 static int hf_h245_audioSampling48k = -1;
633 static int hf_h245_singleChannel = -1;
634 static int hf_h245_twoChannels = -1;
635 static int hf_h245_audioSampling16k = -1;
636 static int hf_h245_audioSampling22k05 = -1;
637 static int hf_h245_audioSampling24k = -1;
638 static int hf_h245_threeChannels21 = -1;
639 static int hf_h245_threeChannels30 = -1;
640 static int hf_h245_fourChannels2020 = -1;
641 static int hf_h245_fourChannels22 = -1;
642 static int hf_h245_fourChannels31 = -1;
643 static int hf_h245_fiveChannels3020 = -1;
644 static int hf_h245_fiveChannels32 = -1;
645 static int hf_h245_lowFrequencyEnhancement = -1;
646 static int hf_h245_multilingual = -1;
647 static int hf_h245_comfortNoise = -1;
648 static int hf_h245_scrambled = -1;
649 static int hf_h245_qcif_bool = -1;
650 static int hf_h245_cif_bool = -1;
651 static int hf_h245_ccir601Seq = -1;
652 static int hf_h245_ccir601Prog = -1;
653 static int hf_h245_hdtvSeq = -1;
654 static int hf_h245_hdtvProg = -1;
655 static int hf_h245_g3FacsMH200x100 = -1;
656 static int hf_h245_g3FacsMH200x200 = -1;
657 static int hf_h245_g4FacsMMR200x100 = -1;
658 static int hf_h245_g4FacsMMR200x200 = -1;
659 static int hf_h245_jbig200x200Seq = -1;
660 static int hf_h245_jbig200x200Prog = -1;
661 static int hf_h245_jbig300x300Seq = -1;
662 static int hf_h245_jbig300x300Prog = -1;
663 static int hf_h245_digPhotoLow = -1;
664 static int hf_h245_digPhotoMedSeq = -1;
665 static int hf_h245_digPhotoMedProg = -1;
666 static int hf_h245_digPhotoHighSeq = -1;
667 static int hf_h245_digPhotoHighProg = -1;
668 static int hf_h245_fillBitRemoval = -1;
669 static int hf_h245_transcodingJBIG = -1;
670 static int hf_h245_transcodingMMR = -1;
671 static int hf_h245_t38TCPBidirectionalMode = -1;
672 static int hf_h245_chairControlCapability = -1;
673 static int hf_h245_videoIndicateMixingCapability = -1;
674 static int hf_h245_multipointVisualizationCapability = -1;
675 static int hf_h245_controlOnMuxStream = -1;
676 static int hf_h245_redundancyEncoding_bool = -1;
677 static int hf_h245_separatePort = -1;
678 static int hf_h245_samePort_bool = -1;
679 static int hf_h245_associateConference = -1;
680 static int hf_h245_audioHeaderPresent = -1;
681 static int hf_h245_segmentableFlag = -1;
682 static int hf_h245_alsduSplitting = -1;
683 static int hf_h245_uIH = -1;
684 static int hf_h245_loopbackTestProcedure = -1;
685 static int hf_h245_mediaGuaranteedDelivery = -1;
686 static int hf_h245_mediaControlGuaranteedDelivery = -1;
687 static int hf_h245_flowControlToZero = -1;
688 static int hf_h245_multiplexCapability_bool = -1;
689 static int hf_h245_secureChannel = -1;
690 static int hf_h245_sharedSecret = -1;
691 static int hf_h245_certProtectedKey = -1;
692 static int hf_h245_bitRateLockedToPCRClock = -1;
693 static int hf_h245_bitRateLockedToNetworkClock = -1;
694 static int hf_h245_IS11172_BitRate = -1;
695 static int hf_h245_IS13818_BitRate = -1;
696 static int hf_h245_ATM_BitRate = -1;
697 static int hf_h245_t35CountryCode = -1;
698 static int hf_h245_t35Extension = -1;
699 static int hf_h245_manufacturerCode = -1;
700 static int hf_h245_terminalType = -1;
701 static int hf_h245_statusDeterminationNumber = -1;
702 static int hf_h245_CapabilityTableEntryNumber = -1;
703 static int hf_h245_CapabilityDescriptorNumber = -1;
704 static int hf_h245_h233IVResponseTime = -1;
705 static int hf_h245_maxPendingReplacementFor = -1;
706 static int hf_h245_numberOfVCs = -1;
707 static int hf_h245_forwardMaximumSDUSize = -1;
708 static int hf_h245_backwardMaximumSDUSize = -1;
709 static int hf_h245_singleBitRate = -1;
710 static int hf_h245_lowerBitRate = -1;
711 static int hf_h245_higherBitRate = -1;
712 static int hf_h245_maximumAl2SDUSize = -1;
713 static int hf_h245_maximumAl3SDUSize = -1;
714 static int hf_h245_maximumDelayJitter = -1;
715 static int hf_h245_maximumNestingDepth = -1;
716 static int hf_h245_maximumElementListSize = -1;
717 static int hf_h245_maximumSubElementListSize = -1;
718 static int hf_h245_h223bitRate = -1;
719 static int hf_h245_maximumSampleSize = -1;
720 static int hf_h245_maximumPayloadLength = -1;
721 static int hf_h245_maximumAL1MPDUSize = -1;
722 static int hf_h245_maximumAL2MSDUSize = -1;
723 static int hf_h245_maximumAL3MSDUSize = -1;
724 static int hf_h245_numOfDLCS = -1;
725 static int hf_h245_n401Capability = -1;
726 static int hf_h245_maxWindowSizeCapability = -1;
727 static int hf_h245_maximumAudioDelayJitter = -1;
728 static int hf_h245_tokenRate = -1;
729 static int hf_h245_bucketSize = -1;
730 static int hf_h245_peakRate = -1;
731 static int hf_h245_minPoliced = -1;
732 static int hf_h245_maxPktSize = -1;
733 static int hf_h245_maxNTUSize = -1;
734 static int hf_h245_numberOfThreads = -1;
735 static int hf_h245_framesBetweenSyncPoints = -1;
736 static int hf_h245_threadNumber = -1;
737 static int hf_h245_qcifMPI_1_4 = -1;
738 static int hf_h245_qcifMPI_1_32 = -1;
739 static int hf_h245_qcifMPI_1_2048 = -1;
740 static int hf_h245_cifMPI_1_4 = -1;
741 static int hf_h245_cifMPI_1_32 = -1;
742 static int hf_h245_cifMPI_1_2048 = -1;
743 static int hf_h245_videoBitRate = -1;
744 static int hf_h245_vbvBufferSize = -1;
745 static int hf_h245_samplesPerLine = -1;
746 static int hf_h245_linesPerFrame = -1;
747 static int hf_h245_framesPerSecond = -1;
748 static int hf_h245_luminanceSampleRate = -1;
749 static int hf_h245_sqcifMPI_1_32 = -1;
750 static int hf_h245_sqcifMPI_1_2048 = -1;
751 static int hf_h245_cif4MPI_1_32 = -1;
752 static int hf_h245_cif4MPI_1_2048 = -1;
753 static int hf_h245_cif16MPI_1_32 = -1;
754 static int hf_h245_cif16MPI_1_2048 = -1;
755 static int hf_h245_maxBitRate_192400 = -1;
756 static int hf_h245_hrd_B = -1;
757 static int hf_h245_bppMaxKb = -1;
758 static int hf_h245_slowSqcifMPI = -1;
759 static int hf_h245_slowQcifMPI = -1;
760 static int hf_h245_slowCifMPI = -1;
761 static int hf_h245_slowCif4MPI = -1;
762 static int hf_h245_slowCif16MPI = -1;
763 static int hf_h245_numberOfBPictures = -1;
764 static int hf_h245_presentationOrder = -1;
765 static int hf_h245_offset_x = -1;
766 static int hf_h245_offset_y = -1;
767 static int hf_h245_scale_x = -1;
768 static int hf_h245_scale_y = -1;
769 static int hf_h245_sqcifAdditionalPictureMemory = -1;
770 static int hf_h245_qcifAdditionalPictureMemory = -1;
771 static int hf_h245_cifAdditionalPictureMemory = -1;
772 static int hf_h245_cif4AdditionalPictureMemory = -1;
773 static int hf_h245_cif16AdditionalPictureMemory = -1;
774 static int hf_h245_bigCpfAdditionalPictureMemory = -1;
775 static int hf_h245_mpuHorizMBs = -1;
776 static int hf_h245_mpuVertMBs = -1;
777 static int hf_h245_mpuTotalNumber = -1;
778 static int hf_h245_clockConversionCode = -1;
779 static int hf_h245_clockDivisor = -1;
780 static int hf_h245_maxCustomPictureWidth = -1;
781 static int hf_h245_minCustomPictureWidth = -1;
782 static int hf_h245_minCustomPictureHeight = -1;
783 static int hf_h245_maxCustomPictureHeight = -1;
784 static int hf_h245_standardMPI = -1;
785 static int hf_h245_customMPI = -1;
786 static int hf_h245_width = -1;
787 static int hf_h245_height = -1;
788 static int hf_h245_pictureRate = -1;
789 static int hf_h245_g711Alaw64k = -1;
790 static int hf_h245_g711Alaw56k = -1;
791 static int hf_h245_g711Ulaw64k = -1;
792 static int hf_h245_g711Ulaw56k = -1;
793 static int hf_h245_g722_64k = -1;
794 static int hf_h245_g722_56k = -1;
795 static int hf_h245_g722_48k = -1;
796 static int hf_h245_maxAl_sduAudioFrames = -1;
797 static int hf_h245_g728 = -1;
798 static int hf_h245_g729 = -1;
799 static int hf_h245_g729AnnexA = -1;
800 static int hf_h245_g729wAnnexB = -1;
801 static int hf_h245_g729AnnexAwAnnexB = -1;
802 static int hf_h245_audioUnit = -1;
803 static int hf_h245_highRateMode0 = -1;
804 static int hf_h245_highRateMode1 = -1;
805 static int hf_h245_lowRateMode0 = -1;
806 static int hf_h245_lowRateMode1 = -1;
807 static int hf_h245_sidMode0 = -1;
808 static int hf_h245_sidMode1 = -1;
809 static int hf_h245_audioUnitSize = -1;
810 static int hf_h245_maxBitRate_4294967295UL = -1;
811 static int hf_h245_numberOfCodewords = -1;
812 static int hf_h245_maximumStringLength = -1;
813 static int hf_h245_version = -1;
814 static int hf_h245_standard_0_127 = -1;
815 static int hf_h245_booleanArray = -1;
816 static int hf_h245_unsignedMin = -1;
817 static int hf_h245_unsignedMax = -1;
818 static int hf_h245_unsigned32Min = -1;
819 static int hf_h245_unsigned32Max = -1;
820 static int hf_h245_dynamicRTPPayloadType = -1;
821 static int hf_h245_portNumber = -1;
822 static int hf_h245_resourceID = -1;
823 static int hf_h245_subChannelID = -1;
824 static int hf_h245_pcr_pid = -1;
825 static int hf_h245_controlFieldOctets = -1;
826 static int hf_h245_sendBufferSize = -1;
827 static int hf_h245_rcpcCodeRate = -1;
828 static int hf_h245_rsCodeCorrection = -1;
829 static int hf_h245_finite_0_16 = -1;
830 static int hf_h245_windowSize = -1;
831 static int hf_h245_n401 = -1;
832 static int hf_h245_sessionID_0_255 = -1;
833 static int hf_h245_sessionID_1_255 = -1;
834 static int hf_h245_associatedSessionID = -1;
835 static int hf_h245_payloadType = -1;
836 static int hf_h245_protectedSessionID = -1;
837 static int hf_h245_protectedPayloadType = -1;
838 static int hf_h245_tsapIdentifier = -1;
839 static int hf_h245_synchFlag = -1;
840 static int hf_h245_finite_1_65535 = -1;
841 static int hf_h245_MultiplexTableEntryNumber = -1;
842 static int hf_h245_dataModeBitRate = -1;
843 static int hf_h245_sessionDependency = -1;
844 static int hf_h245_sRandom = -1;
845 static int hf_h245_McuNumber = -1;
846 static int hf_h245_TerminalNumber = -1;
847 static int hf_h245_maxNumberOfAdditionalConnections = -1;
848 static int hf_h245_requestedInterval = -1;
849 static int hf_h245_callAssociationNumber = -1;
850 static int hf_h245_currentInterval = -1;
851 static int hf_h245_infoNotAvailable = -1;
852 static int hf_h245_channelTag = -1;
853 static int hf_h245_ConnectionIDsequenceNumber = -1;
854 static int hf_h245_MaximumBitRate = -1;
855 static int hf_h245_maximumBitRate_0_16777215 = -1;
856 static int hf_h245_firstGOB_0_17 = -1;
857 static int hf_h245_numberOfGOBs = -1;
858 static int hf_h245_videoTemporalSpatialTradeOff = -1;
859 static int hf_h245_firstGOB_0_255 = -1;
860 static int hf_h245_firstMB_1_8192 = -1;
861 static int hf_h245_firstMB_1_9216 = -1;
862 static int hf_h245_numberOfMBs_1_8192 = -1;
863 static int hf_h245_numberOfMBs_1_9216 = -1;
864 static int hf_h245_maxH223MUXPDUsize = -1;
865 static int hf_h245_temporalReference_0_1023 = -1;
866 static int hf_h245_temporalReference_0_255 = -1;
867 static int hf_h245_pictureNumber = -1;
868 static int hf_h245_longTermPictureIndex = -1;
869 static int hf_h245_sampleSize = -1;
870 static int hf_h245_samplesPerFrame = -1;
871 static int hf_h245_sbeNumber = -1;
872 static int hf_h245_subPictureNumber = -1;
873 static int hf_h245_compositionNumber = -1;
874 static int hf_h245_estimatedReceivedJitterMantissa = -1;
875 static int hf_h245_estimatedReceivedJitterExponent = -1;
876 static int hf_h245_skippedFrameCount = -1;
877 static int hf_h245_additionalDecoderBuffer = -1;
878 static int hf_h245_skew = -1;
879 static int hf_h245_maximumSkew = -1;
880 static int hf_h245_duration = -1;
881 static int hf_h245_timestamp = -1;
882 static int hf_h245_frame = -1;
883 static int hf_h245_containedThread = -1;
884 static int hf_h245_t38FaxMaxBuffer = -1;
885 static int hf_h245_t38FaxMaxDatagram = -1;
886 static int hf_h245_expirationTime = -1;
887 static int hf_h245_object = -1;
888 static int hf_h245_protocolIdentifier = -1;
889 static int hf_h245_algorithm = -1;
890 static int hf_h245_antiSpamAlgorithm = -1;
891 static int hf_h245_standard_object = -1;
892 static int hf_h245_oid = -1;
893 static int hf_h245_escrowID = -1;
894 static int hf_h245_field = -1;
895 static int hf_h245_NonStandardParameterData = -1;
896 static int hf_h245_nlpidData = -1;
897 static int hf_h245_nonCollapsingRaw = -1;
898 static int hf_h245_uuid = -1;
899 static int hf_h245_octetString = -1;
900 static int hf_h245_externalReference = -1;
901 static int hf_h245_nsapAddress = -1;
902 static int hf_h245_subaddress_1_20 = -1;
903 static int hf_h245_programDescriptors = -1;
904 static int hf_h245_streamDescriptors = -1;
905 static int hf_h245_ipv4network = -1;
906 static int hf_h245_ipxNode = -1;
907 static int hf_h245_ipxNetnum = -1;
908 static int hf_h245_ipv6network = -1;
909 static int hf_h245_netBios = -1;
910 static int hf_h245_nsap = -1;
911 static int hf_h245_h235Key = -1;
912 static int hf_h245_value = -1;
913 static int hf_h245_certificateResponse = -1;
914 static int hf_h245_TerminalID = -1;
915 static int hf_h245_ConferenceID = -1;
916 static int hf_h245_Password = -1;
917 static int hf_h245_encryptionSE = -1;
918 static int hf_h245_conferenceIdentifier = -1;
919 static int hf_h245_returnedFunction = -1;
920 static int hf_h245_productNumber = -1;
921 static int hf_h245_versionNumber = -1;
922 static int hf_h245_mediaDistributionCapability = -1;
923 static int hf_h245_AlternativeCapabilitySet = -1;
924 static int hf_h245_frameToThreadMapping_custom = -1;
925 static int hf_h245_RedundancyEncodingCapability_sequence_of = -1;
926 static int hf_h245_frameSequence = -1;
927 static int hf_h245_EncryptionCapability = -1;
928 static int hf_h245_escrowentry = -1;
929 static int hf_h245_elementList = -1;
930 static int hf_h245_subElementList = -1;
931 static int hf_h245_requestedModes = -1;
932 static int hf_h245_CertSelectionCriteria = -1;
933 static int hf_h245_capabilityTable = -1;
934 static int hf_h245_capabilityDescriptors = -1;
935 static int hf_h245_simultaneousCapabilities = -1;
936 static int hf_h245_gatewayAddress = -1;
937 static int hf_h245_snrEnhancement = -1;
938 static int hf_h245_spatialEnhancement = -1;
939 static int hf_h245_bPictureEnhancement = -1;
940 static int hf_h245_customPictureClockFrequency = -1;
941 static int hf_h245_customPictureFormat = -1;
942 static int hf_h245_modeCombos = -1;
943 static int hf_h245_customPCF = -1;
944 static int hf_h245_pixelAspectCode = -1;
945 static int hf_h245_extendedPAR = -1;
946 static int hf_h245_h263VideoCoupledModes = -1;
947 static int hf_h245_capabilityOnMuxStream = -1;
948 static int hf_h245_capabilities = -1;
949 static int hf_h245_multiplexEntryDescriptors = -1;
950 static int hf_h245_multiplexTableEntryNumber_set_of = -1;
951 static int hf_h245_VCCapability_set_of = -1;
952 static int hf_h245_rejectionDescriptions = -1;
953 static int hf_h245_entryNumbers = -1;
954 static int hf_h245_ModeDescription = -1;
955 static int hf_h245_communicationModeTable = -1;
956 static int hf_h245_terminalListResponse = -1;
957 static int hf_h245_differential = -1;
958 static int hf_h245_networkType = -1;
959 static int hf_h245_capabilityTableEntryNumbers = -1;
960 static int hf_h245_capabilityDescriptorNumbers = -1;
961 static int hf_h245_qOSCapabilities = -1;
962 static int hf_h245_containedThreads = -1;
963 static int hf_h245_CapabilityTableEntryNumber_sequence_of = -1;
964 static int hf_h245_mediaChannelCapabilities = -1;
965 static int hf_h245_rtpPayloadType_sequence_of = -1;
966 static int hf_h245_centralizedData = -1;
967 static int hf_h245_distributedData = -1;
968 static int hf_h245_nonStandardData = -1;
969 static int hf_h245_collapsing = -1;
970 static int hf_h245_nonCollapsing = -1;
971 static int hf_h245_supersedes = -1;
972 static int hf_h245_genericParameter = -1;
973 static int hf_h245_secondary_REE = -1;
974 static int hf_h245_elements_MPSE = -1;
975 static int hf_h245_secondary_REDTME = -1;
976 static int hf_h245_elements_MPSEM = -1;
977 static int hf_h245_TerminalInformationSO = -1;
978 static int hf_h245_lostPicture = -1;
979 static int hf_h245_recoveryReferencePicture = -1;
980 static int hf_h245_iPSourceRouteAddress_route = -1;
981 static int hf_h245_audioTelephoneEvent = -1;
982 static int hf_h245_alphanumeric = -1;
983 static int hf_h245_h221Manufacturer = -1;
984
985
986 static gint ett_h245 = -1;
987 static gint ett_h245_VCCapability_set_of = -1;
988 static gint ett_h245_MultimediaSystemControlMessage = -1;
989 static gint ett_h245_RequestMessage = -1;
990 static gint ett_h245_ResponseMessage = -1;
991 static gint ett_h245_IndicationMessage = -1;
992 static gint ett_h245_CommandMessage = -1;
993 static gint ett_h245_EndSessionCommand = -1;
994 static gint ett_h245_MobileMultilinkReconfigurationIndication = -1;
995 static gint ett_h245_FlowControlIndication = -1;
996 static gint ett_h245_UserInputIndication_extendedAlphanumeric = -1;
997 static gint ett_h245_UserInputIndication_signalUpdate_rtp = -1;
998 static gint ett_h245_UserInputIndication_signalUpdate = -1;
999 static gint ett_h245_UserInputIndication_signal_rtp = -1;
1000 static gint ett_h245_UserInputIndication_signal = -1;
1001 static gint ett_h245_NewATMVCIndication_reverseParameters = -1;
1002 static gint ett_h245_NewATMVCIndication_aal_aal5 = -1;
1003 static gint ett_h245_NewATMVCIndication_aal_aal1 = -1;
1004 static gint ett_h245_NewATMVCIndication_aal = -1;
1005 static gint ett_h245_NewATMVCIndication = -1;
1006 static gint ett_h245_VendorIdentification = -1;
1007 static gint ett_h245_MCLocationIndication = -1;
1008 static gint ett_h245_H2250MaximumSkewIndication = -1;
1009 static gint ett_h245_H223SkewIndication = -1;
1010 static gint ett_h245_JitterIndication = -1;
1011 static gint ett_h245_AlternativeCapabilitySet = -1;
1012 static gint ett_h245_MiscellaneousIndication_type_videoNotDecodedMBs = -1;
1013 static gint ett_h245_MiscellaneousIndication = -1;
1014 static gint ett_h245_VideoIndicateCompose = -1;
1015 static gint ett_h245_TerminalYouAreSeeingInSubPictureNumber = -1;
1016 static gint ett_h245_FunctionNotSupported = -1;
1017 static gint ett_h245_MobileMultilinkReconfigurationCommand = -1;
1018 static gint ett_h245_NewATMVCCommand_reverseParameters = -1;
1019 static gint ett_h245_NewATMVCCommand = -1;
1020 static gint ett_h245_NewATMVCCommand_aal_aal5 = -1;
1021 static gint ett_h245_NewATMVCCommand_aal_aal1 = -1;
1022 static gint ett_h245_EncryptionUpdateRequest = -1;
1023 static gint ett_h245_KeyProtectionMethod = -1;
1024 static gint ett_h245_MiscellaneousCommand_type_lostPartialPicture = -1;
1025 static gint ett_h245_MiscellaneousCommand_type_videoBadMBs = -1;
1026 static gint ett_h245_MiscellaneousCommand_type_progressiveRefinementStart = -1;
1027 static gint ett_h245_MiscellaneousCommand_type_videoFastUpdateMB = -1;
1028 static gint ett_h245_MiscellaneousCommand_type_videoFastUpdateGOB = -1;
1029 static gint ett_h245_MiscellaneousCommand = -1;
1030 static gint ett_h245_SubstituteConferenceIDCommand = -1;
1031 static gint ett_h245_FlowControlCommand = -1;
1032 static gint ett_h245_EncryptionCommand_encryptionAlgorithmID = -1;
1033 static gint ett_h245_SendTerminalCapabilitySet_specificRequest = -1;
1034 static gint ett_h245_LogicalChannelRateRelease = -1;
1035 static gint ett_h245_LogicalChannelRateReject = -1;
1036 static gint ett_h245_LogicalChannelRateAck = -1;
1037 static gint ett_h245_LogicalChannelRateRequest = -1;
1038 static gint ett_h245_ConnectionIdentifier = -1;
1039 static gint ett_h245_DialingInformationNumber = -1;
1040 static gint ett_h245_MultilinkIndication_excessiveError = -1;
1041 static gint ett_h245_MultilinkIndication_crcDesired = -1;
1042 static gint ett_h245_MultilinkResponse_maximumHeaderInterval = -1;
1043 static gint ett_h245_MultilinkResponse_removeConnection = -1;
1044 static gint ett_h245_MultilinkResponse_addConnection = -1;
1045 static gint ett_h245_MultilinkResponse_callInformation = -1;
1046 static gint ett_h245_MultilinkRequest_maximumHeaderInterval = -1;
1047 static gint ett_h245_MultilinkRequest_removeConnection = -1;
1048 static gint ett_h245_MultilinkRequest_addConnection = -1;
1049 static gint ett_h245_MultilinkRequest_callInformation = -1;
1050 static gint ett_h245_TerminalInformation = -1;
1051 static gint ett_h245_RequestAllTerminalIDsResponse = -1;
1052 static gint ett_h245_ConferenceResponse_terminalCertificateResponse = -1;
1053 static gint ett_h245_ConferenceResponse_chairTokenOwnerResponse = -1;
1054 static gint ett_h245_ConferenceResponse_extensionAddressResponse = -1;
1055 static gint ett_h245_ConferenceResponse_passwordResponse = -1;
1056 static gint ett_h245_ConferenceResponse_conferenceIDResponse = -1;
1057 static gint ett_h245_ConferenceResponse_terminalIDResponse = -1;
1058 static gint ett_h245_ConferenceResponse_mCterminalIDResponse = -1;
1059 static gint ett_h245_TerminalLabel = -1;
1060 static gint ett_h245_Criteria = -1;
1061 static gint ett_h245_ConferenceRequest_requestTerminalCertificate = -1;
1062 static gint ett_h245_CommunicationModeTableEntry = -1;
1063 static gint ett_h245_CommunicationModeRequest = -1;
1064 static gint ett_h245_CommunicationModeCommand = -1;
1065 static gint ett_h245_MaintenanceLoopOffCommand = -1;
1066 static gint ett_h245_MaintenanceLoopReject = -1;
1067 static gint ett_h245_MaintenanceLoopAck = -1;
1068 static gint ett_h245_MaintenanceLoopRequest = -1;
1069 static gint ett_h245_RoundTripDelayResponse = -1;
1070 static gint ett_h245_RoundTripDelayRequest = -1;
1071 static gint ett_h245_DataMode_application_t38fax = -1;
1072 static gint ett_h245_DataMode_application_nlpid = -1;
1073 static gint ett_h245_DataMode = -1;
1074 static gint ett_h245_VBDMode = -1;
1075 static gint ett_h245_G7231AnnexCMode_g723AnnexCAudioMode = -1;
1076 static gint ett_h245_G7231AnnexCMode = -1;
1077 static gint ett_h245_IS13818AudioMode = -1;
1078 static gint ett_h245_IS11172AudioMode = -1;
1079 static gint ett_h245_IS11172VideoMode = -1;
1080 static gint ett_h245_H263VideoMode = -1;
1081 static gint ett_h245_H262VideoMode = -1;
1082 static gint ett_h245_H261VideoMode = -1;
1083 static gint ett_h245_RedundancyEncodingMode = -1;
1084 static gint ett_h245_H2250ModeParameters = -1;
1085 static gint ett_h245_H223ModeParameters_adaptationLayerType_al3 = -1;
1086 static gint ett_h245_H223ModeParameters = -1;
1087 static gint ett_h245_FECMode_rfc2733Mode_mode_separateStream_samePort = -1;
1088 static gint ett_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort = -1;
1089 static gint ett_h245_FECMode_rfc2733Mode = -1;
1090 static gint ett_h245_MultiplePayloadStreamElementMode = -1;
1091 static gint ett_h245_MultiplePayloadStreamMode = -1;
1092 static gint ett_h245_RedundancyEncodingDTModeElement = -1;
1093 static gint ett_h245_RedundancyEncodingDTMode = -1;
1094 static gint ett_h245_MultiplexedStreamModeParameters = -1;
1095 static gint ett_h245_H235Mode = -1;
1096 static gint ett_h245_ModeElement = -1;
1097 static gint ett_h245_RequestModeRelease = -1;
1098 static gint ett_h245_RequestModeReject = -1;
1099 static gint ett_h245_RequestModeAck = -1;
1100 static gint ett_h245_RequestMode = -1;
1101 static gint ett_h245_RequestMultiplexEntryRelease = -1;
1102 static gint ett_h245_RequestMultiplexEntryRejectionDescriptions = -1;
1103 static gint ett_h245_RequestMultiplexEntryReject = -1;
1104 static gint ett_h245_RequestMultiplexEntryAck = -1;
1105 static gint ett_h245_RequestMultiplexEntry = -1;
1106 static gint ett_h245_MultiplexEntrySendRelease = -1;
1107 static gint ett_h245_MultiplexEntryRejectionDescriptions = -1;
1108 static gint ett_h245_MultiplexEntrySendReject = -1;
1109 static gint ett_h245_MultiplexEntrySendAck = -1;
1110 static gint ett_h245_MultiplexElement = -1;
1111 static gint ett_h245_MultiplexEntryDescriptor = -1;
1112 static gint ett_h245_MultiplexEntrySend = -1;
1113 static gint ett_h245_RequestChannelCloseRelease = -1;
1114 static gint ett_h245_RequestChannelCloseReject = -1;
1115 static gint ett_h245_RequestChannelCloseAck = -1;
1116 static gint ett_h245_RequestChannelClose = -1;
1117 static gint ett_h245_CloseLogicalChannelAck = -1;
1118 static gint ett_h245_CloseLogicalChannel = -1;
1119 static gint ett_h245_H2250LogicalChannelAckParameters = -1;
1120 static gint ett_h245_OpenLogicalChannelConfirm = -1;
1121 static gint ett_h245_OpenLogicalChannelReject = -1;
1122 static gint ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters = -1;
1123 static gint ett_h245_OpenLogicalChannelAck = -1;
1124 static gint ett_h245_EscrowData = -1;
1125 static gint ett_h245_EncryptionSync = -1;
1126 static gint ett_h245_MulticastAddress_iP6Address = -1;
1127 static gint ett_h245_MulticastAddress_iPAddress = -1;
1128 static gint ett_h245_UnicastAddress_iPSourceRouteAddress = -1;
1129 static gint ett_h245_UnicastAddress_iP6Address = -1;
1130 static gint ett_h245_UnicastAddress_iPXAddress = -1;
1131 static gint ett_h245_UnicastAddress_iPAddress = -1;
1132 static gint ett_h245_FECData_rfc2733_mode_separateStream_samePort = -1;
1133 static gint ett_h245_FECData_rfc2733_mode_separateStream_differentPort = -1;
1134 static gint ett_h245_FECData_rfc2733 = -1;
1135 static gint ett_h245_MultiplePayloadStreamElement = -1;
1136 static gint ett_h245_MultiplePayloadStream = -1;
1137 static gint ett_h245_RedundancyEncodingElement = -1;
1138 static gint ett_h245_RedundancyEncoding_rtpRedundancyEncoding = -1;
1139 static gint ett_h245_RedundancyEncoding = -1;
1140 static gint ett_h245_RTPPayloadType = -1;
1141 static gint ett_h245_H2250LogicalChannelParameters = -1;
1142 static gint ett_h245_V76HDLCParameters = -1;
1143 static gint ett_h245_V76LogicalChannelParameters_mode_eRM = -1;
1144 static gint ett_h245_V76LogicalChannelParameters = -1;
1145 static gint ett_h245_H223AnnexCArqParameters = -1;
1146 static gint ett_h245_H223AL3MParameters = -1;
1147 static gint ett_h245_H223AL2MParameters = -1;
1148 static gint ett_h245_H223AL1MParameters = -1;
1149 static gint ett_h245_H223LogicalChannelParameters_adaptionLayerType_al3 = -1;
1150 static gint ett_h245_H223LogicalChannelParameters = -1;
1151 static gint ett_h245_H222LogicalChannelParameters = -1;
1152 static gint ett_h245_MultiplexedStreamParameter = -1;
1153 static gint ett_h245_H235Media = -1;
1154 static gint ett_h245_V75Parameters = -1;
1155 static gint ett_h245_Q2931Address = -1;
1156 static gint ett_h245_NetworkAccessParameters = -1;
1157 static gint ett_h245_reverseLogicalChannelParameters = -1;
1158 static gint ett_h245_forwardLogicalChannelParameters = -1;
1159 static gint ett_h245_OpenLogicalChannel = -1;
1160 static gint ett_h245_FECCapability_rfc2733_separateStream = -1;
1161 static gint ett_h245_FECCapability_rfc2733 = -1;
1162 static gint ett_h245_MultiplePayloadStreamCapability = -1;
1163 static gint ett_h245_NoPTAudioToneCapability = -1;
1164 static gint ett_h245_NoPTAudioTelephonyEventCapability = -1;
1165 static gint ett_h245_AudioToneCapability = -1;
1166 static gint ett_h245_AudioTelephonyEventCapability = -1;
1167 static gint ett_h245_MultiplexedStreamCapability = -1;
1168 static gint ett_h245_GenericParameter = -1;
1169 static gint ett_h245_GenericCapability = -1;
1170 static gint ett_h245_ConferenceCapability = -1;
1171 static gint ett_h245_IntegrityCapability = -1;
1172 static gint ett_h245_AuthenticationCapability = -1;
1173 static gint ett_h245_EncryptionAuthenticationAndIntegrity = -1;
1174 static gint ett_h245_T38FaxTcpOptions = -1;
1175 static gint ett_h245_T38FaxUdpOptions = -1;
1176 static gint ett_h245_T38FaxProfile = -1;
1177 static gint ett_h245_T84Profile_t84Restricted = -1;
1178 static gint ett_h245_V42bis = -1;
1179 static gint ett_h245_DataApplicationCapability_application_t38fax = -1;
1180 static gint ett_h245_DataApplicationCapability_application_nlpid = -1;
1181 static gint ett_h245_DataApplicationCapability_application_t84 = -1;
1182 static gint ett_h245_DataApplicationCapability = -1;
1183 static gint ett_h245_VBDCapability = -1;
1184 static gint ett_h245_GSMAudioCapability = -1;
1185 static gint ett_h245_IS13818AudioCapability = -1;
1186 static gint ett_h245_IS11172AudioCapability = -1;
1187 static gint ett_h245_G7231AnnexCCapability_g723AnnexCAudioMode = -1;
1188 static gint ett_h245_G7231AnnexCCapability = -1;
1189 static gint ett_h245_G729Extensions = -1;
1190 static gint ett_h245_AudioCapability_g7231 = -1;
1191 static gint ett_h245_IS11172VideoCapability = -1;
1192 static gint ett_h245_H263Version3Options = -1;
1193 static gint ett_h245_H263ModeComboFlags = -1;
1194 static gint ett_h245_H263VideoModeCombos = -1;
1195 static gint ett_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR = -1;
1196 static gint ett_h245_CustomPictureFormat_mPI_customPCF = -1;
1197 static gint ett_h245_CustomPictureFormat_mPI = -1;
1198 static gint ett_h245_CustomPictureFormat = -1;
1199 static gint ett_h245_CustomPictureClockFrequency = -1;
1200 static gint ett_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters = -1;
1201 static gint ett_h245_RefPictureSelection_enhancedReferencePicSelect = -1;
1202 static gint ett_h245_RefPictureSelection_additionalPictureMemory = -1;
1203 static gint ett_h245_RefPictureSelection = -1;
1204 static gint ett_h245_TransperencyParameters = -1;
1205 static gint ett_h245_H263Options = -1;
1206 static gint ett_h245_EnhancementOptions = -1;
1207 static gint ett_h245_BEnhancementParameters = -1;
1208 static gint ett_h245_EnhancementLayerInfo = -1;
1209 static gint ett_h245_H263VideoCapability = -1;
1210 static gint ett_h245_H262VideoCapability = -1;
1211 static gint ett_h245_H261VideoCapability = -1;
1212 static gint ett_h245_MediaDistributionCapability = -1;
1213 static gint ett_h245_MultipointCapability = -1;
1214 static gint ett_h245_RTPH263VideoRedundancyFrameMapping = -1;
1215 static gint ett_h245_RTPH263VideoRedundancyEncoding = -1;
1216 static gint ett_h245_RedundancyEncodingCapability = -1;
1217 static gint ett_h245_TransportCapability = -1;
1218 static gint ett_h245_MediaChannelCapability = -1;
1219 static gint ett_h245_MediaTransportType_AtmAAL5Compressed = -1;
1220 static gint ett_h245_QOSCapability = -1;
1221 static gint ett_h245_ATMParameters = -1;
1222 static gint ett_h245_RSVPParameters = -1;
1223 static gint ett_h245_MediaPacketizationCapability = -1;
1224 static gint ett_h245_H2250Capability_mcCapability = -1;
1225 static gint ett_h245_H2250Capability = -1;
1226 static gint ett_h245_V75Capability = -1;
1227 static gint ett_h245_V76Capability = -1;
1228 static gint ett_h245_H223AnnexCCapability = -1;
1229 static gint ett_h245_H223Capability_mobileMultilinkFrameCapability = -1;
1230 static gint ett_h245_H223Capability_mobileOperationTransmitCapability = -1;
1231 static gint ett_h245_H223Capability_h223MultiplexTableCapability_enhanced = -1;
1232 static gint ett_h245_H223Capability = -1;
1233 static gint ett_h245_VCCapability_aal1ViaGateway = -1;
1234 static gint ett_h245_VCCapability_availableBitRates_rangeOfBitRates = -1;
1235 static gint ett_h245_VCCapability_availableBitRates = -1;
1236 static gint ett_h245_VCCapability_aal5 = -1;
1237 static gint ett_h245_VCCapability_aal1 = -1;
1238 static gint ett_h245_VCCapability = -1;
1239 static gint ett_h245_H222Capability = -1;
1240 static gint ett_h245_H235SecurityCapability = -1;
1241 static gint ett_h245_Capability_h233EncryptionReceiveCapability = -1;
1242 static gint ett_h245_TerminalCapabilitySetRelease = -1;
1243 static gint ett_h245_TerminalCapabilitySetReject = -1;
1244 static gint ett_h245_TerminalCapabilitySetAck = -1;
1245 static gint ett_h245_CapabilityDescriptor = -1;
1246 static gint ett_h245_CapabilityTableEntry = -1;
1247 static gint ett_h245_TerminalCapabilitySet = -1;
1248 static gint ett_h245_MasterSlaveDeterminationRelease = -1;
1249 static gint ett_h245_MasterSlaveDeterminationReject = -1;
1250 static gint ett_h245_MasterSlaveDeterminationAck = -1;
1251 static gint ett_h245_MasterSlaveDetermination = -1;
1252 static gint ett_h245_h221NonStandard = -1;
1253 static gint ett_h245_NonStandardParameter = -1;
1254 static gint ett_h245_NonStandardMessage = -1;
1255 static gint ett_h245_FlowControlIndication_restriction = -1;
1256 static gint ett_h245_FlowControlIndication_scope = -1;
1257 static gint ett_h245_UserInputIndication_userInputSupportIndication = -1;
1258 static gint ett_h245_UserInputIndication = -1;
1259 static gint ett_h245_NewATMVCIndication_reverseParameters_multiplex = -1;
1260 static gint ett_h245_NewATMVCIndication_multiplex = -1;
1261 static gint ett_h245_NewATMVCIndication_aal_aal1_errorCorrection = -1;
1262 static gint ett_h245_NewATMVCIndication_aal_aal1_clockRecovery = -1;
1263 static gint ett_h245_JitterIndication_scope = -1;
1264 static gint ett_h245_MiscellaneousIndication_type = -1;
1265 static gint ett_h245_ConferenceIndication = -1;
1266 static gint ett_h245_FunctionNotSupported_cause = -1;
1267 static gint ett_h245_FunctionNotUnderstood = -1;
1268 static gint ett_h245_MobileMultilinkReconfigurationCommand_status = -1;
1269 static gint ett_h245_NewATMVCCommand_reverseParameters_multiplex = -1;
1270 static gint ett_h245_NewATMVCCommand_multiplex = -1;
1271 static gint ett_h245_NewATMVCCommand_aal_aal1_errorCorrection = -1;
1272 static gint ett_h245_NewATMVCCommand_aal_aal1_clockRecovery = -1;
1273 static gint ett_h245_NewATMVCCommand_aal = -1;
1274 static gint ett_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag = -1;
1275 static gint ett_h245_H223MultiplexReconfiguration_h223ModeChange = -1;
1276 static gint ett_h245_H223MultiplexReconfiguration = -1;
1277 static gint ett_h245_PictureReference = -1;
1278 static gint ett_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount = -1;
1279 static gint ett_h245_MiscellaneousCommand_type = -1;
1280 static gint ett_h245_ConferenceCommand = -1;
1281 static gint ett_h245_EndSessionCommand_gstnOptions = -1;
1282 static gint ett_h245_EndSessionCommand_isdnOptions = -1;
1283 static gint ett_h245_FlowControlCommand_restriction = -1;
1284 static gint ett_h245_FlowControlCommand_scope = -1;
1285 static gint ett_h245_EncryptionCommand = -1;
1286 static gint ett_h245_SendTerminalCapabilitySet = -1;
1287 static gint ett_h245_LogicalChannelRateRejectReason = -1;
1288 static gint ett_h245_DialingInformationNetworkType = -1;
1289 static gint ett_h245_DialingInformation = -1;
1290 static gint ett_h245_MultilinkIndication = -1;
1291 static gint ett_h245_MultilinkResponse_addConnection_responseCode_rejected = -1;
1292 static gint ett_h245_MultilinkResponse_addConnection_responseCode = -1;
1293 static gint ett_h245_MultilinkResponse = -1;
1294 static gint ett_h245_MultilinkRequest_maximumHeaderInterval_requestType = -1;
1295 static gint ett_h245_MultilinkRequest = -1;
1296 static gint ett_h245_RemoteMCResponse_reject = -1;
1297 static gint ett_h245_RemoteMCResponse = -1;
1298 static gint ett_h245_RemoteMCRequest = -1;
1299 static gint ett_h245_ConferenceResponse_sendThisSourceResponse = -1;
1300 static gint ett_h245_ConferenceResponse_makeTerminalBroadcasterResponse = -1;
1301 static gint ett_h245_ConferenceResponse_broadcastMyLogicalChannelResponse = -1;
1302 static gint ett_h245_ConferenceResponse_makeMeChairResponse = -1;
1303 static gint ett_h245_ConferenceResponse = -1;
1304 static gint ett_h245_ConferenceRequest = -1;
1305 static gint ett_h245_CommunicationModeTableEntry_dataType = -1;
1306 static gint ett_h245_CommunicationModeResponse = -1;
1307 static gint ett_h245_MaintenanceLoopReject_cause = -1;
1308 static gint ett_h245_MaintenanceLoopReject_type = -1;
1309 static gint ett_h245_MaintenanceLoopAck_type = -1;
1310 static gint ett_h245_MaintenanceLoopRequest_type = -1;
1311 static gint ett_h245_EncryptionMode = -1;
1312 static gint ett_h245_DataMode_application = -1;
1313 static gint ett_h245_IS13818AudioMode_multiChannelType = -1;
1314 static gint ett_h245_IS13818AudioMode_audioSampling = -1;
1315 static gint ett_h245_IS13818AudioMode_audioLayer = -1;
1316 static gint ett_h245_IS11172AudioMode_multichannelType = -1;
1317 static gint ett_h245_IS11172AudioMode_audioSampling = -1;
1318 static gint ett_h245_IS11172AudioMode_audioLayer = -1;
1319 static gint ett_h245_AudioMode_g7231 = -1;
1320 static gint ett_h245_AudioMode = -1;
1321 static gint ett_h245_H263VideoMode_resolution = -1;
1322 static gint ett_h245_H262VideoMode_profileAndLevel = -1;
1323 static gint ett_h245_H261VideoMode_resolution = -1;
1324 static gint ett_h245_VideoMode = -1;
1325 static gint ett_h245_RedundancyEncodingMode_secondaryEncoding = -1;
1326 static gint ett_h245_V76ModeParameters = -1;
1327 static gint ett_h245_H223ModeParameters_adaptationLayerType = -1;
1328 static gint ett_h245_FECMode_rfc2733Mode_mode_separateStream = -1;
1329 static gint ett_h245_FECMode_rfc2733Mode_mode = -1;
1330 static gint ett_h245_FECMode = -1;
1331 static gint ett_h245_RedundancyEncodingDTModeElement_type = -1;
1332 static gint ett_h245_H235Mode_mediaMode = -1;
1333 static gint ett_h245_ModeElementType = -1;
1334 static gint ett_h245_RequestModeReject_cause = -1;
1335 static gint ett_h245_RequestMultiplexEntryRejectionDescriptions_cause = -1;
1336 static gint ett_h245_MultiplexEntryRejectionDescriptions_cause = -1;
1337 static gint ett_h245_MultiplexElement_repeatCount = -1;
1338 static gint ett_h245_MultiplexElement_type = -1;
1339 static gint ett_h245_RequestChannelCloseReject_cause = -1;
1340 static gint ett_h245_RequestChannelClose_reason = -1;
1341 static gint ett_h245_CloseLogicalChannel_reason = -1;
1342 static gint ett_h245_CloseLogicalChannel_source = -1;
1343 static gint ett_h245_OpenLogicalChannelReject_cause = -1;
1344 static gint ett_h245_forwardMultiplexAckParameters = -1;
1345 static gint ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters = -1;
1346 static gint ett_h245_MulticastAddress = -1;
1347 static gint ett_h245_UnicastAddress_iPSourceRouteAddress_routing = -1;
1348 static gint ett_h245_UnicastAddress = -1;
1349 static gint ett_h245_TransportAddress = -1;
1350 static gint ett_h245_FECData_rfc2733_mode_separateStream = -1;
1351 static gint ett_h245_FECData_rfc2733_mode = -1;
1352 static gint ett_h245_FECData = -1;
1353 static gint ett_h245_RTPPayloadType_payloadDescriptor = -1;
1354 static gint ett_h245_H2250LogicalChannelParameters_mediaPacketization = -1;
1355 static gint ett_h245_CRCLength = -1;
1356 static gint ett_h245_V76LogicalChannelParameters_mode_eRM_recovery = -1;
1357 static gint ett_h245_V76LogicalChannelParameters_mode = -1;
1358 static gint ett_h245_V76LogicalChannelParameters_suspendResume = -1;
1359 static gint ett_h245_H223AnnexCArqParameters_numberOfRetransmissions = -1;
1360 static gint ett_h245_H223AL3MParameters_arqType = -1;
1361 static gint ett_h245_H223AL3MParameters_crcLength = -1;
1362 static gint ett_h245_H223AL3MParameters_headerFormat = -1;
1363 static gint ett_h245_H223AL2MParameters_headerFEC = -1;
1364 static gint ett_h245_H223AL1MParameters_arqType = -1;
1365 static gint ett_h245_H223AL1MParameters_crcLength = -1;
1366 static gint ett_h245_H223AL1MParameters_headerFEC = -1;
1367 static gint ett_h245_H223AL1MParameters_transferMode = -1;
1368 static gint ett_h245_H223LogicalChannelParameters_adaptationLayerType = -1;
1369 static gint ett_h245_H235Media_mediaType = -1;
1370 static gint ett_h245_DataType = -1;
1371 static gint ett_h245_Q2931Address_address = -1;
1372 static gint ett_h245_NetworkAccessParameters_t120SetupProcedure = -1;
1373 static gint ett_h245_NetworkAccessParameters_networkAddress = -1;
1374 static gint ett_h245_NetworkAccessParameters_distribution = -1;
1375 static gint ett_h245_reverseLogicalChannelParameters_multiplexParameters = -1;
1376 static gint ett_h245_forwardLogicalChannelParameters_multiplexParameters = -1;
1377 static gint ett_h245_FECCapability = -1;
1378 static gint ett_h245_MultiplexFormat = -1;
1379 static gint ett_h245_ParameterValue = -1;
1380 static gint ett_h245_ParameterIdentifier = -1;
1381 static gint ett_h245_CapabilityIdentifier = -1;
1382 static gint ett_h245_UserInputCapability = -1;
1383 static gint ett_h245_MediaEncryptionAlgorithm = -1;
1384 static gint ett_h245_T38FaxUdpOptions_t38FaxUdpEC = -1;
1385 static gint ett_h245_T38FaxRateManagement = -1;
1386 static gint ett_h245_T84Profile = -1;
1387 static gint ett_h245_CompressionType = -1;
1388 static gint ett_h245_DataProtocolCapability_v76wCompression = -1;
1389 static gint ett_h245_DataProtocolCapability = -1;
1390 static gint ett_h245_DataApplicationCapability_application = -1;
1391 static gint ett_h245_AudioCapability = -1;
1392 static gint ett_h245_CustomPictureFormat_pixelAspectInformation = -1;
1393 static gint ett_h245_RefPictureSelection_videoBackChannelSend = -1;
1394 static gint ett_h245_VideoCapability = -1;
1395 static gint ett_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping = -1;
1396 static gint ett_h245_RedundancyEncodingMethod = -1;
1397 static gint ett_h245_MediaTransportType = -1;
1398 static gint ett_h245_QOSMode = -1;
1399 static gint ett_h245_H223Capability_h223MultiplexTableCapability = -1;
1400 static gint ett_h245_VCCapability_availableBitRates_type = -1;
1401 static gint ett_h245_MultiplexCapability = -1;
1402 static gint ett_h245_Capability = -1;
1403 static gint ett_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded = -1;
1404 static gint ett_h245_TerminalCapabilitySetReject_cause = -1;
1405 static gint ett_h245_MasterSlaveDeterminationReject_cause = -1;
1406 static gint ett_h245_MasterSlaveDeterminationAck_decision = -1;
1407 static gint ett_h245_RequestModeAck_response_decision = -1;
1408 static gint ett_h245_NonStandardIdentifier = -1;
1409 static gint ett_h245_mediaDistributionCapability = -1;
1410 static gint ett_h245_frameToThreadMapping_custom = -1;
1411 static gint ett_h245_RedundancyEncodingCapability_sequence_of = -1;
1412 static gint ett_h245_frameSequence = -1;
1413 static gint ett_h245_EncryptionCapability = -1;
1414 static gint ett_h245_escrowentry = -1;
1415 static gint ett_h245_elementList = -1;
1416 static gint ett_h245_requestedModes = -1;
1417 static gint ett_h245_CertSelectionCriteria = -1;
1418 static gint ett_h245_capabilityTable = -1;
1419 static gint ett_h245_capabilityDescriptors = -1;
1420 static gint ett_h245_simultaneousCapabilities = -1;
1421 static gint ett_h245_gatewayAddress = -1;
1422 static gint ett_h245_snrEnhancement = -1;
1423 static gint ett_h245_spatialEnhancement = -1;
1424 static gint ett_h245_bPictureEnhancement = -1;
1425 static gint ett_h245_customPictureClockFrequency = -1;
1426 static gint ett_h245_customPictureFormat = -1;
1427 static gint ett_h245_modeCombos = -1;
1428 static gint ett_h245_customPCF = -1;
1429 static gint ett_h245_pixelAspectCode = -1;
1430 static gint ett_h245_extendedPAR = -1;
1431 static gint ett_h245_h263VideoCoupledModes = -1;
1432 static gint ett_h245_capabilityOnMuxStream = -1;
1433 static gint ett_h245_capabilities = -1;
1434 static gint ett_h245_multiplexEntryDescriptors = -1;
1435 static gint ett_h245_multiplexTableEntryNumber_set_of = -1;
1436 static gint ett_h245_rejectionDescriptions = -1;
1437 static gint ett_h245_entryNumbers = -1;
1438 static gint ett_h245_ModeDescription = -1;
1439 static gint ett_h245_communicationModeTable = -1;
1440 static gint ett_h245_terminalListResponse = -1;
1441 static gint ett_h245_differential = -1;
1442 static gint ett_h245_networkType = -1;
1443 static gint ett_h245_capabilityTableEntryNumbers = -1;
1444 static gint ett_h245_capabilityDescriptorNumbers = -1;
1445 static gint ett_h245_qOSCapabilities = -1;
1446 static gint ett_h245_subElementList = -1;
1447 static gint ett_h245_containedThreads = -1;
1448 static gint ett_h245_CapabilityTableEntryNumber_sequence_of = -1;
1449 static gint ett_h245_mediaChannelCapabilities = -1;
1450 static gint ett_h245_rtpPayloadType_sequence_of = -1;
1451 static gint ett_h245_centralizedData = -1;
1452 static gint ett_h245_distributedData = -1;
1453 static gint ett_h245_nonStandardData = -1;
1454 static gint ett_h245_collapsing = -1;
1455 static gint ett_h245_nonCollapsing = -1;
1456 static gint ett_h245_supersedes = -1;
1457 static gint ett_h245_genericParameter = -1;
1458 static gint ett_h245_secondary_REE = -1;
1459 static gint ett_h245_elements_MPSE = -1;
1460 static gint ett_h245_secondary_REDTME = -1;
1461 static gint ett_h245_elements_MPSEM = -1;
1462 static gint ett_h245_TerminalInformationSO = -1;
1463 static gint ett_h245_lostPicture = -1;
1464 static gint ett_h245_recoveryReferencePicture = -1;
1465 static gint ett_h245_iPSourceRouteAddress_route = -1;
1466
1467 static dissector_table_t nsp_object_dissector_table;
1468 static dissector_table_t nsp_h221_dissector_table;
1469
1470 static dissector_handle_t nsp_handle;
1471
1472 static guint32 ipv4_address;
1473 static guint32 ipv4_port;
1474 static char object[256];
1475 static guint32 t35CountryCode;
1476 static guint32 t35Extension;
1477 static guint32 manufacturerCode;
1478 static guint32 h221NonStandard;
1479
1480 static gboolean h245_reassembly = TRUE;
1481 static gboolean h245_shorttypes = FALSE;
1482 /* To put the codec type only in COL_INFO when
1483    an OLC is read */
1484 char* codec_type = NULL;
1485
1486 static int
1487 dissect_h245_NULL(tvbuff_t *tvb _U_, int offset, packet_info *pinfo _U_, proto_tree *tree _U_)
1488 {
1489         return offset;
1490 }
1491
1492
1493
1494
1495
1496
1497
1498
1499 static const value_string MasterSlaveDeterminationAck_decision_vals[] = {
1500         {  0, "master" },
1501         {  1, "slave" },
1502         {  0, NULL }
1503 };
1504 static per_choice_t MasterSlaveDeterminationAck_decision_choice[] = {
1505         {  0, "master", ASN1_NO_EXTENSIONS,
1506                 dissect_h245_NULL },
1507         {  1, "slave", ASN1_NO_EXTENSIONS,
1508                 dissect_h245_NULL },
1509         {  0, NULL, 0, NULL }
1510 };
1511 static int
1512 dissect_h245_MasterSlaveDeterminationAck_decision(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1513 {
1514         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDeterminationAck_decision, ett_h245_MasterSlaveDeterminationAck_decision, MasterSlaveDeterminationAck_decision_choice, "Decision", NULL);
1515
1516         return offset;
1517 }
1518
1519
1520
1521 static per_sequence_t MasterSlaveDeterminationAck_sequence[] = {
1522         { "decision", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
1523                 dissect_h245_MasterSlaveDeterminationAck_decision },
1524         { NULL, 0, 0, NULL }
1525 };
1526 static int
1527 dissect_h245_MasterSlaveDeterminationAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1528 {
1529         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDeterminationAck, ett_h245_MasterSlaveDeterminationAck, MasterSlaveDeterminationAck_sequence);
1530
1531         return offset;
1532 }
1533
1534
1535 static const value_string MasterSlaveDeterminationReject_cause_vals[] = {
1536         {  0, "identicalNumbers" },
1537         {  0, NULL }
1538 };
1539 static per_choice_t MasterSlaveDeterminationReject_cause_choice[] = {
1540         {  0, "identicalNumbers", ASN1_EXTENSION_ROOT,
1541                         dissect_h245_NULL },
1542         {  0, NULL, 0, NULL }
1543 };
1544 static int
1545 dissect_h245_MasterSlaveDeterminationReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1546 {
1547         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDeterminationReject_cause, ett_h245_MasterSlaveDeterminationReject_cause, MasterSlaveDeterminationReject_cause_choice, "Cause", NULL);
1548
1549         return offset;
1550 }
1551
1552
1553
1554 static per_sequence_t MasterSlaveDeterminationReject_sequence[] = {
1555         { "cause", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
1556                 dissect_h245_MasterSlaveDeterminationReject_cause },
1557         { NULL, 0, 0, NULL }
1558 };
1559 static int
1560 dissect_h245_MasterSlaveDeterminationReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1561 {
1562         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDeterminationReject, ett_h245_MasterSlaveDeterminationReject, MasterSlaveDeterminationReject_sequence);
1563
1564         return offset;
1565 }
1566
1567
1568
1569 static const value_string QOSMode_vals[] = {
1570         {  0, "guaranteedQOS" },
1571         {  1, "controlledLoad" },
1572         {  0, NULL }
1573 };
1574 static per_choice_t QOSMode_choice[] = {
1575         {  0, "guaranteedQOS", ASN1_EXTENSION_ROOT,
1576                         dissect_h245_NULL },
1577         {  1, "controlledLoad", ASN1_EXTENSION_ROOT,
1578                         dissect_h245_NULL },
1579         {  0, NULL, 0, NULL }
1580 };
1581 static int
1582 dissect_h245_QOSMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1583 {
1584         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_QOSMode, ett_h245_QOSMode, QOSMode_choice, "QOSMode", NULL);
1585
1586         return offset;
1587 }
1588
1589
1590
1591 static const value_string RefPictureSelection_videoBackChannelSend_vals[] = {
1592         {  0, "none" },
1593         {  1, "ackMessageOnly" },
1594         {  2, "nackMessageOnly" },
1595         {  3, "ackOrNackMessageOnly" },
1596         {  4, "ackAndNackMessage" },
1597         {  0, NULL }
1598 };
1599 static per_choice_t RefPictureSelection_videoBackChannelSend_choice[] = {
1600         {  0, "none", ASN1_EXTENSION_ROOT,
1601                         dissect_h245_NULL },
1602         {  1, "ackMessageOnly", ASN1_EXTENSION_ROOT,
1603                         dissect_h245_NULL },
1604         {  2, "nackMessageOnly", ASN1_EXTENSION_ROOT,
1605                         dissect_h245_NULL },
1606         {  3, "ackOrNackMessageOnly", ASN1_EXTENSION_ROOT,
1607                         dissect_h245_NULL },
1608         {  4, "ackAndNackMessage", ASN1_EXTENSION_ROOT,
1609                         dissect_h245_NULL },
1610         {  0, NULL, 0, NULL }
1611 };
1612 static int
1613 dissect_h245_RefPictureSelection_videoBackChannelSend(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1614 {
1615         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RefPictureSelection_videoBackChannelSend, ett_h245_RefPictureSelection_videoBackChannelSend, RefPictureSelection_videoBackChannelSend_choice, "videoBackChannelSend", NULL);
1616
1617         return offset;
1618 }
1619
1620
1621
1622 static const value_string T38FaxRateManagement_vals[] = {
1623         {  0, "localTCF" },
1624         {  1, "transferredTCF" },
1625         {  0, NULL }
1626 };
1627 static per_choice_t T38FaxRateManagement_choice[] = {
1628         {  0, "localTCF", ASN1_EXTENSION_ROOT,
1629                         dissect_h245_NULL },
1630         {  1, "transferredTCF", ASN1_EXTENSION_ROOT,
1631                         dissect_h245_NULL },
1632         {  0, NULL, 0, NULL }
1633 };
1634 static int
1635 dissect_h245_T38FaxRateManagement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1636 {
1637         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_T38FaxRateManagement, ett_h245_T38FaxRateManagement, T38FaxRateManagement_choice, "T38FaxRateManagement", NULL);
1638
1639         return offset;
1640 }
1641
1642
1643
1644 static const value_string T38FaxUdpOptions_t38FaxUdpEC_vals[] = {
1645         {  0, "t38UDPFEC" },
1646         {  1, "t38UDPRedundancy" },
1647         {  0, NULL }
1648 };
1649 static per_choice_t T38FaxUdpOptions_t38FaxUdpEC_choice[] = {
1650         {  0, "t38UDPFEC", ASN1_EXTENSION_ROOT,
1651                         dissect_h245_NULL },
1652         {  1, "t38UDPRedundancy", ASN1_EXTENSION_ROOT,
1653                         dissect_h245_NULL },
1654         {  0, NULL, 0, NULL }
1655 };
1656 static int
1657 dissect_h245_T38FaxUdpOptions_t38FaxUdpEC(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1658 {
1659         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_T38FaxUdpOptions_t38FaxUdpEC, ett_h245_T38FaxUdpOptions_t38FaxUdpEC, T38FaxUdpOptions_t38FaxUdpEC_choice, "t38FaxUdpEC", NULL);
1660
1661         return offset;
1662 }
1663
1664
1665
1666 static const value_string NetworkAccessParameters_distribution_vals[] = {
1667         {  0, "unicast" },
1668         {  1, "multicast" },
1669         {  0, NULL }
1670 };
1671 static per_choice_t NetworkAccessParameters_distribution_choice[] = {
1672         {  0, "unicast", ASN1_EXTENSION_ROOT,
1673                         dissect_h245_NULL },
1674         {  1, "multicast", ASN1_EXTENSION_ROOT,
1675                         dissect_h245_NULL },
1676         {  0, NULL, 0, NULL }
1677 };
1678 static int
1679 dissect_h245_NetworkAccessParameters_distribution(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1680 {
1681         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NetworkAccessParameters_distribution, ett_h245_NetworkAccessParameters_distribution, NetworkAccessParameters_distribution_choice, "Distribution", NULL);
1682
1683         return offset;
1684 }
1685
1686
1687
1688 static const value_string NetworkAccessParameters_t120SetupProcedure_vals[] = {
1689         {  0, "originateCall" },
1690         {  1, "waitForCall" },
1691         {  2, "issueQuery" },
1692         {  0, NULL }
1693 };
1694 static per_choice_t NetworkAccessParameters_t120SetupProcedure_choice[] = {
1695         {  0, "originateCall", ASN1_EXTENSION_ROOT,
1696                         dissect_h245_NULL },
1697         {  1, "waitForCall", ASN1_EXTENSION_ROOT,
1698                         dissect_h245_NULL },
1699         {  2, "issueQuery", ASN1_EXTENSION_ROOT,
1700                         dissect_h245_NULL },
1701         {  0, NULL, 0, NULL }
1702 };
1703 static int
1704 dissect_h245_NetworkAccessParameters_t120SetupProcedure(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1705 {
1706         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NetworkAccessParameters_t120SetupProcedure, ett_h245_NetworkAccessParameters_t120SetupProcedure, NetworkAccessParameters_t120SetupProcedure_choice, "t120SetupProcedure", NULL);
1707
1708         return offset;
1709 }
1710
1711
1712
1713 static const value_string H223AL1MParameters_transferMode_vals[] = {
1714         {  0, "framed" },
1715         {  1, "unframed" },
1716         {  0, NULL }
1717 };
1718 static per_choice_t H223AL1MParameters_transferMode_choice[] = {
1719         {  0, "framed", ASN1_EXTENSION_ROOT,
1720                         dissect_h245_NULL },
1721         {  1, "unframed", ASN1_EXTENSION_ROOT,
1722                         dissect_h245_NULL },
1723         {  0, NULL, 0, NULL }
1724 };
1725 static int
1726 dissect_h245_H223AL1MParameters_transferMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1727 {
1728         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL1MParameters_transferMode, ett_h245_H223AL1MParameters_transferMode, H223AL1MParameters_transferMode_choice, "transferMode", NULL);
1729
1730         return offset;
1731 }
1732
1733
1734
1735 static const value_string H223AL1MParameters_headerFEC_vals[] = {
1736         {  0, "sebch16-7" },
1737         {  1, "golay24-12" },
1738         {  0, NULL }
1739 };
1740 static per_choice_t H223AL1MParameters_headerFEC_choice[] = {
1741         {  0, "sebch16-7", ASN1_EXTENSION_ROOT,
1742                         dissect_h245_NULL },
1743         {  1, "golay24-12", ASN1_EXTENSION_ROOT,
1744                         dissect_h245_NULL },
1745         {  0, NULL, 0, NULL }
1746 };
1747 static int
1748 dissect_h245_H223AL1MParameters_headerFEC(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1749 {
1750         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL1MParameters_headerFEC, ett_h245_H223AL1MParameters_headerFEC, H223AL1MParameters_headerFEC_choice, "headerFEC", NULL);
1751
1752         return offset;
1753 }
1754
1755
1756
1757 static const value_string H223AL1MParameters_crcLength_vals[] = {
1758         {  0, "crc4bit" },
1759         {  1, "crc12bit" },
1760         {  2, "crc20bit" },
1761         {  3, "crc28bit" },
1762         {  4, "crc8bit" },
1763         {  5, "crc16bit" },
1764         {  6, "crc32bit" },
1765         {  7, "crcNotUsed" },
1766         {  0, NULL }
1767 };
1768 static per_choice_t H223AL1MParameters_crcLength_choice[] = {
1769         {  0, "crc4bit", ASN1_EXTENSION_ROOT,
1770                         dissect_h245_NULL },
1771         {  1, "crc12bit", ASN1_EXTENSION_ROOT,
1772                         dissect_h245_NULL },
1773         {  2, "crc20bit", ASN1_EXTENSION_ROOT,
1774                         dissect_h245_NULL },
1775         {  3, "crc28bit", ASN1_EXTENSION_ROOT,
1776                         dissect_h245_NULL },
1777         {  4, "crc8bit", ASN1_NOT_EXTENSION_ROOT,
1778                         dissect_h245_NULL },
1779         {  5, "crc16bit", ASN1_NOT_EXTENSION_ROOT,
1780                         dissect_h245_NULL },
1781         {  6, "crc32bit", ASN1_NOT_EXTENSION_ROOT,
1782                         dissect_h245_NULL },
1783         {  7, "crcNotUsed", ASN1_NOT_EXTENSION_ROOT,
1784                         dissect_h245_NULL },
1785         {  0, NULL, 0, NULL }
1786 };
1787 static int
1788 dissect_h245_H223AL1MParameters_crcLength(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1789 {
1790         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL1MParameters_crcLength, ett_h245_H223AL1MParameters_crcLength, H223AL1MParameters_crcLength_choice, "crcLength", NULL);
1791
1792         return offset;
1793 }
1794
1795
1796
1797 static const value_string H223AL2MParameters_headerFEC_vals[] = {
1798         {  0, "sebch16-5" },
1799         {  1, "golay24-12" },
1800         {  0, NULL }
1801 };
1802 static per_choice_t H223AL2MParameters_headerFEC_choice[] = {
1803         {  0, "sebch16-5", ASN1_EXTENSION_ROOT,
1804                         dissect_h245_NULL },
1805         {  1, "golay24-12", ASN1_EXTENSION_ROOT,
1806                         dissect_h245_NULL },
1807         {  0, NULL, 0, NULL }
1808 };
1809 static int
1810 dissect_h245_H223AL2MParameters_headerFEC(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1811 {
1812         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL2MParameters_headerFEC, ett_h245_H223AL2MParameters_headerFEC, H223AL2MParameters_headerFEC_choice, "headerFEC", NULL);
1813
1814         return offset;
1815 }
1816
1817
1818
1819
1820 static const value_string H223AL3MParameters_headerFormat_vals[] = {
1821         {  0, "sebch16-7" },
1822         {  1, "golay24-12" },
1823         {  0, NULL }
1824 };
1825 static per_choice_t H223AL3MParameters_headerFormat_choice[] = {
1826         {  0, "sebch16-7", ASN1_EXTENSION_ROOT,
1827                         dissect_h245_NULL },
1828         {  1, "golay24-12", ASN1_EXTENSION_ROOT,
1829                         dissect_h245_NULL },
1830         {  0, NULL, 0, NULL }
1831 };
1832 static int
1833 dissect_h245_H223AL3MParameters_headerFormat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1834 {
1835         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL3MParameters_headerFormat, ett_h245_H223AL3MParameters_headerFormat, H223AL3MParameters_headerFormat_choice, "headerFormat", NULL);
1836
1837         return offset;
1838 }
1839
1840
1841
1842
1843 static const value_string H223AL3MParameters_crcLength_vals[] = {
1844         {  0, "crc4bit" },
1845         {  1, "crc12bit" },
1846         {  2, "crc20bit" },
1847         {  3, "crc28bit" },
1848         {  4, "crc8bit" },
1849         {  5, "crc16bit" },
1850         {  6, "crc32bit" },
1851         {  7, "crcNotUsed" },
1852         {  0, NULL }
1853 };
1854 static per_choice_t H223AL3MParameters_crcLength_choice[] = {
1855         {  0, "crc4bit", ASN1_EXTENSION_ROOT,
1856                         dissect_h245_NULL },
1857         {  1, "crc12bit", ASN1_EXTENSION_ROOT,
1858                         dissect_h245_NULL },
1859         {  2, "crc20bit", ASN1_EXTENSION_ROOT,
1860                         dissect_h245_NULL },
1861         {  3, "crc28bit", ASN1_EXTENSION_ROOT,
1862                         dissect_h245_NULL },
1863         {  4, "crc8bit", ASN1_NOT_EXTENSION_ROOT,
1864                         dissect_h245_NULL },
1865         {  5, "crc16bit", ASN1_NOT_EXTENSION_ROOT,
1866                         dissect_h245_NULL },
1867         {  6, "crc32bit", ASN1_NOT_EXTENSION_ROOT,
1868                         dissect_h245_NULL },
1869         {  7, "crcNotUsed", ASN1_NOT_EXTENSION_ROOT,
1870                         dissect_h245_NULL },
1871         {  0, NULL, 0, NULL }
1872 };
1873 static int
1874 dissect_h245_H223AL3MParameters_crcLength(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1875 {
1876         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL3MParameters_crcLength, ett_h245_H223AL3MParameters_crcLength, H223AL3MParameters_crcLength_choice, "crcLength", NULL);
1877
1878         return offset;
1879 }
1880
1881
1882
1883
1884 static const value_string V76LogicalChannelParameters_suspendResume_vals[] = {
1885         {  0, "noSuspendResume" },
1886         {  1, "suspendResumewAddress" },
1887         {  2, "suspendResumewoAddress" },
1888         {  0, NULL }
1889 };
1890 static per_choice_t V76LogicalChannelParameters_suspendResume_choice[] = {
1891         {  0, "noSuspendResume", ASN1_EXTENSION_ROOT,
1892                         dissect_h245_NULL },
1893         {  1, "suspendResumewAddress", ASN1_EXTENSION_ROOT,
1894                         dissect_h245_NULL },
1895         {  2, "suspendResumewoAddress", ASN1_EXTENSION_ROOT,
1896                         dissect_h245_NULL },
1897         {  0, NULL, 0, NULL }
1898 };
1899 static int
1900 dissect_h245_V76LogicalChannelParameters_suspendResume(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1901 {
1902         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_V76LogicalChannelParameters_suspendResume, ett_h245_V76LogicalChannelParameters_suspendResume, V76LogicalChannelParameters_suspendResume_choice, "suspendResume", NULL);
1903
1904         return offset;
1905 }
1906
1907
1908
1909
1910 static const value_string V76LogicalChannelParameters_mode_eRM_recovery_vals[] = {
1911         {  0, "rej" },
1912         {  1, "sREJ" },
1913         {  2, "mSREJ" },
1914         {  0, NULL }
1915 };
1916 static per_choice_t V76LogicalChannelParameters_mode_eRM_recovery_choice[] = {
1917         {  0, "rej", ASN1_EXTENSION_ROOT,
1918                         dissect_h245_NULL },
1919         {  1, "sREJ", ASN1_EXTENSION_ROOT,
1920                         dissect_h245_NULL },
1921         {  2, "mSREJ", ASN1_EXTENSION_ROOT,
1922                         dissect_h245_NULL },
1923         {  0, NULL, 0, NULL }
1924 };
1925 static int
1926 dissect_h245_V76LogicalChannelParameters_mode_eRM_recovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1927 {
1928         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);
1929
1930         return offset;
1931 }
1932
1933
1934
1935
1936 static const value_string CRCLength_vals[] = {
1937         {  0, "crc8bit" },
1938         {  1, "crc16bit" },
1939         {  2, "crc32bit" },
1940         {  0, NULL }
1941 };
1942 static per_choice_t CRCLength_choice[] = {
1943         {  0, "crc8bit", ASN1_EXTENSION_ROOT,
1944                         dissect_h245_NULL },
1945         {  1, "crc16bit", ASN1_EXTENSION_ROOT,
1946                         dissect_h245_NULL },
1947         {  2, "crc32bit", ASN1_EXTENSION_ROOT,
1948                         dissect_h245_NULL },
1949         {  0, NULL, 0, NULL }
1950 };
1951 static int
1952 dissect_h245_CRCLength(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1953 {
1954         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CRCLength, ett_h245_CRCLength, CRCLength_choice, "CRCLength", NULL);
1955
1956         return offset;
1957 }
1958
1959
1960
1961
1962 static const value_string UnicastAddress_iPSourceRouteAddress_routing_vals[] = {
1963         {  0, "strict" },
1964         {  1, "loose" },
1965         {  0, NULL }
1966 };
1967 static per_choice_t UnicastAddress_iPSourceRouteAddress_routing_choice[] = {
1968         {  0, "strict", ASN1_NO_EXTENSIONS,
1969                         dissect_h245_NULL },
1970         {  1, "loose", ASN1_NO_EXTENSIONS,
1971                         dissect_h245_NULL },
1972         {  0, NULL, 0, NULL }
1973 };
1974 static int
1975 dissect_h245_UnicastAddress_iPSourceRouteAddress_routing(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1976 {
1977         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_UnicastAddress_iPSourceRouteAddress_routing, ett_h245_UnicastAddress_iPSourceRouteAddress_routing, UnicastAddress_iPSourceRouteAddress_routing_choice, "routing", NULL);
1978
1979         return offset;
1980 }
1981
1982
1983
1984
1985 static const value_string OpenLogicalChannelReject_cause_vals[] = {
1986         {  0, "unspecified" },
1987         {  1, "unsuitableReverseParameters" },
1988         {  2, "dataTypeNotSupported" },
1989         {  3, "dataTypeNotAvailable" },
1990         {  4, "unknownDataType" },
1991         {  5, "dataTypeALCombinationNotSupported" },
1992         {  6, "multicastChannelNotAllowed" },
1993         {  7, "insufficientBandwidth" },
1994         {  8, "separateStackEstablishmentFailed" },
1995         {  9, "invalidSessionID" },
1996         { 10, "masterSlaveConflict" },
1997         { 11, "waitForCommunicationMode" },
1998         { 12, "invalidDependentChannel" },
1999         { 13, "replacementForRejected" },
2000         {  0, NULL }
2001 };
2002 static per_choice_t OpenLogicalChannelReject_cause_choice[] = {
2003         {  0, "unspecified", ASN1_EXTENSION_ROOT,
2004                         dissect_h245_NULL },
2005         {  1, "unsuitableReverseParameters", ASN1_EXTENSION_ROOT,
2006                         dissect_h245_NULL },
2007         {  2, "dataTypeNotSupported", ASN1_EXTENSION_ROOT,
2008                         dissect_h245_NULL },
2009         {  3, "dataTypeNotAvailable", ASN1_EXTENSION_ROOT,
2010                         dissect_h245_NULL },
2011         {  4, "unknownDataType", ASN1_EXTENSION_ROOT,
2012                         dissect_h245_NULL },
2013         {  5, "dataTypeALCombinationNotSupported", ASN1_EXTENSION_ROOT,
2014                         dissect_h245_NULL },
2015         {  6, "multicastChannelNotAllowed", ASN1_NOT_EXTENSION_ROOT,
2016                         dissect_h245_NULL },
2017         {  7, "insufficientBandwidth", ASN1_NOT_EXTENSION_ROOT,
2018                         dissect_h245_NULL },
2019         {  8, "separateStackEstablishmentFailed", ASN1_NOT_EXTENSION_ROOT,
2020                         dissect_h245_NULL },
2021         {  9, "invalidSessionID", ASN1_NOT_EXTENSION_ROOT,
2022                         dissect_h245_NULL },
2023         { 10, "masterSlaveConflict", ASN1_NOT_EXTENSION_ROOT,
2024                         dissect_h245_NULL },
2025         { 11, "waitForCommunicationMode", ASN1_NOT_EXTENSION_ROOT,
2026                         dissect_h245_NULL },
2027         { 12, "invalidDependentChannel", ASN1_NOT_EXTENSION_ROOT,
2028                         dissect_h245_NULL },
2029         { 13, "replacementForRejected", ASN1_NOT_EXTENSION_ROOT,
2030                         dissect_h245_NULL },
2031         {  0, NULL, 0, NULL }
2032 };
2033 static int
2034 dissect_h245_OpenLogicalChannelReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2035 {
2036         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelReject_cause, ett_h245_OpenLogicalChannelReject_cause, OpenLogicalChannelReject_cause_choice, "cause", NULL);
2037
2038         return offset;
2039 }
2040
2041
2042
2043 static const value_string CloseLogicalChannel_source_vals[] = {
2044         {  0, "user" },
2045         {  1, "lcse" },
2046         {  0, NULL }
2047 };
2048 static per_choice_t CloseLogicalChannel_source_choice[] = {
2049         {  0, "user", ASN1_NO_EXTENSIONS,
2050                         dissect_h245_NULL },
2051         {  1, "lcse", ASN1_NO_EXTENSIONS,
2052                         dissect_h245_NULL },
2053         {  0, NULL, 0, NULL }
2054 };
2055 static int
2056 dissect_h245_CloseLogicalChannel_source(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2057 {
2058         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CloseLogicalChannel_source, ett_h245_CloseLogicalChannel_source, CloseLogicalChannel_source_choice, "source", NULL);
2059
2060         return offset;
2061 }
2062
2063
2064 static const value_string CloseLogicalChannel_reason_vals[] = {
2065         {  0, "unknown" },
2066         {  1, "reopen" },
2067         {  2, "reservationFailure" },
2068         {  0, NULL }
2069 };
2070 static per_choice_t CloseLogicalChannel_reason_choice[] = {
2071         {  0, "unknown", ASN1_EXTENSION_ROOT,
2072                         dissect_h245_NULL },
2073         {  1, "reopen", ASN1_EXTENSION_ROOT,
2074                         dissect_h245_NULL },
2075         {  2, "reservationFailure", ASN1_EXTENSION_ROOT,
2076                         dissect_h245_NULL },
2077         {  0, NULL, 0, NULL }
2078 };
2079 static int
2080 dissect_h245_CloseLogicalChannel_reason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2081 {
2082         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CloseLogicalChannel_reason, ett_h245_CloseLogicalChannel_reason, CloseLogicalChannel_reason_choice, "reason", NULL);
2083
2084         return offset;
2085 }
2086
2087
2088
2089 static const value_string RequestChannelClose_reason_vals[] = {
2090         {  0, "unknown" },
2091         {  1, "normal" },
2092         {  2, "reopen" },
2093         {  3, "reservationFailure" },
2094         {  0, NULL }
2095 };
2096 static per_choice_t RequestChannelClose_reason_choice[] = {
2097         {  0, "unknown", ASN1_EXTENSION_ROOT,
2098                         dissect_h245_NULL },
2099         {  1, "normal", ASN1_EXTENSION_ROOT,
2100                         dissect_h245_NULL },
2101         {  2, "reopen", ASN1_EXTENSION_ROOT,
2102                         dissect_h245_NULL },
2103         {  3, "reservationFailure", ASN1_EXTENSION_ROOT,
2104                         dissect_h245_NULL },
2105         {  0, NULL, 0, NULL }
2106 };
2107 static int
2108 dissect_h245_RequestChannelClose_reason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2109 {
2110         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestChannelClose_reason, ett_h245_RequestChannelClose_reason, RequestChannelClose_reason_choice, "reason", NULL);
2111
2112         return offset;
2113 }
2114
2115
2116
2117 static const value_string RequestChannelCloseReject_cause_vals[] = {
2118         {  0, "unspecified" },
2119         {  0, NULL }
2120 };
2121 static per_choice_t RequestChannelCloseReject_cause_choice[] = {
2122         {  0, "unspecified", ASN1_EXTENSION_ROOT,
2123                         dissect_h245_NULL },
2124         {  0, NULL, 0, NULL }
2125 };
2126 static int
2127 dissect_h245_RequestChannelCloseReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2128 {
2129         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestChannelCloseReject_cause, ett_h245_RequestChannelCloseReject_cause, RequestChannelCloseReject_cause_choice, "cause", NULL);
2130
2131         return offset;
2132 }
2133
2134
2135
2136
2137 static const value_string MultiplexEntryRejectionDescriptions_cause_vals[] = {
2138         {  0, "unspecifiedCause" },
2139         {  1, "descriptorTooComplex" },
2140         {  0, NULL }
2141 };
2142 static per_choice_t MultiplexEntryRejectionDescriptions_cause_choice[] = {
2143         {  0, "unspecifiedCause", ASN1_EXTENSION_ROOT,
2144                         dissect_h245_NULL },
2145         {  1, "descriptorTooComplex", ASN1_EXTENSION_ROOT,
2146                         dissect_h245_NULL },
2147         {  0, NULL, 0, NULL }
2148 };
2149 static int
2150 dissect_h245_MultiplexEntryRejectionDescriptions_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2151 {
2152         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultiplexEntryRejectionDescriptions_cause, ett_h245_MultiplexEntryRejectionDescriptions_cause, MultiplexEntryRejectionDescriptions_cause_choice, "cause", NULL);
2153
2154         return offset;
2155 }
2156
2157
2158
2159 static const value_string RequestMultiplexEntryRejectionDescriptions_cause_vals[] = {
2160         {  0, "unspecifiedCause" },
2161         {  0, NULL }
2162 };
2163 static per_choice_t RequestMultiplexEntryRejectionDescriptions_cause_choice[] = {
2164         {  0, "unspecifiedCause", ASN1_EXTENSION_ROOT,
2165                         dissect_h245_NULL },
2166         {  0, NULL, 0, NULL }
2167 };
2168 static int
2169 dissect_h245_RequestMultiplexEntryRejectionDescriptions_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2170 {
2171         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntryRejectionDescriptions_cause, ett_h245_RequestMultiplexEntryRejectionDescriptions_cause, RequestMultiplexEntryRejectionDescriptions_cause_choice, "cause", NULL);
2172
2173         return offset;
2174 }
2175
2176
2177
2178 static const value_string RequestModeReject_cause_vals[] = {
2179         {  0, "modeUnavailable" },
2180         {  1, "multipointConstraint" },
2181         {  2, "requestDenied" },
2182         {  0, NULL }
2183 };
2184 static per_choice_t RequestModeReject_cause_choice[] = {
2185         {  0, "modeUnavailable", ASN1_EXTENSION_ROOT,
2186                         dissect_h245_NULL },
2187         {  1, "multipointConstraint", ASN1_EXTENSION_ROOT,
2188                         dissect_h245_NULL },
2189         {  2, "requestDenied", ASN1_EXTENSION_ROOT,
2190                         dissect_h245_NULL },
2191         {  0, NULL, 0, NULL }
2192 };
2193 static int
2194 dissect_h245_RequestModeReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2195 {
2196         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestModeReject_cause, ett_h245_RequestModeReject_cause, RequestModeReject_cause_choice, "cause", NULL);
2197
2198         return offset;
2199 }
2200
2201
2202
2203
2204 static const value_string V76ModeParameters_vals[] = {
2205         {  0, "suspendResumewAddress" },
2206         {  1, "suspendResumewoAddress" },
2207         {  0, NULL }
2208 };
2209 static per_choice_t V76ModeParameters_choice[] = {
2210         {  0, "suspendResumewAddress", ASN1_EXTENSION_ROOT,
2211                         dissect_h245_NULL },
2212         {  1, "suspendResumewoAddress", ASN1_EXTENSION_ROOT,
2213                         dissect_h245_NULL },
2214         {  0, NULL, 0, NULL }
2215 };
2216 static int
2217 dissect_h245_V76ModeParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2218 {
2219         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_V76ModeParameters, ett_h245_V76ModeParameters, V76ModeParameters_choice, "V76ModeParameters", NULL);
2220
2221         return offset;
2222 }
2223
2224
2225
2226 static const value_string H262VideoMode_profileAndLevel_vals[] = {
2227         {  0, "profileAndLevel-SPatML" },
2228         {  1, "profileAndLevel-MPatLL" },
2229         {  2, "profileAndLevel-MPatML" },
2230         {  3, "profileAndLevel-MPatH-14" },
2231         {  4, "profileAndLevel-MPatHL" },
2232         {  5, "profileAndLevel-SNRatLL" },
2233         {  6, "profileAndLevel-SNRatML" },
2234         {  7, "profileAndLevel-SpatialH-14" },
2235         {  8, "profileAndLevel-HPatML" },
2236         {  9, "profileAndLevel-HPatH-14" },
2237         { 10, "profileAndLevel-HPatHL" },
2238         {  0, NULL }
2239 };
2240 static per_choice_t H262VideoMode_profileAndLevel_choice[] = {
2241         {  0, "profileAndLevel-SPatML", ASN1_EXTENSION_ROOT,
2242                         dissect_h245_NULL },
2243         {  1, "profileAndLevel-MPatLL", ASN1_EXTENSION_ROOT,
2244                         dissect_h245_NULL },
2245         {  2, "profileAndLevel-MPatML", ASN1_EXTENSION_ROOT,
2246                         dissect_h245_NULL },
2247         {  3, "profileAndLevel-MPatH-14", ASN1_EXTENSION_ROOT,
2248                         dissect_h245_NULL },
2249         {  4, "profileAndLevel-MPatHL", ASN1_EXTENSION_ROOT,
2250                         dissect_h245_NULL },
2251         {  5, "profileAndLevel-SNRatLL", ASN1_EXTENSION_ROOT,
2252                         dissect_h245_NULL },
2253         {  6, "profileAndLevel-SNRatML", ASN1_EXTENSION_ROOT,
2254                         dissect_h245_NULL },
2255         {  7, "profileAndLevel-SpatialH-14", ASN1_EXTENSION_ROOT,
2256                         dissect_h245_NULL },
2257         {  8, "profileAndLevel-HPatML", ASN1_EXTENSION_ROOT,
2258                         dissect_h245_NULL },
2259         {  9, "profileAndLevel-HPatH-14", ASN1_EXTENSION_ROOT,
2260                         dissect_h245_NULL },
2261         { 10, "profileAndLevel-HPatHL", ASN1_EXTENSION_ROOT,
2262                         dissect_h245_NULL },
2263         {  0, NULL, 0, NULL }
2264 };
2265 static int
2266 dissect_h245_H262VideoMode_profileAndLevel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2267 {
2268         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H262VideoMode_profileAndLevel, ett_h245_H262VideoMode_profileAndLevel, H262VideoMode_profileAndLevel_choice, "profileAndLevel", NULL);
2269
2270         return offset;
2271 }
2272
2273
2274
2275
2276 static const value_string H263VideoMode_resolution_vals[] = {
2277         {  0, "sqcif" },
2278         {  1, "qcif" },
2279         {  2, "cif" },
2280         {  3, "cif4" },
2281         {  4, "cif16" },
2282         {  5, "custom" },
2283         {  0, NULL }
2284 };
2285 static per_choice_t H263VideoMode_resolution_choice[] = {
2286         {  0, "sqcif", ASN1_EXTENSION_ROOT,
2287                         dissect_h245_NULL },
2288         {  1, "qcif", ASN1_EXTENSION_ROOT,
2289                         dissect_h245_NULL },
2290         {  2, "cif", ASN1_EXTENSION_ROOT,
2291                         dissect_h245_NULL },
2292         {  3, "cif4", ASN1_EXTENSION_ROOT,
2293                         dissect_h245_NULL },
2294         {  4, "cif16", ASN1_EXTENSION_ROOT,
2295                         dissect_h245_NULL },
2296         {  5, "custom", ASN1_NOT_EXTENSION_ROOT,
2297                         dissect_h245_NULL },
2298         {  0, NULL, 0, NULL }
2299 };
2300 static int
2301 dissect_h245_H263VideoMode_resolution(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2302 {
2303         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H263VideoMode_resolution, ett_h245_H263VideoMode_resolution, H263VideoMode_resolution_choice, "resolution", NULL);
2304
2305         return offset;
2306 }
2307
2308
2309 static const value_string AudioMode_g7231_vals[] = {
2310         {  0, "noSilenceSuppressionLowRate" },
2311         {  1, "noSilenceSuppressionHighRate" },
2312         {  2, "silenceSuppressionLowRate" },
2313         {  3, "silenceSuppressionHighRate" },
2314         {  0, NULL }
2315 };
2316 static per_choice_t AudioMode_g7231_choice[] = {
2317         {  0, "noSilenceSuppressionLowRate", ASN1_NO_EXTENSIONS,
2318                         dissect_h245_NULL },
2319         {  1, "noSilenceSuppressionHighRate", ASN1_NO_EXTENSIONS,
2320                         dissect_h245_NULL },
2321         {  2, "silenceSuppressionLowRate", ASN1_NO_EXTENSIONS,
2322                         dissect_h245_NULL },
2323         {  3, "silenceSuppressionHighRate", ASN1_NO_EXTENSIONS,
2324                         dissect_h245_NULL },
2325         {  0, NULL, 0, NULL }
2326 };
2327 static int
2328 dissect_h245_AudioMode_g7231(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2329 {
2330         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_AudioMode_g7231, ett_h245_AudioMode_g7231, AudioMode_g7231_choice, "g7231", NULL);
2331
2332         return offset;
2333 }
2334
2335
2336
2337 static const value_string IS11172AudioMode_audioLayer_vals[] = {
2338         {  0, "audioLayer1" },
2339         {  1, "audioLayer2" },
2340         {  2, "audioLayer3" },
2341         {  0, NULL }
2342 };
2343 static per_choice_t IS11172AudioMode_audioLayer_choice[] = {
2344         {  0, "audioLayer1", ASN1_NO_EXTENSIONS,
2345                         dissect_h245_NULL },
2346         {  1, "audioLayer2", ASN1_NO_EXTENSIONS,
2347                         dissect_h245_NULL },
2348         {  2, "audioLayer3", ASN1_NO_EXTENSIONS,
2349                         dissect_h245_NULL },
2350         {  0, NULL, 0, NULL }
2351 };
2352 static int
2353 dissect_h245_IS11172AudioMode_audioLayer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2354 {
2355         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS11172AudioMode_audioLayer, ett_h245_IS11172AudioMode_audioLayer, IS11172AudioMode_audioLayer_choice, "audioLayer", NULL);
2356
2357         return offset;
2358 }
2359
2360
2361
2362 static const value_string IS11172AudioMode_audioSampling_vals[] = {
2363         {  0, "audioSampling32k" },
2364         {  1, "audioSampling44k1" },
2365         {  2, "audioSampling48k" },
2366         {  0, NULL }
2367 };
2368 static per_choice_t IS11172AudioMode_audioSampling_choice[] = {
2369         {  0, "audioSampling32k", ASN1_NO_EXTENSIONS,
2370                         dissect_h245_NULL },
2371         {  1, "audioSampling44k1", ASN1_NO_EXTENSIONS,
2372                         dissect_h245_NULL },
2373         {  2, "audioSampling48k", ASN1_NO_EXTENSIONS,
2374                         dissect_h245_NULL },
2375         {  0, NULL, 0, NULL }
2376 };
2377 static int
2378 dissect_h245_IS11172AudioMode_audioSampling(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2379 {
2380         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS11172AudioMode_audioSampling, ett_h245_IS11172AudioMode_audioSampling, IS11172AudioMode_audioSampling_choice, "audioSampling", NULL);
2381
2382         return offset;
2383 }
2384
2385
2386
2387 static const value_string IS11172AudioMode_multichannelType_vals[] = {
2388         {  0, "singleChannel" },
2389         {  1, "twoChannelStereo" },
2390         {  2, "twoChannelDual" },
2391         {  0, NULL }
2392 };
2393 static per_choice_t IS11172AudioMode_multichannelType_choice[] = {
2394         {  0, "singleChannel", ASN1_NO_EXTENSIONS,
2395                         dissect_h245_NULL },
2396         {  1, "twoChannelStereo", ASN1_NO_EXTENSIONS,
2397                         dissect_h245_NULL },
2398         {  2, "twoChannelDual", ASN1_NO_EXTENSIONS,
2399                         dissect_h245_NULL },
2400         {  0, NULL, 0, NULL }
2401 };
2402 static int
2403 dissect_h245_IS11172AudioMode_multichannelType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2404 {
2405         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS11172AudioMode_multichannelType, ett_h245_IS11172AudioMode_multichannelType, IS11172AudioMode_multichannelType_choice, "multichannelType", NULL);
2406
2407         return offset;
2408 }
2409
2410
2411
2412
2413 static const value_string IS13818AudioMode_audioLayer_vals[] = {
2414         {  0, "audioLayer1" },
2415         {  1, "audioLayer2" },
2416         {  2, "audioLayer3" },
2417         {  0, NULL }
2418 };
2419 static per_choice_t IS13818AudioMode_audioLayer_choice[] = {
2420         {  0, "audioLayer1", ASN1_NO_EXTENSIONS,
2421                         dissect_h245_NULL },
2422         {  1, "audioLayer2", ASN1_NO_EXTENSIONS,
2423                         dissect_h245_NULL },
2424         {  2, "audioLayer3", ASN1_NO_EXTENSIONS,
2425                         dissect_h245_NULL },
2426         {  0, NULL, 0, NULL }
2427 };
2428 static int
2429 dissect_h245_IS13818AudioMode_audioLayer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2430 {
2431         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS13818AudioMode_audioLayer, ett_h245_IS13818AudioMode_audioLayer, IS13818AudioMode_audioLayer_choice, "audioLayer", NULL);
2432
2433         return offset;
2434 }
2435
2436
2437
2438
2439 static const value_string IS13818AudioMode_audioSampling_vals[] = {
2440         {  0, "audioSampling16k" },
2441         {  1, "audioSampling22k05" },
2442         {  2, "audioSampling24k" },
2443         {  3, "audioSampling32k" },
2444         {  4, "audioSampling44k1" },
2445         {  5, "audioSampling48k" },
2446         {  0, NULL }
2447 };
2448 static per_choice_t IS13818AudioMode_audioSampling_choice[] = {
2449         {  0, "audioSampling16k", ASN1_NO_EXTENSIONS,
2450                         dissect_h245_NULL },
2451         {  1, "audioSampling22k05", ASN1_NO_EXTENSIONS,
2452                         dissect_h245_NULL },
2453         {  2, "audioSampling24k", ASN1_NO_EXTENSIONS,
2454                         dissect_h245_NULL },
2455         {  3, "audioSampling32k", ASN1_NO_EXTENSIONS,
2456                         dissect_h245_NULL },
2457         {  4, "audioSampling44k1", ASN1_NO_EXTENSIONS,
2458                         dissect_h245_NULL },
2459         {  5, "audioSampling48k", ASN1_NO_EXTENSIONS,
2460                         dissect_h245_NULL },
2461         {  0, NULL, 0, NULL }
2462 };
2463 static int
2464 dissect_h245_IS13818AudioMode_audioSampling(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2465 {
2466         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS13818AudioMode_audioSampling, ett_h245_IS13818AudioMode_audioSampling, IS13818AudioMode_audioSampling_choice, "audioSampling", NULL);
2467
2468         return offset;
2469 }
2470
2471
2472
2473
2474 static const value_string IS13818AudioMode_multiChannelType_vals[] = {
2475         {  0, "singleChannel" },
2476         {  1, "twoChannelStereo" },
2477         {  2, "twoChannelDual" },
2478         {  3, "threeChannels2-1" },
2479         {  4, "threeChannels3-0" },
2480         {  5, "fourChannels2-0-2-0" },
2481         {  6, "fourChannels2-2" },
2482         {  7, "fourChannels3-1" },
2483         {  8, "fiveChannels3-0-2-0" },
2484         {  9, "fiveChannels3-2" },
2485         {  0, NULL }
2486 };
2487 static per_choice_t IS13818AudioMode_multiChannelType_choice[] = {
2488         {  0, "singleChannel", ASN1_NO_EXTENSIONS,
2489                         dissect_h245_NULL },
2490         {  1, "twoChannelStereo", ASN1_NO_EXTENSIONS,
2491                         dissect_h245_NULL },
2492         {  2, "twoChannelDual", ASN1_NO_EXTENSIONS,
2493                         dissect_h245_NULL },
2494         {  3, "threeChannels2-1", ASN1_NO_EXTENSIONS,
2495                         dissect_h245_NULL },
2496         {  4, "threeChannels3-0", ASN1_NO_EXTENSIONS,
2497                         dissect_h245_NULL },
2498         {  5, "fourChannels2-0-2-0", ASN1_NO_EXTENSIONS,
2499                         dissect_h245_NULL },
2500         {  6, "fourChannels2-2", ASN1_NO_EXTENSIONS,
2501                         dissect_h245_NULL },
2502         {  7, "fourChannels3-1", ASN1_NO_EXTENSIONS,
2503                         dissect_h245_NULL },
2504         {  8, "fiveChannels3-0-2-0", ASN1_NO_EXTENSIONS,
2505                         dissect_h245_NULL },
2506         {  9, "fiveChannels3-2", ASN1_NO_EXTENSIONS,
2507                         dissect_h245_NULL },
2508         {  0, NULL, 0, NULL }
2509 };
2510 static int
2511 dissect_h245_IS13818AudioMode_multiChannelType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2512 {
2513         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS13818AudioMode_multiChannelType, ett_h245_IS13818AudioMode_multiChannelType, IS13818AudioMode_multiChannelType_choice, "multiChannelType", NULL);
2514
2515         return offset;
2516 }
2517
2518
2519
2520
2521 static const value_string MaintenanceLoopReject_cause_vals[] = {
2522         {  0, "canNotPerformLoop" },
2523         {  0, NULL }
2524 };
2525 static per_choice_t MaintenanceLoopReject_cause_choice[] = {
2526         {  0, "canNotPerformLoop", ASN1_EXTENSION_ROOT,
2527                         dissect_h245_NULL },
2528         {  0, NULL, 0, NULL }
2529 };
2530 static int
2531 dissect_h245_MaintenanceLoopReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2532 {
2533         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopReject_cause, ett_h245_MaintenanceLoopReject_cause, MaintenanceLoopReject_cause_choice, "cause", NULL);
2534
2535         return offset;
2536 }
2537
2538
2539
2540
2541 static const value_string ConferenceResponse_makeMeChairResponse_vals[] = {
2542         {  0, "grantedChairToken" },
2543         {  1, "deniedChairToken" },
2544         {  0, NULL }
2545 };
2546 static per_choice_t ConferenceResponse_makeMeChairResponse_choice[] = {
2547         {  0, "grantedChairToken", ASN1_EXTENSION_ROOT,
2548                         dissect_h245_NULL },
2549         {  1, "deniedChairToken", ASN1_EXTENSION_ROOT,
2550                         dissect_h245_NULL },
2551         {  0, NULL, 0, NULL }
2552 };
2553 static int
2554 dissect_h245_ConferenceResponse_makeMeChairResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2555 {
2556         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_makeMeChairResponse, ett_h245_ConferenceResponse_makeMeChairResponse, ConferenceResponse_makeMeChairResponse_choice, "makeMeChairResponse", NULL);
2557
2558         return offset;
2559 }
2560
2561
2562
2563
2564 static const value_string ConferenceResponse_broadcastMyLogicalChannelResponse_vals[] = {
2565         {  0, "grantedBroadcastMyLogicalChannel" },
2566         {  1, "deniedBroadcastMyLogicalChannel" },
2567         {  0, NULL }
2568 };
2569 static per_choice_t ConferenceResponse_broadcastMyLogicalChannelResponse_choice[] = {
2570         {  0, "grantedBroadcastMyLogicalChannel", ASN1_EXTENSION_ROOT,
2571                         dissect_h245_NULL },
2572         {  1, "deniedBroadcastMyLogicalChannel", ASN1_EXTENSION_ROOT,
2573                         dissect_h245_NULL },
2574         {  0, NULL, 0, NULL }
2575 };
2576 static int
2577 dissect_h245_ConferenceResponse_broadcastMyLogicalChannelResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2578 {
2579         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_broadcastMyLogicalChannelResponse, ett_h245_ConferenceResponse_broadcastMyLogicalChannelResponse, ConferenceResponse_broadcastMyLogicalChannelResponse_choice, "broadcastMyLogicalChannelResponse", NULL);
2580
2581         return offset;
2582 }
2583
2584
2585
2586 static const value_string ConferenceResponse_makeTerminalBroadcasterResponse_vals[] = {
2587         {  0, "grantedMakeTerminalBroadcaster" },
2588         {  1, "deniedMakeTerminalBroadcaster" },
2589         {  0, NULL }
2590 };
2591 static per_choice_t ConferenceResponse_makeTerminalBroadcasterResponse_choice[] = {
2592         {  0, "grantedMakeTerminalBroadcaster", ASN1_EXTENSION_ROOT,
2593                         dissect_h245_NULL },
2594         {  1, "deniedMakeTerminalBroadcaster", ASN1_EXTENSION_ROOT,
2595                         dissect_h245_NULL },
2596         {  0, NULL, 0, NULL }
2597 };
2598 static int
2599 dissect_h245_ConferenceResponse_makeTerminalBroadcasterResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2600 {
2601         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_makeTerminalBroadcasterResponse, ett_h245_ConferenceResponse_makeTerminalBroadcasterResponse, ConferenceResponse_makeTerminalBroadcasterResponse_choice, "makeTerminalBroadcasterResponse", NULL);
2602
2603         return offset;
2604 }
2605
2606
2607
2608
2609 static const value_string ConferenceResponse_sendThisSourceResponse_vals[] = {
2610         {  0, "grantedSendThisSource" },
2611         {  1, "deniedSendThisSource" },
2612         {  0, NULL }
2613 };
2614 static per_choice_t ConferenceResponse_sendThisSourceResponse_choice[] = {
2615         {  0, "grantedSendThisSource", ASN1_EXTENSION_ROOT,
2616                         dissect_h245_NULL },
2617         {  1, "deniedSendThisSource", ASN1_EXTENSION_ROOT,
2618                         dissect_h245_NULL },
2619         {  0, NULL, 0, NULL }
2620 };
2621 static int
2622 dissect_h245_ConferenceResponse_sendThisSourceResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2623 {
2624         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_sendThisSourceResponse, ett_h245_ConferenceResponse_sendThisSourceResponse, ConferenceResponse_sendThisSourceResponse_choice, "sendThisSourceResponse", NULL);
2625
2626         return offset;
2627 }
2628
2629
2630
2631 static const value_string RemoteMCRequest_vals[] = {
2632         {  0, "masterActivate" },
2633         {  1, "slaveActivate" },
2634         {  2, "deActivate" },
2635         {  0, NULL }
2636 };
2637 static per_choice_t RemoteMCRequest_choice[] = {
2638         {  0, "masterActivate", ASN1_EXTENSION_ROOT,
2639                         dissect_h245_NULL },
2640         {  1, "slaveActivate", ASN1_EXTENSION_ROOT,
2641                         dissect_h245_NULL },
2642         {  2, "deActivate", ASN1_EXTENSION_ROOT,
2643                         dissect_h245_NULL },
2644         {  0, NULL, 0, NULL }
2645 };
2646 static int
2647 dissect_h245_RemoteMCRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2648 {
2649         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RemoteMCRequest, ett_h245_RemoteMCRequest, RemoteMCRequest_choice, "RemoteMCRequest", NULL);
2650
2651         return offset;
2652 }
2653
2654
2655
2656
2657 static const value_string RemoteMCResponse_reject_vals[] = {
2658         {  0, "unspecified" },
2659         {  1, "functionNotSupported" },
2660         {  0, NULL }
2661 };
2662 static per_choice_t RemoteMCResponse_reject_choice[] = {
2663         {  0, "unspecified", ASN1_EXTENSION_ROOT,
2664                         dissect_h245_NULL },
2665         {  1, "functionNotSupported", ASN1_EXTENSION_ROOT,
2666                         dissect_h245_NULL },
2667         {  0, NULL, 0, NULL }
2668 };
2669 static int
2670 dissect_h245_RemoteMCResponse_reject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2671 {
2672         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RemoteMCResponse_reject, ett_h245_RemoteMCResponse_reject, RemoteMCResponse_reject_choice, "reject", NULL);
2673
2674         return offset;
2675 }
2676
2677
2678
2679
2680 static const value_string RemoteMCResponse_vals[] = {
2681         {  0, "accept" },
2682         {  1, "reject" },
2683         {  0, NULL }
2684 };
2685 static per_choice_t RemoteMCResponse_choice[] = {
2686         {  0, "accept", ASN1_EXTENSION_ROOT,
2687                         dissect_h245_NULL },
2688         {  1, "reject", ASN1_EXTENSION_ROOT,
2689                         dissect_h245_RemoteMCResponse_reject },
2690         {  0, NULL, 0, NULL }
2691 };
2692 static int
2693 dissect_h245_RemoteMCResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2694 {
2695         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RemoteMCResponse, ett_h245_RemoteMCResponse, RemoteMCResponse_choice, "RemoteMCResponse", NULL);
2696
2697         return offset;
2698 }
2699
2700
2701
2702
2703 static const value_string MultilinkResponse_addConnection_responseCode_rejected_vals[] = {
2704         {  0, "connectionNotAvailable" },
2705         {  1, "userRejected" },
2706         {  0, NULL }
2707 };
2708 static per_choice_t MultilinkResponse_addConnection_responseCode_rejected_choice[] = {
2709         {  0, "connectionNotAvailable", ASN1_EXTENSION_ROOT,
2710                         dissect_h245_NULL },
2711         {  1, "userRejected", ASN1_EXTENSION_ROOT,
2712                         dissect_h245_NULL },
2713         {  0, NULL, 0, NULL }
2714 };
2715 static int
2716 dissect_h245_MultilinkResponse_addConnection_responseCode_rejected(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2717 {
2718         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);
2719
2720         return offset;
2721 }
2722
2723
2724
2725 static const value_string MultilinkResponse_addConnection_responseCode_vals[] = {
2726         {  0, "accepted" },
2727         {  1, "rejected" },
2728         {  0, NULL }
2729 };
2730 static per_choice_t MultilinkResponse_addConnection_responseCode_choice[] = {
2731         {  0, "accepted", ASN1_EXTENSION_ROOT,
2732                         dissect_h245_NULL },
2733         {  1, "rejected", ASN1_EXTENSION_ROOT,
2734                         dissect_h245_MultilinkResponse_addConnection_responseCode_rejected },
2735         {  0, NULL, 0, NULL }
2736 };
2737 static int
2738 dissect_h245_MultilinkResponse_addConnection_responseCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2739 {
2740         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse_addConnection_responseCode, ett_h245_MultilinkResponse_addConnection_responseCode, MultilinkResponse_addConnection_responseCode_choice, "responseCode", NULL);
2741
2742         return offset;
2743 }
2744
2745
2746
2747 static const value_string LogicalChannelRateRejectReason_vals[] = {
2748         {  0, "undefinedReason" },
2749         {  1, "insufficientResources" },
2750         {  0, NULL }
2751 };
2752 static per_choice_t LogicalChannelRateRejectReason_choice[] = {
2753         {  0, "undefinedReason", ASN1_EXTENSION_ROOT,
2754                         dissect_h245_NULL },
2755         {  1, "insufficientResources", ASN1_EXTENSION_ROOT,
2756                         dissect_h245_NULL },
2757         {  0, NULL, 0, NULL }
2758 };
2759 static int
2760 dissect_h245_LogicalChannelRateRejectReason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2761 {
2762         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_LogicalChannelRateRejectReason, ett_h245_LogicalChannelRateRejectReason, LogicalChannelRateRejectReason_choice, "LogicalChannelRateRejectReason", NULL);
2763
2764         return offset;
2765 }
2766
2767
2768
2769
2770 static const value_string EndSessionCommand_gstnOptions_vals[] = {
2771         {  0, "telephonyMode" },
2772         {  1, "v8bis" },
2773         {  2, "v34DSVD" },
2774         {  3, "v34DuplexFax" },
2775         {  4, "v34H324" },
2776         {  0, NULL }
2777 };
2778 static per_choice_t EndSessionCommand_gstnOptions_choice[] = {
2779         {  0, "telephonyMode", ASN1_EXTENSION_ROOT,
2780                         dissect_h245_NULL },
2781         {  1, "v8bis", ASN1_EXTENSION_ROOT,
2782                         dissect_h245_NULL },
2783         {  2, "v34DSVD", ASN1_EXTENSION_ROOT,
2784                         dissect_h245_NULL },
2785         {  3, "v34DuplexFax", ASN1_EXTENSION_ROOT,
2786                         dissect_h245_NULL },
2787         {  4, "v34H324", ASN1_EXTENSION_ROOT,
2788                         dissect_h245_NULL },
2789         {  0, NULL, 0, NULL }
2790 };
2791 static int
2792 dissect_h245_EndSessionCommand_gstnOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2793 {
2794         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_EndSessionCommand_gstnOptions, ett_h245_EndSessionCommand_gstnOptions, EndSessionCommand_gstnOptions_choice, "gstnOptions", NULL);
2795
2796         return offset;
2797 }
2798
2799
2800
2801
2802 static const value_string EndSessionCommand_isdnOptions_vals[] = {
2803         {  0, "telephonyMode" },
2804         {  1, "v140" },
2805         {  2, "terminalOnHold" },
2806         {  0, NULL }
2807 };
2808 static per_choice_t EndSessionCommand_isdnOptions_choice[] = {
2809         {  0, "telephonyMode", ASN1_EXTENSION_ROOT,
2810                         dissect_h245_NULL },
2811         {  1, "v140", ASN1_EXTENSION_ROOT,
2812                         dissect_h245_NULL },
2813         {  2, "terminalOnHold", ASN1_EXTENSION_ROOT,
2814                         dissect_h245_NULL },
2815         {  0, NULL, 0, NULL }
2816 };
2817 static int
2818 dissect_h245_EndSessionCommand_isdnOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2819 {
2820         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_EndSessionCommand_isdnOptions, ett_h245_EndSessionCommand_isdnOptions, EndSessionCommand_isdnOptions_choice, "isdnOptions", NULL);
2821
2822         return offset;
2823 }
2824
2825
2826
2827
2828 static const value_string MiscellaneousCommand_type_progressiveRefinementStart_repeatCount_vals[] = {
2829         {  0, "doOneProgression" },
2830         {  1, "doContinousProgressions" },
2831         {  2, "doOneIndependentProgression" },
2832         {  3, "doContinousIndependentProgressions" },
2833         {  0, NULL }
2834 };
2835 static per_choice_t MiscellaneousCommand_type_progressiveRefinementStart_repeatCount_choice[] = {
2836         {  0, "doOneProgression", ASN1_EXTENSION_ROOT,
2837                         dissect_h245_NULL },
2838         {  1, "doContinousProgressions", ASN1_EXTENSION_ROOT,
2839                         dissect_h245_NULL },
2840         {  2, "doOneIndependentProgression", ASN1_EXTENSION_ROOT,
2841                         dissect_h245_NULL },
2842         {  3, "doContinousIndependentProgressions", ASN1_EXTENSION_ROOT,
2843                         dissect_h245_NULL },
2844         {  0, NULL, 0, NULL }
2845 };
2846 static int
2847 dissect_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2848 {
2849         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);
2850
2851         return offset;
2852 }
2853
2854
2855
2856 static per_sequence_t MiscellaneousCommand_type_progressiveRefinementStart_sequence[] = {
2857         { "repeatCount", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
2858                 dissect_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount },
2859         { NULL, 0, 0, NULL }
2860 };
2861 static int
2862 dissect_h245_MiscellaneousCommand_type_progressiveRefinementStart(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2863 {
2864         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type_progressiveRefinementStart, ett_h245_MiscellaneousCommand_type_progressiveRefinementStart, MiscellaneousCommand_type_progressiveRefinementStart_sequence);
2865
2866         return offset;
2867 }
2868
2869
2870
2871
2872 static const value_string H223MultiplexReconfiguration_h223ModeChange_vals[] = {
2873         {  0, "toLevel0" },
2874         {  1, "toLevel1" },
2875         {  2, "toLevel2" },
2876         {  3, "toLevel2WithOptionalHeader" },
2877         {  0, NULL }
2878 };
2879 static per_choice_t H223MultiplexReconfiguration_h223ModeChange_choice[] = {
2880         {  0, "toLevel0", ASN1_EXTENSION_ROOT,
2881                         dissect_h245_NULL },
2882         {  1, "toLevel1", ASN1_EXTENSION_ROOT,
2883                         dissect_h245_NULL },
2884         {  2, "toLevel2", ASN1_EXTENSION_ROOT,
2885                         dissect_h245_NULL },
2886         {  3, "toLevel2WithOptionalHeader", ASN1_EXTENSION_ROOT,
2887                         dissect_h245_NULL },
2888         {  0, NULL, 0, NULL }
2889 };
2890 static int
2891 dissect_h245_H223MultiplexReconfiguration_h223ModeChange(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2892 {
2893         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223MultiplexReconfiguration_h223ModeChange, ett_h245_H223MultiplexReconfiguration_h223ModeChange, H223MultiplexReconfiguration_h223ModeChange_choice, "h223ModeChange", NULL);
2894
2895         return offset;
2896 }
2897
2898
2899
2900
2901 static const value_string H223MultiplexReconfiguration_h223AnnexADoubleFlag_vals[] = {
2902         {  0, "start" },
2903         {  1, "stop" },
2904         {  0, NULL }
2905 };
2906 static per_choice_t H223MultiplexReconfiguration_h223AnnexADoubleFlag_choice[] = {
2907         {  0, "start", ASN1_EXTENSION_ROOT,
2908                         dissect_h245_NULL },
2909         {  1, "stop", ASN1_EXTENSION_ROOT,
2910                         dissect_h245_NULL },
2911         {  0, NULL, 0, NULL }
2912 };
2913 static int
2914 dissect_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2915 {
2916         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag, ett_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag, H223MultiplexReconfiguration_h223AnnexADoubleFlag_choice, "h223AnnexADoubleFlag", NULL);
2917
2918         return offset;
2919 }
2920
2921
2922
2923
2924 static const value_string H223MultiplexReconfiguration_vals[] = {
2925         {  0, "h233ModeChange" },
2926         {  1, "h223AnnexADoubleFlag" },
2927         {  0, NULL }
2928 };
2929 static per_choice_t H223MultiplexReconfiguration_choice[] = {
2930         {  0, "h233ModeChange", ASN1_EXTENSION_ROOT,
2931                         dissect_h245_H223MultiplexReconfiguration_h223ModeChange },
2932         {  1, "h223AnnexADoubleFlag", ASN1_EXTENSION_ROOT,
2933                         dissect_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag },
2934         {  0, NULL, 0, NULL }
2935 };
2936 static int
2937 dissect_h245_H223MultiplexReconfiguration(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2938 {
2939         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223MultiplexReconfiguration, ett_h245_H223MultiplexReconfiguration, H223MultiplexReconfiguration_choice, "H223MultiplexReconfiguration", NULL);
2940
2941         return offset;
2942 }
2943
2944
2945
2946
2947 static const value_string NewATMVCCommand_aal_aal1_clockRecovery_vals[] = {
2948         {  0, "nullClockRecovery" },
2949         {  1, "srtsClockRecovery" },
2950         {  2, "adaptiveClockRecovery" },
2951         {  0, NULL }
2952 };
2953 static per_choice_t NewATMVCCommand_aal_aal1_clockRecovery_choice[] = {
2954         {  0, "nullClockRecovery", ASN1_EXTENSION_ROOT,
2955                         dissect_h245_NULL },
2956         {  1, "srtsClockRecovery", ASN1_EXTENSION_ROOT,
2957                         dissect_h245_NULL },
2958         {  2, "adaptiveClockRecovery", ASN1_EXTENSION_ROOT,
2959                         dissect_h245_NULL },
2960         {  0, NULL, 0, NULL }
2961 };
2962 static int
2963 dissect_h245_NewATMVCCommand_aal_aal1_clockRecovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2964 {
2965         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);
2966
2967         return offset;
2968 }
2969
2970
2971
2972
2973
2974 static const value_string NewATMVCCommand_aal_aal1_errorCorrection_vals[] = {
2975         {  0, "nullErrorCorrection" },
2976         {  1, "longInterleaver" },
2977         {  2, "shortInterleaver" },
2978         {  3, "errorCorrectionOnly" },
2979         {  0, NULL }
2980 };
2981 static per_choice_t NewATMVCCommand_aal_aal1_errorCorrection_choice[] = {
2982         {  0, "nullErrorCorrection", ASN1_EXTENSION_ROOT,
2983                         dissect_h245_NULL },
2984         {  1, "longInterleaver", ASN1_EXTENSION_ROOT,
2985                         dissect_h245_NULL },
2986         {  2, "shortInterleaver", ASN1_EXTENSION_ROOT,
2987                         dissect_h245_NULL },
2988         {  3, "errorCorrectionOnly", ASN1_EXTENSION_ROOT,
2989                         dissect_h245_NULL },
2990         {  0, NULL, 0, NULL }
2991 };
2992 static int
2993 dissect_h245_NewATMVCCommand_aal_aal1_errorCorrection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2994 {
2995         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);
2996
2997         return offset;
2998 }
2999
3000
3001
3002
3003 static const value_string NewATMVCCommand_multiplex_vals[] = {
3004         {  0, "noMultiplex" },
3005         {  1, "transportStream" },
3006         {  2, "programStream" },
3007         {  0, NULL }
3008 };
3009 static per_choice_t NewATMVCCommand_multiplex_choice[] = {
3010         {  0, "noMultiplex", ASN1_EXTENSION_ROOT,
3011                         dissect_h245_NULL },
3012         {  1, "transportStream", ASN1_EXTENSION_ROOT,
3013                         dissect_h245_NULL },
3014         {  2, "programStream", ASN1_EXTENSION_ROOT,
3015                         dissect_h245_NULL },
3016         {  0, NULL, 0, NULL }
3017 };
3018 static int
3019 dissect_h245_NewATMVCCommand_multiplex(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3020 {
3021         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_multiplex, ett_h245_NewATMVCCommand_multiplex, NewATMVCCommand_multiplex_choice, "multiplex", NULL);
3022
3023         return offset;
3024 }
3025
3026
3027
3028
3029 static const value_string NewATMVCCommand_reverseParameters_multiplex_vals[] = {
3030         {  0, "noMultiplex" },
3031         {  1, "transportStream" },
3032         {  2, "programStream" },
3033         {  0, NULL }
3034 };
3035 static per_choice_t NewATMVCCommand_reverseParameters_multiplex_choice[] = {
3036         {  0, "noMultiplex", ASN1_EXTENSION_ROOT,
3037                         dissect_h245_NULL },
3038         {  1, "transportStream", ASN1_EXTENSION_ROOT,
3039                         dissect_h245_NULL },
3040         {  2, "programStream", ASN1_EXTENSION_ROOT,
3041                         dissect_h245_NULL },
3042         {  0, NULL, 0, NULL }
3043 };
3044 static int
3045 dissect_h245_NewATMVCCommand_reverseParameters_multiplex(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3046 {
3047         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_reverseParameters_multiplex, ett_h245_NewATMVCCommand_reverseParameters_multiplex, NewATMVCCommand_reverseParameters_multiplex_choice, "multiplex", NULL);
3048
3049         return offset;
3050 }
3051
3052
3053
3054 static const value_string MobileMultilinkReconfigurationCommand_status_vals[] = {
3055         {  0, "synchronized" },
3056         {  1, "reconfiguration" },
3057         {  0, NULL }
3058 };
3059 static per_choice_t MobileMultilinkReconfigurationCommand_status_choice[] = {
3060         {  0, "synchronized", ASN1_EXTENSION_ROOT,
3061                         dissect_h245_NULL },
3062         {  1, "reconfiguration", ASN1_EXTENSION_ROOT,
3063                         dissect_h245_NULL },
3064         {  0, NULL, 0, NULL }
3065 };
3066 static int
3067 dissect_h245_MobileMultilinkReconfigurationCommand_status(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3068 {
3069         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MobileMultilinkReconfigurationCommand_status, ett_h245_MobileMultilinkReconfigurationCommand_status, MobileMultilinkReconfigurationCommand_status_choice, "status", NULL);
3070
3071         return offset;
3072 }
3073
3074
3075
3076
3077 static const value_string FunctionNotSupported_cause_vals[] = {
3078         {  0, "syntaxError" },
3079         {  1, "semanticError" },
3080         {  2, "unknownFunction" },
3081         {  0, NULL }
3082 };
3083 static per_choice_t FunctionNotSupported_cause_choice[] = {
3084         {  0, "syntaxError", ASN1_EXTENSION_ROOT,
3085                         dissect_h245_NULL },
3086         {  1, "semanticError", ASN1_EXTENSION_ROOT,
3087                         dissect_h245_NULL },
3088         {  2, "unknownFunction", ASN1_EXTENSION_ROOT,
3089                         dissect_h245_NULL },
3090         {  0, NULL, 0, NULL }
3091 };
3092 static int
3093 dissect_h245_FunctionNotSupported_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3094 {
3095         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FunctionNotSupported_cause, ett_h245_FunctionNotSupported_cause, FunctionNotSupported_cause_choice, "cause", NULL);
3096
3097         return offset;
3098 }
3099
3100
3101
3102
3103 static const value_string NewATMVCIndication_aal_aal1_clockRecovery_vals[] = {
3104         {  0, "nullClockRecovery" },
3105         {  1, "srtsClockRecovery" },
3106         {  2, "adaptiveClockRecovery" },
3107         {  0, NULL }
3108 };
3109 static per_choice_t NewATMVCIndication_aal_aal1_clockRecovery_choice[] = {
3110         {  0, "nullClockRecovery", ASN1_EXTENSION_ROOT,
3111                         dissect_h245_NULL },
3112         {  1, "srtsClockRecovery", ASN1_EXTENSION_ROOT,
3113                         dissect_h245_NULL },
3114         {  2, "adaptiveClockRecovery", ASN1_EXTENSION_ROOT,
3115                         dissect_h245_NULL },
3116         {  0, NULL, 0, NULL }
3117 };
3118 static int
3119 dissect_h245_NewATMVCIndication_aal_aal1_clockRecovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3120 {
3121         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);
3122
3123         return offset;
3124 }
3125
3126
3127
3128 static const value_string NewATMVCIndication_aal_aal1_errorCorrection_vals[] = {
3129         {  0, "nullErrorCorrection" },
3130         {  1, "longInterleaver" },
3131         {  2, "shortInterleaver" },
3132         {  3, "errorCorrectionOnly" },
3133         {  0, NULL }
3134 };
3135 static per_choice_t NewATMVCIndication_aal_aal1_errorCorrection_choice[] = {
3136         {  0, "nullErrorCorrection", ASN1_EXTENSION_ROOT,
3137                         dissect_h245_NULL },
3138         {  1, "longInterleaver", ASN1_EXTENSION_ROOT,
3139                         dissect_h245_NULL },
3140         {  2, "shortInterleaver", ASN1_EXTENSION_ROOT,
3141                         dissect_h245_NULL },
3142         {  3, "errorCorrectionOnly", ASN1_EXTENSION_ROOT,
3143                         dissect_h245_NULL },
3144         {  0, NULL, 0, NULL }
3145 };
3146 static int
3147 dissect_h245_NewATMVCIndication_aal_aal1_errorCorrection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3148 {
3149         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);
3150
3151         return offset;
3152 }
3153
3154
3155
3156
3157 static const value_string NewATMVCIndication_multiplex_vals[] = {
3158         {  0, "noMultiplex" },
3159         {  1, "transportStream" },
3160         {  2, "programStream" },
3161         {  0, NULL }
3162 };
3163 static per_choice_t NewATMVCIndication_multiplex_choice[] = {
3164         {  0, "noMultiplex", ASN1_EXTENSION_ROOT,
3165                         dissect_h245_NULL },
3166         {  1, "transportStream", ASN1_EXTENSION_ROOT,
3167                         dissect_h245_NULL },
3168         {  2, "programStream", ASN1_EXTENSION_ROOT,
3169                         dissect_h245_NULL },
3170         {  0, NULL, 0, NULL }
3171 };
3172 static int
3173 dissect_h245_NewATMVCIndication_multiplex(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3174 {
3175         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_multiplex, ett_h245_NewATMVCIndication_multiplex, NewATMVCIndication_multiplex_choice, "multiplex", NULL);
3176
3177         return offset;
3178 }
3179
3180
3181
3182
3183 static const value_string NewATMVCIndication_reverseParameters_multiplex_vals[] = {
3184         {  0, "noMultiplex" },
3185         {  1, "transportStream" },
3186         {  2, "programStream" },
3187         {  0, NULL }
3188 };
3189 static per_choice_t NewATMVCIndication_reverseParameters_multiplex_choice[] = {
3190         {  0, "noMultiplex", ASN1_EXTENSION_ROOT,
3191                         dissect_h245_NULL },
3192         {  1, "transportStream", ASN1_EXTENSION_ROOT,
3193                         dissect_h245_NULL },
3194         {  2, "programStream", ASN1_EXTENSION_ROOT,
3195                         dissect_h245_NULL },
3196         {  0, NULL, 0, NULL }
3197 };
3198 static int
3199 dissect_h245_NewATMVCIndication_reverseParameters_multiplex(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3200 {
3201         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_reverseParameters_multiplex, ett_h245_NewATMVCIndication_reverseParameters_multiplex, NewATMVCIndication_reverseParameters_multiplex_choice, "multiplex", NULL);
3202
3203         return offset;
3204 }
3205
3206
3207
3208 static int
3209 dissect_h245_LogicalChannelNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3210 {
3211         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
3212                 tree, hf_h245_LogicalChannelNumber, 1, 65535,
3213                 NULL, NULL, FALSE);
3214         return offset;
3215 }
3216
3217 static int
3218 dissect_h245_logicalChannelNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3219 {
3220         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
3221                 tree, hf_h245_LogicalChannelNumber, 0, 65535,
3222                 NULL, NULL, FALSE);
3223         return offset;
3224 }
3225
3226
3227 static int
3228 dissect_h245_SequenceNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3229 {
3230         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
3231                 tree, hf_h245_SequenceNumber, 0, 255,
3232                 NULL, NULL, FALSE);
3233         return offset;
3234 }
3235
3236
3237
3238
3239 static const value_string MaintenanceLoopRequest_type_vals[] = {
3240         {  0, "systemLoop" },
3241         {  1, "mediaLoop" },
3242         {  2, "logicalChannelLoop" },
3243         {  0, NULL }
3244 };
3245 static per_choice_t MaintenanceLoopRequest_type_choice[] = {
3246         {  0, "systemLoop", ASN1_EXTENSION_ROOT,
3247                         dissect_h245_NULL },
3248         {  1, "mediaLoop", ASN1_EXTENSION_ROOT,
3249                         dissect_h245_LogicalChannelNumber },
3250         {  2, "logicalChannelLoop", ASN1_EXTENSION_ROOT,
3251                         dissect_h245_LogicalChannelNumber },
3252         {  0, NULL, 0, NULL }
3253 };
3254 static int
3255 dissect_h245_MaintenanceLoopRequest_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3256 {
3257         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopRequest_type, ett_h245_MaintenanceLoopRequest_type, MaintenanceLoopRequest_type_choice, "type", NULL);
3258
3259         return offset;
3260 }
3261
3262
3263
3264
3265 static const value_string MaintenanceLoopAck_type_vals[] = {
3266         {  0, "systemLoop" },
3267         {  1, "mediaLoop" },
3268         {  2, "logicalChannelLoop" },
3269         {  0, NULL }
3270 };
3271 static per_choice_t MaintenanceLoopAck_type_choice[] = {
3272         {  0, "systemLoop", ASN1_EXTENSION_ROOT,
3273                         dissect_h245_NULL },
3274         {  1, "mediaLoop", ASN1_EXTENSION_ROOT,
3275                         dissect_h245_LogicalChannelNumber },
3276         {  2, "logicalChannelLoop", ASN1_EXTENSION_ROOT,
3277                         dissect_h245_LogicalChannelNumber },
3278         {  0, NULL, 0, NULL }
3279 };
3280 static int
3281 dissect_h245_MaintenanceLoopAck_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3282 {
3283         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopAck_type, ett_h245_MaintenanceLoopAck_type, MaintenanceLoopAck_type_choice, "type", NULL);
3284
3285         return offset;
3286 }
3287
3288
3289
3290
3291 static const value_string MaintenanceLoopReject_type_vals[] = {
3292         {  0, "systemLoop" },
3293         {  1, "mediaLoop" },
3294         {  2, "logicalChannelLoop" },
3295         {  0, NULL }
3296 };
3297 static per_choice_t MaintenanceLoopReject_type_choice[] = {
3298         {  0, "systemLoop", ASN1_EXTENSION_ROOT,
3299                         dissect_h245_NULL },
3300         {  1, "mediaLoop", ASN1_EXTENSION_ROOT,
3301                         dissect_h245_LogicalChannelNumber },
3302         {  2, "logicalChannelLoop", ASN1_EXTENSION_ROOT,
3303                         dissect_h245_LogicalChannelNumber },
3304         {  0, NULL, 0, NULL }
3305 };
3306 static int
3307 dissect_h245_MaintenanceLoopReject_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3308 {
3309         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopReject_type, ett_h245_MaintenanceLoopReject_type, MaintenanceLoopReject_type_choice, "type", NULL);
3310
3311         return offset;
3312 }
3313
3314
3315
3316
3317 static per_sequence_t OpenLogicalChannelReject_sequence[] = {
3318         { "forwardLogicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3319                 dissect_h245_LogicalChannelNumber },
3320         { "cause", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3321                 dissect_h245_OpenLogicalChannelReject_cause },
3322         { NULL, 0, 0, NULL }
3323 };
3324 static int
3325 dissect_h245_OpenLogicalChannelReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3326 {
3327         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelReject, ett_h245_OpenLogicalChannelReject, OpenLogicalChannelReject_sequence);
3328
3329         return offset;
3330 }
3331
3332
3333
3334
3335 static per_sequence_t CloseLogicalChannel_sequence[] = {
3336         { "forwardLogicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3337                 dissect_h245_LogicalChannelNumber },
3338         { "source", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3339                 dissect_h245_CloseLogicalChannel_source },
3340         { "reason", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3341                 dissect_h245_CloseLogicalChannel_reason },
3342         { NULL, 0, 0, NULL }
3343 };
3344 static int
3345 dissect_h245_CloseLogicalChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3346 {
3347         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CloseLogicalChannel, ett_h245_CloseLogicalChannel, CloseLogicalChannel_sequence);
3348
3349         return offset;
3350 }
3351
3352
3353
3354
3355 static per_sequence_t CloseLogicalChannelAck_sequence[] = {
3356         { "forwardLogicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3357                 dissect_h245_LogicalChannelNumber },
3358         { NULL, 0, 0, NULL }
3359 };
3360 static int
3361 dissect_h245_CloseLogicalChannelAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3362 {
3363         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CloseLogicalChannelAck, ett_h245_CloseLogicalChannelAck, CloseLogicalChannelAck_sequence);
3364
3365         return offset;
3366 }
3367
3368
3369
3370
3371 static per_sequence_t RequestChannelCloseAck_sequence[] = {
3372         { "forwardLogiclChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3373                 dissect_h245_LogicalChannelNumber },
3374         { NULL, 0, 0, NULL }
3375 };
3376 static int
3377 dissect_h245_RequestChannelCloseAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3378 {
3379         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestChannelCloseAck, ett_h245_RequestChannelCloseAck, RequestChannelCloseAck_sequence);
3380
3381         return offset;
3382 }
3383
3384
3385
3386
3387 static per_sequence_t RequestChannelCloseReject_sequence[] = {
3388         { "forwardLogicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3389                 dissect_h245_LogicalChannelNumber },
3390         { "cause", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3391                 dissect_h245_RequestChannelCloseReject_cause },
3392         { NULL, 0, 0, NULL }
3393 };
3394 static int
3395 dissect_h245_RequestChannelCloseReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3396 {
3397         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestChannelCloseReject, ett_h245_RequestChannelCloseReject, RequestChannelCloseReject_sequence);
3398
3399         return offset;
3400 }
3401
3402
3403
3404
3405 static per_sequence_t RequestChannelCloseRelease_sequence[] = {
3406         { "forwardLogicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3407                 dissect_h245_LogicalChannelNumber },
3408         { NULL, 0, 0, NULL }
3409 };
3410 static int
3411 dissect_h245_RequestChannelCloseRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3412 {
3413         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestChannelCloseRelease, ett_h245_RequestChannelCloseRelease, RequestChannelCloseRelease_sequence);
3414
3415         return offset;
3416 }
3417
3418
3419
3420
3421
3422 static per_sequence_t MultiplexedStreamModeParameters_sequence[] = {
3423         { "logicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3424                 dissect_h245_LogicalChannelNumber },
3425         { NULL, 0, 0, NULL }
3426 };
3427 static int
3428 dissect_h245_MultiplexedStreamModeParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3429 {
3430         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexedStreamModeParameters, ett_h245_MultiplexedStreamModeParameters, MultiplexedStreamModeParameters_sequence);
3431
3432         return offset;
3433 }
3434
3435
3436
3437
3438 static per_sequence_t MaintenanceLoopRequest_sequence[] = {
3439         { "type", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3440                 dissect_h245_MaintenanceLoopRequest_type },
3441         { NULL, 0, 0, NULL }
3442 };
3443 static int
3444 dissect_h245_MaintenanceLoopRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3445 {
3446         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopRequest, ett_h245_MaintenanceLoopRequest, MaintenanceLoopRequest_sequence);
3447
3448         return offset;
3449 }
3450
3451
3452
3453
3454 static per_sequence_t MaintenanceLoopAck_sequence[] = {
3455         { "type", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3456                 dissect_h245_MaintenanceLoopAck_type },
3457         { NULL, 0, 0, NULL }
3458 };
3459 static int
3460 dissect_h245_MaintenanceLoopAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3461 {
3462         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopAck, ett_h245_MaintenanceLoopAck, MaintenanceLoopAck_sequence);
3463
3464         return offset;
3465 }
3466
3467
3468
3469 static per_sequence_t MaintenanceLoopReject_sequence[] = {
3470         { "type", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3471                         dissect_h245_MaintenanceLoopReject_type },
3472         { "cause", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3473                         dissect_h245_MaintenanceLoopReject_cause },
3474         { NULL, 0, 0, NULL }
3475 };
3476 static int
3477 dissect_h245_MaintenanceLoopReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3478 {
3479         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopReject, ett_h245_MaintenanceLoopReject, MaintenanceLoopReject_sequence);
3480
3481         return offset;
3482 }
3483
3484
3485
3486 static per_sequence_t UserInputIndication_signalUpdate_rtp_sequence[] = {
3487         { "logicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3488                         dissect_h245_LogicalChannelNumber },
3489         { NULL, 0, 0, NULL }
3490 };
3491 static int
3492 dissect_h245_UserInputIndication_signalUpdate_rtp(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3493 {
3494         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_signalUpdate_rtp, ett_h245_UserInputIndication_signalUpdate_rtp, UserInputIndication_signalUpdate_rtp_sequence);
3495
3496         return offset;
3497 }
3498
3499
3500
3501 static per_sequence_t OpenLogicalChannelConfirm_sequence[] = {
3502         { "forwardLogicalChannelNumber",        ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3503                         dissect_h245_LogicalChannelNumber },
3504         { NULL, 0, 0, NULL }
3505 };
3506 static int
3507 dissect_h245_OpenLogicalChannelConfirm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3508 {
3509         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelConfirm, ett_h245_OpenLogicalChannelConfirm, OpenLogicalChannelConfirm_sequence);
3510
3511         return offset;
3512 }
3513
3514
3515
3516 static per_sequence_t TerminalCapabilitySetAck_sequence[] = {
3517         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3518                 dissect_h245_SequenceNumber },
3519         { NULL, 0, 0, NULL }
3520 };
3521 static int
3522 dissect_h245_TerminalCapabilitySetAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3523 {
3524         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySetAck, ett_h245_TerminalCapabilitySetAck, TerminalCapabilitySetAck_sequence);
3525
3526         return offset;
3527 }
3528
3529
3530
3531 static per_sequence_t RequestModeReject_sequence[] = {
3532         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3533                 dissect_h245_SequenceNumber },
3534         { "cause", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3535                 dissect_h245_RequestModeReject_cause },
3536         { NULL, 0, 0, NULL }
3537 };
3538 static int
3539 dissect_h245_RequestModeReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3540 {
3541         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestModeReject, ett_h245_RequestModeReject, RequestModeReject_sequence);
3542
3543         return offset;
3544 }
3545
3546
3547
3548
3549 static per_sequence_t RoundTripDelayRequest_sequence[] = {
3550         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3551                 dissect_h245_SequenceNumber },
3552         { NULL, 0, 0, NULL }
3553 };
3554 static int
3555 dissect_h245_RoundTripDelayRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3556 {
3557         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RoundTripDelayRequest, ett_h245_RoundTripDelayRequest, RoundTripDelayRequest_sequence);
3558
3559         return offset;
3560 }
3561
3562
3563
3564
3565 static per_sequence_t RoundTripDelayResponse_sequence[] = {
3566         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3567                 dissect_h245_SequenceNumber },
3568         { NULL, 0, 0, NULL }
3569 };
3570 static int
3571 dissect_h245_RoundTripDelayResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3572 {
3573         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RoundTripDelayResponse, ett_h245_RoundTripDelayResponse, RoundTripDelayResponse_sequence);
3574
3575         return offset;
3576 }
3577
3578
3579
3580 static per_sequence_t MultilinkResponse_addConnection_sequence[] = {
3581         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3582                 dissect_h245_SequenceNumber },
3583         { "responseCode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3584                 dissect_h245_MultilinkResponse_addConnection_responseCode },
3585         { NULL, 0, 0, NULL }
3586 };
3587 static int
3588 dissect_h245_MultilinkResponse_addConnection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3589 {
3590         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse_addConnection, ett_h245_MultilinkResponse_addConnection, MultilinkResponse_addConnection_sequence);
3591
3592         return offset;
3593 }
3594
3595
3596
3597
3598 static const true_false_string tfs_h233EncryptionTransmitCapability_bit = {
3599         "h233EncryptionTransmitCapability bit is SET",
3600         "h233EncryptionTransmitCapability bit is CLEAR"
3601 };
3602 static int
3603 dissect_h245_h233EncryptionTransmitCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3604 {
3605         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h233EncryptionTransmitCapability, NULL, NULL);
3606
3607         return offset;
3608 }
3609
3610
3611 static const true_false_string tfs_nullClockRecovery_bit = {
3612         "nullClockRecovery bit is SET",
3613         "nullClockRecovery bit is CLEAR"
3614 };
3615 static int
3616 dissect_h245_nullClockRecovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3617 {
3618         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_nullClockRecovery, NULL, NULL);
3619
3620         return offset;
3621 }
3622
3623
3624 static const true_false_string tfs_srtsClockRecovery_bit = {
3625         "srtsClockRecovery bit is SET",
3626         "srtsClockRecovery bit is CLEAR"
3627 };
3628 static int
3629 dissect_h245_srtsClockRecovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3630 {
3631         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_srtsClockRecovery, NULL, NULL);
3632
3633         return offset;
3634 }
3635
3636
3637
3638 static const true_false_string tfs_adaptiveClockRecovery_bit = {
3639         "adaptiveClockRecovery bit is SET",
3640         "adaptiveClockRecovery bit is CLEAR"
3641 };
3642 static int
3643 dissect_h245_adaptiveClockRecovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3644 {
3645         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_adaptiveClockRecovery, NULL, NULL);
3646
3647         return offset;
3648 }
3649
3650
3651
3652
3653 static const true_false_string tfs_nullErrorCorrection_bit = {
3654         "nullErrorCorrection bit is SET",
3655         "nullErrorCorrection bit is CLEAR"
3656 };
3657 static int
3658 dissect_h245_nullErrorCorrection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3659 {
3660         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_nullErrorCorrection, NULL, NULL);
3661
3662         return offset;
3663 }
3664
3665
3666
3667 static const true_false_string tfs_longInterleaver_bit = {
3668         "longInterleaver bit is SET",
3669         "longInterleaver bit is CLEAR"
3670 };
3671 static int
3672 dissect_h245_longInterleaver(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3673 {
3674         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_longInterleaver, NULL, NULL);
3675
3676         return offset;
3677 }
3678
3679
3680
3681 static const true_false_string tfs_shortInterleaver_bit = {
3682         "shortInterleaver bit is SET",
3683         "shortInterleaver bit is CLEAR"
3684 };
3685 static int
3686 dissect_h245_shortInterleaver(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3687 {
3688         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_shortInterleaver, NULL, NULL);
3689
3690         return offset;
3691 }
3692
3693
3694
3695 static const true_false_string tfs_errorCorrectionOnly_bit = {
3696         "errorCorrectionOnly bit is SET",
3697         "errorCorrectionOnly bit is CLEAR"
3698 };
3699 static int
3700 dissect_h245_errorCorrectionOnly(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3701 {
3702         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_errorCorrectionOnly, NULL, NULL);
3703
3704         return offset;
3705 }
3706
3707
3708
3709
3710
3711 static const true_false_string tfs_structuredDataTransfer_bit = {
3712         "structuredDataTransfer bit is SET",
3713         "structuredDataTransfer bit is CLEAR"
3714 };
3715 static int
3716 dissect_h245_structuredDataTransfer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3717 {
3718         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_structuredDataTransfer, NULL, NULL);
3719
3720         return offset;
3721 }
3722
3723
3724
3725
3726
3727 static const true_false_string tfs_partiallyFilledCells_bit = {
3728         "partiallyFilledCells bit is SET",
3729         "partiallyFilledCells bit is CLEAR"
3730 };
3731 static int
3732 dissect_h245_partiallyFilledCells(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3733 {
3734         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_partiallyFilledCells, NULL, NULL);
3735
3736         return offset;
3737 }
3738
3739
3740
3741
3742 static per_sequence_t VCCapability_aal1_sequence[] = {
3743         { "nullClockRecovery", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3744                 dissect_h245_nullClockRecovery },
3745         { "srtsClockRecovery", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3746                 dissect_h245_srtsClockRecovery },
3747         { "adaptiveClockRecovery", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3748                 dissect_h245_adaptiveClockRecovery },
3749         { "nullErrorCorrection", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3750                 dissect_h245_nullErrorCorrection },
3751         { "longInterleaver", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3752                 dissect_h245_longInterleaver },
3753         { "shortInterleaver", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3754                 dissect_h245_shortInterleaver },
3755         { "errorCorrectionOnly", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3756                 dissect_h245_errorCorrectionOnly },
3757         { "structuredDataTransfer", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3758                 dissect_h245_structuredDataTransfer },
3759         { "partiallyFilledCells", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3760                 dissect_h245_partiallyFilledCells },
3761         { NULL, 0, 0, NULL }
3762 };
3763 static int
3764 dissect_h245_VCCapability_aal1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3765 {
3766         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability_aal1, ett_h245_VCCapability_aal1, VCCapability_aal1_sequence);
3767
3768         return offset;
3769 }
3770
3771
3772
3773
3774
3775 static per_sequence_t NewATMVCCommand_aal_aal1_sequence[] = {
3776         { "clockRecovery", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3777                 dissect_h245_NewATMVCCommand_aal_aal1_clockRecovery },
3778         { "errorCorrection", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3779                 dissect_h245_NewATMVCCommand_aal_aal1_errorCorrection },
3780         { "structuredDataTransfer", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3781                 dissect_h245_structuredDataTransfer },
3782         { "partiallyFilledCells", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3783                 dissect_h245_partiallyFilledCells },
3784         { NULL, 0, 0, NULL }
3785 };
3786 static int
3787 dissect_h245_NewATMVCCommand_aal_aal1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3788 {
3789         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_aal_aal1, ett_h245_NewATMVCCommand_aal_aal1, NewATMVCCommand_aal_aal1_sequence);
3790
3791         return offset;
3792 }
3793
3794
3795
3796 static per_sequence_t NewATMVCIndication_aal_aal1_sequence[] = {
3797         { "clockRecovery", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3798                 dissect_h245_NewATMVCIndication_aal_aal1_clockRecovery },
3799         { "errorCorrection", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3800                 dissect_h245_NewATMVCIndication_aal_aal1_errorCorrection },
3801         { "structuredDataTransfer", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3802                 dissect_h245_structuredDataTransfer },
3803         { "partiallyFilledCells", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3804                 dissect_h245_partiallyFilledCells },
3805         { NULL, 0, 0, NULL }
3806 };
3807 static int
3808 dissect_h245_NewATMVCIndication_aal_aal1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3809 {
3810         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_aal_aal1, ett_h245_NewATMVCIndication_aal_aal1, NewATMVCIndication_aal_aal1_sequence);
3811
3812         return offset;
3813 }
3814
3815
3816
3817
3818
3819 static const true_false_string tfs_transportStream_bit = {
3820         "transportStream bit is SET",
3821         "transportStream bit is CLEAR"
3822 };
3823 static int
3824 dissect_h245_transportStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3825 {
3826         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_transportStream, NULL, NULL);
3827
3828         return offset;
3829 }
3830
3831
3832
3833
3834
3835 static const true_false_string tfs_programStream_bit = {
3836         "programStream bit is SET",
3837         "programStream bit is CLEAR"
3838 };
3839 static int
3840 dissect_h245_programStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3841 {
3842         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_programStream, NULL, NULL);
3843
3844         return offset;
3845 }
3846
3847
3848
3849
3850
3851 static const true_false_string tfs_videoWithAL1_bit = {
3852         "videoWithAL1 bit is SET",
3853         "videoWithAL1 bit is CLEAR"
3854 };
3855 static int
3856 dissect_h245_videoWithAL1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3857 {
3858         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL1, NULL, NULL);
3859
3860         return offset;
3861 }
3862
3863
3864
3865
3866
3867 static const true_false_string tfs_videoWithAL2_bit = {
3868         "videoWithAL2 bit is SET",
3869         "videoWithAL2 bit is CLEAR"
3870 };
3871 static int
3872 dissect_h245_videoWithAL2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3873 {
3874         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL2, NULL, NULL);
3875
3876         return offset;
3877 }
3878
3879
3880
3881
3882
3883 static const true_false_string tfs_videoWithAL3_bit = {
3884         "videoWithAL3 bit is SET",
3885         "videoWithAL3 bit is CLEAR"
3886 };
3887 static int
3888 dissect_h245_videoWithAL3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3889 {
3890         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL3, NULL, NULL);
3891
3892         return offset;
3893 }
3894
3895
3896
3897
3898
3899 static const true_false_string tfs_audioWithAL1_bit = {
3900         "audioWithAL1 bit is SET",
3901         "audioWithAL1 bit is CLEAR"
3902 };
3903 static int
3904 dissect_h245_audioWithAL1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3905 {
3906         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL1, NULL, NULL);
3907
3908         return offset;
3909 }
3910
3911
3912
3913
3914
3915 static const true_false_string tfs_audioWithAL2_bit = {
3916         "audioWithAL2 bit is SET",
3917         "audioWithAL2 bit is CLEAR"
3918 };
3919 static int
3920 dissect_h245_audioWithAL2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3921 {
3922         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL2, NULL, NULL);
3923
3924         return offset;
3925 }
3926
3927
3928
3929
3930
3931 static const true_false_string tfs_audioWithAL3_bit = {
3932         "audioWithAL3 bit is SET",
3933         "audioWithAL3 bit is CLEAR"
3934 };
3935 static int
3936 dissect_h245_audioWithAL3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3937 {
3938         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL3, NULL, NULL);
3939
3940         return offset;
3941 }
3942
3943
3944
3945
3946
3947 static const true_false_string tfs_dataWithAL1_bit = {
3948         "dataWithAL1 bit is SET",
3949         "dataWithAL1 bit is CLEAR"
3950 };
3951 static int
3952 dissect_h245_dataWithAL1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3953 {
3954         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL1, NULL, NULL);
3955
3956         return offset;
3957 }
3958
3959
3960
3961
3962
3963 static const true_false_string tfs_dataWithAL2_bit = {
3964         "dataWithAL2 bit is SET",
3965         "dataWithAL2 bit is CLEAR"
3966 };
3967 static int
3968 dissect_h245_dataWithAL2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3969 {
3970         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL2, NULL, NULL);
3971
3972         return offset;
3973 }
3974
3975
3976
3977
3978
3979 static const true_false_string tfs_dataWithAL3_bit = {
3980         "dataWithAL3 bit is SET",
3981         "dataWithAL3 bit is CLEAR"
3982 };
3983 static int
3984 dissect_h245_dataWithAL3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3985 {
3986         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL3, NULL, NULL);
3987
3988         return offset;
3989 }
3990
3991
3992
3993 static const true_false_string tfs_maxMUXPDUSizeCapability_bit = {
3994         "maxMUXPDUSizeCapability bit is SET",
3995         "maxMUXPDUSizeCapability bit is CLEAR"
3996 };
3997 static int
3998 dissect_h245_maxMUXPDUSizeCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3999 {
4000         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_maxMUXPDUSizeCapability, NULL, NULL);
4001
4002         return offset;
4003 }
4004
4005
4006
4007
4008
4009
4010 static const true_false_string tfs_nsrpSupport_bit = {
4011         "nsrpSupport bit is SET",
4012         "nsrpSupport bit is CLEAR"
4013 };
4014 static int
4015 dissect_h245_nsrpSupport(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4016 {
4017         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_nsrpSupport, NULL, NULL);
4018
4019         return offset;
4020 }
4021
4022
4023
4024
4025
4026 static const true_false_string tfs_modeChangeCapability_bit = {
4027         "modeChangeCapability bit is SET",
4028         "modeChangeCapability bit is CLEAR"
4029 };
4030 static int
4031 dissect_h245_modeChangeCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4032 {
4033         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_modeChangeCapability, NULL, NULL);
4034
4035         return offset;
4036 }
4037
4038
4039
4040
4041
4042 static const true_false_string tfs_h223AnnexA_bit = {
4043         "h223AnnexA bit is SET",
4044         "h223AnnexA bit is CLEAR"
4045 };
4046 static int
4047 dissect_h245_h223AnnexA(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4048 {
4049         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h223AnnexA, NULL, NULL);
4050
4051         return offset;
4052 }
4053
4054
4055
4056
4057
4058
4059 static const true_false_string tfs_h223AnnexADoubleFlag_bool_bit = {
4060         "h223AnnexADoubleFlag_bool bit is SET",
4061         "h223AnnexADoubleFlag_bool bit is CLEAR"
4062 };
4063 static int
4064 dissect_h245_h223AnnexADoubleFlag_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4065 {
4066         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h223AnnexADoubleFlag_bool, NULL, NULL);
4067
4068         return offset;
4069 }
4070
4071
4072
4073
4074
4075 static const true_false_string tfs_h223AnnexB_bit = {
4076         "h223AnnexB bit is SET",
4077         "h223AnnexB bit is CLEAR"
4078 };
4079 static int
4080 dissect_h245_h223AnnexB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4081 {
4082         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h223AnnexB, NULL, NULL);
4083
4084         return offset;
4085 }
4086
4087
4088
4089
4090
4091 static const true_false_string tfs_h223AnnexBwithHeader_bit = {
4092         "h223AnnexBwithHeader bit is SET",
4093         "h223AnnexBwithHeader bit is CLEAR"
4094 };
4095 static int
4096 dissect_h245_h223AnnexBwithHeader(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4097 {
4098         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h223AnnexBwithHeader, NULL, NULL);
4099
4100         return offset;
4101 }
4102
4103
4104
4105 static per_sequence_t H223Capability_mobileOperationTransmitCapability_sequence[] = {
4106         { "modeChangeCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4107                 dissect_h245_modeChangeCapability },
4108         { "h223AnnexA", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4109                 dissect_h245_h223AnnexA },
4110         { "h223AnnexADoubleFlag", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4111                 dissect_h245_h223AnnexADoubleFlag_bool },
4112         { "h223AnnexB", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4113                 dissect_h245_h223AnnexB },
4114         { "h223AnnexBwithHeader", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4115                 dissect_h245_h223AnnexBwithHeader },
4116         { NULL, 0, 0, NULL }
4117 };
4118 static int
4119 dissect_h245_H223Capability_mobileOperationTransmitCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4120 {
4121         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223Capability_mobileOperationTransmitCapability, ett_h245_H223Capability_mobileOperationTransmitCapability, H223Capability_mobileOperationTransmitCapability_sequence);
4122
4123         return offset;
4124 }
4125
4126
4127
4128
4129
4130 static const true_false_string tfs_videoWithAL1M_bit = {
4131         "videoWithAL1M bit is SET",
4132         "videoWithAL1M bit is CLEAR"
4133 };
4134 static int
4135 dissect_h245_videoWithAL1M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4136 {
4137         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL1M, NULL, NULL);
4138
4139         return offset;
4140 }
4141
4142
4143
4144
4145 static const true_false_string tfs_videoWithAL2M_bit = {
4146         "videoWithAL2M bit is SET",
4147         "videoWithAL2M bit is CLEAR"
4148 };
4149 static int
4150 dissect_h245_videoWithAL2M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4151 {
4152         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL2M, NULL, NULL);
4153
4154         return offset;
4155 }
4156
4157
4158
4159
4160
4161 static const true_false_string tfs_videoWithAL3M_bit = {
4162         "videoWithAL3M bit is SET",
4163         "videoWithAL3M bit is CLEAR"
4164 };
4165 static int
4166 dissect_h245_videoWithAL3M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4167 {
4168         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL3M, NULL, NULL);
4169
4170         return offset;
4171 }
4172
4173
4174
4175
4176
4177 static const true_false_string tfs_audioWithAL1M_bit = {
4178         "audioWithAL1M bit is SET",
4179         "audioWithAL1M bit is CLEAR"
4180 };
4181 static int
4182 dissect_h245_audioWithAL1M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4183 {
4184         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL1M, NULL, NULL);
4185
4186         return offset;
4187 }
4188
4189
4190
4191
4192
4193 static const true_false_string tfs_audioWithAL2M_bit = {
4194         "audioWithAL2M bit is SET",
4195         "audioWithAL2M bit is CLEAR"
4196 };
4197 static int
4198 dissect_h245_audioWithAL2M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4199 {
4200         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL2M, NULL, NULL);
4201
4202         return offset;
4203 }
4204
4205
4206
4207
4208
4209 static const true_false_string tfs_audioWithAL3M_bit = {
4210         "audioWithAL3M bit is SET",
4211         "audioWithAL3M bit is CLEAR"
4212 };
4213 static int
4214 dissect_h245_audioWithAL3M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4215 {
4216         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL3M, NULL, NULL);
4217
4218         return offset;
4219 }
4220
4221
4222
4223
4224
4225 static const true_false_string tfs_dataWithAL1M_bit = {
4226         "dataWithAL1M bit is SET",
4227         "dataWithAL1M bit is CLEAR"
4228 };
4229 static int
4230 dissect_h245_dataWithAL1M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4231 {
4232         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL1M, NULL, NULL);
4233
4234         return offset;
4235 }
4236
4237
4238
4239
4240
4241 static const true_false_string tfs_dataWithAL2M_bit = {
4242         "dataWithAL2M bit is SET",
4243         "dataWithAL2M bit is CLEAR"
4244 };
4245 static int
4246 dissect_h245_dataWithAL2M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4247 {
4248         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL2M, NULL, NULL);
4249
4250         return offset;
4251 }
4252
4253
4254
4255
4256
4257 static const true_false_string tfs_dataWithAL3M_bit = {
4258         "dataWithAL3M bit is SET",
4259         "dataWithAL3M bit is CLEAR"
4260 };
4261 static int
4262 dissect_h245_dataWithAL3M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4263 {
4264         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL3M, NULL, NULL);
4265
4266         return offset;
4267 }
4268
4269
4270
4271
4272
4273 static const true_false_string tfs_alpduInterleaving_bit = {
4274         "alpduInterleaving bit is SET",
4275         "alpduInterleaving bit is CLEAR"
4276 };
4277 static int
4278 dissect_h245_alpduInterleaving(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4279 {
4280         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_alpduInterleaving, NULL, NULL);
4281
4282         return offset;
4283 }
4284
4285
4286
4287 static per_sequence_t H223AL2MParameters_sequence[] = {
4288         { "headerFEC", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4289                 dissect_h245_H223AL2MParameters_headerFEC },
4290         { "alpduInterleaving", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4291                 dissect_h245_alpduInterleaving },
4292         { NULL, 0, 0, NULL }
4293 };
4294 static int
4295 dissect_h245_H223AL2MParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4296 {
4297         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223AL2MParameters, ett_h245_H223AL2MParameters, H223AL2MParameters_sequence);
4298
4299         return offset;
4300 }
4301
4302
4303
4304
4305
4306 static const true_false_string tfs_rsCodeCapability_bit = {
4307         "rsCodeCapability bit is SET",
4308         "rsCodeCapability bit is CLEAR"
4309 };
4310 static int
4311 dissect_h245_rsCodeCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4312 {
4313         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_rsCodeCapability, NULL, NULL);
4314
4315         return offset;
4316 }
4317
4318
4319
4320
4321
4322 static const true_false_string tfs_suspendResumeCapabilitywAddress_bit = {
4323         "suspendResumeCapabilitywAddress bit is SET",
4324         "suspendResumeCapabilitywAddress bit is CLEAR"
4325 };
4326 static int
4327 dissect_h245_suspendResumeCapabilitywAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4328 {
4329         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_suspendResumeCapabilitywAddress, NULL, NULL);
4330
4331         return offset;
4332 }
4333
4334
4335
4336
4337
4338 static const true_false_string tfs_suspendResumeCapabilitywoAddress_bit = {
4339         "suspendResumeCapabilitywoAddress bit is SET",
4340         "suspendResumeCapabilitywoAddress bit is CLEAR"
4341 };
4342 static int
4343 dissect_h245_suspendResumeCapabilitywoAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4344 {
4345         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_suspendResumeCapabilitywoAddress, NULL, NULL);
4346
4347         return offset;
4348 }
4349
4350
4351
4352
4353
4354 static const true_false_string tfs_rejCapability_bit = {
4355         "rejCapability bit is SET",
4356         "rejCapability bit is CLEAR"
4357 };
4358 static int
4359 dissect_h245_rejCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4360 {
4361         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_rejCapability, NULL, NULL);
4362
4363         return offset;
4364 }
4365
4366
4367
4368
4369
4370 static const true_false_string tfs_sREJCapability_bit = {
4371         "sREJCapability bit is SET",
4372         "sREJCapability bit is CLEAR"
4373 };
4374 static int
4375 dissect_h245_sREJCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4376 {
4377         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_sREJCapability, NULL, NULL);
4378
4379         return offset;
4380 }
4381
4382
4383
4384
4385
4386
4387 static const true_false_string tfs_mREJCapability_bit = {
4388         "mREJCapability bit is SET",
4389         "mREJCapability bit is CLEAR"
4390 };
4391 static int
4392 dissect_h245_mREJCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4393 {
4394         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_mREJCapability, NULL, NULL);
4395
4396         return offset;
4397 }
4398
4399
4400
4401
4402
4403
4404 static const true_false_string tfs_crc8bitCapability_bit = {
4405         "crc8bitCapability bit is SET",
4406         "crc8bitCapability bit is CLEAR"
4407 };
4408 static int
4409 dissect_h245_crc8bitCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4410 {
4411         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_crc8bitCapability, NULL, NULL);
4412
4413         return offset;
4414 }
4415
4416
4417
4418
4419
4420 static const true_false_string tfs_crc16bitCapability_bit = {
4421         "crc16bitCapability bit is SET",
4422         "crc16bitCapability bit is CLEAR"
4423 };
4424 static int
4425 dissect_h245_crc16bitCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4426 {
4427         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_crc16bitCapability, NULL, NULL);
4428
4429         return offset;
4430 }
4431
4432
4433
4434
4435
4436
4437 static const true_false_string tfs_crc32bitCapability_bit = {
4438         "crc32bitCapability bit is SET",
4439         "crc32bitCapability bit is CLEAR"
4440 };
4441 static int
4442 dissect_h245_crc32bitCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4443 {
4444         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_crc32bitCapability, NULL, NULL);
4445
4446         return offset;
4447 }
4448
4449
4450
4451
4452
4453 static const true_false_string tfs_uihCapability_bit = {
4454         "uihCapability bit is SET",
4455         "uihCapability bit is CLEAR"
4456 };
4457 static int
4458 dissect_h245_uihCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4459 {
4460         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_uihCapability, NULL, NULL);
4461
4462         return offset;
4463 }
4464
4465
4466
4467
4468
4469 static const true_false_string tfs_twoOctetAddressFieldCapability_bit = {
4470         "twoOctetAddressFieldCapability bit is SET",
4471         "twoOctetAddressFieldCapability bit is CLEAR"
4472 };
4473 static int
4474 dissect_h245_twoOctetAddressFieldCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4475 {
4476         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_twoOctetAddressFieldCapability, NULL, NULL);
4477
4478         return offset;
4479 }
4480
4481
4482
4483
4484
4485 static const true_false_string tfs_loopBackTestCapability_bit = {
4486         "loopBackTestCapability bit is SET",
4487         "loopBackTestCapability bit is CLEAR"
4488 };
4489 static int
4490 dissect_h245_loopBackTestCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4491 {
4492         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_loopBackTestCapability, NULL, NULL);
4493
4494         return offset;
4495 }
4496
4497
4498
4499
4500
4501
4502 static const true_false_string tfs_audioHeader_bit = {
4503         "audioHeader bit is SET",
4504         "audioHeader bit is CLEAR"
4505 };
4506 static int
4507 dissect_h245_audioHeader(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4508 {
4509         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioHeader, NULL, NULL);
4510
4511         return offset;
4512 }
4513
4514
4515
4516 static per_sequence_t V75Capability_sequence[] = {
4517         { "audioHeader", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4518                 dissect_h245_audioHeader },
4519         { NULL, 0, 0, NULL }
4520 };
4521 static int
4522 dissect_h245_V75Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4523 {
4524         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V75Capability, ett_h245_V75Capability, V75Capability_sequence);
4525
4526         return offset;
4527 }
4528
4529
4530
4531
4532
4533 static const true_false_string tfs_centralizedConferenceMC_bit = {
4534         "centralizedConferenceMC bit is SET",
4535         "centralizedConferenceMC bit is CLEAR"
4536 };
4537 static int
4538 dissect_h245_centralizedConferenceMC(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4539 {
4540         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_centralizedConferenceMC, NULL, NULL);
4541
4542         return offset;
4543 }
4544
4545
4546
4547
4548
4549 static const true_false_string tfs_decentralizedConferenceMC_bit = {
4550         "decentralizedConferenceMC bit is SET",
4551         "decentralizedConferenceMC bit is CLEAR"
4552 };
4553 static int
4554 dissect_h245_decentralizedConferenceMC(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4555 {
4556         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_decentralizedConferenceMC, NULL, NULL);
4557
4558         return offset;
4559 }
4560
4561
4562
4563
4564 static per_sequence_t H2250Capability_mcCapability_sequence[] = {
4565         { "centralizedConferenceMC", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4566                 dissect_h245_centralizedConferenceMC },
4567         { "decentralizedConferenceMC", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4568                 dissect_h245_decentralizedConferenceMC },
4569         { NULL, 0, 0, NULL }
4570 };
4571 static int
4572 dissect_h245_H2250Capability_mcCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4573 {
4574         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250Capability_mcCapability, ett_h245_H2250Capability_mcCapability, H2250Capability_mcCapability_sequence);
4575
4576         return offset;
4577 }
4578
4579
4580
4581
4582
4583 static const true_false_string tfs_rtcpVideoControlCapability_bit = {
4584         "rtcpVideoControlCapability bit is SET",
4585         "rtcpVideoControlCapability bit is CLEAR"
4586 };
4587 static int
4588 dissect_h245_rtcpVideoControlCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4589 {
4590         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_rtcpVideoControlCapability, NULL, NULL);
4591
4592         return offset;
4593 }
4594
4595
4596
4597
4598
4599
4600 static const true_false_string tfs_logicalChannelSwitchingCapability_bit = {
4601         "logicalChannelSwitchingCapability bit is SET",
4602         "logicalChannelSwitchingCapability bit is CLEAR"
4603 };
4604 static int
4605 dissect_h245_logicalChannelSwitchingCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4606 {
4607         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_logicalChannelSwitchingCapability, NULL, NULL);
4608
4609         return offset;
4610 }
4611
4612
4613
4614
4615
4616 static const true_false_string tfs_t120DynamicPortCapability_bit = {
4617         "t120DynamicPortCapability bit is SET",
4618         "t120DynamicPortCapability bit is CLEAR"
4619 };
4620 static int
4621 dissect_h245_t120DynamicPortCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4622 {
4623         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_t120DynamicPortCapability, NULL, NULL);
4624
4625         return offset;
4626 }
4627
4628
4629
4630
4631
4632 static const true_false_string tfs_h261aVideoPacketization_bit = {
4633         "h261aVideoPacketization bit is SET",
4634         "h261aVideoPacketization bit is CLEAR"
4635 };
4636 static int
4637 dissect_h245_h261aVideoPacketization(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4638 {
4639         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h261aVideoPacketization, NULL, NULL);
4640
4641         return offset;
4642 }
4643
4644
4645
4646
4647
4648 static const true_false_string tfs_atmUBR_bit = {
4649         "atmUBR bit is SET",
4650         "atmUBR bit is CLEAR"
4651 };
4652 static int
4653 dissect_h245_atmUBR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4654 {
4655         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_atmUBR, NULL, NULL);
4656
4657         return offset;
4658 }
4659
4660
4661
4662
4663 static const true_false_string tfs_atmrtVBR_bit = {
4664         "atmrtVBR bit is SET",
4665         "atmrtVBR bit is CLEAR"
4666 };
4667 static int
4668 dissect_h245_atmrtVBR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4669 {
4670         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_atmrtVBR, NULL, NULL);
4671
4672         return offset;
4673 }
4674
4675
4676
4677
4678
4679 static const true_false_string tfs_atmnrtVBR_bit = {
4680         "atmnrtVBR bit is SET",
4681         "atmnrtVBR bit is CLEAR"
4682 };
4683 static int
4684 dissect_h245_atmnrtVBR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4685 {
4686         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_atmnrtVBR, NULL, NULL);
4687
4688         return offset;
4689 }
4690
4691
4692
4693
4694
4695 static const true_false_string tfs_atmABR_bit = {
4696         "atmABR bit is SET",
4697         "atmABR bit is CLEAR"
4698 };
4699 static int
4700 dissect_h245_atmABR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4701 {
4702         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_atmABR, NULL, NULL);
4703
4704         return offset;
4705 }
4706
4707
4708
4709
4710
4711
4712 static const true_false_string tfs_atmCBR_bit = {
4713         "atmCBR bit is SET",
4714         "atmCBR bit is CLEAR"
4715 };
4716 static int
4717 dissect_h245_atmCBR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4718 {
4719         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_atmCBR, NULL, NULL);
4720
4721         return offset;
4722 }
4723
4724
4725
4726
4727
4728 static const true_false_string tfs_variableDelta_bit = {
4729         "variableDelta bit is SET",
4730         "variableDelta bit is CLEAR"
4731 };
4732 static int
4733 dissect_h245_variableDelta(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4734 {
4735         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_variableDelta, NULL, NULL);
4736
4737         return offset;
4738 }
4739
4740
4741
4742 static per_sequence_t MediaTransportType_AtmAAL5Compressed_sequence[] = {
4743         { "variable-delta", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4744                 dissect_h245_variableDelta },
4745         { NULL, 0, 0, NULL }
4746 };
4747 static int
4748 dissect_h245_MediaTransportType_AtmAAL5Compressed(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4749 {
4750         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MediaTransportType_AtmAAL5Compressed, ett_h245_MediaTransportType_AtmAAL5Compressed, MediaTransportType_AtmAAL5Compressed_sequence);
4751
4752         return offset;
4753 }
4754
4755
4756
4757
4758 static const value_string MediaTransportType_vals[] = {
4759         {  0, "ip-UDP" },
4760         {  1, "ip-TCP" },
4761         {  2, "atm-AAL5-UNIDIR" },
4762         {  3, "atm-AAL5-BIDIR" },
4763         {  4, "atm-AAL5-compressed" },
4764         {  0, NULL }
4765 };
4766 static per_choice_t MediaTransportType_choice[] = {
4767         {  0, "ip-UDP", ASN1_EXTENSION_ROOT,
4768                         dissect_h245_NULL },
4769         {  1, "ip-TCP", ASN1_EXTENSION_ROOT,
4770                         dissect_h245_NULL },
4771         {  2, "atm-AAL5-UNIDIR", ASN1_EXTENSION_ROOT,
4772                         dissect_h245_NULL },
4773         {  3, "atm-AAL5-BIDIR", ASN1_EXTENSION_ROOT,
4774                         dissect_h245_NULL },
4775         {  4, "atm-AAL5-compressed", ASN1_NOT_EXTENSION_ROOT,
4776                         dissect_h245_MediaTransportType_AtmAAL5Compressed },
4777         {  0, NULL, 0, NULL }
4778 };
4779 static int
4780 dissect_h245_MediaTransportType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4781 {
4782         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MediaTransportType, ett_h245_MediaTransportType, MediaTransportType_choice, "MediaTransportType", NULL);
4783
4784         return offset;
4785 }
4786
4787
4788
4789 static per_sequence_t MediaChannelCapability_sequence[] = {
4790         { "mediaTransport", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4791                 dissect_h245_MediaTransportType },
4792         { NULL, 0, 0, NULL }
4793 };
4794 static int
4795 dissect_h245_MediaChannelCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4796 {
4797         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MediaChannelCapability, ett_h245_MediaChannelCapability, MediaChannelCapability_sequence);
4798
4799         return offset;
4800 }
4801
4802
4803
4804
4805
4806 static const true_false_string tfs_multicastCapability_bit = {
4807         "multicastCapability bit is SET",
4808         "multicastCapability bit is CLEAR"
4809 };
4810 static int
4811 dissect_h245_multicastCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4812 {
4813         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_multicastCapability, NULL, NULL);
4814
4815         return offset;
4816 }
4817
4818
4819
4820
4821
4822
4823 static const true_false_string tfs_multiUniCastConference_bit = {
4824         "multiUniCastConference bit is SET",
4825         "multiUniCastConference bit is CLEAR"
4826 };
4827 static int
4828 dissect_h245_multiUniCastConference(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4829 {
4830         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_multiUniCastConference, NULL, NULL);
4831
4832         return offset;
4833 }
4834
4835
4836
4837
4838
4839 static const true_false_string tfs_centralizedControl_bit = {
4840         "centralizedControl bit is SET",
4841         "centralizedControl bit is CLEAR"
4842 };
4843 static int
4844 dissect_h245_centralizedControl(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4845 {
4846         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_centralizedControl, NULL, NULL);
4847
4848         return offset;
4849 }
4850
4851
4852
4853
4854
4855 static const true_false_string tfs_distributedControl_bit = {
4856         "distributedControl bit is SET",
4857         "distributedControl bit is CLEAR"
4858 };
4859 static int
4860 dissect_h245_distributedControl(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4861 {
4862         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_distributedControl, NULL, NULL);
4863
4864         return offset;
4865 }
4866
4867
4868
4869
4870
4871 static const true_false_string tfs_centralizedAudio_bit = {
4872         "centralizedAudio bit is SET",
4873         "centralizedAudio bit is CLEAR"
4874 };
4875 static int
4876 dissect_h245_centralizedAudio(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4877 {
4878         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_centralizedAudio, NULL, NULL);
4879
4880         return offset;
4881 }
4882
4883
4884
4885
4886
4887 static const true_false_string tfs_distributedAudio_bit = {
4888         "distributedAudio bit is SET",
4889         "distributedAudio bit is CLEAR"
4890 };
4891 static int
4892 dissect_h245_distributedAudio(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4893 {
4894         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_distributedAudio, NULL, NULL);
4895
4896         return offset;
4897 }
4898
4899
4900
4901
4902
4903 static const true_false_string tfs_centralizedVideo_bit = {
4904         "centralizedVideo bit is SET",
4905         "centralizedVideo bit is CLEAR"
4906 };
4907 static int
4908 dissect_h245_centralizedVideo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4909 {
4910         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_centralizedVideo, NULL, NULL);
4911
4912         return offset;
4913 }
4914
4915
4916
4917
4918 static const true_false_string tfs_distributedVideo_bit = {
4919         "distributedVideo bit is SET",
4920         "distributedVideo bit is CLEAR"
4921 };
4922 static int
4923 dissect_h245_distributedVideo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4924 {
4925         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_distributedVideo, NULL, NULL);
4926
4927         return offset;
4928 }
4929
4930
4931
4932
4933
4934
4935 static const true_false_string tfs_temporalSpatialTradeOffCapability_bit = {
4936         "temporalSpatialTradeOffCapability bit is SET",
4937         "temporalSpatialTradeOffCapability bit is CLEAR"
4938 };
4939 static int
4940 dissect_h245_temporalSpatialTradeOffCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4941 {
4942         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_temporalSpatialTradeOffCapability, NULL, NULL);
4943
4944         return offset;
4945 }
4946
4947
4948
4949
4950
4951 static const true_false_string tfs_stillImageTransmission_bit = {
4952         "stillImageTransmission bit is SET",
4953         "stillImageTransmission bit is CLEAR"
4954 };
4955 static int
4956 dissect_h245_stillImageTransmission(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4957 {
4958         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_stillImageTransmission, NULL, NULL);
4959
4960         return offset;
4961 }
4962
4963
4964
4965
4966
4967 static const true_false_string tfs_videoBadMBsCap_bit = {
4968         "videoBadMBsCap bit is SET",
4969         "videoBadMBsCap bit is CLEAR"
4970 };
4971 static int
4972 dissect_h245_videoBadMBsCap(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4973 {
4974         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoBadMBsCap, NULL, NULL);
4975
4976         return offset;
4977 }
4978
4979
4980
4981
4982
4983 static const true_false_string tfs_profileAndLevelSPatML_bit = {
4984         "profileAndLevelSPatML bit is SET",
4985         "profileAndLevelSPatML bit is CLEAR"
4986 };
4987 static int
4988 dissect_h245_profileAndLevelSPatML(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4989 {
4990         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelSPatML, NULL, NULL);
4991
4992         return offset;
4993 }
4994
4995
4996
4997
4998
4999 static const true_false_string tfs_profileAndLevelMPatLL_bit = {
5000         "profileAndLevelMPatLL bit is SET",
5001         "profileAndLevelMPatLL bit is CLEAR"
5002 };
5003 static int
5004 dissect_h245_profileAndLevelMPatLL(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5005 {
5006         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelMPatLL, NULL, NULL);
5007
5008         return offset;
5009 }
5010
5011
5012
5013
5014
5015 static const true_false_string tfs_profileAndLevelMPatML_bit = {
5016         "profileAndLevelMPatML bit is SET",
5017         "profileAndLevelMPatML bit is CLEAR"
5018 };
5019 static int
5020 dissect_h245_profileAndLevelMPatML(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5021 {
5022         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelMPatML, NULL, NULL);
5023
5024         return offset;
5025 }
5026
5027
5028
5029
5030
5031 static const true_false_string tfs_profileAndLevelMPatH14_bit = {
5032         "profileAndLevelMPatH14 bit is SET",
5033         "profileAndLevelMPatH14 bit is CLEAR"
5034 };
5035 static int
5036 dissect_h245_profileAndLevelMPatH14(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5037 {
5038         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelMPatH14, NULL, NULL);
5039
5040         return offset;
5041 }
5042
5043
5044
5045
5046
5047 static const true_false_string tfs_profileAndLevelMPatHL_bit = {
5048         "profileAndLevelMPatHL bit is SET",
5049         "profileAndLevelMPatHL bit is CLEAR"
5050 };
5051 static int
5052 dissect_h245_profileAndLevelMPatHL(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5053 {
5054         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelMPatHL, NULL, NULL);
5055
5056         return offset;
5057 }
5058
5059
5060
5061
5062
5063 static const true_false_string tfs_profileAndLevelSNRatLL_bit = {
5064         "profileAndLevelSNRatLL bit is SET",
5065         "profileAndLevelSNRatLL bit is CLEAR"
5066 };
5067 static int
5068 dissect_h245_profileAndLevelSNRatLL(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5069 {
5070         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelSNRatLL, NULL, NULL);
5071
5072         return offset;
5073 }
5074
5075
5076
5077
5078
5079 static const true_false_string tfs_profileAndLevelSNRatML_bit = {
5080         "profileAndLevelSNRatML bit is SET",
5081         "profileAndLevelSNRatML bit is CLEAR"
5082 };
5083 static int
5084 dissect_h245_profileAndLevelSNRatML(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5085 {
5086         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelSNRatML, NULL, NULL);
5087
5088         return offset;
5089 }
5090
5091
5092
5093
5094
5095 static const true_false_string tfs_profileAndLevelSpatialatH14_bit = {
5096         "profileAndLevelSpatialatH14 bit is SET",
5097         "profileAndLevelSpatialatH14 bit is CLEAR"
5098 };
5099 static int
5100 dissect_h245_profileAndLevelSpatialatH14(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5101 {
5102         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelSpatialatH14, NULL, NULL);
5103
5104         return offset;
5105 }
5106
5107
5108
5109
5110
5111 static const true_false_string tfs_profileAndLevelHPatML_bit = {
5112         "profileAndLevelHPatML bit is SET",
5113         "profileAndLevelHPatML bit is CLEAR"
5114 };
5115 static int
5116 dissect_h245_profileAndLevelHPatML(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5117 {
5118         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelHPatML, NULL, NULL);
5119
5120         return offset;
5121 }
5122
5123
5124
5125
5126 static const true_false_string tfs_profileAndLevelHPatH14_bit = {
5127         "profileAndLevelHPatH14 bit is SET",
5128         "profileAndLevelHPatH14 bit is CLEAR"
5129 };
5130 static int
5131 dissect_h245_profileAndLevelHPatH14(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5132 {
5133         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelHPatH14, NULL, NULL);
5134
5135         return offset;
5136 }
5137
5138
5139
5140
5141
5142 static const true_false_string tfs_profileAndLevelHPatHL_bit = {
5143         "profileAndLevelHPatHL bit is SET",
5144         "profileAndLevelHPatHL bit is CLEAR"
5145 };
5146 static int
5147 dissect_h245_profileAndLevelHPatHL(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5148 {
5149         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelHPatHL, NULL, NULL);
5150
5151         return offset;
5152 }
5153
5154
5155
5156
5157
5158 static const true_false_string tfs_unrestrictedVector_bit = {
5159         "unrestrictedVector bit is SET",
5160         "unrestrictedVector bit is CLEAR"
5161 };
5162 static int
5163 dissect_h245_unrestrictedVector(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5164 {
5165         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_unrestrictedVector, NULL, NULL);
5166
5167         return offset;
5168 }
5169
5170
5171
5172
5173
5174 static const true_false_string tfs_arithmeticCoding_bit = {
5175         "arithmeticCoding bit is SET",
5176         "arithmeticCoding bit is CLEAR"
5177 };
5178 static int
5179 dissect_h245_arithmeticCoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5180 {
5181         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_arithmeticCoding, NULL, NULL);
5182
5183         return offset;
5184 }
5185
5186
5187
5188
5189
5190 static const true_false_string tfs_advancedPrediction_bit = {
5191         "advancedPrediction bit is SET",
5192         "advancedPrediction bit is CLEAR"
5193 };
5194 static int
5195 dissect_h245_advancedPrediction(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5196 {
5197         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_advancedPrediction, NULL, NULL);
5198
5199         return offset;
5200 }
5201
5202
5203
5204
5205
5206 static const true_false_string tfs_pbFrames_bit = {
5207         "pbFrames bit is SET",
5208         "pbFrames bit is CLEAR"
5209 };
5210 static int
5211 dissect_h245_pbFrames(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5212 {
5213         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_pbFrames, NULL, NULL);
5214
5215         return offset;
5216 }
5217
5218
5219
5220
5221
5222 static const true_false_string tfs_errorCompensation_bit = {
5223         "errorCompensation bit is SET",
5224         "errorCompensation bit is CLEAR"
5225 };
5226 static int
5227 dissect_h245_errorCompensation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5228 {
5229         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_errorCompensation, NULL, NULL);
5230
5231         return offset;
5232 }
5233
5234
5235
5236
5237
5238
5239 static const true_false_string tfs_baseBitRateConstrained_bit = {
5240         "baseBitRateConstrained bit is SET",
5241         "baseBitRateConstrained bit is CLEAR"
5242 };
5243 static int
5244 dissect_h245_baseBitRateConstrained(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5245 {
5246         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_baseBitRateConstrained, NULL, NULL);
5247
5248         return offset;
5249 }
5250
5251
5252
5253
5254
5255 static const true_false_string tfs_advancedIntraCodingMode_bit = {
5256         "advancedIntraCodingMode bit is SET",
5257         "advancedIntraCodingMode bit is CLEAR"
5258 };
5259 static int
5260 dissect_h245_advancedIntraCodingMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5261 {
5262         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_advancedIntraCodingMode, NULL, NULL);
5263
5264         return offset;
5265 }
5266
5267
5268
5269
5270 static const true_false_string tfs_deblockingFilterMode_bit = {
5271         "deblockingFilterMode bit is SET",
5272         "deblockingFilterMode bit is CLEAR"
5273 };
5274 static int
5275 dissect_h245_deblockingFilterMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5276 {
5277         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_deblockingFilterMode, NULL, NULL);
5278
5279         return offset;
5280 }
5281
5282
5283
5284
5285
5286 static const true_false_string tfs_improvedPBFramesMode_bit = {
5287         "improvedPBFramesMode bit is SET",
5288         "improvedPBFramesMode bit is CLEAR"
5289 };
5290 static int
5291 dissect_h245_improvedPBFramesMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5292 {
5293         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_improvedPBFramesMode, NULL, NULL);
5294
5295         return offset;
5296 }
5297
5298
5299
5300
5301 static const true_false_string tfs_unlimitedMotionVectors_bit = {
5302         "unlimitedMotionVectors bit is SET",
5303         "unlimitedMotionVectors bit is CLEAR"
5304 };
5305 static int
5306 dissect_h245_unlimitedMotionVectors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5307 {
5308         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_unlimitedMotionVectors, NULL, NULL);
5309
5310         return offset;
5311 }
5312
5313
5314
5315
5316
5317 static const true_false_string tfs_fullPictureFreeze_bit = {
5318         "fullPictureFreeze bit is SET",
5319         "fullPictureFreeze bit is CLEAR"
5320 };
5321 static int
5322 dissect_h245_fullPictureFreeze(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5323 {
5324         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fullPictureFreeze, NULL, NULL);
5325
5326         return offset;
5327 }
5328
5329
5330
5331
5332
5333 static const true_false_string tfs_partialPictureFreezeAndRelease_bit = {
5334         "partialPictureFreezeAndRelease bit is SET",
5335         "partialPictureFreezeAndRelease bit is CLEAR"
5336 };
5337 static int
5338 dissect_h245_partialPictureFreezeAndRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5339 {
5340         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_partialPictureFreezeAndRelease, NULL, NULL);
5341
5342         return offset;
5343 }
5344
5345
5346
5347
5348 static const true_false_string tfs_resizingPartPicFreezeAndRelease_bit = {
5349         "resizingPartPicFreezeAndRelease bit is SET",
5350         "resizingPartPicFreezeAndRelease bit is CLEAR"
5351 };
5352 static int
5353 dissect_h245_resizingPartPicFreezeAndRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5354 {
5355         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_resizingPartPicFreezeAndRelease, NULL, NULL);
5356
5357         return offset;
5358 }
5359
5360
5361
5362
5363 static const true_false_string tfs_fullPictureSnapshot_bit = {
5364         "fullPictureSnapshot bit is SET",
5365         "fullPictureSnapshot bit is CLEAR"
5366 };
5367 static int
5368 dissect_h245_fullPictureSnapshot(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5369 {
5370         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fullPictureSnapshot, NULL, NULL);
5371
5372         return offset;
5373 }
5374
5375
5376
5377
5378
5379 static const true_false_string tfs_partialPictureSnapshot_bit = {
5380         "partialPictureSnapshot bit is SET",
5381         "partialPictureSnapshot bit is CLEAR"
5382 };
5383 static int
5384 dissect_h245_partialPictureSnapshot(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5385 {
5386         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_partialPictureSnapshot, NULL, NULL);
5387
5388         return offset;
5389 }
5390
5391
5392
5393
5394 static const true_false_string tfs_videoSegmentTagging_bit = {
5395         "videoSegmentTagging bit is SET",
5396         "videoSegmentTagging bit is CLEAR"
5397 };
5398 static int
5399 dissect_h245_videoSegmentTagging(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5400 {
5401         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoSegmentTagging, NULL, NULL);
5402
5403         return offset;
5404 }
5405
5406
5407
5408
5409
5410 static const true_false_string tfs_progressiveRefinement_bit = {
5411         "progressiveRefinement bit is SET",
5412         "progressiveRefinement bit is CLEAR"
5413 };
5414 static int
5415 dissect_h245_progressiveRefinement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5416 {
5417         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_progressiveRefinement, NULL, NULL);
5418
5419         return offset;
5420 }
5421
5422
5423
5424
5425
5426 static const true_false_string tfs_dynamicPictureResizingByFour_bit = {
5427         "dynamicPictureResizingByFour bit is SET",
5428         "dynamicPictureResizingByFour bit is CLEAR"
5429 };
5430 static int
5431 dissect_h245_dynamicPictureResizingByFour(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5432 {
5433         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dynamicPictureResizingByFour, NULL, NULL);
5434
5435         return offset;
5436 }
5437
5438
5439
5440
5441 static const true_false_string tfs_dynamicPictureResizingSixteenthPel_bit = {
5442         "dynamicPictureResizingSixteenthPel bit is SET",
5443         "dynamicPictureResizingSixteenthPel bit is CLEAR"
5444 };
5445 static int
5446 dissect_h245_dynamicPictureResizingSixteenthPel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5447 {
5448         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dynamicPictureResizingSixteenthPel, NULL, NULL);
5449
5450         return offset;
5451 }
5452
5453
5454
5455
5456
5457 static const true_false_string tfs_dynamicWarpingHalfPel_bit = {
5458         "dynamicWarpingHalfPel bit is SET",
5459         "dynamicWarpingHalfPel bit is CLEAR"
5460 };
5461 static int
5462 dissect_h245_dynamicWarpingHalfPel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5463 {
5464         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dynamicWarpingHalfPel, NULL, NULL);
5465
5466         return offset;
5467 }
5468
5469
5470
5471
5472
5473 static const true_false_string tfs_dynamicWarpingSixteenthPel_bit = {
5474         "dynamicWarpingSixteenthPel bit is SET",
5475         "dynamicWarpingSixteenthPel bit is CLEAR"
5476 };
5477 static int
5478 dissect_h245_dynamicWarpingSixteenthPel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5479 {
5480         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dynamicWarpingSixteenthPel, NULL, NULL);
5481
5482         return offset;
5483 }
5484
5485
5486
5487
5488
5489 static const true_false_string tfs_independentSegmentDecoding_bit = {
5490         "independentSegmentDecoding bit is SET",
5491         "independentSegmentDecoding bit is CLEAR"
5492 };
5493 static int
5494 dissect_h245_independentSegmentDecoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5495 {
5496         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_independentSegmentDecoding, NULL, NULL);
5497
5498         return offset;
5499 }
5500
5501
5502
5503
5504
5505 static const true_false_string tfs_slicesInOrderNonRect_bit = {
5506         "slicesInOrderNonRect bit is SET",
5507         "slicesInOrderNonRect bit is CLEAR"
5508 };
5509 static int
5510 dissect_h245_slicesInOrderNonRect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5511 {
5512         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_slicesInOrderNonRect, NULL, NULL);
5513
5514         return offset;
5515 }
5516
5517
5518
5519
5520
5521 static const true_false_string tfs_slicesInOrderRect_bit = {
5522         "slicesInOrderRect bit is SET",
5523         "slicesInOrderRect bit is CLEAR"
5524 };
5525 static int
5526 dissect_h245_slicesInOrderRect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5527 {
5528         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_slicesInOrderRect, NULL, NULL);
5529
5530         return offset;
5531 }
5532
5533
5534
5535
5536
5537 static const true_false_string tfs_slicesNoOrderNonRect_bit = {
5538         "slicesNoOrderNonRect bit is SET",
5539         "slicesNoOrderNonRect bit is CLEAR"
5540 };
5541 static int
5542 dissect_h245_slicesNoOrderNonRect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5543 {
5544         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_slicesNoOrderNonRect, NULL, NULL);
5545
5546         return offset;
5547 }
5548
5549
5550
5551
5552
5553 static const true_false_string tfs_slicesNoOrderRect_bit = {
5554         "slicesNoOrderRect bit is SET",
5555         "slicesNoOrderRect bit is CLEAR"
5556 };
5557 static int
5558 dissect_h245_slicesNoOrderRect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5559 {
5560         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_slicesNoOrderRect, NULL, NULL);
5561
5562         return offset;
5563 }
5564
5565
5566
5567
5568
5569 static const true_false_string tfs_alternateInterVLCMode_bit = {
5570         "alternateInterVLCMode bit is SET",
5571         "alternateInterVLCMode bit is CLEAR"
5572 };
5573 static int
5574 dissect_h245_alternateInterVLCMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5575 {
5576         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_alternateInterVLCMode, NULL, NULL);
5577
5578         return offset;
5579 }
5580
5581
5582
5583
5584
5585 static const true_false_string tfs_modifiedQuantizationMode_bit = {
5586         "modifiedQuantizationMode bit is SET",
5587         "modifiedQuantizationMode bit is CLEAR"
5588 };
5589 static int
5590 dissect_h245_modifiedQuantizationMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5591 {
5592         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_modifiedQuantizationMode, NULL, NULL);
5593
5594         return offset;
5595 }
5596
5597
5598
5599
5600
5601 static const true_false_string tfs_reducedResolutionUpdate_bit = {
5602         "reducedResolutionUpdate bit is SET",
5603         "reducedResolutionUpdate bit is CLEAR"
5604 };
5605 static int
5606 dissect_h245_reducedResolutionUpdate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5607 {
5608         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_reducedResolutionUpdate, NULL, NULL);
5609
5610         return offset;
5611 }
5612
5613
5614
5615
5616
5617 static const true_false_string tfs_separateVideoBackChannel_bit = {
5618         "separateVideoBackChannel bit is SET",
5619         "separateVideoBackChannel bit is CLEAR"
5620 };
5621 static int
5622 dissect_h245_separateVideoBackChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5623 {
5624         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_separateVideoBackChannel, NULL, NULL);
5625
5626         return offset;
5627 }
5628
5629
5630
5631
5632
5633 static const true_false_string tfs_videoMux_bit = {
5634         "videoMux bit is SET",
5635         "videoMux bit is CLEAR"
5636 };
5637 static int
5638 dissect_h245_videoMux(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5639 {
5640         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoMux, NULL, NULL);
5641
5642         return offset;
5643 }
5644
5645
5646
5647
5648
5649 static const true_false_string tfs_anyPixelAspectRatio_bit = {
5650         "anyPixelAspectRatio bit is SET",
5651         "anyPixelAspectRatio bit is CLEAR"
5652 };
5653 static int
5654 dissect_h245_anyPixelAspectRatio(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5655 {
5656         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_anyPixelAspectRatio, NULL, NULL);
5657
5658         return offset;
5659 }
5660
5661
5662
5663
5664
5665 static const true_false_string tfs_referencePicSelect_bit = {
5666         "referencePicSelect bit is SET",
5667         "referencePicSelect bit is CLEAR"
5668 };
5669 static int
5670 dissect_h245_referencePicSelect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5671 {
5672         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_referencePicSelect, NULL, NULL);
5673
5674         return offset;
5675 }
5676
5677
5678
5679
5680
5681 static const true_false_string tfs_enhancedReferencePicSelect_bool_bit = {
5682         "enhancedReferencePicSelect_bool bit is SET",
5683         "enhancedReferencePicSelect_bool bit is CLEAR"
5684 };
5685 static int
5686 dissect_h245_enhancedReferencePicSelect_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5687 {
5688         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_enhancedReferencePicSelect_bool, NULL, NULL);
5689
5690         return offset;
5691 }
5692
5693
5694
5695
5696
5697 static const true_false_string tfs_dataPartitionedSlices_bit = {
5698         "dataPartitionedSlices bit is SET",
5699         "dataPartitionedSlices bit is CLEAR"
5700 };
5701 static int
5702 dissect_h245_dataPartitionedSlices(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5703 {
5704         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataPartitionedSlices, NULL, NULL);
5705
5706         return offset;
5707 }
5708
5709
5710
5711
5712
5713 static const true_false_string tfs_fixedPointIDCT0_bit = {
5714         "fixedPointIDCT0 bit is SET",
5715         "fixedPointIDCT0 bit is CLEAR"
5716 };
5717 static int
5718 dissect_h245_fixedPointIDCT0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5719 {
5720         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fixedPointIDCT0, NULL, NULL);
5721
5722         return offset;
5723 }
5724
5725
5726
5727
5728
5729 static const true_false_string tfs_interlacedFields_bit = {
5730         "interlacedFields bit is SET",
5731         "interlacedFields bit is CLEAR"
5732 };
5733 static int
5734 dissect_h245_interlacedFields(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5735 {
5736         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_interlacedFields, NULL, NULL);
5737
5738         return offset;
5739 }
5740
5741
5742
5743
5744
5745 static const true_false_string tfs_currentPictureHeaderRepetition_bit = {
5746         "currentPictureHeaderRepetition bit is SET",
5747         "currentPictureHeaderRepetition bit is CLEAR"
5748 };
5749 static int
5750 dissect_h245_currentPictureHeaderRepetition(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5751 {
5752         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_currentPictureHeaderRepetition, NULL, NULL);
5753
5754         return offset;
5755 }
5756
5757
5758
5759
5760
5761 static const true_false_string tfs_previousPictureHeaderRepetition_bit = {
5762         "previousPictureHeaderRepetition bit is SET",
5763         "previousPictureHeaderRepetition bit is CLEAR"
5764 };
5765 static int
5766 dissect_h245_previousPictureHeaderRepetition(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5767 {
5768         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_previousPictureHeaderRepetition, NULL, NULL);
5769
5770         return offset;
5771 }
5772
5773
5774
5775
5776
5777 static const true_false_string tfs_nextPictureHeaderRepetition_bit = {
5778         "nextPictureHeaderRepetition bit is SET",
5779         "nextPictureHeaderRepetition bit is CLEAR"
5780 };
5781 static int
5782 dissect_h245_nextPictureHeaderRepetition(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5783 {
5784         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_nextPictureHeaderRepetition, NULL, NULL);
5785
5786         return offset;
5787 }
5788
5789
5790
5791
5792
5793 static const true_false_string tfs_pictureNumber_bool_bit = {
5794         "pictureNumber_bool bit is SET",
5795         "pictureNumber_bool bit is CLEAR"
5796 };
5797 static int
5798 dissect_h245_pictureNumber_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5799 {
5800         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_pictureNumber_bool, NULL, NULL);
5801
5802         return offset;
5803 }
5804
5805
5806
5807
5808
5809 static const true_false_string tfs_spareReferencePictures_bit = {
5810         "spareReferencePictures bit is SET",
5811         "spareReferencePictures bit is CLEAR"
5812 };
5813 static int
5814 dissect_h245_spareReferencePictures(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5815 {
5816         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_spareReferencePictures, NULL, NULL);
5817
5818         return offset;
5819 }
5820
5821
5822
5823 static per_sequence_t H263Version3Options_sequence[] = {
5824         { "dataPartitionedSlices", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5825                 dissect_h245_dataPartitionedSlices },
5826         { "fixedPointIDCTO", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5827                 dissect_h245_fixedPointIDCT0 },
5828         { "interlacedFields", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5829                 dissect_h245_interlacedFields},
5830         { "currentPictureHeaderRepetition", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5831                 dissect_h245_currentPictureHeaderRepetition },
5832         { "previousPictureHeaderRepetition", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5833                 dissect_h245_previousPictureHeaderRepetition },
5834         { "nextPictureHeaderRepetition", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5835                 dissect_h245_nextPictureHeaderRepetition },
5836         { "pictureNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5837                 dissect_h245_pictureNumber_bool },
5838         { "spareReferencePictures", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5839                 dissect_h245_spareReferencePictures },
5840         { NULL, 0, 0, NULL }
5841 };
5842 static int
5843 dissect_h245_H263Version3Options(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5844 {
5845         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263Version3Options, ett_h245_H263Version3Options, H263Version3Options_sequence);
5846
5847         return offset;
5848 }
5849
5850
5851
5852
5853
5854 static per_sequence_t H263ModeComboFlags_sequence[] = {
5855         { "unrestrictedVector", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5856                 dissect_h245_unrestrictedVector },
5857         { "arithmeticCoding", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5858                 dissect_h245_arithmeticCoding },
5859         { "advancedPrediction", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5860                 dissect_h245_advancedPrediction },
5861         { "pbFrames", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5862                 dissect_h245_pbFrames },
5863         { "advancedIntraCodingMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5864                 dissect_h245_advancedIntraCodingMode },
5865         { "deblockingFilterMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5866                 dissect_h245_deblockingFilterMode },
5867         { "unlimitedMotionVectors", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5868                 dissect_h245_unlimitedMotionVectors },
5869         { "slicesInOrder-NonRect", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5870                 dissect_h245_slicesInOrderNonRect },
5871         { "slicesInOrder-Rect", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5872                 dissect_h245_slicesInOrderRect },
5873         { "slicesNoOrder-NonRect", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5874                 dissect_h245_slicesNoOrderNonRect },
5875         { "slicesNoOrder-Rect", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5876                 dissect_h245_slicesNoOrderRect },
5877         { "improvedPBFramesMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5878                 dissect_h245_improvedPBFramesMode },
5879         { "referencePicSelect", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5880                 dissect_h245_referencePicSelect },
5881         { "dynamicPictureResizingByFour", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5882                 dissect_h245_dynamicPictureResizingByFour },
5883         { "dynamicPictureResizingSixteenthPel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5884                 dissect_h245_dynamicPictureResizingSixteenthPel },
5885         { "dynamicWarpingHalfPel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5886                 dissect_h245_dynamicWarpingHalfPel },
5887         { "dynamicWarpingSixteenthPel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5888                 dissect_h245_dynamicWarpingSixteenthPel },
5889         { "reducedResolutionUpdate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5890                 dissect_h245_reducedResolutionUpdate },
5891         { "independentSegmentDecoding", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5892                 dissect_h245_independentSegmentDecoding },
5893         { "alternateInterVLCMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5894                 dissect_h245_alternateInterVLCMode },
5895         { "modifiedQuantizationMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5896                 dissect_h245_modifiedQuantizationMode },
5897         { "enhancedReferencePicSelect", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5898                 dissect_h245_enhancedReferencePicSelect_bool },
5899         { "h263Version3Options", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5900                 dissect_h245_H263Version3Options },
5901         { NULL, 0, 0, NULL }
5902 };
5903 static int
5904 dissect_h245_H263ModeComboFlags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5905 {
5906         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263ModeComboFlags, ett_h245_H263ModeComboFlags, H263ModeComboFlags_sequence);
5907
5908         return offset;
5909 }
5910
5911
5912
5913
5914
5915 static const true_false_string tfs_constrainedBitstream_bit = {
5916         "constrainedBitstream bit is SET",
5917         "constrainedBitstream bit is CLEAR"
5918 };
5919 static int
5920 dissect_h245_constrainedBitstream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5921 {
5922         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_constrainedBitstream, NULL, NULL);
5923
5924         return offset;
5925 }
5926
5927
5928
5929
5930
5931 static const true_false_string tfs_silenceSuppression_bit = {
5932         "silenceSuppression bit is SET",
5933         "silenceSuppression bit is CLEAR"
5934 };
5935 static int
5936 dissect_h245_silenceSuppression(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5937 {
5938         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_silenceSuppression, NULL, NULL);
5939
5940         return offset;
5941 }
5942
5943
5944
5945
5946
5947 static const true_false_string tfs_annexA_bit = {
5948         "annexA bit is SET",
5949         "annexA bit is CLEAR"
5950 };
5951 static int
5952 dissect_h245_annexA(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5953 {
5954         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexA, NULL, NULL);
5955
5956         return offset;
5957 }
5958
5959
5960
5961
5962
5963 static const true_false_string tfs_annexB_bit = {
5964         "annexB bit is SET",
5965         "annexB bit is CLEAR"
5966 };
5967 static int
5968 dissect_h245_annexB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5969 {
5970         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexB, NULL, NULL);
5971
5972         return offset;
5973 }
5974
5975
5976
5977
5978
5979 static const true_false_string tfs_annexD_bit = {
5980         "annexD bit is SET",
5981         "annexD bit is CLEAR"
5982 };
5983 static int
5984 dissect_h245_annexD(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5985 {
5986         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexD, NULL, NULL);
5987
5988         return offset;
5989 }
5990
5991
5992
5993
5994
5995 static const true_false_string tfs_annexE_bit = {
5996         "annexE bit is SET",
5997         "annexE bit is CLEAR"
5998 };
5999 static int
6000 dissect_h245_annexE(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6001 {
6002         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexE, NULL, NULL);
6003
6004         return offset;
6005 }
6006
6007
6008
6009
6010
6011 static const true_false_string tfs_annexF_bit = {
6012         "annexF bit is SET",
6013         "annexF bit is CLEAR"
6014 };
6015 static int
6016 dissect_h245_annexF(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6017 {
6018         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexF, NULL, NULL);
6019
6020         return offset;
6021 }
6022
6023
6024
6025
6026
6027 static const true_false_string tfs_annexG_bit = {
6028         "annexG bit is SET",
6029         "annexG bit is CLEAR"
6030 };
6031 static int
6032 dissect_h245_annexG(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6033 {
6034         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexG, NULL, NULL);
6035
6036         return offset;
6037 }
6038
6039
6040
6041
6042
6043 static const true_false_string tfs_annexH_bit = {
6044         "annexH bit is SET",
6045         "annexH bit is CLEAR"
6046 };
6047 static int
6048 dissect_h245_annexH(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6049 {
6050         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexH, NULL, NULL);
6051
6052         return offset;
6053 }
6054
6055
6056
6057
6058
6059 static const true_false_string tfs_audioLayer1_bit = {
6060         "audioLayer1 bit is SET",
6061         "audioLayer1 bit is CLEAR"
6062 };
6063 static int
6064 dissect_h245_audioLayer1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6065 {
6066         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioLayer1, NULL, NULL);
6067
6068         return offset;
6069 }
6070
6071
6072
6073
6074
6075 static const true_false_string tfs_audioLayer2_bit = {
6076         "audioLayer2 bit is SET",
6077         "audioLayer2 bit is CLEAR"
6078 };
6079 static int
6080 dissect_h245_audioLayer2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6081 {
6082         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioLayer2, NULL, NULL);
6083
6084         return offset;
6085 }
6086
6087
6088
6089
6090
6091 static const true_false_string tfs_audioLayer3_bit = {
6092         "audioLayer3 bit is SET",
6093         "audioLayer3 bit is CLEAR"
6094 };
6095 static int
6096 dissect_h245_audioLayer3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6097 {
6098         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioLayer3, NULL, NULL);
6099
6100         return offset;
6101 }
6102
6103
6104
6105
6106
6107 static const true_false_string tfs_audioSampling32k_bit = {
6108         "audioSampling32k bit is SET",
6109         "audioSampling32k bit is CLEAR"
6110 };
6111 static int
6112 dissect_h245_audioSampling32k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6113 {
6114         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling32k, NULL, NULL);
6115
6116         return offset;
6117 }
6118
6119
6120
6121
6122
6123 static const true_false_string tfs_audioSampling44k1_bit = {
6124         "audioSampling44k1 bit is SET",
6125         "audioSampling44k1 bit is CLEAR"
6126 };
6127 static int
6128 dissect_h245_audioSampling44k1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6129 {
6130         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling44k1, NULL, NULL);
6131
6132         return offset;
6133 }
6134
6135
6136
6137
6138
6139 static const true_false_string tfs_audioSampling48k_bit = {
6140         "audioSampling48k bit is SET",
6141         "audioSampling48k bit is CLEAR"
6142 };
6143 static int
6144 dissect_h245_audioSampling48k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6145 {
6146         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling48k, NULL, NULL);
6147
6148         return offset;
6149 }
6150
6151
6152
6153
6154
6155 static const true_false_string tfs_singleChannel_bit = {
6156         "singleChannel bit is SET",
6157         "singleChannel bit is CLEAR"
6158 };
6159 static int
6160 dissect_h245_singleChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6161 {
6162         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_singleChannel, NULL, NULL);
6163
6164         return offset;
6165 }
6166
6167
6168
6169
6170
6171 static const true_false_string tfs_twoChannels_bit = {
6172         "twoChannels bit is SET",
6173         "twoChannels bit is CLEAR"
6174 };
6175 static int
6176 dissect_h245_twoChannels(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6177 {
6178         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_twoChannels, NULL, NULL);
6179
6180         return offset;
6181 }
6182
6183
6184
6185
6186
6187 static const true_false_string tfs_audioSampling16k_bit = {
6188         "audioSampling16k bit is SET",
6189         "audioSampling16k bit is CLEAR"
6190 };
6191 static int
6192 dissect_h245_audioSampling16k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6193 {
6194         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling16k, NULL, NULL);
6195
6196         return offset;
6197 }
6198
6199
6200
6201
6202
6203 static const true_false_string tfs_audioSampling22k05_bit = {
6204         "audioSampling22k05 bit is SET",
6205         "audioSampling22k05 bit is CLEAR"
6206 };
6207 static int
6208 dissect_h245_audioSampling22k05(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6209 {
6210         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling22k05, NULL, NULL);
6211
6212         return offset;
6213 }
6214
6215
6216
6217
6218
6219 static const true_false_string tfs_audioSampling24k_bit = {
6220         "audioSampling24k bit is SET",
6221         "audioSampling24k bit is CLEAR"
6222 };
6223 static int
6224 dissect_h245_audioSampling24k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6225 {
6226         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling24k, NULL, NULL);
6227
6228         return offset;
6229 }
6230
6231
6232
6233
6234
6235 static const true_false_string tfs_threeChannels21_bit = {
6236         "threeChannels21 bit is SET",
6237         "threeChannels21 bit is CLEAR"
6238 };
6239 static int
6240 dissect_h245_threeChannels21(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6241 {
6242         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_threeChannels21, NULL, NULL);
6243
6244         return offset;
6245 }
6246
6247
6248
6249
6250
6251 static const true_false_string tfs_threeChannels30_bit = {
6252         "threeChannels30 bit is SET",
6253         "threeChannels30 bit is CLEAR"
6254 };
6255 static int
6256 dissect_h245_threeChannels30(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6257 {
6258         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_threeChannels30, NULL, NULL);
6259
6260         return offset;
6261 }
6262
6263
6264
6265
6266
6267 static const true_false_string tfs_fourChannels2020_bit = {
6268         "fourChannels2020 bit is SET",
6269         "fourChannels2020 bit is CLEAR"
6270 };
6271 static int
6272 dissect_h245_fourChannels2020(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6273 {
6274         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fourChannels2020, NULL, NULL);
6275
6276         return offset;
6277 }
6278
6279
6280
6281
6282
6283 static const true_false_string tfs_fourChannels22_bit = {
6284         "fourChannels22 bit is SET",
6285         "fourChannels22 bit is CLEAR"
6286 };
6287 static int
6288 dissect_h245_fourChannels22(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6289 {
6290         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fourChannels22, NULL, NULL);
6291
6292         return offset;
6293 }
6294
6295
6296
6297
6298
6299 static const true_false_string tfs_fourChannels31_bit = {
6300         "fourChannels31 bit is SET",
6301         "fourChannels31 bit is CLEAR"
6302 };
6303 static int
6304 dissect_h245_fourChannels31(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6305 {
6306         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fourChannels31, NULL, NULL);
6307
6308         return offset;
6309 }
6310
6311
6312
6313
6314
6315 static const true_false_string tfs_fiveChannels3020_bit = {
6316         "fiveChannels3020 bit is SET",
6317         "fiveChannels3020 bit is CLEAR"
6318 };
6319 static int
6320 dissect_h245_fiveChannels3020(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6321 {
6322         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fiveChannels3020, NULL, NULL);
6323
6324         return offset;
6325 }
6326
6327
6328
6329
6330
6331 static const true_false_string tfs_fiveChannels32_bit = {
6332         "fiveChannels32 bit is SET",
6333         "fiveChannels32 bit is CLEAR"
6334 };
6335 static int
6336 dissect_h245_fiveChannels32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6337 {
6338         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fiveChannels32, NULL, NULL);
6339
6340         return offset;
6341 }
6342
6343
6344
6345
6346
6347 static const true_false_string tfs_lowFrequencyEnhancement_bit = {
6348         "lowFrequencyEnhancement bit is SET",
6349         "lowFrequencyEnhancement bit is CLEAR"
6350 };
6351 static int
6352 dissect_h245_lowFrequencyEnhancement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6353 {
6354         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_lowFrequencyEnhancement, NULL, NULL);
6355
6356         return offset;
6357 }
6358
6359
6360
6361
6362
6363 static const true_false_string tfs_multilingual_bit = {
6364         "multilingual bit is SET",
6365         "multilingual bit is CLEAR"
6366 };
6367 static int
6368 dissect_h245_multilingual(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6369 {
6370         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_multilingual, NULL, NULL);
6371
6372         return offset;
6373 }
6374
6375
6376
6377
6378
6379 static const true_false_string tfs_comfortNoise_bit = {
6380         "comfortNoise bit is SET",
6381         "comfortNoise bit is CLEAR"
6382 };
6383 static int
6384 dissect_h245_comfortNoise(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6385 {
6386         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_comfortNoise, NULL, NULL);
6387
6388         return offset;
6389 }
6390
6391
6392
6393
6394 static const true_false_string tfs_scrambled_bit = {
6395         "scrambled bit is SET",
6396         "scrambled bit is CLEAR"
6397 };
6398 static int
6399 dissect_h245_scrambled(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6400 {
6401         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_scrambled, NULL, NULL);
6402
6403         return offset;
6404 }
6405
6406
6407
6408
6409
6410 static const true_false_string tfs_qcif_bool_bit = {
6411         "qcif_bool bit is SET",
6412         "qcif_bool bit is CLEAR"
6413 };
6414 static int
6415 dissect_h245_qcif_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6416 {
6417         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_qcif_bool, NULL, NULL);
6418
6419         return offset;
6420 }
6421
6422
6423
6424
6425
6426 static const true_false_string tfs_cif_bool_bit = {
6427         "cif_bool bit is SET",
6428         "cif_bool bit is CLEAR"
6429 };
6430 static int
6431 dissect_h245_cif_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6432 {
6433         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_cif_bool, NULL, NULL);
6434
6435         return offset;
6436 }
6437
6438
6439
6440
6441
6442 static const true_false_string tfs_ccir601Seq_bit = {
6443         "ccir601Seq bit is SET",
6444         "ccir601Seq bit is CLEAR"
6445 };
6446 static int
6447 dissect_h245_ccir601Seq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6448 {
6449         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_ccir601Seq, NULL, NULL);
6450
6451         return offset;
6452 }
6453
6454
6455
6456
6457
6458 static const true_false_string tfs_ccir601Prog_bit = {
6459         "ccir601Prog bit is SET",
6460         "ccir601Prog bit is CLEAR"
6461 };
6462 static int
6463 dissect_h245_ccir601Prog(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6464 {
6465         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_ccir601Prog, NULL, NULL);
6466
6467         return offset;
6468 }
6469
6470
6471
6472
6473
6474 static const true_false_string tfs_hdtvSeq_bit = {
6475         "hdtvSeq bit is SET",
6476         "hdtvSeq bit is CLEAR"
6477 };
6478 static int
6479 dissect_h245_hdtvSeq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6480 {
6481         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_hdtvSeq, NULL, NULL);
6482
6483         return offset;
6484 }
6485
6486
6487
6488
6489
6490 static const true_false_string tfs_hdtvProg_bit = {
6491         "hdtvProg bit is SET",
6492         "hdtvProg bit is CLEAR"
6493 };
6494 static int
6495 dissect_h245_hdtvProg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6496 {
6497         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_hdtvProg, NULL, NULL);
6498
6499         return offset;
6500 }
6501
6502
6503
6504
6505
6506 static const true_false_string tfs_g3FacsMH200x100_bit = {
6507         "g3FacsMH200x100 bit is SET",
6508         "g3FacsMH200x100 bit is CLEAR"
6509 };
6510 static int
6511 dissect_h245_g3FacsMH200x100(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6512 {
6513         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_g3FacsMH200x100, NULL, NULL);
6514
6515         return offset;
6516 }
6517
6518
6519
6520
6521
6522
6523 static const true_false_string tfs_g3FacsMH200x200_bit = {
6524         "g3FacsMH200x200 bit is SET",
6525         "g3FacsMH200x200 bit is CLEAR"
6526 };
6527 static int
6528 dissect_h245_g3FacsMH200x200(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6529 {
6530         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_g3FacsMH200x200, NULL, NULL);
6531
6532         return offset;
6533 }
6534
6535
6536
6537
6538
6539 static const true_false_string tfs_g4FacsMMR200x100_bit = {
6540         "g4FacsMMR200x100 bit is SET",
6541         "g4FacsMMR200x100 bit is CLEAR"
6542 };
6543 static int
6544 dissect_h245_g4FacsMMR200x100(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6545 {
6546         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_g4FacsMMR200x100, NULL, NULL);
6547
6548         return offset;
6549 }
6550
6551
6552
6553
6554
6555 static const true_false_string tfs_g4FacsMMR200x200_bit = {
6556         "g4FacsMMR200x200 bit is SET",
6557         "g4FacsMMR200x200 bit is CLEAR"
6558 };
6559 static int
6560 dissect_h245_g4FacsMMR200x200(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6561 {
6562         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_g4FacsMMR200x200, NULL, NULL);
6563
6564         return offset;
6565 }
6566
6567
6568
6569
6570
6571
6572
6573 static const true_false_string tfs_jbig200x200Seq_bit = {
6574         "jbig200x200Seq bit is SET",
6575         "jbig200x200Seq bit is CLEAR"
6576 };
6577 static int
6578 dissect_h245_jbig200x200Seq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6579 {
6580         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_jbig200x200Seq, NULL, NULL);
6581
6582         return offset;
6583 }
6584
6585
6586
6587
6588
6589 static const true_false_string tfs_jbig200x200Prog_bit = {
6590         "jbig200x200Prog bit is SET",
6591         "jbig200x200Prog bit is CLEAR"
6592 };
6593 static int
6594 dissect_h245_jbig200x200Prog(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6595 {
6596         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_jbig200x200Prog, NULL, NULL);
6597
6598         return offset;
6599 }
6600
6601
6602
6603
6604
6605 static const true_false_string tfs_jbig300x300Seq_bit = {
6606         "jbig300x300Seq bit is SET",
6607         "jbig300x300Seq bit is CLEAR"
6608 };
6609 static int
6610 dissect_h245_jbig300x300Seq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6611 {
6612         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_jbig300x300Seq, NULL, NULL);
6613
6614         return offset;
6615 }
6616
6617
6618
6619
6620
6621 static const true_false_string tfs_jbig300x300Prog_bit = {
6622         "jbig300x300Prog bit is SET",
6623         "jbig300x300Prog bit is CLEAR"
6624 };
6625 static int
6626 dissect_h245_jbig300x300Prog(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6627 {
6628         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_jbig300x300Prog, NULL, NULL);
6629
6630         return offset;
6631 }
6632
6633
6634
6635
6636
6637 static const true_false_string tfs_digPhotoLow_bit = {
6638         "digPhotoLow bit is SET",
6639         "digPhotoLow bit is CLEAR"
6640 };
6641 static int
6642 dissect_h245_digPhotoLow(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6643 {
6644         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_digPhotoLow, NULL, NULL);
6645
6646         return offset;
6647 }
6648
6649
6650
6651
6652
6653 static const true_false_string tfs_digPhotoMedSeq_bit = {
6654         "digPhotoMedSeq bit is SET",
6655         "digPhotoMedSeq bit is CLEAR"
6656 };
6657 static int
6658 dissect_h245_digPhotoMedSeq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6659 {
6660         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_digPhotoMedSeq, NULL, NULL);
6661
6662         return offset;
6663 }
6664
6665
6666
6667
6668
6669 static const true_false_string tfs_digPhotoMedProg_bit = {
6670         "digPhotoMedProg bit is SET",
6671         "digPhotoMedProg bit is CLEAR"
6672 };
6673 static int
6674 dissect_h245_digPhotoMedProg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6675 {
6676         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_digPhotoMedProg, NULL, NULL);
6677
6678         return offset;
6679 }
6680
6681
6682
6683
6684
6685 static const true_false_string tfs_digPhotoHighSeq_bit = {
6686         "digPhotoHighSeq bit is SET",
6687         "digPhotoHighSeq bit is CLEAR"
6688 };
6689 static int
6690 dissect_h245_digPhotoHighSeq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6691 {
6692         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_digPhotoHighSeq, NULL, NULL);
6693
6694         return offset;
6695 }
6696
6697
6698
6699
6700
6701 static const true_false_string tfs_digPhotoHighProg_bit = {
6702         "digPhotoHighProg bit is SET",
6703         "digPhotoHighProg bit is CLEAR"
6704 };
6705 static int
6706 dissect_h245_digPhotoHighProg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6707 {
6708         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_digPhotoHighProg, NULL, NULL);
6709
6710         return offset;
6711 }
6712
6713
6714
6715
6716 static per_sequence_t T84Profile_t84Restricted_sequence[] = {
6717         { "qcif", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6718                 dissect_h245_qcif_bool },
6719         { "cif", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6720                 dissect_h245_cif_bool },
6721         { "ccir601Seq", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6722                 dissect_h245_ccir601Seq },
6723         { "ccir601Prog", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6724                 dissect_h245_ccir601Prog },
6725         { "hdtvSeq", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6726                 dissect_h245_hdtvSeq },
6727         { "hdtvProg", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6728                 dissect_h245_hdtvProg },
6729         { "g3FacsMH200x100", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6730                 dissect_h245_g3FacsMH200x100 },
6731         { "g3FacsMH200x200", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6732                 dissect_h245_g3FacsMH200x200 },
6733         { "g4FacsMMR200x100", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6734                 dissect_h245_g4FacsMMR200x100 },
6735         { "g4FacsMMR200x200", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6736                 dissect_h245_g4FacsMMR200x200 },
6737         { "jbig200x200Seq", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6738                 dissect_h245_jbig200x200Seq },
6739         { "jbig200x200Prog", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6740                 dissect_h245_jbig200x200Prog },
6741         { "jbig300x300Seq", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6742                 dissect_h245_jbig300x300Seq },
6743         { "jbig300x300Prog", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6744                 dissect_h245_jbig300x300Prog },
6745         { "digPhotoLow", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6746                 dissect_h245_digPhotoLow },
6747         { "digPhotoMedSeq", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6748                 dissect_h245_digPhotoMedSeq },
6749         { "digPhotoMedProg", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6750                 dissect_h245_digPhotoMedProg },
6751         { "digPhotoHighSeq", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6752                 dissect_h245_digPhotoHighSeq },
6753         { "digPhotoHighProg", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6754                 dissect_h245_digPhotoHighProg },
6755         { NULL, 0, 0, NULL }
6756 };
6757 static int
6758 dissect_h245_T84Profile_t84Restricted(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6759 {
6760         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_T84Profile_t84Restricted, ett_h245_T84Profile_t84Restricted, T84Profile_t84Restricted_sequence);
6761
6762         return offset;
6763 }
6764
6765
6766
6767
6768 static const value_string T84Profile_vals[] = {
6769         {  0, "t84Unrestricted" },
6770         {  1, "t84Restricted" },
6771         {  0, NULL }
6772 };
6773 static per_choice_t T84Profile_choice[] = {
6774         {  0, "t84Unrestricted", ASN1_NO_EXTENSIONS,
6775                         dissect_h245_NULL },
6776         {  1, "t84Restricted", ASN1_NO_EXTENSIONS,
6777                         dissect_h245_T84Profile_t84Restricted },
6778         {  0, NULL, 0, NULL }
6779 };
6780 static int
6781 dissect_h245_T84Profile(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6782 {
6783         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_T84Profile, ett_h245_T84Profile, T84Profile_choice, "T84Profile", NULL);
6784
6785         return offset;
6786 }
6787
6788
6789
6790
6791
6792 static const true_false_string tfs_fillBitRemoval_bit = {
6793         "fillBitRemoval bit is SET",
6794         "fillBitRemoval bit is CLEAR"
6795 };
6796 static int
6797 dissect_h245_fillBitRemoval(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6798 {
6799         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fillBitRemoval, NULL, NULL);
6800
6801         return offset;
6802 }
6803
6804
6805
6806
6807
6808 static const true_false_string tfs_transcodingJBIG_bit = {
6809         "transcodingJBIG bit is SET",
6810         "transcodingJBIG bit is CLEAR"
6811 };
6812 static int
6813 dissect_h245_transcodingJBIG(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6814 {
6815         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_transcodingJBIG, NULL, NULL);
6816
6817         return offset;
6818 }
6819
6820
6821
6822
6823
6824 static const true_false_string tfs_transcodingMMR_bit = {
6825         "transcodingMMR bit is SET",
6826         "transcodingMMR bit is CLEAR"
6827 };
6828 static int
6829 dissect_h245_transcodingMMR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6830 {
6831         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_transcodingMMR, NULL, NULL);
6832
6833         return offset;
6834 }
6835
6836
6837
6838
6839
6840 static const true_false_string tfs_t38TCPBidirectionalMode_bit = {
6841         "t38TCPBidirectionalMode bit is SET",
6842         "t38TCPBidirectionalMode bit is CLEAR"
6843 };
6844 static int
6845 dissect_h245_t38TCPBidirectionalMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6846 {
6847         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_t38TCPBidirectionalMode, NULL, NULL);
6848
6849         return offset;
6850 }
6851
6852
6853
6854 static per_sequence_t T38FaxTcpOptions_sequence[] = {
6855         { "t38TCPBidirectionalMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6856                 dissect_h245_t38TCPBidirectionalMode },
6857         { NULL, 0, 0, NULL }
6858 };
6859 static int
6860 dissect_h245_T38FaxTcpOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6861 {
6862         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_T38FaxTcpOptions, ett_h245_T38FaxTcpOptions, T38FaxTcpOptions_sequence);
6863
6864         return offset;
6865 }
6866
6867
6868
6869
6870
6871 static const true_false_string tfs_chairControlCapability_bit = {
6872         "chairControlCapability bit is SET",
6873         "chairControlCapability bit is CLEAR"
6874 };
6875 static int
6876 dissect_h245_chairControlCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6877 {
6878         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_chairControlCapability, NULL, NULL);
6879
6880         return offset;
6881 }
6882
6883
6884
6885
6886
6887
6888 static const true_false_string tfs_videoIndicateMixingCapability_bit = {
6889         "videoIndicateMixingCapability bit is SET",
6890         "videoIndicateMixingCapability bit is CLEAR"
6891 };
6892 static int
6893 dissect_h245_videoIndicateMixingCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6894 {
6895         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoIndicateMixingCapability, NULL, NULL);
6896
6897         return offset;
6898 }
6899
6900
6901
6902
6903
6904 static const true_false_string tfs_multipointVisualizationCapability_bit = {
6905         "multipointVisualizationCapability bit is SET",
6906         "multipointVisualizationCapability bit is CLEAR"
6907 };
6908 static int
6909 dissect_h245_multipointVisualizationCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6910 {
6911         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_multipointVisualizationCapability, NULL, NULL);
6912
6913         return offset;
6914 }
6915
6916
6917
6918
6919
6920 static const true_false_string tfs_controlOnMuxStream_bit = {
6921         "controlOnMuxStream bit is SET",
6922         "controlOnMuxStream bit is CLEAR"
6923 };
6924 static int
6925 dissect_h245_controlOnMuxStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6926 {
6927         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_controlOnMuxStream, NULL, NULL);
6928
6929         return offset;
6930 }
6931
6932
6933
6934
6935
6936 static const true_false_string tfs_redundancyEncoding_bool_bit = {
6937         "redundancyEncoding_bool bit is SET",
6938         "redundancyEncoding_bool bit is CLEAR"
6939 };
6940 static int
6941 dissect_h245_redundancyEncoding_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6942 {
6943         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_redundancyEncoding_bool, NULL, NULL);
6944
6945         return offset;
6946 }
6947
6948
6949
6950
6951
6952 static const true_false_string tfs_separatePort_bit = {
6953         "separatePort bit is SET",
6954         "separatePort bit is CLEAR"
6955 };
6956 static int
6957 dissect_h245_separatePort(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6958 {
6959         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_separatePort, NULL, NULL);
6960
6961         return offset;
6962 }
6963
6964
6965
6966
6967
6968 static const true_false_string tfs_samePort_bool_bit = {
6969         "samePort_bool bit is SET",
6970         "samePort_bool bit is CLEAR"
6971 };
6972 static int
6973 dissect_h245_samePort_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6974 {
6975         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_samePort_bool, NULL, NULL);
6976
6977         return offset;
6978 }
6979
6980
6981
6982
6983 static per_sequence_t FECCapability_rfc2733_separateStream_sequence[] = {
6984         { "separatePort", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6985                 dissect_h245_separatePort },
6986         { "samePort", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6987                 dissect_h245_samePort_bool },
6988         { NULL, 0, 0, NULL }
6989 };
6990 static int
6991 dissect_h245_FECCapability_rfc2733_separateStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6992 {
6993         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FECCapability_rfc2733_separateStream, ett_h245_FECCapability_rfc2733_separateStream, FECCapability_rfc2733_separateStream_sequence);
6994
6995         return offset;
6996 }
6997
6998
6999
7000 static per_sequence_t FECCapability_rfc2733_sequence[] = {
7001         { "redundancyEncoding", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7002                 dissect_h245_redundancyEncoding_bool },
7003         { "separateStream", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7004                 dissect_h245_FECCapability_rfc2733_separateStream },
7005         { NULL, 0, 0, NULL }
7006 };
7007 static int
7008 dissect_h245_FECCapability_rfc2733(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7009 {
7010         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FECCapability_rfc2733, ett_h245_FECCapability_rfc2733, FECCapability_rfc2733_sequence);
7011
7012         return offset;
7013 }
7014
7015
7016
7017
7018 static const value_string FECCapability_vals[] = {
7019         {  0, "rfc2733" },
7020         {  0, NULL }
7021 };
7022 static per_choice_t FECCapability_choice[] = {
7023         {  0, "rfc2733", ASN1_EXTENSION_ROOT,
7024                 dissect_h245_FECCapability_rfc2733 },
7025         {  0, NULL, 0, NULL }
7026 };
7027 static int
7028 dissect_h245_FECCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7029 {
7030         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FECCapability, ett_h245_FECCapability, FECCapability_choice, "FECCapability", NULL);
7031
7032         return offset;
7033 }
7034
7035
7036
7037
7038 static const true_false_string tfs_associateConference_bit = {
7039         "associateConference bit is SET",
7040         "associateConference bit is CLEAR"
7041 };
7042 static int
7043 dissect_h245_associateConference(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7044 {
7045         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_associateConference, NULL, NULL);
7046
7047         return offset;
7048 }
7049
7050
7051
7052
7053
7054 static const true_false_string tfs_audioHeaderPresent_bit = {
7055         "audioHeaderPresent bit is SET",
7056         "audioHeaderPresent bit is CLEAR"
7057 };
7058 static int
7059 dissect_h245_audioHeaderPresent(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7060 {
7061         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioHeaderPresent, NULL, NULL);
7062
7063         return offset;
7064 }
7065
7066
7067
7068
7069 static per_sequence_t V75Parameters_sequence[] = {
7070         { "audioHeaderPresent", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7071                 dissect_h245_audioHeaderPresent },
7072         { NULL, 0, 0, NULL }
7073 };
7074 static int
7075 dissect_h245_V75Parameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7076 {
7077         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V75Parameters, ett_h245_V75Parameters, V75Parameters_sequence);
7078
7079         return offset;
7080 }
7081
7082
7083
7084
7085
7086
7087 static const true_false_string tfs_segmentableFlag_bit = {
7088         "segmentableFlag bit is SET",
7089         "segmentableFlag bit is CLEAR"
7090 };
7091 static int
7092 dissect_h245_segmentableFlag(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7093 {
7094         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_segmentableFlag, NULL, NULL);
7095
7096         return offset;
7097 }
7098
7099
7100
7101
7102
7103 static const true_false_string tfs_alsduSplitting_bit = {
7104         "alsduSplitting bit is SET",
7105         "alsduSplitting bit is CLEAR"
7106 };
7107 static int
7108 dissect_h245_alsduSplitting(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7109 {
7110         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_alsduSplitting, NULL, NULL);
7111
7112         return offset;
7113 }
7114
7115
7116
7117
7118
7119 static const true_false_string tfs_uIH_bit = {
7120         "uIH bit is SET",
7121         "uIH bit is CLEAR"
7122 };
7123 static int
7124 dissect_h245_uIH(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7125 {
7126         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_uIH, NULL, NULL);
7127
7128         return offset;
7129 }
7130
7131
7132
7133
7134
7135
7136 static const true_false_string tfs_loopbackTestProcedure_bit = {
7137         "loopbackTestProcedure bit is SET",
7138         "loopbackTestProcedure bit is CLEAR"
7139 };
7140 static int
7141 dissect_h245_loopbackTestProcedure(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7142 {
7143         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_loopbackTestProcedure, NULL, NULL);
7144
7145         return offset;
7146 }
7147
7148
7149
7150
7151
7152
7153 static const true_false_string tfs_mediaGuaranteedDelivery_bit = {
7154         "mediaGuaranteedDelivery bit is SET",
7155         "mediaGuaranteedDelivery bit is CLEAR"
7156 };
7157 static int
7158 dissect_h245_mediaGuaranteedDelivery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7159 {
7160         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_mediaGuaranteedDelivery, NULL, NULL);
7161
7162         return offset;
7163 }
7164
7165
7166
7167
7168
7169
7170 static const true_false_string tfs_mediaControlGuaranteedDelivery_bit = {
7171         "mediaControlGuaranteedDelivery bit is SET",
7172         "mediaControlGuaranteedDelivery bit is CLEAR"
7173 };
7174 static int
7175 dissect_h245_mediaControlGuaranteedDelivery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7176 {
7177         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_mediaControlGuaranteedDelivery, NULL, NULL);
7178
7179         return offset;
7180 }
7181
7182
7183
7184
7185
7186
7187 static const true_false_string tfs_flowControlToZero_bit = {
7188         "flowControlToZero bit is SET",
7189         "flowControlToZero bit is CLEAR"
7190 };
7191 static int
7192 dissect_h245_flowControlToZero(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7193 {
7194         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_flowControlToZero, NULL, NULL);
7195
7196         return offset;
7197 }
7198
7199
7200
7201
7202
7203
7204 static const true_false_string tfs_multiplexCapability_bool_bit = {
7205         "multiplexCapability_bool bit is SET",
7206         "multiplexCapability_bool bit is CLEAR"
7207 };
7208 static int
7209 dissect_h245_multiplexCapability_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7210 {
7211         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_multiplexCapability_bool, NULL, NULL);
7212
7213         return offset;
7214 }
7215
7216
7217
7218
7219
7220 static const true_false_string tfs_secureChannel_bit = {
7221         "secureChannel bit is SET",
7222         "secureChannel bit is CLEAR"
7223 };
7224 static int
7225 dissect_h245_secureChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7226 {
7227         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_secureChannel, NULL, NULL);
7228
7229         return offset;
7230 }
7231
7232
7233
7234
7235
7236 static const true_false_string tfs_sharedSecret_bit = {
7237         "sharedSecret bit is SET",
7238         "sharedSecret bit is CLEAR"
7239 };
7240 static int
7241 dissect_h245_sharedSecret(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7242 {
7243         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_sharedSecret, NULL, NULL);
7244
7245         return offset;
7246 }
7247
7248
7249
7250
7251
7252 static const true_false_string tfs_certProtectedKey_bit = {
7253         "certProtectedKey bit is SET",
7254         "certProtectedKey bit is CLEAR"
7255 };
7256 static int
7257 dissect_h245_certProtectedKey(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7258 {
7259         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_certProtectedKey, NULL, NULL);
7260
7261         return offset;
7262 }
7263
7264
7265
7266 static per_sequence_t KeyProtectionMethod_sequence[] = {
7267         { "secureChannel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7268                 dissect_h245_secureChannel },
7269         { "sharedSecret", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7270                 dissect_h245_sharedSecret },
7271         { "certProtectedKey", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7272                 dissect_h245_certProtectedKey },
7273         { NULL, 0, 0, NULL }
7274 };
7275 static int
7276 dissect_h245_KeyProtectionMethod(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7277 {
7278         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_KeyProtectionMethod, ett_h245_KeyProtectionMethod, KeyProtectionMethod_sequence);
7279
7280         return offset;
7281 }
7282
7283
7284
7285 static per_sequence_t EncryptionUpdateRequest_sequence[] = {
7286         { "keyProtectionMethod", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7287                 dissect_h245_KeyProtectionMethod },
7288         { NULL, 0, 0, NULL }
7289 };
7290 static int
7291 dissect_h245_EncryptionUpdateRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7292 {
7293         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EncryptionUpdateRequest, ett_h245_EncryptionUpdateRequest, EncryptionUpdateRequest_sequence);
7294
7295         return offset;
7296 }
7297
7298
7299
7300
7301
7302 static const true_false_string tfs_bitRateLockedToPCRClock_bit = {
7303         "bitRateLockedToPCRClock bit is SET",
7304         "bitRateLockedToPCRClock bit is CLEAR"
7305 };
7306 static int
7307 dissect_h245_bitRateLockedToPCRClock(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7308 {
7309         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_bitRateLockedToPCRClock, NULL, NULL);
7310
7311         return offset;
7312 }
7313
7314
7315
7316
7317
7318
7319 static const true_false_string tfs_bitRateLockedToNetworkClock_bit = {
7320         "bitRateLockedToNetworkClock bit is SET",
7321         "bitRateLockedToNetworkClock bit is CLEAR"
7322 };
7323 static int
7324 dissect_h245_bitRateLockedToNetworkClock(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7325 {
7326         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_bitRateLockedToNetworkClock, NULL, NULL);
7327
7328         return offset;
7329 }
7330
7331
7332
7333 static int
7334 dissect_h245_IS11172_BitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7335 {
7336         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7337                 tree, hf_h245_IS11172_BitRate, 1, 448,
7338                 NULL, NULL, FALSE);
7339
7340         return offset;
7341 }
7342
7343
7344
7345
7346 static int
7347 dissect_h245_IS13818_BitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7348 {
7349         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7350                 tree, hf_h245_IS13818_BitRate, 1, 1130,
7351                 NULL, NULL, FALSE);
7352
7353         return offset;
7354 }
7355
7356
7357
7358 static per_sequence_t IS11172AudioCapability_sequence[] = {
7359         { "audioLayer1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7360                 dissect_h245_audioLayer1 },
7361         { "audioLayer2", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7362                 dissect_h245_audioLayer2 },
7363         { "audioLayer3", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7364                 dissect_h245_audioLayer3 },
7365         { "audioSampling32k", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7366                 dissect_h245_audioSampling32k },
7367         { "audioSampling44k1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7368                 dissect_h245_audioSampling44k1 },
7369         { "audioSampling48k", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7370                 dissect_h245_audioSampling48k },
7371         { "singleChannel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7372                 dissect_h245_singleChannel },
7373         { "twoChannels", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7374                 dissect_h245_twoChannels },
7375         { "bitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7376                 dissect_h245_IS11172_BitRate },
7377         { NULL, 0, 0, NULL }
7378 };
7379 static int
7380 dissect_h245_IS11172AudioCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7381 {
7382         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS11172AudioCapability, ett_h245_IS11172AudioCapability, IS11172AudioCapability_sequence);
7383
7384         return offset;
7385 }
7386
7387
7388
7389 static per_sequence_t IS11172AudioMode_sequence[] = {
7390         { "audioLayer", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7391                 dissect_h245_IS11172AudioMode_audioLayer },
7392         { "audioSampling", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7393                 dissect_h245_IS11172AudioMode_audioSampling },
7394         { "multichannelType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7395                 dissect_h245_IS11172AudioMode_multichannelType },
7396         { "bitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7397                 dissect_h245_IS11172_BitRate },
7398         { NULL, 0, 0, NULL }
7399 };
7400 static int
7401 dissect_h245_IS11172AudioMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7402 {
7403         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS11172AudioMode, ett_h245_IS11172AudioMode, IS11172AudioMode_sequence);
7404
7405         return offset;
7406 }
7407
7408
7409
7410 static per_sequence_t IS13818AudioMode_sequence[] = {
7411         { "audioLayer", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7412                         dissect_h245_IS13818AudioMode_audioLayer },
7413         { "audioSampling", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7414                         dissect_h245_IS13818AudioMode_audioSampling },
7415         { "multiChannelType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7416                         dissect_h245_IS13818AudioMode_multiChannelType },
7417         { "lowFrequencyEnhancement", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7418                         dissect_h245_lowFrequencyEnhancement },
7419         { "multilingual", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7420                         dissect_h245_multilingual },
7421         { "bitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7422                         dissect_h245_IS13818_BitRate },
7423         { NULL, 0, 0, NULL }
7424 };
7425 static int
7426 dissect_h245_IS13818AudioMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7427 {
7428         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS13818AudioMode, ett_h245_IS13818AudioMode, IS13818AudioMode_sequence);
7429
7430         return offset;
7431 }
7432
7433
7434
7435
7436 static per_sequence_t IS13818AudioCapability_sequence[] = {
7437         { "audioLayer1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7438                 dissect_h245_audioLayer1 },
7439         { "audioLayer2", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7440                 dissect_h245_audioLayer2 },
7441         { "audioLayer3", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7442                 dissect_h245_audioLayer3 },
7443         { "audioSampling16k", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7444                 dissect_h245_audioSampling16k },
7445         { "audioSampling22k05", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7446                 dissect_h245_audioSampling22k05 },
7447         { "audioSampling24k", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7448                 dissect_h245_audioSampling24k },
7449         { "audioSampling32k", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7450                 dissect_h245_audioSampling32k },
7451         { "audioSampling44k1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7452                 dissect_h245_audioSampling44k1 },
7453         { "audioSampling48k", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7454                 dissect_h245_audioSampling48k },
7455         { "singleChannel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7456                 dissect_h245_singleChannel },
7457         { "twoChannels", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7458                 dissect_h245_twoChannels },
7459         { "threeChannels2-1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7460                 dissect_h245_threeChannels21 },
7461         { "threeChannels3-0", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7462                 dissect_h245_threeChannels30 },
7463         { "fourChannels2-0-2-0", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7464                 dissect_h245_fourChannels2020 },
7465         { "fourChannels2-2", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7466                 dissect_h245_fourChannels22 },
7467         { "fourChannels3-1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7468                 dissect_h245_fourChannels31 },
7469         { "fiveChannels3-0-2-0", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7470                 dissect_h245_fiveChannels3020 },
7471         { "fiveChannels3-2", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7472                 dissect_h245_fiveChannels32 },
7473         { "lowFrequencyEnhancement", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7474                 dissect_h245_lowFrequencyEnhancement },
7475         { "multilingual", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7476                 dissect_h245_multilingual },
7477         { "bitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7478                 dissect_h245_IS13818_BitRate },
7479         { NULL, 0, 0, NULL }
7480 };
7481 static int
7482 dissect_h245_IS13818AudioCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7483 {
7484         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS13818AudioCapability, ett_h245_IS13818AudioCapability, IS13818AudioCapability_sequence);
7485
7486         return offset;
7487 }
7488
7489
7490
7491
7492 static int
7493 dissect_h245_ATM_BitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7494 {
7495         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7496                 tree, hf_h245_ATM_BitRate, 1, 65535,
7497                 NULL, NULL, FALSE);
7498
7499         return offset;
7500 }
7501
7502
7503
7504
7505 static per_sequence_t NewATMVCIndication_reverseParameters_sequence[] = {
7506         { "bitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7507                 dissect_h245_ATM_BitRate },
7508         { "bitRateLockedToPCRClock", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7509                 dissect_h245_bitRateLockedToPCRClock },
7510         { "bitRateLockedToNetworkClock", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7511                 dissect_h245_bitRateLockedToNetworkClock },
7512         { "multiplex", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7513                 dissect_h245_NewATMVCIndication_reverseParameters_multiplex },
7514         { NULL, 0, 0, NULL }
7515 };
7516 static int
7517 dissect_h245_NewATMVCIndication_reverseParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7518 {
7519         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_reverseParameters, ett_h245_NewATMVCIndication_reverseParameters, NewATMVCIndication_reverseParameters_sequence);
7520
7521         return offset;
7522 }
7523
7524
7525
7526 static per_sequence_t NewATMVCCommand_reverseParameters_sequence[] = {
7527         { "bitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7528                 dissect_h245_ATM_BitRate },
7529         { "bitRateLockedToPCRClock", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7530                 dissect_h245_bitRateLockedToPCRClock },
7531         { "bitRateLockedToNetworkClock", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7532                 dissect_h245_bitRateLockedToNetworkClock },
7533         { "multiplex", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7534                 dissect_h245_NewATMVCCommand_reverseParameters_multiplex },
7535         { NULL, 0, 0, NULL }
7536 };
7537 static int
7538 dissect_h245_NewATMVCCommand_reverseParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7539 {
7540         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_reverseParameters, ett_h245_NewATMVCCommand_reverseParameters, NewATMVCCommand_reverseParameters_sequence);
7541
7542         return offset;
7543 }
7544
7545 static int
7546 dissect_h245_t35CountryCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7547 {
7548         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7549                 tree, hf_h245_t35CountryCode, 0, 255,
7550                 &t35CountryCode, NULL, FALSE);
7551
7552         return offset;
7553 }
7554
7555
7556 static int
7557 dissect_h245_t35Extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7558 {
7559         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7560                 tree, hf_h245_t35Extension, 0, 255,
7561                 &t35Extension, NULL, FALSE);
7562
7563         return offset;
7564 }
7565
7566
7567
7568 static int
7569 dissect_h245_manufacturerCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7570 {
7571         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7572                 tree, hf_h245_manufacturerCode, 0, 65535,
7573                 &manufacturerCode, NULL, FALSE);
7574
7575         return offset;
7576 }
7577
7578
7579 /* dissect_h245_h221NonStandard is used for H.245 */
7580
7581 static per_sequence_t h221NonStandard_sequence[] = {
7582         { "t35CountryCode", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
7583                 dissect_h245_t35CountryCode },
7584         { "t35Extension", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
7585                 dissect_h245_t35Extension },
7586         { "manufacturerCode", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
7587                 dissect_h245_manufacturerCode },
7588         { NULL, 0, 0, NULL }
7589 };
7590 int
7591 dissect_h245_h221NonStandard(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7592 {
7593         t35CountryCode = 0;
7594         t35Extension = 0;
7595         manufacturerCode = 0;
7596
7597         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_h221NonStandard, ett_h245_h221NonStandard, h221NonStandard_sequence);
7598
7599         h221NonStandard = ((t35CountryCode * 256) + t35Extension) * 65536 + manufacturerCode;
7600
7601         proto_tree_add_uint(tree, hf_h245_h221Manufacturer, tvb, (offset-3)>>3,4,h221NonStandard);
7602
7603         return offset;
7604 }
7605
7606 static int
7607 dissect_h245_terminalType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7608 {
7609         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7610                 tree, hf_h245_terminalType, 0, 255,
7611                 NULL, NULL, FALSE);
7612
7613         return offset;
7614 }
7615
7616 static int
7617 dissect_h245_statusDeterminationNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7618 {
7619         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7620                 tree, hf_h245_statusDeterminationNumber, 0, 16777215,
7621                 NULL, NULL, FALSE);
7622
7623         return offset;
7624 }
7625
7626
7627
7628 static per_sequence_t MasterSlaveDetermination_sequence[] = {
7629         { "terminalType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7630                 dissect_h245_terminalType },
7631         { "statusDeterminationNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7632                 dissect_h245_statusDeterminationNumber },
7633         { NULL, 0, 0, NULL }
7634 };
7635 static int
7636 dissect_h245_MasterSlaveDetermination(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7637 {
7638         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDetermination, ett_h245_MasterSlaveDetermination, MasterSlaveDetermination_sequence);
7639
7640         return offset;
7641 }
7642
7643
7644
7645
7646 static int
7647 dissect_h245_CapabilityTableEntryNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7648 {
7649         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7650                 tree, hf_h245_CapabilityTableEntryNumber, 1, 65535,
7651                 NULL, NULL, FALSE);
7652
7653         return offset;
7654 }
7655
7656
7657
7658 static const value_string TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded_vals[] = {
7659         {  0, "highestEntryNumberProcessed" },
7660         {  1, "noneProcessed" },
7661         {  0, NULL }
7662 };
7663 static per_choice_t TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded_choice[] = {
7664         {  0, "highestEntryNumberProcessed", ASN1_NO_EXTENSIONS,
7665                         dissect_h245_CapabilityTableEntryNumber },
7666         {  1, "noneProcessed", ASN1_NO_EXTENSIONS,
7667                         dissect_h245_NULL },
7668         {  0, NULL, 0, NULL }
7669 };
7670 static int
7671 dissect_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7672 {
7673         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded, ett_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded, TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded_choice, "tableEntryCapacityExceeded", NULL);
7674
7675         return offset;
7676 }
7677
7678
7679
7680
7681
7682 static const value_string TerminalCapabilitySetReject_cause_vals[] = {
7683         {  0, "unspecified" },
7684         {  1, "undefinedTableEntryUsed" },
7685         {  2, "descriptorCapacityExceeded" },
7686         {  3, "tableEntryCapacityExceeded" },
7687         {  0, NULL }
7688 };
7689 static per_choice_t TerminalCapabilitySetReject_cause_choice[] = {
7690         {  0, "unspecified", ASN1_EXTENSION_ROOT,
7691                         dissect_h245_NULL },
7692         {  1, "undefinedTableEntryUsed", ASN1_EXTENSION_ROOT,
7693                         dissect_h245_NULL },
7694         {  2, "descriptorCapacityExceeded", ASN1_EXTENSION_ROOT,
7695                         dissect_h245_NULL },
7696         {  3, "tableEntryCapacityExceeded", ASN1_EXTENSION_ROOT,
7697                         dissect_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded },
7698         {  0, NULL, 0, NULL }
7699 };
7700 static int
7701 dissect_h245_TerminalCapabilitySetReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7702 {
7703         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySetReject_cause, ett_h245_TerminalCapabilitySetReject_cause, TerminalCapabilitySetReject_cause_choice, "cause", NULL);
7704
7705         return offset;
7706 }
7707
7708
7709
7710 static per_sequence_t TerminalCapabilitySetReject_sequence[] = {
7711         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7712                         dissect_h245_SequenceNumber },
7713         { "cause", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7714                         dissect_h245_TerminalCapabilitySetReject_cause },
7715         { NULL, 0, 0, NULL }
7716 };
7717 static int
7718 dissect_h245_TerminalCapabilitySetReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7719 {
7720         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySetReject, ett_h245_TerminalCapabilitySetReject, TerminalCapabilitySetReject_sequence);
7721
7722         return offset;
7723 }
7724
7725
7726
7727
7728
7729 static int
7730 dissect_h245_CapabilityDescriptorNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7731 {
7732         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7733                 tree, hf_h245_CapabilityDescriptorNumber, 0, 255,
7734                 NULL, NULL, FALSE);
7735
7736         return offset;
7737 }
7738
7739
7740
7741
7742 static int
7743 dissect_h245_h233IVResponseTime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7744 {
7745         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7746                 tree, hf_h245_h233IVResponseTime, 0, 255,
7747                 NULL, NULL, FALSE);
7748
7749         return offset;
7750 }
7751
7752
7753
7754
7755 static per_sequence_t Capability_h233EncryptionReceiveCapability_sequence[] = {
7756         { "h233IVResponseTime", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7757                         dissect_h245_h233IVResponseTime },
7758         { NULL, 0, 0, NULL }
7759 };
7760 static int
7761 dissect_h245_Capability_h233EncryptionReceiveCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7762 {
7763         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_Capability_h233EncryptionReceiveCapability, ett_h245_Capability_h233EncryptionReceiveCapability, Capability_h233EncryptionReceiveCapability_sequence);
7764
7765         return offset;
7766 }
7767
7768
7769
7770
7771
7772 static int
7773 dissect_h245_maxPendingReplacementFor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7774 {
7775         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7776                 tree, hf_h245_maxPendingReplacementFor, 0, 255,
7777                 NULL, NULL, FALSE);
7778
7779         return offset;
7780 }
7781
7782
7783
7784
7785 static int
7786 dissect_h245_numberOfVCs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7787 {
7788         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7789                 tree, hf_h245_numberOfVCs, 1, 256,
7790                 NULL, NULL, FALSE);
7791
7792         return offset;
7793 }
7794
7795
7796
7797
7798
7799 static int
7800 dissect_h245_forwardMaximumSDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7801 {
7802         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7803                 tree, hf_h245_forwardMaximumSDUSize, 0, 65535,
7804                 NULL, NULL, FALSE);
7805
7806         return offset;
7807 }
7808
7809
7810
7811
7812 static int
7813 dissect_h245_backwardMaximumSDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7814 {
7815         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7816                 tree, hf_h245_backwardMaximumSDUSize, 0, 65535,
7817                 NULL, NULL, FALSE);
7818
7819         return offset;
7820 }
7821
7822
7823
7824
7825
7826 static per_sequence_t VCCapability_aal5_sequence[] = {
7827         { "forwardMaximumSDUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7828                 dissect_h245_forwardMaximumSDUSize },
7829         { "backwardMaximumSDUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7830                 dissect_h245_backwardMaximumSDUSize },
7831         { NULL, 0, 0, NULL }
7832 };
7833 static int
7834 dissect_h245_VCCapability_aal5(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7835 {
7836         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability_aal5, ett_h245_VCCapability_aal5, VCCapability_aal5_sequence);
7837
7838         return offset;
7839 }
7840
7841
7842
7843 static per_sequence_t NewATMVCCommand_aal_aal5_sequence[] = {
7844         { "forwardMaximumSDUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7845                 dissect_h245_forwardMaximumSDUSize},
7846         { "backwardMaximumSDUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7847                 dissect_h245_backwardMaximumSDUSize },
7848         { NULL, 0, 0, NULL }
7849 };
7850 static int
7851 dissect_h245_NewATMVCCommand_aal_aal5(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7852 {
7853         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_aal_aal5, ett_h245_NewATMVCCommand_aal_aal5, NewATMVCCommand_aal_aal5_sequence);
7854
7855         return offset;
7856 }
7857
7858
7859
7860
7861
7862 static const value_string NewATMVCCommand_aal_vals[] = {
7863         {  0, "aal1" },
7864         {  1, "aal5" },
7865         {  0, NULL }
7866 };
7867 static per_choice_t NewATMVCCommand_aal_choice[] = {
7868         {  0, "aal1", ASN1_EXTENSION_ROOT,
7869                 dissect_h245_NewATMVCCommand_aal_aal1 },
7870         {  1, "aal5", ASN1_EXTENSION_ROOT,
7871                 dissect_h245_NewATMVCCommand_aal_aal5 },
7872         {  0, NULL, 0, NULL }
7873 };
7874 static int
7875 dissect_h245_NewATMVCCommand_aal(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7876 {
7877         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_aal, ett_h245_NewATMVCCommand_aal, NewATMVCCommand_aal_choice, "aal", NULL);
7878
7879         return offset;
7880 }
7881
7882
7883
7884
7885 static per_sequence_t NewATMVCIndication_aal_aal5_sequence[] = {
7886         { "forwardMaximumSDUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7887                 dissect_h245_forwardMaximumSDUSize },
7888         { "backwardMaximumSDUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7889                 dissect_h245_backwardMaximumSDUSize },
7890         { NULL, 0, 0, NULL }
7891 };
7892 static int
7893 dissect_h245_NewATMVCIndication_aal_aal5(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7894 {
7895         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_aal_aal5, ett_h245_NewATMVCIndication_aal_aal5, NewATMVCIndication_aal_aal5_sequence);
7896
7897         return offset;
7898 }
7899
7900
7901
7902
7903 static const value_string NewATMVCIndication_aal_vals[] = {
7904         {  0, "aal1" },
7905         {  1, "aal5" },
7906         {  0, NULL }
7907 };
7908 static per_choice_t NewATMVCIndication_aal_choice[] = {
7909         {  0, "aal1", ASN1_EXTENSION_ROOT,
7910                 dissect_h245_NewATMVCIndication_aal_aal1 },
7911         {  1, "aal5", ASN1_EXTENSION_ROOT,
7912                 dissect_h245_NewATMVCIndication_aal_aal5 },
7913         {  0, NULL, 0, NULL }
7914 };
7915 static int
7916 dissect_h245_NewATMVCIndication_aal(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7917 {
7918         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_aal, ett_h245_NewATMVCIndication_aal, NewATMVCIndication_aal_choice, "aal", NULL);
7919
7920         return offset;
7921 }
7922
7923
7924
7925
7926 static int
7927 dissect_h245_singleBitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7928 {
7929         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7930                 tree, hf_h245_singleBitRate, 1, 65535,
7931                 NULL, NULL, FALSE);
7932
7933         return offset;
7934 }
7935
7936
7937
7938
7939 static int
7940 dissect_h245_lowerBitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7941 {
7942         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7943                 tree, hf_h245_lowerBitRate, 1, 65535,
7944                 NULL, NULL, FALSE);
7945
7946         return offset;
7947 }
7948
7949
7950
7951 static int
7952 dissect_h245_higherBitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7953 {
7954         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7955                 tree, hf_h245_higherBitRate, 1, 65535,
7956                 NULL, NULL, FALSE);
7957
7958         return offset;
7959 }
7960
7961
7962
7963
7964
7965 static per_sequence_t VCCapability_availableBitRates_rangeOfBitRates_sequence[] = {
7966         { "lowerBitRate", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
7967                         dissect_h245_lowerBitRate },
7968         { "higherBitRate", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
7969                         dissect_h245_higherBitRate },
7970         { NULL, 0, 0, NULL }
7971 };
7972 static int
7973 dissect_h245_VCCapability_availableBitRates_rangeOfBitRates(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7974 {
7975         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability_availableBitRates_rangeOfBitRates, ett_h245_VCCapability_availableBitRates_rangeOfBitRates, VCCapability_availableBitRates_rangeOfBitRates_sequence);
7976
7977         return offset;
7978 }
7979
7980
7981
7982
7983 static const value_string VCCapability_availableBitRates_type_vals[] = {
7984         {  0, "singleBitRate" },
7985         {  1, "rangeOfBitRates" },
7986         {  0, NULL }
7987 };
7988 static per_choice_t VCCapability_availableBitRates_type_choice[] = {
7989         {  0, "singleBitRate", ASN1_NO_EXTENSIONS,
7990                         dissect_h245_singleBitRate },
7991         {  1, "rangeOfBitRates", ASN1_NO_EXTENSIONS,
7992                         dissect_h245_VCCapability_availableBitRates_rangeOfBitRates },
7993         {  0, NULL, 0, NULL }
7994 };
7995 static int
7996 dissect_h245_VCCapability_availableBitRates_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7997 {
7998         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_VCCapability_availableBitRates_type, ett_h245_VCCapability_availableBitRates_type, VCCapability_availableBitRates_type_choice, "type", NULL);
7999
8000         return offset;
8001 }
8002
8003
8004
8005 static int
8006 dissect_h245_maximumAl2SDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8007 {
8008         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8009                 tree, hf_h245_maximumAl2SDUSize, 0, 65535,
8010                 NULL, NULL, FALSE);
8011
8012         return offset;
8013 }
8014
8015
8016
8017
8018 static int
8019 dissect_h245_maximumAl3SDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8020 {
8021         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8022                 tree, hf_h245_maximumAl3SDUSize, 0, 65535,
8023                 NULL, NULL, FALSE);
8024
8025         return offset;
8026 }
8027
8028
8029
8030
8031 static int
8032 dissect_h245_maximumDelayJitter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8033 {
8034         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8035                 tree, hf_h245_maximumDelayJitter, 0, 1023,
8036                 NULL, NULL, FALSE);
8037
8038         return offset;
8039 }
8040
8041
8042
8043 static int
8044 dissect_h245_maximumNestingDepth(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8045 {
8046         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8047                 tree, hf_h245_maximumNestingDepth, 1, 15,
8048                 NULL, NULL, FALSE);
8049
8050         return offset;
8051 }
8052
8053
8054
8055 static int
8056 dissect_h245_maximumElementListSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8057 {
8058         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8059                 tree, hf_h245_maximumElementListSize, 2, 255,
8060                 NULL, NULL, FALSE);
8061
8062         return offset;
8063 }
8064
8065
8066
8067 static int
8068 dissect_h245_maximumSubElementListSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8069 {
8070         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8071                 tree, hf_h245_maximumSubElementListSize, 2, 255,
8072                 NULL, NULL, FALSE);
8073
8074         return offset;
8075 }
8076
8077
8078
8079 static per_sequence_t H223Capability_h223MultiplexTableCapability_enhanced_sequence[] = {
8080         { "maximumNestingDepth", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8081                         dissect_h245_maximumNestingDepth },
8082         { "maximumElementListSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8083                         dissect_h245_maximumElementListSize },
8084         { "maximumSubElementListSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8085                         dissect_h245_maximumSubElementListSize },
8086         { NULL, 0, 0, NULL }
8087 };
8088 static int
8089 dissect_h245_H223Capability_h223MultiplexTableCapability_enhanced(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8090 {
8091         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223Capability_h223MultiplexTableCapability_enhanced, ett_h245_H223Capability_h223MultiplexTableCapability_enhanced, H223Capability_h223MultiplexTableCapability_enhanced_sequence);
8092
8093         return offset;
8094 }
8095
8096
8097
8098
8099 static const value_string H223Capability_h223MultiplexTableCapability_vals[] = {
8100         {  0, "basic" },
8101         {  1, "enhanced" },
8102         {  0, NULL }
8103 };
8104 static per_choice_t H223Capability_h223MultiplexTableCapability_choice[] = {
8105         {  0, "basic", ASN1_NO_EXTENSIONS,
8106                         dissect_h245_NULL },
8107         {  1, "enhanced", ASN1_NO_EXTENSIONS,
8108                         dissect_h245_H223Capability_h223MultiplexTableCapability_enhanced },
8109         {  0, NULL, 0, NULL }
8110 };
8111 static int
8112 dissect_h245_H223Capability_h223MultiplexTableCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8113 {
8114         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223Capability_h223MultiplexTableCapability, ett_h245_H223Capability_h223MultiplexTableCapability, H223Capability_h223MultiplexTableCapability_choice, "h223MultiplexTableCapability", NULL);
8115
8116         return offset;
8117 }
8118
8119
8120
8121
8122 static int
8123 dissect_h245_h223bitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8124 {
8125         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8126                 tree, hf_h245_h223bitRate, 1, 19200,
8127                 NULL, NULL, FALSE);
8128
8129         return offset;
8130 }
8131
8132
8133
8134
8135 static int
8136 dissect_h245_maximumSampleSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8137 {
8138         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8139                 tree, hf_h245_maximumSampleSize, 1, 255,
8140                 NULL, NULL, FALSE);
8141
8142         return offset;
8143 }
8144
8145
8146
8147
8148 static int
8149 dissect_h245_maximumPayloadLength(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8150 {
8151         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8152                 tree, hf_h245_maximumPayloadLength, 1, 65025,
8153                 NULL, NULL, FALSE);
8154
8155         return offset;
8156 }
8157
8158
8159
8160
8161 static per_sequence_t H223Capability_mobileMultilinkFrameCapability_sequence[] = {
8162         { "maximumSampleSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8163                         dissect_h245_maximumSampleSize },
8164         { "maximumPayloadLength", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8165                         dissect_h245_maximumPayloadLength },
8166         { NULL, 0, 0, NULL }
8167 };
8168 static int
8169 dissect_h245_H223Capability_mobileMultilinkFrameCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8170 {
8171         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223Capability_mobileMultilinkFrameCapability, ett_h245_H223Capability_mobileMultilinkFrameCapability, H223Capability_mobileMultilinkFrameCapability_sequence);
8172
8173         return offset;
8174 }
8175
8176
8177
8178
8179 static int
8180 dissect_h245_maximumAL1MPDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8181 {
8182         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8183                 tree, hf_h245_maximumAL1MPDUSize, 0, 65535,
8184                 NULL, NULL, FALSE);
8185
8186         return offset;
8187 }
8188
8189
8190
8191
8192 static int
8193 dissect_h245_maximumAL2MSDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8194 {
8195         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8196                 tree, hf_h245_maximumAL2MSDUSize, 0, 65535,
8197                 NULL, NULL, FALSE);
8198
8199         return offset;
8200 }
8201
8202
8203
8204
8205 static int
8206 dissect_h245_maximumAL3MSDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8207 {
8208         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8209                 tree, hf_h245_maximumAL3MSDUSize, 0, 65535,
8210                 NULL, NULL, FALSE);
8211
8212         return offset;
8213 }
8214
8215
8216
8217
8218
8219 static per_sequence_t H223AnnexCCapability_sequence[] = {
8220         { "videoWithAL1M", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8221                 dissect_h245_videoWithAL1M },
8222         { "videoWithAL2M", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8223                 dissect_h245_videoWithAL2M },
8224         { "videoWithAL3M", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8225                 dissect_h245_videoWithAL3M },
8226         { "audioWithAL1M", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8227                 dissect_h245_audioWithAL1M },
8228         { "audioWithAL2M", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8229                 dissect_h245_audioWithAL2M },
8230         { "audioWithAL3M", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8231                 dissect_h245_audioWithAL3M },
8232         { "dataWithAL1M", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8233                 dissect_h245_dataWithAL1M },
8234         { "dataWithAL2M", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8235                 dissect_h245_dataWithAL2M },
8236         { "dataWithAL3M", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8237                 dissect_h245_dataWithAL3M },
8238         { "alpduInterleaving", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8239                 dissect_h245_alpduInterleaving },
8240         { "maximumAL1MPDUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8241                 dissect_h245_maximumAL1MPDUSize },
8242         { "maximumAL2MSDUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8243                 dissect_h245_maximumAL2MSDUSize },
8244         { "maximumAL3MSDUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8245                 dissect_h245_maximumAL3MSDUSize },
8246         { "rsCodeCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8247                 dissect_h245_rsCodeCapability },
8248         { NULL, 0, 0, NULL }
8249 };
8250 static int
8251 dissect_h245_H223AnnexCCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8252 {
8253         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223AnnexCCapability, ett_h245_H223AnnexCCapability, H223AnnexCCapability_sequence);
8254
8255         return offset;
8256 }
8257
8258
8259
8260 static const true_false_string tfs_transportWithIframes_bit = {
8261         "transportWithIframes bit is SET",
8262         "transportWithIframes bit is CLEAR"
8263 };
8264 static int
8265 dissect_h245_transportWithIframes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8266 {
8267         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_transportWithIframes, NULL, NULL);
8268
8269         return offset;
8270 }
8271
8272
8273 static per_sequence_t H223Capability_sequence[] = {
8274         { "transportWithIframes", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8275                 dissect_h245_transportWithIframes },
8276         { "videoWithAL1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8277                 dissect_h245_videoWithAL1 },
8278         { "videoWithAL2", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8279                 dissect_h245_videoWithAL2 },
8280         { "videoWithAL3", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8281                 dissect_h245_videoWithAL3 },
8282         { "audioWithAL1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8283                 dissect_h245_audioWithAL1 },
8284         { "audioWithAL2", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8285                 dissect_h245_audioWithAL2 },
8286         { "audioWithAL3", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8287                 dissect_h245_audioWithAL3 },
8288         { "dataWithAL1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8289                 dissect_h245_dataWithAL1 },
8290         { "dataWithAL2", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8291                 dissect_h245_dataWithAL2 },
8292         { "dataWithAL3", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8293                 dissect_h245_dataWithAL3 },
8294         { "maximumAL2SDUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8295                 dissect_h245_maximumAl2SDUSize },
8296         { "maximumAL3SDUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8297                 dissect_h245_maximumAl3SDUSize },
8298         { "maximumDelayJitter", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8299                 dissect_h245_maximumDelayJitter },
8300         { "h223MultiplexTableCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8301                 dissect_h245_H223Capability_h223MultiplexTableCapability },
8302         { "maxMUXPDUSizeCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8303                 dissect_h245_maxMUXPDUSizeCapability },
8304         { "nsrpSupport", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8305                 dissect_h245_nsrpSupport },
8306         { "mobileOperationTransmitCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8307                 dissect_h245_H223Capability_mobileOperationTransmitCapability },
8308         { "h223AnnexCCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8309                 dissect_h245_H223AnnexCCapability },
8310         { "bitRate", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8311                 dissect_h245_h223bitRate },
8312         { "mobileMultilinkFrameCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8313                 dissect_h245_H223Capability_mobileMultilinkFrameCapability },
8314         { NULL, 0, 0, NULL }
8315 };
8316 static int
8317 dissect_h245_H223Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8318 {
8319         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223Capability, ett_h245_H223Capability, H223Capability_sequence);
8320
8321         return offset;
8322 }
8323
8324
8325
8326
8327 static int
8328 dissect_h245_numOfDLCS(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8329 {
8330         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8331                 tree, hf_h245_numOfDLCS, 2, 8191,
8332                 NULL, NULL, FALSE);
8333
8334         return offset;
8335 }
8336
8337
8338
8339
8340 static int
8341 dissect_h245_n401Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8342 {
8343         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8344                 tree, hf_h245_n401Capability, 1, 4095,
8345                 NULL, NULL, FALSE);
8346
8347         return offset;
8348 }
8349
8350
8351
8352
8353 static int
8354 dissect_h245_maxWindowSizeCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8355 {
8356         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8357                 tree, hf_h245_maxWindowSizeCapability, 1, 127,
8358                 NULL, NULL, FALSE);
8359
8360         return offset;
8361 }
8362
8363
8364
8365
8366 static per_sequence_t V76Capability_sequence[] = {
8367         { "suspendResumeCapabilitywAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8368                 dissect_h245_suspendResumeCapabilitywAddress },
8369         { "suspendResumeCapabilitywoAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8370                 dissect_h245_suspendResumeCapabilitywoAddress },
8371         { "rejCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8372                 dissect_h245_rejCapability },
8373         { "sREJCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8374                 dissect_h245_sREJCapability },
8375         { "mREJCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8376                 dissect_h245_mREJCapability },
8377         { "crc8bitCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8378                 dissect_h245_crc8bitCapability },
8379         { "crc16bitCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8380                 dissect_h245_crc16bitCapability },
8381         { "crc32bitCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8382                 dissect_h245_crc32bitCapability },
8383         { "uihCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8384                 dissect_h245_uihCapability },
8385         { "numOfDLCS", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8386                 dissect_h245_numOfDLCS },
8387         { "twoOctetAddressFieldCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8388                 dissect_h245_twoOctetAddressFieldCapability },
8389         { "loopBackTestCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8390                 dissect_h245_loopBackTestCapability },
8391         { "n401Capability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8392                 dissect_h245_n401Capability },
8393         { "maxWindowSizeCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8394                 dissect_h245_maxWindowSizeCapability },
8395         { "v75Capability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8396                 dissect_h245_V75Capability },
8397         { NULL, 0, 0, NULL }
8398 };
8399 static int
8400 dissect_h245_V76Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8401 {
8402         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V76Capability, ett_h245_V76Capability, V76Capability_sequence);
8403
8404         return offset;
8405 }
8406
8407
8408
8409
8410 static int
8411 dissect_h245_maximumAudioDelayJitter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8412 {
8413         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8414                 tree, hf_h245_maximumAudioDelayJitter, 0, 1023,
8415                 NULL, NULL, FALSE);
8416
8417         return offset;
8418 }
8419
8420
8421
8422
8423 static int
8424 dissect_h245_tokenRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8425 {
8426         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8427                 tree, hf_h245_tokenRate, 1, 4294967295UL,
8428                 NULL, NULL, FALSE);
8429
8430         return offset;
8431 }
8432
8433
8434
8435
8436 static int
8437 dissect_h245_bucketSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8438 {
8439         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8440                 tree, hf_h245_bucketSize, 1, 4294967295UL,
8441                 NULL, NULL, FALSE);
8442
8443         return offset;
8444 }
8445
8446
8447
8448
8449 static int
8450 dissect_h245_peakRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8451 {
8452         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8453                 tree, hf_h245_peakRate, 1, 4294967295UL,
8454                 NULL, NULL, FALSE);
8455
8456         return offset;
8457 }
8458
8459
8460
8461 static int
8462 dissect_h245_minPoliced(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8463 {
8464         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8465                 tree, hf_h245_minPoliced, 1, 4294967295UL,
8466                 NULL, NULL, FALSE);
8467
8468         return offset;
8469 }
8470
8471
8472
8473
8474 static int
8475 dissect_h245_maxPktSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8476 {
8477         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8478                 tree, hf_h245_maxPktSize, 1, 4294967295UL,
8479                 NULL, NULL, FALSE);
8480
8481         return offset;
8482 }
8483
8484
8485
8486 static per_sequence_t RSVPParameters_sequence[] = {
8487         { "qosMode", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8488                         dissect_h245_QOSMode },
8489         { "tokenRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8490                         dissect_h245_tokenRate },
8491         { "bucketSize", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8492                         dissect_h245_bucketSize },
8493         { "peakRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8494                         dissect_h245_peakRate },
8495         { "minPoliced", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8496                         dissect_h245_minPoliced },
8497         { "maxPktSize", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8498                         dissect_h245_maxPktSize },
8499         { NULL, 0, 0, NULL }
8500 };
8501 static int
8502 dissect_h245_RSVPParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8503 {
8504         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RSVPParameters, ett_h245_RSVPParameters, RSVPParameters_sequence);
8505
8506         return offset;
8507 }
8508
8509
8510
8511
8512 static int
8513 dissect_h245_maxNTUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8514 {
8515         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8516                 tree, hf_h245_maxNTUSize, 0, 65535,
8517                 NULL, NULL, FALSE);
8518
8519         return offset;
8520 }
8521
8522
8523
8524 static per_sequence_t ATMParameters_sequence[] = {
8525         { "maxNTUSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8526                 dissect_h245_maxNTUSize },
8527         { "atmUBR", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8528                 dissect_h245_atmUBR },
8529         { "atmrtVBR", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8530                 dissect_h245_atmrtVBR },
8531         { "atmnrtVBR", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8532                 dissect_h245_atmnrtVBR },
8533         { "atmABR", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8534                 dissect_h245_atmABR },
8535         { "atmCBR", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8536                 dissect_h245_atmCBR },
8537         { NULL, 0, 0, NULL }
8538 };
8539 static int
8540 dissect_h245_ATMParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8541 {
8542         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ATMParameters, ett_h245_ATMParameters, ATMParameters_sequence);
8543
8544         return offset;
8545 }
8546
8547
8548
8549
8550 static int
8551 dissect_h245_numberOfThreads(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8552 {
8553         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8554                 tree, hf_h245_numberOfThreads, 1, 16,
8555                 NULL, NULL, FALSE);
8556
8557         return offset;
8558 }
8559
8560
8561
8562 static int
8563 dissect_h245_framesBetweenSyncPoints(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8564 {
8565         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8566                 tree, hf_h245_framesBetweenSyncPoints, 1, 256,
8567                 NULL, NULL, FALSE);
8568
8569         return offset;
8570 }
8571
8572
8573
8574 static int
8575 dissect_h245_threadNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8576 {
8577         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8578                 tree, hf_h245_threadNumber, 0, 15,
8579                 NULL, NULL, FALSE);
8580
8581         return offset;
8582 }
8583
8584
8585
8586
8587 static int
8588 dissect_h245_qcifMPI_1_4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8589 {
8590         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8591                 tree, hf_h245_qcifMPI_1_4, 1, 4,
8592                 NULL, NULL, FALSE);
8593
8594         return offset;
8595 }
8596
8597
8598
8599
8600 static int
8601 dissect_h245_qcifMPI_1_32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8602 {
8603         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8604                 tree, hf_h245_qcifMPI_1_32, 1, 32,
8605                 NULL, NULL, FALSE);
8606
8607         return offset;
8608 }
8609
8610
8611
8612
8613
8614
8615 static int
8616 dissect_h245_qcifMPI_1_2048(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8617 {
8618         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8619                 tree, hf_h245_qcifMPI_1_2048, 1, 2048,
8620                 NULL, NULL, FALSE);
8621
8622         return offset;
8623 }
8624
8625
8626
8627
8628 static int
8629 dissect_h245_cifMPI_1_4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8630 {
8631         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8632                 tree, hf_h245_cifMPI_1_4, 1, 4,
8633                 NULL, NULL, FALSE);
8634
8635         return offset;
8636 }
8637
8638
8639
8640 static int
8641 dissect_h245_cifMPI_1_32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8642 {
8643         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8644                 tree, hf_h245_cifMPI_1_32, 1, 32,
8645                 NULL, NULL, FALSE);
8646
8647         return offset;
8648 }
8649
8650
8651
8652 static int
8653 dissect_h245_cifMPI_1_2048(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8654 {
8655         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8656                 tree, hf_h245_cifMPI_1_2048, 1, 2048,
8657                 NULL, NULL, FALSE);
8658
8659         return offset;
8660 }
8661
8662
8663
8664
8665
8666 static per_sequence_t H261VideoCapability_sequence[] = {
8667         { "qcifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8668                 dissect_h245_qcifMPI_1_4 },
8669         { "cifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8670                 dissect_h245_cifMPI_1_4 },
8671         { "temporalSpatialTradeOffCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8672                 dissect_h245_temporalSpatialTradeOffCapability },
8673         { "maxBitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8674                 dissect_h245_h223bitRate },
8675         { "stillImageTransmission", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8676                 dissect_h245_stillImageTransmission },
8677         { "videoBadMBsCap", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8678                 dissect_h245_videoBadMBsCap },
8679         { NULL, 0, 0, NULL }
8680 };
8681 static int
8682 dissect_h245_H261VideoCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8683 {
8684         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H261VideoCapability, ett_h245_H261VideoCapability, H261VideoCapability_sequence);
8685
8686         return offset;
8687 }
8688
8689
8690
8691
8692 static int
8693 dissect_h245_videoBitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8694 {
8695         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8696                 tree, hf_h245_videoBitRate, 0, 1073741823,
8697                 NULL, NULL, FALSE);
8698
8699         return offset;
8700 }
8701
8702
8703
8704
8705 static int
8706 dissect_h245_vbvBufferSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8707 {
8708         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8709                 tree, hf_h245_vbvBufferSize, 0, 262143,
8710                 NULL, NULL, FALSE);
8711
8712         return offset;
8713 }
8714
8715
8716
8717
8718
8719 static int
8720 dissect_h245_samplesPerLine(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8721 {
8722         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8723                 tree, hf_h245_samplesPerLine, 0, 16383,
8724                 NULL, NULL, FALSE);
8725
8726         return offset;
8727 }
8728
8729
8730
8731
8732
8733 static int
8734 dissect_h245_linesPerFrame(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8735 {
8736         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8737                 tree, hf_h245_linesPerFrame, 0, 16383,
8738                 NULL, NULL, FALSE);
8739
8740         return offset;
8741 }
8742
8743
8744
8745
8746
8747 static int
8748 dissect_h245_framesPerSecond(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8749 {
8750         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8751                 tree, hf_h245_framesPerSecond, 0, 15,
8752                 NULL, NULL, FALSE);
8753
8754         return offset;
8755 }
8756
8757
8758
8759
8760 static int
8761 dissect_h245_luminanceSampleRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8762 {
8763         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8764                 tree, hf_h245_luminanceSampleRate, 0, 4294967295UL,
8765                 NULL, NULL, FALSE);
8766
8767         return offset;
8768 }
8769
8770
8771
8772
8773 static per_sequence_t H262VideoCapability_sequence[] = {
8774         { "profileAndLevel-SPatML", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8775                 dissect_h245_profileAndLevelSPatML },
8776         { "profileAndLevel-MPatLL", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8777                 dissect_h245_profileAndLevelMPatLL },
8778         { "profileAndLevel-MPatML", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8779                 dissect_h245_profileAndLevelMPatML },
8780         { "profileAndLevel-MPatH-14", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8781                 dissect_h245_profileAndLevelMPatH14 },
8782         { "profileAndLevel-MPatHL", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8783                 dissect_h245_profileAndLevelMPatHL },
8784         { "profileAndLevel-SNRatLL", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8785                 dissect_h245_profileAndLevelSNRatLL },
8786         { "profileAndLevel-SNRatML", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8787                 dissect_h245_profileAndLevelSNRatML },
8788         { "profileAndLevel-SpatialatH-14", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8789                 dissect_h245_profileAndLevelSpatialatH14 },
8790         { "profileAndLevel-HPatML", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8791                 dissect_h245_profileAndLevelHPatML },
8792         { "profileAndLevel-HPatH-14", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8793                 dissect_h245_profileAndLevelHPatH14 },
8794         { "profileAndLevel-HPatHL", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8795                 dissect_h245_profileAndLevelHPatHL },
8796         { "videoBitRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8797                 dissect_h245_videoBitRate },
8798         { "vbvBufferSize", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8799                 dissect_h245_vbvBufferSize },
8800         { "samplesPerLine", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8801                 dissect_h245_samplesPerLine },
8802         { "linesPerFrame", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8803                 dissect_h245_linesPerFrame },
8804         { "framesPerSecond", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8805                 dissect_h245_framesPerSecond },
8806         { "luminanceSampleRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8807                 dissect_h245_luminanceSampleRate },
8808         { "videoBadMBsCap", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8809                 dissect_h245_videoBadMBsCap },
8810         { NULL, 0, 0, NULL }
8811 };
8812 static int
8813 dissect_h245_H262VideoCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8814 {
8815         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H262VideoCapability, ett_h245_H262VideoCapability, H262VideoCapability_sequence);
8816
8817         return offset;
8818 }
8819
8820
8821
8822
8823
8824 static per_sequence_t H262VideoMode_sequence[] = {
8825         { "profileAndLevel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8826                 dissect_h245_H262VideoMode_profileAndLevel },
8827         { "videoBitRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8828                 dissect_h245_videoBitRate },
8829         { "vbvBufferSize", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8830                 dissect_h245_vbvBufferSize },
8831         { "samplesPerLine", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8832                 dissect_h245_samplesPerLine },
8833         { "linesPerFrame", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8834                 dissect_h245_linesPerFrame },
8835         { "framesPerSecond", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8836                 dissect_h245_framesPerSecond },
8837         { "luminanceSampleRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8838                 dissect_h245_luminanceSampleRate },
8839         { NULL, 0, 0, NULL }
8840 };
8841 static int
8842 dissect_h245_H262VideoMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8843 {
8844         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H262VideoMode, ett_h245_H262VideoMode, H262VideoMode_sequence);
8845
8846         return offset;
8847 }
8848
8849
8850
8851
8852 static int
8853 dissect_h245_sqcifMPI_1_32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8854 {
8855         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8856                 tree, hf_h245_sqcifMPI_1_32, 1, 32,
8857                 NULL, NULL, FALSE);
8858
8859         return offset;
8860 }
8861
8862
8863
8864 static int
8865 dissect_h245_sqcifMPI_1_2048(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8866 {
8867         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8868                 tree, hf_h245_sqcifMPI_1_2048, 1, 2048,
8869                 NULL, NULL, FALSE);
8870
8871         return offset;
8872 }
8873
8874
8875
8876
8877 static int
8878 dissect_h245_cif4MPI_1_32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8879 {
8880         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8881                 tree, hf_h245_cif4MPI_1_32, 1, 32,
8882                 NULL, NULL, FALSE);
8883
8884         return offset;
8885 }
8886
8887
8888
8889
8890 static int
8891 dissect_h245_cif4MPI_1_2048(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8892 {
8893         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8894                 tree, hf_h245_cif4MPI_1_2048, 1, 2048,
8895                 NULL, NULL, FALSE);
8896
8897         return offset;
8898 }
8899
8900
8901
8902
8903 static int
8904 dissect_h245_cif16MPI_1_32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8905 {
8906         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8907                 tree, hf_h245_cif16MPI_1_32, 1, 32,
8908                 NULL, NULL, FALSE);
8909
8910         return offset;
8911 }
8912
8913
8914
8915
8916 static int
8917 dissect_h245_cif16MPI_1_2048(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8918 {
8919         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8920                 tree, hf_h245_cif16MPI_1_2048, 1, 2048,
8921                 NULL, NULL, FALSE);
8922
8923         return offset;
8924 }
8925
8926
8927
8928 static int
8929 dissect_h245_maxBitRate_192400(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8930 {
8931         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8932                 tree, hf_h245_maxBitRate_192400, 1, 192400,
8933                 NULL, NULL, FALSE);
8934
8935         return offset;
8936 }
8937
8938
8939
8940
8941
8942 static int
8943 dissect_h245_hrd_B(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8944 {
8945         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8946                 tree, hf_h245_hrd_B, 0, 524287,
8947                 NULL, NULL, FALSE);
8948
8949         return offset;
8950 }
8951
8952
8953
8954
8955 static int
8956 dissect_h245_bppMaxKb(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8957 {
8958         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8959                 tree, hf_h245_bppMaxKb, 0, 65535,
8960                 NULL, NULL, FALSE);
8961
8962         return offset;
8963 }
8964
8965
8966
8967
8968 static int
8969 dissect_h245_slowSqcifMPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8970 {
8971         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8972                 tree, hf_h245_slowSqcifMPI, 1, 3600,
8973                 NULL, NULL, FALSE);
8974
8975         return offset;
8976 }
8977
8978
8979
8980
8981 static int
8982 dissect_h245_slowQcifMPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8983 {
8984         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8985                 tree, hf_h245_slowQcifMPI, 1, 3600,
8986                 NULL, NULL, FALSE);
8987
8988         return offset;
8989 }
8990
8991
8992
8993 static int
8994 dissect_h245_slowCifMPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8995 {
8996         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8997                 tree, hf_h245_slowCifMPI, 1, 3600,
8998                 NULL, NULL, FALSE);
8999
9000         return offset;
9001 }
9002
9003
9004
9005
9006 static int
9007 dissect_h245_slowCif4MPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9008 {
9009         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9010                 tree, hf_h245_slowCif4MPI, 1, 3600,
9011                 NULL, NULL, FALSE);
9012
9013         return offset;
9014 }
9015
9016
9017
9018
9019 static int
9020 dissect_h245_slowCif16MPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9021 {
9022         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9023                 tree, hf_h245_slowCif16MPI, 1, 3600,
9024                 NULL, NULL, FALSE);
9025
9026         return offset;
9027 }
9028
9029
9030
9031
9032
9033 static int
9034 dissect_h245_numberOfBPictures(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9035 {
9036         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9037                 tree, hf_h245_numberOfBPictures, 1, 64,
9038                 NULL, NULL, FALSE);
9039
9040         return offset;
9041 }
9042
9043
9044
9045
9046 static int
9047 dissect_h245_presentationOrder(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9048 {
9049         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9050                 tree, hf_h245_presentationOrder, 1, 256,
9051                 NULL, NULL, FALSE);
9052
9053         return offset;
9054 }
9055
9056
9057
9058
9059 static int
9060 dissect_h245_offset_x(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9061 {
9062         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9063                 tree, hf_h245_offset_x, -262144, 262143,
9064                 NULL, NULL, FALSE);
9065
9066         return offset;
9067 }
9068
9069
9070
9071
9072
9073 static int
9074 dissect_h245_offset_y(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9075 {
9076         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9077                 tree, hf_h245_offset_y, -262144, 262143,
9078                 NULL, NULL, FALSE);
9079
9080         return offset;
9081 }
9082
9083
9084
9085
9086
9087 static int
9088 dissect_h245_scale_x(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9089 {
9090         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9091                 tree, hf_h245_scale_x, 1, 255,
9092                 NULL, NULL, FALSE);
9093
9094         return offset;
9095 }
9096
9097
9098
9099 static int
9100 dissect_h245_scale_y(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9101 {
9102         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9103                 tree, hf_h245_scale_y, 1, 255,
9104                 NULL, NULL, FALSE);
9105
9106         return offset;
9107 }
9108
9109
9110
9111
9112 static per_sequence_t TransperencyParameters_sequence[] = {
9113         { "presentationOrder", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9114                 dissect_h245_presentationOrder },
9115         { "offset-x", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9116                 dissect_h245_offset_x },
9117         { "offset-y", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9118                 dissect_h245_offset_y },
9119         { "scale-x", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9120                 dissect_h245_scale_x },
9121         { "scale-y", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9122                 dissect_h245_scale_y },
9123         { NULL, 0, 0, NULL }
9124 };
9125 static int
9126 dissect_h245_TransperencyParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9127 {
9128         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TransperencyParameters, ett_h245_TransperencyParameters, TransperencyParameters_sequence);
9129
9130         return offset;
9131 }
9132
9133
9134
9135
9136 static int
9137 dissect_h245_sqcifAdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9138 {
9139         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9140                 tree, hf_h245_sqcifAdditionalPictureMemory, 1, 256,
9141                 NULL, NULL, FALSE);
9142
9143         return offset;
9144 }
9145
9146
9147
9148
9149 static int
9150 dissect_h245_qcifAdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9151 {
9152         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9153                 tree, hf_h245_qcifAdditionalPictureMemory, 1, 256,
9154                 NULL, NULL, FALSE);
9155
9156         return offset;
9157 }
9158
9159
9160
9161
9162 static int
9163 dissect_h245_cifAdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9164 {
9165         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9166                 tree, hf_h245_cifAdditionalPictureMemory, 1, 256,
9167                 NULL, NULL, FALSE);
9168
9169         return offset;
9170 }
9171
9172
9173
9174
9175 static int
9176 dissect_h245_cif4AdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9177 {
9178         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9179                 tree, hf_h245_cif4AdditionalPictureMemory, 1, 256,
9180                 NULL, NULL, FALSE);
9181
9182         return offset;
9183 }
9184
9185
9186
9187 static int
9188 dissect_h245_cif16AdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9189 {
9190         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9191                 tree, hf_h245_cif16AdditionalPictureMemory, 1, 256,
9192                 NULL, NULL, FALSE);
9193
9194         return offset;
9195 }
9196
9197
9198
9199 static int
9200 dissect_h245_bigCpfAdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9201 {
9202         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9203                 tree, hf_h245_bigCpfAdditionalPictureMemory, 1, 256,
9204                 NULL, NULL, FALSE);
9205
9206         return offset;
9207 }
9208
9209
9210
9211
9212 static per_sequence_t RefPictureSelection_additionalPictureMemory_sequence[] = {
9213         { "sqcifAdditionalPictureMemory", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9214                 dissect_h245_sqcifAdditionalPictureMemory },
9215         { "qcifAdditionalPictureMemory", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9216                 dissect_h245_qcifAdditionalPictureMemory },
9217         { "cifAdditionalPictureMemory", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9218                 dissect_h245_cifAdditionalPictureMemory },
9219         { "cif4AdditionalPictureMemory", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9220                 dissect_h245_cif4AdditionalPictureMemory },
9221         { "cif16AdditionalPictureMemory", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9222                 dissect_h245_cif16AdditionalPictureMemory },
9223         { "bigCpfAdditionalPictureMemory", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9224                 dissect_h245_bigCpfAdditionalPictureMemory},
9225         { NULL, 0, 0, NULL }
9226 };
9227 static int
9228 dissect_h245_RefPictureSelection_additionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9229 {
9230         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RefPictureSelection_additionalPictureMemory, ett_h245_RefPictureSelection_additionalPictureMemory, RefPictureSelection_additionalPictureMemory_sequence);
9231
9232         return offset;
9233 }
9234
9235
9236
9237
9238 static int
9239 dissect_h245_mpuHorizMBs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9240 {
9241         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9242                 tree, hf_h245_mpuHorizMBs, 1, 128,
9243                 NULL, NULL, FALSE);
9244
9245         return offset;
9246 }
9247
9248
9249
9250
9251 static int
9252 dissect_h245_mpuVertMBs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9253 {
9254         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9255                 tree, hf_h245_mpuVertMBs, 1, 72,
9256                 NULL, NULL, FALSE);
9257
9258         return offset;
9259 }
9260
9261
9262
9263
9264 static int
9265 dissect_h245_mpuTotalNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9266 {
9267         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9268                 tree, hf_h245_mpuTotalNumber, 1, 65536,
9269                 NULL, NULL, FALSE);
9270
9271         return offset;
9272 }
9273
9274
9275
9276 static per_sequence_t RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters_sequence[] = {
9277         { "mpuHorizMBs", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9278                 dissect_h245_mpuHorizMBs },
9279         { "mpuVertMBs", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9280                 dissect_h245_mpuVertMBs},
9281         { "mpuTotalNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9282                 dissect_h245_mpuTotalNumber},
9283         { NULL, 0, 0, NULL }
9284 };
9285 static int
9286 dissect_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9287 {
9288         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters, ett_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters, RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters_sequence);
9289
9290         return offset;
9291 }
9292
9293
9294
9295
9296
9297
9298 static per_sequence_t RefPictureSelection_enhancedReferencePicSelect_sequence[] = {
9299         { "subPictureRemovalParameters", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9300                 dissect_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters },
9301         { NULL, 0, 0, NULL }
9302 };
9303 static int
9304 dissect_h245_RefPictureSelection_enhancedReferencePicSelect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9305 {
9306         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RefPictureSelection_enhancedReferencePicSelect, ett_h245_RefPictureSelection_enhancedReferencePicSelect, RefPictureSelection_enhancedReferencePicSelect_sequence);
9307
9308         return offset;
9309 }
9310
9311
9312
9313
9314
9315 static per_sequence_t RefPictureSelection_sequence[] = {
9316         { "additionalPictureMemory", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9317                 dissect_h245_RefPictureSelection_additionalPictureMemory },
9318         { "videoMux", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9319                 dissect_h245_videoMux },
9320         { "videoBackChannelSend", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9321                 dissect_h245_RefPictureSelection_videoBackChannelSend },
9322         { "enhancedReferencePicSelect", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9323                 dissect_h245_RefPictureSelection_enhancedReferencePicSelect },
9324         { NULL, 0, 0, NULL }
9325 };
9326 static int
9327 dissect_h245_RefPictureSelection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9328 {
9329         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RefPictureSelection, ett_h245_RefPictureSelection, RefPictureSelection_sequence);
9330
9331         return offset;
9332 }
9333
9334
9335
9336 static int
9337 dissect_h245_clockConversionCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9338 {
9339         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9340                 tree, hf_h245_clockConversionCode, 1000, 1001,
9341                 NULL, NULL, FALSE);
9342
9343         return offset;
9344 }
9345
9346
9347
9348
9349 static int
9350 dissect_h245_clockDivisor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9351 {
9352         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9353                 tree, hf_h245_clockDivisor, 1, 127,
9354                 NULL, NULL, FALSE);
9355
9356         return offset;
9357 }
9358
9359
9360
9361
9362 static per_sequence_t CustomPictureClockFrequency_sequence[] = {
9363         { "clockConversionCode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9364                 dissect_h245_clockConversionCode },
9365         { "clockDivisor", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9366                 dissect_h245_clockDivisor },
9367         { "sqcifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9368                 dissect_h245_sqcifMPI_1_2048 },
9369         { "qcifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9370                 dissect_h245_qcifMPI_1_2048 },
9371         { "cifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9372                 dissect_h245_cifMPI_1_2048 },
9373         { "cif4MPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9374                 dissect_h245_cif4MPI_1_2048 },
9375         { "cif16MPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9376                 dissect_h245_cif16MPI_1_2048 },
9377         { NULL, 0, 0, NULL }
9378 };
9379 static int
9380 dissect_h245_CustomPictureClockFrequency(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9381 {
9382         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CustomPictureClockFrequency, ett_h245_CustomPictureClockFrequency, CustomPictureClockFrequency_sequence);
9383
9384         return offset;
9385 }
9386
9387
9388
9389
9390 static int
9391 dissect_h245_maxCustomPictureWidth(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9392 {
9393         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9394                 tree, hf_h245_maxCustomPictureWidth, 1, 2048,
9395                 NULL, NULL, FALSE);
9396
9397         return offset;
9398 }
9399
9400
9401 static int
9402 dissect_h245_minCustomPictureWidth(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9403 {
9404         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9405                 tree, hf_h245_minCustomPictureWidth, 1, 2048,
9406                 NULL, NULL, FALSE);
9407
9408         return offset;
9409 }
9410
9411
9412
9413
9414 static int
9415 dissect_h245_minCustomPictureHeight(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9416 {
9417         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9418                 tree, hf_h245_minCustomPictureHeight, 1, 2048,
9419                 NULL, NULL, FALSE);
9420
9421         return offset;
9422 }
9423
9424
9425 static int
9426 dissect_h245_maxCustomPictureHeight(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9427 {
9428         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9429                 tree, hf_h245_maxCustomPictureHeight, 1, 2048,
9430                 NULL, NULL, FALSE);
9431
9432         return offset;
9433 }
9434
9435
9436
9437
9438
9439 static int
9440 dissect_h245_standardMPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9441 {
9442         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9443                 tree, hf_h245_standardMPI, 1, 31,
9444                 NULL, NULL, FALSE);
9445
9446         return offset;
9447 }
9448
9449
9450
9451
9452 static int
9453 dissect_h245_customMPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9454 {
9455         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9456                 tree, hf_h245_customMPI, 1, 2048,
9457                 NULL, NULL, FALSE);
9458
9459         return offset;
9460 }
9461
9462
9463
9464
9465 static per_sequence_t CustomPictureFormat_mPI_customPCF_sequence[] = {
9466         { "clockConversionCode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9467                 dissect_h245_clockConversionCode },
9468         { "clockDivisor", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9469                 dissect_h245_clockDivisor },
9470         { "customMPI", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9471                 dissect_h245_customMPI },
9472         { NULL, 0, 0, NULL }
9473 };
9474 static int
9475 dissect_h245_CustomPictureFormat_mPI_customPCF(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9476 {
9477         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CustomPictureFormat_mPI_customPCF, ett_h245_CustomPictureFormat_mPI_customPCF, CustomPictureFormat_mPI_customPCF_sequence);
9478
9479         return offset;
9480 }
9481
9482
9483
9484 static int dissect_h245_customPCF(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
9485
9486 static per_sequence_t CustomPictureFormat_mPI_sequence[] = {
9487         { "standardMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9488                 dissect_h245_standardMPI},
9489         { "customPCF", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9490                 dissect_h245_customPCF },
9491         { NULL, 0, 0, NULL }
9492 };
9493 static int
9494 dissect_h245_CustomPictureFormat_mPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9495 {
9496         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CustomPictureFormat_mPI, ett_h245_CustomPictureFormat_mPI, CustomPictureFormat_mPI_sequence);
9497
9498         return offset;
9499 }
9500
9501
9502
9503
9504 static int
9505 dissect_h245_width(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9506 {
9507         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9508                 tree, hf_h245_width, 1, 255,
9509                 NULL, NULL, FALSE);
9510
9511         return offset;
9512 }
9513
9514
9515
9516 static int
9517 dissect_h245_height(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9518 {
9519         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9520                 tree, hf_h245_height, 1, 255,
9521                 NULL, NULL, FALSE);
9522
9523         return offset;
9524 }
9525
9526
9527
9528
9529 static per_sequence_t CustomPictureFormat_pixelAspectInformation_extendedPAR_sequence[] = {
9530         { "width", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9531                 dissect_h245_width },
9532         { "height", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9533                 dissect_h245_height},
9534         { NULL, 0, 0, NULL }
9535 };
9536 static int
9537 dissect_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9538 {
9539         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR, ett_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR, CustomPictureFormat_pixelAspectInformation_extendedPAR_sequence);
9540
9541         return offset;
9542 }
9543
9544
9545
9546
9547 static int
9548 dissect_h245_pictureRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9549 {
9550         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9551                 tree, hf_h245_pictureRate, 0, 15,
9552                 NULL, NULL, FALSE);
9553
9554         return offset;
9555 }
9556
9557
9558
9559
9560 static per_sequence_t IS11172VideoMode_sequence[] = {
9561         { "constrainedBitstream", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9562                 dissect_h245_constrainedBitstream },
9563         { "videoBitRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9564                 dissect_h245_videoBitRate },
9565         { "vbvBufferSize", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9566                 dissect_h245_vbvBufferSize },
9567         { "samplesPerLine", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9568                 dissect_h245_samplesPerLine },
9569         { "linesPerFrame", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9570                 dissect_h245_linesPerFrame },
9571         { "pictureRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9572                 dissect_h245_pictureRate},
9573         { "luminanceSampleRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9574                 dissect_h245_luminanceSampleRate },
9575         { NULL, 0, 0, NULL }
9576 };
9577 static int
9578 dissect_h245_IS11172VideoMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9579 {
9580         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS11172VideoMode, ett_h245_IS11172VideoMode, IS11172VideoMode_sequence);
9581
9582         return offset;
9583 }
9584
9585
9586
9587 static per_sequence_t IS11172VideoCapability_sequence[] = {
9588         { "constrainedBitstream", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9589                 dissect_h245_constrainedBitstream },
9590         { "videoBitRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9591                 dissect_h245_videoBitRate },
9592         { "vbvBufferSize", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9593                 dissect_h245_vbvBufferSize },
9594         { "samplesPerLine", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9595                 dissect_h245_samplesPerLine },
9596         { "linesPerFrame", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9597                 dissect_h245_linesPerFrame },
9598         { "pictureRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9599                 dissect_h245_pictureRate },
9600         { "luminanceSampleRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9601                 dissect_h245_luminanceSampleRate },
9602         { "videoBadMBsCap", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9603                 dissect_h245_videoBadMBsCap },
9604         { NULL, 0, 0, NULL }
9605 };
9606 static int
9607 dissect_h245_IS11172VideoCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9608 {
9609         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS11172VideoCapability, ett_h245_IS11172VideoCapability, IS11172VideoCapability_sequence);
9610
9611         return offset;
9612 }
9613
9614
9615
9616
9617 static int
9618 dissect_h245_g711Alaw64k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9619 {
9620         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9621                 tree, hf_h245_g711Alaw64k, 1, 256,
9622                 NULL, NULL, FALSE);
9623
9624         return offset;
9625 }
9626
9627
9628
9629 static int
9630 dissect_h245_g711Alaw56k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9631 {
9632         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9633                 tree, hf_h245_g711Alaw56k, 1, 256,
9634                 NULL, NULL, FALSE);
9635
9636         return offset;
9637 }
9638
9639
9640
9641 static int
9642 dissect_h245_g711Ulaw64k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9643 {
9644         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9645                 tree, hf_h245_g711Ulaw64k, 1, 256,
9646                 NULL, NULL, FALSE);
9647
9648         return offset;
9649 }
9650
9651
9652
9653 static int
9654 dissect_h245_g711Ulaw56k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9655 {
9656         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9657                 tree, hf_h245_g711Ulaw56k, 1, 256,
9658                 NULL, NULL, FALSE);
9659
9660         return offset;
9661 }
9662
9663
9664
9665
9666 static int
9667 dissect_h245_g722_64k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9668 {
9669         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9670                 tree, hf_h245_g722_64k, 1, 256,
9671                 NULL, NULL, FALSE);
9672
9673         return offset;
9674 }
9675
9676
9677
9678 static int
9679 dissect_h245_g722_56k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9680 {
9681         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9682                 tree, hf_h245_g722_56k, 1, 256,
9683                 NULL, NULL, FALSE);
9684
9685         return offset;
9686 }
9687
9688
9689
9690
9691 static int
9692 dissect_h245_g722_48k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9693 {
9694         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9695                 tree, hf_h245_g722_48k, 1, 256,
9696                 NULL, NULL, FALSE);
9697
9698         return offset;
9699 }
9700
9701
9702
9703
9704
9705 static int
9706 dissect_h245_maxAl_sduAudioFrames(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9707 {
9708         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9709                 tree, hf_h245_maxAl_sduAudioFrames, 1, 256,
9710                 NULL, NULL, FALSE);
9711
9712         return offset;
9713 }
9714
9715
9716
9717 static per_sequence_t AudioCapability_g7231_sequence[] = {
9718         { "maxAl-sduAudioFrames", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
9719                 dissect_h245_maxAl_sduAudioFrames },
9720         { "silenceSuppression", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
9721                 dissect_h245_silenceSuppression },
9722         { NULL, 0, 0, NULL }
9723 };
9724 static int
9725 dissect_h245_AudioCapability_g7231(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9726 {
9727         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_AudioCapability_g7231, ett_h245_AudioCapability_g7231, AudioCapability_g7231_sequence);
9728
9729         return offset;
9730 }
9731
9732
9733
9734
9735 static int
9736 dissect_h245_g728(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9737 {
9738         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9739                 tree, hf_h245_g728, 1, 256,
9740                 NULL, NULL, FALSE);
9741
9742         return offset;
9743 }
9744
9745
9746
9747 static int
9748 dissect_h245_g729(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9749 {
9750         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9751                 tree, hf_h245_g729, 1, 256,
9752                 NULL, NULL, FALSE);
9753
9754         return offset;
9755 }
9756
9757
9758
9759 static int
9760 dissect_h245_g729AnnexA(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9761 {
9762         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9763                 tree, hf_h245_g729AnnexA, 1, 256,
9764                 NULL, NULL, FALSE);
9765
9766         return offset;
9767 }
9768
9769
9770
9771
9772 static int
9773 dissect_h245_g729wAnnexB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9774 {
9775         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9776                 tree, hf_h245_g729wAnnexB, 1, 256,
9777                 NULL, NULL, FALSE);
9778
9779         return offset;
9780 }
9781
9782
9783
9784
9785 static int
9786 dissect_h245_g729AnnexAwAnnexB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9787 {
9788         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9789                 tree, hf_h245_g729AnnexAwAnnexB, 1, 256,
9790                 NULL, NULL, FALSE);
9791
9792         return offset;
9793 }
9794
9795
9796
9797
9798 static int
9799 dissect_h245_audioUnit(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9800 {
9801         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9802                 tree, hf_h245_audioUnit, 1, 256,
9803                 NULL, NULL, FALSE);
9804
9805         return offset;
9806 }
9807
9808
9809
9810
9811 static per_sequence_t G729Extensions_sequence[] = {
9812         { "audioUnit", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9813                 dissect_h245_audioUnit },
9814         { "annexA", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9815                 dissect_h245_annexA },
9816         { "annexB", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9817                 dissect_h245_annexB },
9818         { "annexD", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9819                 dissect_h245_annexD },
9820         { "annexE", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9821                 dissect_h245_annexE },
9822         { "annexF", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9823                 dissect_h245_annexF },
9824         { "annexG", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9825                 dissect_h245_annexG },
9826         { "annexH", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9827                 dissect_h245_annexH },
9828         { NULL, 0, 0, NULL }
9829 };
9830 static int
9831 dissect_h245_G729Extensions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9832 {
9833         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_G729Extensions, ett_h245_G729Extensions, G729Extensions_sequence);
9834
9835         return offset;
9836 }
9837
9838
9839
9840
9841 static int
9842 dissect_h245_highRateMode0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9843 {
9844         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9845                 tree, hf_h245_highRateMode0, 27, 78,
9846                 NULL, NULL, FALSE);
9847
9848         return offset;
9849 }
9850
9851
9852 static int
9853 dissect_h245_highRateMode1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9854 {
9855         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9856                 tree, hf_h245_highRateMode1, 27, 78,
9857                 NULL, NULL, FALSE);
9858
9859         return offset;
9860 }
9861
9862
9863
9864
9865
9866 static int
9867 dissect_h245_lowRateMode0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9868 {
9869         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9870                 tree, hf_h245_lowRateMode0, 23, 66,
9871                 NULL, NULL, FALSE);
9872
9873         return offset;
9874 }
9875
9876
9877 static int
9878 dissect_h245_lowRateMode1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9879 {
9880         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9881                 tree, hf_h245_lowRateMode1, 23, 66,
9882                 NULL, NULL, FALSE);
9883
9884         return offset;
9885 }
9886
9887
9888
9889
9890 static int
9891 dissect_h245_sidMode0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9892 {
9893         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9894                 tree, hf_h245_sidMode0, 6, 17,
9895                 NULL, NULL, FALSE);
9896
9897         return offset;
9898 }
9899
9900
9901 static int
9902 dissect_h245_sidMode1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9903 {
9904         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
9905                 tree, hf_h245_sidMode1, 6, 17,
9906                 NULL, NULL, FALSE);
9907
9908         return offset;
9909 }
9910
9911
9912
9913
9914 static per_sequence_t G7231AnnexCCapability_g723AnnexCAudioMode_sequence[] = {
9915         { "highRateMode0", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9916                 dissect_h245_highRateMode0 },
9917         { "highRateMode1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9918                 dissect_h245_highRateMode1 },
9919         { "lowRateMode0", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9920                 dissect_h245_lowRateMode0 },
9921         { "lowRateMode1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9922                 dissect_h245_lowRateMode1 },
9923         { "sidMode0", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9924                 dissect_h245_sidMode0 },
9925         { "sidMode1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9926                 dissect_h245_sidMode1 },
9927         { NULL, 0, 0, NULL }
9928 };
9929 static int
9930 dissect_h245_G7231AnnexCCapability_g723AnnexCAudioMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9931 {
9932         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_G7231AnnexCCapability_g723AnnexCAudioMode, ett_h245_G7231AnnexCCapability_g723AnnexCAudioMode, G7231AnnexCCapability_g723AnnexCAudioMode_sequence);
9933
9934         return offset;
9935 }
9936
9937
9938
9939
9940 static per_sequence_t G7231AnnexCCapability_sequence[] = {
9941         { "maxAl-sduAudioFrames", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9942                 dissect_h245_maxAl_sduAudioFrames },
9943         { "silenceSuppression", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9944                 dissect_h245_silenceSuppression },
9945         { "g723AnnexCAudioMode", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
9946                 dissect_h245_G7231AnnexCCapability_g723AnnexCAudioMode },
9947         { NULL, 0, 0, NULL }
9948 };
9949 static int
9950 dissect_h245_G7231AnnexCCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9951 {
9952         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_G7231AnnexCCapability, ett_h245_G7231AnnexCCapability, G7231AnnexCCapability_sequence);
9953
9954         return offset;
9955 }
9956
9957
9958
9959 static per_sequence_t G7231AnnexCMode_g723AnnexCAudioMode_sequence[] = {
9960         { "highRateMode0", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9961                         dissect_h245_highRateMode0 },
9962         { "highRateMode1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9963                         dissect_h245_highRateMode1 },
9964         { "lowRateMode0", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9965                         dissect_h245_lowRateMode0 },
9966         { "lowRateMode1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9967                         dissect_h245_lowRateMode0 },
9968         { "sidMode0", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9969                         dissect_h245_sidMode0 },
9970         { "sidMode1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9971                         dissect_h245_sidMode1 },
9972         { NULL, 0, 0, NULL }
9973 };
9974 static int
9975 dissect_h245_G7231AnnexCMode_g723AnnexCAudioMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9976 {
9977         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_G7231AnnexCMode_g723AnnexCAudioMode, ett_h245_G7231AnnexCMode_g723AnnexCAudioMode, G7231AnnexCMode_g723AnnexCAudioMode_sequence);
9978
9979         return offset;
9980 }
9981
9982
9983
9984
9985 static per_sequence_t G7231AnnexCMode_sequence[] = {
9986         { "maxAl-sduAudioFrames", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9987                 dissect_h245_maxAl_sduAudioFrames },
9988         { "silenceSupression", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9989                 dissect_h245_silenceSuppression },
9990         { "g723AnnexCAudioMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
9991                 dissect_h245_G7231AnnexCMode_g723AnnexCAudioMode },
9992         { NULL, 0, 0, NULL }
9993 };
9994 static int
9995 dissect_h245_G7231AnnexCMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9996 {
9997         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_G7231AnnexCMode, ett_h245_G7231AnnexCMode, G7231AnnexCMode_sequence);
9998
9999         return offset;
10000 }
10001
10002
10003
10004
10005 static int
10006 dissect_h245_audioUnitSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10007 {
10008         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10009                 tree, hf_h245_audioUnitSize, 1, 256,
10010                 NULL, NULL, FALSE);
10011
10012         return offset;
10013 }
10014
10015
10016
10017
10018
10019 static per_sequence_t GSMAudioCapability_sequence[] = {
10020         { "audioUnitSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10021                 dissect_h245_audioUnitSize },
10022         { "comfortNoice", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10023                 dissect_h245_comfortNoise },
10024         { "scrambled", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10025                 dissect_h245_scrambled },
10026         { NULL, 0, 0, NULL }
10027 };
10028 static int
10029 dissect_h245_GSMAudioCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10030 {
10031         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_GSMAudioCapability, ett_h245_GSMAudioCapability, GSMAudioCapability_sequence);
10032
10033         return offset;
10034 }
10035
10036
10037
10038
10039
10040 static int
10041 dissect_h245_maxBitRate_4294967295UL(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10042 {
10043         /* XXX unit is 100bit/s */
10044         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10045                 tree, hf_h245_maxBitRate_4294967295UL, 0, 4294967295UL,
10046                 NULL, NULL, FALSE);
10047
10048         return offset;
10049 }
10050
10051
10052
10053
10054
10055 static int
10056 dissect_h245_numberOfCodewords(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10057 {
10058         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10059                 tree, hf_h245_numberOfCodewords, 1, 65536,
10060                 NULL, NULL, FALSE);
10061
10062         return offset;
10063 }
10064
10065
10066
10067
10068 static int
10069 dissect_h245_maximumStringLength(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10070 {
10071         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10072                 tree, hf_h245_maximumStringLength, 1, 256,
10073                 NULL, NULL, FALSE);
10074
10075         return offset;
10076 }
10077
10078
10079
10080
10081
10082 static per_sequence_t V42bis_sequence[] = {
10083         { "numberOfCodewords", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10084                 dissect_h245_numberOfCodewords },
10085         { "maximumStringLength", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10086                 dissect_h245_maximumStringLength },
10087         { NULL, 0, 0, NULL }
10088 };
10089 static int
10090 dissect_h245_V42bis(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10091 {
10092         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V42bis, ett_h245_V42bis, V42bis_sequence);
10093
10094         return offset;
10095 }
10096
10097
10098
10099 static const value_string CompressionType_vals[] = {
10100         {  0, "v42bis" },
10101         {  0, NULL }
10102 };
10103 static per_choice_t CompressionType_choice[] = {
10104         {  0, "v42bis", ASN1_EXTENSION_ROOT,
10105                 dissect_h245_V42bis },
10106         {  0, NULL, 0, NULL }
10107 };
10108 static int
10109 dissect_h245_CompressionType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10110 {
10111         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CompressionType, ett_h245_CompressionType, CompressionType_choice, "CompressionType", NULL);
10112
10113         return offset;
10114 }
10115
10116
10117
10118
10119
10120 static const value_string DataProtocolCapability_v76wCompression_vals[] = {
10121         {  0, "transmitCompression" },
10122         {  1, "receiveCompression" },
10123         {  2, "transmitAndReceiveCompression" },
10124         {  0, NULL }
10125 };
10126 static per_choice_t DataProtocolCapability_v76wCompression_choice[] = {
10127         {  0, "transmitCompression", ASN1_EXTENSION_ROOT,
10128                 dissect_h245_CompressionType },
10129         {  1, "receiveCompression", ASN1_EXTENSION_ROOT,
10130                 dissect_h245_CompressionType },
10131         {  2, "transmitAndReceiveCompression", ASN1_EXTENSION_ROOT,
10132                 dissect_h245_CompressionType },
10133         {  0, NULL, 0, NULL }
10134 };
10135 static int
10136 dissect_h245_DataProtocolCapability_v76wCompression(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10137 {
10138         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DataProtocolCapability_v76wCompression, ett_h245_DataProtocolCapability_v76wCompression, DataProtocolCapability_v76wCompression_choice, "v76wCompression", NULL);
10139
10140         return offset;
10141 }
10142
10143
10144
10145
10146
10147 static int
10148 dissect_h245_version(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10149 {
10150         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10151                 tree, hf_h245_version, 0, 255,
10152                 NULL, NULL, FALSE);
10153
10154         return offset;
10155 }
10156
10157
10158
10159 static int dissect_h245_T38FaxUdpOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
10160 static per_sequence_t T38FaxProfile_sequence[] = {
10161         { "fillBitRemoval", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10162                 dissect_h245_fillBitRemoval },
10163         { "transcodingJBIG", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10164                 dissect_h245_transcodingJBIG },
10165         { "transcodingMMR", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10166                 dissect_h245_transcodingMMR },
10167         { "version", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10168                 dissect_h245_version },
10169         { "t38FaxRateManagement", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10170                 dissect_h245_T38FaxRateManagement },
10171         { "t38FaxUdpOptions", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
10172                 dissect_h245_T38FaxUdpOptions },
10173         { "t38FaxTcpOptions", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
10174                 dissect_h245_T38FaxTcpOptions },
10175         { NULL, 0, 0, NULL }
10176 };
10177 int
10178 dissect_h245_T38FaxProfile(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10179 {
10180         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_T38FaxProfile, ett_h245_T38FaxProfile, T38FaxProfile_sequence);
10181
10182         return offset;
10183 }
10184
10185
10186
10187
10188 static int
10189 dissect_h245_standard_0_127(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10190 {
10191         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10192                 tree, hf_h245_standard_0_127, 0, 127,
10193                 NULL, NULL, FALSE);
10194
10195         return offset;
10196 }
10197
10198
10199
10200
10201 static int
10202 dissect_h245_booleanArray(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10203 {
10204         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10205                 tree, hf_h245_booleanArray, 0, 255,
10206                 NULL, NULL, FALSE);
10207
10208         return offset;
10209 }
10210
10211
10212
10213
10214 static int
10215 dissect_h245_unsignedMin(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10216 {
10217         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10218                 tree, hf_h245_unsignedMin, 0, 65535,
10219                 NULL, NULL, FALSE);
10220
10221         return offset;
10222 }
10223
10224
10225 static int
10226 dissect_h245_unsignedMax(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10227 {
10228         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10229                 tree, hf_h245_unsignedMax, 0, 65535,
10230                 NULL, NULL, FALSE);
10231
10232         return offset;
10233 }
10234
10235
10236
10237
10238 static int
10239 dissect_h245_unsigned32Min(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10240 {
10241         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10242                 tree, hf_h245_unsigned32Min, 0, 4294967295UL,
10243                 NULL, NULL, FALSE);
10244
10245         return offset;
10246 }
10247
10248
10249 static int
10250 dissect_h245_unsigned32Max(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10251 {
10252         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10253                 tree, hf_h245_unsigned32Max, 0, 4294967295UL,
10254                 NULL, NULL, FALSE);
10255
10256         return offset;
10257 }
10258
10259
10260
10261
10262 static int
10263 dissect_h245_dynamicRTPPayloadType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10264 {
10265         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10266                 tree, hf_h245_dynamicRTPPayloadType, 96, 127,
10267                 NULL, NULL, FALSE);
10268
10269         return offset;
10270 }
10271
10272
10273
10274
10275 static per_sequence_t AudioToneCapability_sequence[] = {
10276         { "dynamicRTPPayloadType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10277                 dissect_h245_dynamicRTPPayloadType },
10278         { NULL, 0, 0, NULL }
10279 };
10280 static int
10281 dissect_h245_AudioToneCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10282 {
10283         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_AudioToneCapability, ett_h245_AudioToneCapability, AudioToneCapability_sequence);
10284
10285         return offset;
10286 }
10287
10288
10289
10290
10291 static per_sequence_t NoPTAudioToneCapability_sequence[] = {
10292         { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
10293 };
10294 static int
10295 dissect_h245_NoPTAudioToneCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10296 {
10297         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NoPTAudioToneCapability, ett_h245_NoPTAudioToneCapability, NoPTAudioToneCapability_sequence);
10298
10299         return offset;
10300 }
10301
10302
10303
10304
10305
10306 static int
10307 dissect_h245_portNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10308 {
10309         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10310                 tree, hf_h245_portNumber, 0, 65535,
10311                 NULL, NULL, FALSE);
10312
10313         return offset;
10314 }
10315
10316
10317
10318
10319 static int
10320 dissect_h245_resourceID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10321 {
10322         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10323                 tree, hf_h245_resourceID, 0, 65535,
10324                 NULL, NULL, FALSE);
10325
10326         return offset;
10327 }
10328
10329
10330
10331
10332 static const value_string FlowControlCommand_scope_vals[] = {
10333         {  0, "logicalChannelNumber" },
10334         {  1, "resourceID" },
10335         {  2, "wholeMultiplex" },
10336         {  0, NULL }
10337 };
10338 static per_choice_t FlowControlCommand_scope_choice[] = {
10339         {  0, "logicalChannelNumber", ASN1_NO_EXTENSIONS,
10340                         dissect_h245_LogicalChannelNumber },
10341         {  1, "resourceID", ASN1_NO_EXTENSIONS,
10342                         dissect_h245_resourceID },
10343         {  2, "wholeMultiplex", ASN1_NO_EXTENSIONS,
10344                         dissect_h245_NULL },
10345         {  0, NULL, 0, NULL }
10346 };
10347 static int
10348 dissect_h245_FlowControlCommand_scope(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10349 {
10350         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FlowControlCommand_scope, ett_h245_FlowControlCommand_scope, FlowControlCommand_scope_choice, "scope", NULL);
10351
10352         return offset;
10353 }
10354
10355
10356
10357
10358
10359
10360 static const value_string JitterIndication_scope_vals[] = {
10361         {  0, "logicalChannelNumber" },
10362         {  1, "resourceID" },
10363         {  2, "wholeMultiplex" },
10364         {  0, NULL }
10365 };
10366 static per_choice_t JitterIndication_scope_choice[] = {
10367         {  0, "logicalChannelNumber", ASN1_NO_EXTENSIONS,
10368                         dissect_h245_LogicalChannelNumber },
10369         {  1, "resourceID", ASN1_NO_EXTENSIONS,
10370                         dissect_h245_resourceID },
10371         {  2, "wholeMultiplex", ASN1_NO_EXTENSIONS,
10372                         dissect_h245_NULL },
10373         {  0, NULL, 0, NULL }
10374 };
10375 static int
10376 dissect_h245_JitterIndication_scope(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10377 {
10378         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_JitterIndication_scope, ett_h245_JitterIndication_scope, JitterIndication_scope_choice, "scope", NULL);
10379
10380         return offset;
10381 }
10382
10383
10384
10385
10386
10387 static const value_string FlowControlIndication_scope_vals[] = {
10388         {  0, "logicalChannelNumber" },
10389         {  1, "resouceID" },
10390         {  2, "wholeMultiplex" },
10391         {  0, NULL }
10392 };
10393 static per_choice_t FlowControlIndication_scope_choice[] = {
10394         {  0, "logicalChannelNumber", ASN1_NO_EXTENSIONS,
10395                         dissect_h245_LogicalChannelNumber },
10396         {  1, "resourceID", ASN1_NO_EXTENSIONS,
10397                         dissect_h245_resourceID },
10398         {  2, "wholeMultiplex", ASN1_NO_EXTENSIONS,
10399                         dissect_h245_NULL },
10400         {  0, NULL, 0, NULL }
10401 };
10402 static int
10403 dissect_h245_FlowControlIndication_scope(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10404 {
10405         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FlowControlIndication_scope, ett_h245_FlowControlIndication_scope, FlowControlIndication_scope_choice, "scope", NULL);
10406
10407         return offset;
10408 }
10409
10410
10411
10412
10413 static per_sequence_t NewATMVCIndication_sequence[] = {
10414         { "resourceID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10415                 dissect_h245_resourceID },
10416         { "bitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10417                 dissect_h245_ATM_BitRate },
10418         { "bitRateLockedToPCRClock", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10419                 dissect_h245_bitRateLockedToPCRClock },
10420         { "bitRateLockedToNetworkClock", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10421                 dissect_h245_bitRateLockedToNetworkClock },
10422         { "aal", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10423                 dissect_h245_NewATMVCIndication_aal },
10424         { "multiplex", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10425                 dissect_h245_NewATMVCIndication_multiplex },
10426         { "reverseParameters", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10427                 dissect_h245_NewATMVCIndication_reverseParameters },
10428         { NULL, 0, 0, NULL }
10429 };
10430 static int
10431 dissect_h245_NewATMVCIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10432 {
10433         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication, ett_h245_NewATMVCIndication, NewATMVCIndication_sequence);
10434
10435         return offset;
10436 }
10437
10438
10439
10440
10441 static int
10442 dissect_h245_subChannelID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10443 {
10444         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10445                 tree, hf_h245_subChannelID, 0, 8191,
10446                 NULL, NULL, FALSE);
10447
10448         return offset;
10449 }
10450
10451
10452
10453
10454 static int
10455 dissect_h245_pcr_pid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10456 {
10457         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10458                 tree, hf_h245_pcr_pid, 0, 8191,
10459                 NULL, NULL, FALSE);
10460
10461         return offset;
10462 }
10463
10464
10465
10466
10467 static int
10468 dissect_h245_controlFieldOctets(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10469 {
10470         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10471                 tree, hf_h245_controlFieldOctets, 0, 2,
10472                 NULL, NULL, FALSE);
10473
10474         return offset;
10475 }
10476
10477
10478
10479
10480 static int
10481 dissect_h245_sendBufferSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10482 {
10483         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10484                 tree, hf_h245_sendBufferSize, 0, 16777215,
10485                 NULL, NULL, FALSE);
10486
10487         return offset;
10488 }
10489
10490
10491
10492
10493 static per_sequence_t H223LogicalChannelParameters_adaptionLayerType_al3_sequence[] = {
10494         { "controlFieldOctets", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
10495                 dissect_h245_controlFieldOctets },
10496         { "sendBufferSize", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
10497                 dissect_h245_sendBufferSize },
10498         { NULL, 0, 0, NULL }
10499 };
10500 static int
10501 dissect_h245_H223LogicalChannelParameters_adaptionLayerType_al3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10502 {
10503         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223LogicalChannelParameters_adaptionLayerType_al3, ett_h245_H223LogicalChannelParameters_adaptionLayerType_al3, H223LogicalChannelParameters_adaptionLayerType_al3_sequence);
10504
10505         return offset;
10506 }
10507
10508
10509
10510 static per_sequence_t H223ModeParameters_adaptationLayerType_al3_sequence[] = {
10511         { "controlFieldOctets", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
10512                 dissect_h245_controlFieldOctets },
10513         { "sendBufferSize", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
10514                 dissect_h245_sendBufferSize },
10515         { NULL, 0, 0, NULL }
10516 };
10517 static int
10518 dissect_h245_H223ModeParameters_adaptationLayerType_al3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10519 {
10520         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223ModeParameters_adaptationLayerType_al3, ett_h245_H223ModeParameters_adaptationLayerType_al3, H223ModeParameters_adaptationLayerType_al3_sequence);
10521
10522         return offset;
10523 }
10524
10525
10526
10527
10528 static int
10529 dissect_h245_rcpcCodeRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10530 {
10531         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10532                 tree, hf_h245_rcpcCodeRate, 8, 32,
10533                 NULL, NULL, FALSE);
10534
10535         return offset;
10536 }
10537
10538
10539
10540
10541 static int
10542 dissect_h245_rsCodeCorrection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10543 {
10544         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10545                 tree, hf_h245_rsCodeCorrection, 0, 127,
10546                 NULL, NULL, FALSE);
10547
10548         return offset;
10549 }
10550
10551
10552
10553
10554 static int
10555 dissect_h245_finite_0_16(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10556 {
10557         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10558                 tree, hf_h245_finite_0_16, 0, 16,
10559                 NULL, NULL, FALSE);
10560
10561         return offset;
10562 }
10563
10564
10565
10566
10567
10568 static const value_string H223AnnexCArqParameters_numberOfRetransmissions_vals[] = {
10569         {  0, "finite" },
10570         {  1, "infinite" },
10571         {  0, NULL }
10572 };
10573 static per_choice_t H223AnnexCArqParameters_numberOfRetransmissions_choice[] = {
10574         {  0, "finite", ASN1_EXTENSION_ROOT,
10575                         dissect_h245_finite_0_16 },
10576         {  1, "infinite", ASN1_EXTENSION_ROOT,
10577                         dissect_h245_NULL },
10578         {  0, NULL, 0, NULL }
10579 };
10580 static int
10581 dissect_h245_H223AnnexCArqParameters_numberOfRetransmissions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10582 {
10583         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AnnexCArqParameters_numberOfRetransmissions, ett_h245_H223AnnexCArqParameters_numberOfRetransmissions, H223AnnexCArqParameters_numberOfRetransmissions_choice, "numberOfRetransmissions", NULL);
10584
10585         return offset;
10586 }
10587
10588
10589
10590
10591 static per_sequence_t H223AnnexCArqParameters_sequence[] = {
10592         { "numberOfRetransmissions", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10593                 dissect_h245_H223AnnexCArqParameters_numberOfRetransmissions },
10594         { "sendBufferSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10595                 dissect_h245_sendBufferSize },
10596         { NULL, 0, 0, NULL }
10597 };
10598 static int
10599 dissect_h245_H223AnnexCArqParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10600 {
10601         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223AnnexCArqParameters, ett_h245_H223AnnexCArqParameters, H223AnnexCArqParameters_sequence);
10602
10603         return offset;
10604 }
10605
10606
10607
10608
10609
10610 static const value_string H223AL1MParameters_arqType_vals[] = {
10611         {  0, "noArq" },
10612         {  1, "typeIArq" },
10613         {  2, "typeIIArq" },
10614         {  0, NULL }
10615 };
10616 static per_choice_t H223AL1MParameters_arqType_choice[] = {
10617         {  0, "noArq", ASN1_EXTENSION_ROOT,
10618                         dissect_h245_NULL },
10619         {  1, "typeIArq", ASN1_EXTENSION_ROOT,
10620                         dissect_h245_H223AnnexCArqParameters },
10621         {  2, "typeIIArq", ASN1_EXTENSION_ROOT,
10622                         dissect_h245_H223AnnexCArqParameters },
10623         {  0, NULL, 0, NULL }
10624 };
10625 static int
10626 dissect_h245_H223AL1MParameters_arqType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10627 {
10628         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL1MParameters_arqType, ett_h245_H223AL1MParameters_arqType, H223AL1MParameters_arqType_choice, "arqType", NULL);
10629
10630         return offset;
10631 }
10632
10633
10634
10635
10636 static const value_string H223AL3MParameters_arqType_vals[] = {
10637         {  0, "noArq" },
10638         {  1, "typeIArq" },
10639         {  2, "typeIIArq" },
10640         {  0, NULL }
10641 };
10642 static per_choice_t H223AL3MParameters_arqType_choice[] = {
10643         {  0, "noArq", ASN1_EXTENSION_ROOT,
10644                         dissect_h245_NULL },
10645         {  1, "typeIArq", ASN1_EXTENSION_ROOT,
10646                         dissect_h245_H223AnnexCArqParameters },
10647         {  2, "typeIIArq", ASN1_EXTENSION_ROOT,
10648                         dissect_h245_H223AnnexCArqParameters },
10649         {  0, NULL, 0, NULL }
10650 };
10651 static int
10652 dissect_h245_H223AL3MParameters_arqType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10653 {
10654         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL3MParameters_arqType, ett_h245_H223AL3MParameters_arqType, H223AL3MParameters_arqType_choice, "arqType", NULL);
10655
10656         return offset;
10657 }
10658
10659
10660
10661
10662
10663 static per_sequence_t H223AL1MParameters_sequence[] = {
10664         { "transferMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10665                 dissect_h245_H223AL1MParameters_transferMode },
10666         { "headerFEC", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10667                 dissect_h245_H223AL1MParameters_headerFEC },
10668         { "crcLength", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10669                 dissect_h245_H223AL1MParameters_crcLength },
10670         { "rcpcCodeRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10671                 dissect_h245_rcpcCodeRate },
10672         { "arqType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10673                 dissect_h245_H223AL1MParameters_arqType },
10674         { "alpduInterleaving", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10675                 dissect_h245_alpduInterleaving },
10676         { "alsduSplitting", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10677                 dissect_h245_alsduSplitting },
10678         { "rsCodeCorrection", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
10679                 dissect_h245_rsCodeCorrection },
10680         { NULL, 0, 0, NULL }
10681 };
10682 static int
10683 dissect_h245_H223AL1MParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10684 {
10685         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223AL1MParameters, ett_h245_H223AL1MParameters, H223AL1MParameters_sequence);
10686
10687         return offset;
10688 }
10689
10690
10691
10692
10693 static per_sequence_t H223AL3MParameters_sequence[] = {
10694         { "headerFormat", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10695                 dissect_h245_H223AL3MParameters_headerFormat },
10696         { "crcLength", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10697                 dissect_h245_H223AL3MParameters_crcLength },
10698         { "rcpcCodeRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10699                 dissect_h245_rcpcCodeRate },
10700         { "arqType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10701                 dissect_h245_H223AL3MParameters_arqType },
10702         { "alpduInterleaving", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10703                 dissect_h245_alpduInterleaving },
10704         { "rsCodeCorrection", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
10705                 dissect_h245_rsCodeCorrection },
10706         { NULL, 0, 0, NULL }
10707 };
10708 static int
10709 dissect_h245_H223AL3MParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10710 {
10711         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223AL3MParameters, ett_h245_H223AL3MParameters, H223AL3MParameters_sequence);
10712
10713         return offset;
10714 }
10715
10716
10717
10718
10719
10720 static int
10721 dissect_h245_windowSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10722 {
10723         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10724                 tree, hf_h245_windowSize, 1, 127,
10725                 NULL, NULL, FALSE);
10726
10727         return offset;
10728 }
10729
10730
10731
10732
10733 static per_sequence_t V76LogicalChannelParameters_mode_eRM_sequence[] = {
10734         { "windowSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10735                 dissect_h245_windowSize },
10736         { "recovery", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10737                 dissect_h245_V76LogicalChannelParameters_mode_eRM_recovery },
10738         { NULL, 0, 0, NULL }
10739 };
10740 static int
10741 dissect_h245_V76LogicalChannelParameters_mode_eRM(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10742 {
10743         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V76LogicalChannelParameters_mode_eRM, ett_h245_V76LogicalChannelParameters_mode_eRM, V76LogicalChannelParameters_mode_eRM_sequence);
10744
10745         return offset;
10746 }
10747
10748
10749
10750 static const value_string V76LogicalChannelParameters_mode_vals[] = {
10751         {  0, "eRM" },
10752         {  1, "uNERM" },
10753         {  0, NULL }
10754 };
10755 static per_choice_t V76LogicalChannelParameters_mode_choice[] = {
10756         {  0, "eRM", ASN1_EXTENSION_ROOT,
10757                         dissect_h245_V76LogicalChannelParameters_mode_eRM },
10758         {  1, "uNERM", ASN1_EXTENSION_ROOT,
10759                         dissect_h245_NULL },
10760         {  0, NULL, 0, NULL }
10761 };
10762 static int
10763 dissect_h245_V76LogicalChannelParameters_mode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10764 {
10765         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_V76LogicalChannelParameters_mode, ett_h245_V76LogicalChannelParameters_mode, V76LogicalChannelParameters_mode_choice, "mode", NULL);
10766
10767         return offset;
10768 }
10769
10770
10771
10772
10773 static int
10774 dissect_h245_n401(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10775 {
10776         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10777                 tree, hf_h245_n401, 1, 4095,
10778                 NULL, NULL, FALSE);
10779
10780         return offset;
10781 }
10782
10783
10784
10785
10786
10787 static per_sequence_t V76HDLCParameters_sequence[] = {
10788         { "crcLength", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10789                 dissect_h245_CRCLength },
10790         { "n401", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10791                 dissect_h245_n401 },
10792         { "loopbackTestProcedure", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10793                 dissect_h245_loopbackTestProcedure },
10794         { NULL, 0, 0, NULL }
10795 };
10796 static int
10797 dissect_h245_V76HDLCParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10798 {
10799         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V76HDLCParameters, ett_h245_V76HDLCParameters, V76HDLCParameters_sequence);
10800
10801         return offset;
10802 }
10803
10804
10805
10806
10807 static per_sequence_t V76LogicalChannelParameters_sequence[] = {
10808         { "hdlcParameters", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10809                 dissect_h245_V76HDLCParameters },
10810         { "suspendResume", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10811                 dissect_h245_V76LogicalChannelParameters_suspendResume },
10812         { "uIH", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10813                 dissect_h245_uIH },
10814         { "mode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10815                 dissect_h245_V76LogicalChannelParameters_mode },
10816         { "v75Parameters", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10817                 dissect_h245_V75Parameters },
10818         { NULL, 0, 0, NULL }
10819 };
10820 static int
10821 dissect_h245_V76LogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10822 {
10823         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V76LogicalChannelParameters, ett_h245_V76LogicalChannelParameters, V76LogicalChannelParameters_sequence);
10824
10825         return offset;
10826 }
10827
10828
10829
10830 static int
10831 dissect_h245_sessionID_0_255(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10832 {
10833         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10834                 tree, hf_h245_sessionID_0_255, 0, 255,
10835                 NULL, NULL, FALSE);
10836
10837         return offset;
10838 }
10839
10840
10841
10842 static int
10843 dissect_h245_sessionID_1_255(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10844 {
10845         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10846                 tree, hf_h245_sessionID_1_255, 1, 255,
10847                 NULL, NULL, FALSE);
10848
10849         return offset;
10850 }
10851
10852
10853
10854
10855 static int
10856 dissect_h245_associatedSessionID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10857 {
10858         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
10859                 tree, hf_h245_associatedSessionID, 1, 255,
10860                 NULL, NULL, FALSE);
10861
10862         return offset;
10863 }
10864
10865
10866
10867
10868 static int
10869 dissect_h245_payloadType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10870 {
10871         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
10872                 hf_h245_payloadType,  0,  127,
10873                 NULL, NULL, FALSE);
10874
10875         return offset;
10876 }
10877
10878
10879
10880
10881 static int
10882 dissect_h245_protectedSessionID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10883 {
10884         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
10885                 hf_h245_protectedSessionID,  1,  255,
10886                 NULL, NULL, FALSE);
10887
10888         return offset;
10889 }
10890
10891
10892
10893 static int
10894 dissect_h245_protectedPayloadType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10895 {
10896         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
10897                 hf_h245_protectedPayloadType,  0,  127,
10898                 NULL, NULL, FALSE);
10899
10900         return offset;
10901 }
10902
10903
10904
10905
10906 static per_sequence_t FECData_rfc2733_mode_separateStream_differentPort_sequence[] = {
10907         { "protectedSessionID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10908                 dissect_h245_protectedSessionID },
10909         { "protectedPayloadType", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
10910                 dissect_h245_protectedPayloadType },
10911         { NULL, 0, 0, NULL }
10912 };
10913 static int
10914 dissect_h245_FECData_rfc2733_mode_separateStream_differentPort(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10915 {
10916         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);
10917
10918         return offset;
10919 }
10920
10921
10922
10923
10924 static per_sequence_t FECData_rfc2733_mode_separateStream_samePort_sequence[] = {
10925         { "protectedPayloadType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10926                 dissect_h245_protectedPayloadType },
10927         { NULL, 0, 0, NULL }
10928 };
10929 static int
10930 dissect_h245_FECData_rfc2733_mode_separateStream_samePort(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10931 {
10932         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);
10933
10934         return offset;
10935 }
10936
10937
10938
10939 static const value_string FECData_rfc2733_mode_separateStream_vals[] = {
10940         {  0, "differentPort" },
10941         {  1, "samePort" },
10942         {  0, NULL }
10943 };
10944 static per_choice_t FECData_rfc2733_mode_separateStream_choice[] = {
10945         {  0, "differentPort", ASN1_EXTENSION_ROOT,
10946                 dissect_h245_FECData_rfc2733_mode_separateStream_differentPort },
10947         {  1, "samePort", ASN1_EXTENSION_ROOT,
10948                 dissect_h245_FECData_rfc2733_mode_separateStream_samePort },
10949         {  0, NULL, 0, NULL }
10950 };
10951 static int
10952 dissect_h245_FECData_rfc2733_mode_separateStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10953 {
10954         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);
10955
10956         return offset;
10957 }
10958
10959
10960
10961
10962 static const value_string FECData_rfc2733_mode_vals[] = {
10963         {  0, "redundancyEncoding" },
10964         {  1, "separateStream" },
10965         {  0, NULL }
10966 };
10967 static per_choice_t FECData_rfc2733_mode_choice[] = {
10968         {  0, "redundancyEncoding", ASN1_EXTENSION_ROOT,
10969                         dissect_h245_NULL },
10970         {  1, "separateStream", ASN1_EXTENSION_ROOT,
10971                         dissect_h245_FECData_rfc2733_mode_separateStream },
10972         {  0, NULL, 0, NULL }
10973 };
10974 static int
10975 dissect_h245_FECData_rfc2733_mode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10976 {
10977         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FECData_rfc2733_mode, ett_h245_FECData_rfc2733_mode, FECData_rfc2733_mode_choice, "mode", NULL);
10978
10979         return offset;
10980 }
10981
10982
10983
10984
10985 static per_sequence_t FECData_rfc2733_sequence[] = {
10986         { "mode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
10987                 dissect_h245_FECData_rfc2733_mode },
10988         { NULL, 0, 0, NULL }
10989 };
10990 static int
10991 dissect_h245_FECData_rfc2733(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10992 {
10993         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FECData_rfc2733, ett_h245_FECData_rfc2733, FECData_rfc2733_sequence);
10994
10995         return offset;
10996 }
10997
10998
10999
11000
11001 static const value_string FECData_vals[] = {
11002         {  0, "rfc2733" },
11003         {  0, NULL }
11004 };
11005 static per_choice_t FECData_choice[] = {
11006         {  0, "rfc2733", ASN1_NO_EXTENSIONS,
11007                 dissect_h245_FECData_rfc2733 },
11008         {  0, NULL, 0, NULL }
11009 };
11010 static int
11011 dissect_h245_FECData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11012 {
11013         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FECData, ett_h245_FECData, FECData_choice, "FECData", NULL);
11014
11015         return offset;
11016 }
11017
11018
11019
11020
11021 static per_sequence_t FECMode_rfc2733Mode_mode_separateStream_differentPort_sequence[] = {
11022         { "protectedSessionID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11023                 dissect_h245_protectedSessionID },
11024         { "protectedPayloadType", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
11025                 dissect_h245_protectedPayloadType },
11026         { NULL, 0, 0, NULL }
11027 };
11028 static int
11029 dissect_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11030 {
11031         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);
11032
11033         return offset;
11034 }
11035
11036
11037
11038
11039 static int
11040 dissect_h245_tsapIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11041 {
11042         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11043                 hf_h245_tsapIdentifier,  0,  65535,
11044                 &ipv4_port, NULL, FALSE);
11045
11046         return offset;
11047 }
11048
11049
11050
11051 static int
11052 dissect_h245_synchFlag(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11053 {
11054         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11055                 hf_h245_synchFlag,  0,  255,
11056                 NULL, NULL, FALSE);
11057
11058         return offset;
11059 }
11060
11061
11062
11063
11064 static int
11065 dissect_h245_finite_1_65535(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11066 {
11067         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11068                 hf_h245_finite_1_65535,  1,  65535,
11069                 NULL, NULL, FALSE);
11070
11071         return offset;
11072 }
11073
11074
11075
11076
11077 static const value_string MultiplexElement_repeatCount_vals[] = {
11078         {  0, "finite" },
11079         {  1, "untilClosingFlag" },
11080         {  0, NULL }
11081 };
11082 static per_choice_t MultiplexElement_repeatCount_choice[] = {
11083         {  0, "finite", ASN1_NO_EXTENSIONS,
11084                         dissect_h245_finite_1_65535 },
11085         {  1, "untilClosingFlag", ASN1_NO_EXTENSIONS,
11086                         dissect_h245_NULL },
11087         {  0, NULL, 0, NULL }
11088 };
11089 static int
11090 dissect_h245_MultiplexElement_repeatCount(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11091 {
11092         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultiplexElement_repeatCount, ett_h245_MultiplexElement_repeatCount, MultiplexElement_repeatCount_choice, "repeatCount", NULL);
11093
11094         return offset;
11095 }
11096
11097
11098
11099
11100 static int
11101 dissect_h245_MultiplexTableEntryNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11102 {
11103         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11104                 hf_h245_MultiplexTableEntryNumber,  1,  15,
11105                 NULL, NULL, FALSE);
11106
11107         return offset;
11108 }
11109
11110
11111
11112
11113 static per_sequence_t MultiplexEntryRejectionDescriptions_sequence[] = {
11114         { "multiplexTableEntryNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11115                 dissect_h245_MultiplexTableEntryNumber },
11116         { "cause", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11117                 dissect_h245_MultiplexEntryRejectionDescriptions_cause },
11118         { NULL, 0, 0, NULL }
11119 };
11120 static int
11121 dissect_h245_MultiplexEntryRejectionDescriptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11122 {
11123         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntryRejectionDescriptions, ett_h245_MultiplexEntryRejectionDescriptions, MultiplexEntryRejectionDescriptions_sequence);
11124
11125         return offset;
11126 }
11127
11128
11129
11130
11131 static per_sequence_t RequestMultiplexEntryRejectionDescriptions_sequence[] = {
11132         { "multiplexTableEntryNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11133                 dissect_h245_MultiplexTableEntryNumber },
11134         { "cause", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11135                 dissect_h245_RequestMultiplexEntryRejectionDescriptions_cause},
11136         { NULL, 0, 0, NULL }
11137 };
11138 static int
11139 dissect_h245_RequestMultiplexEntryRejectionDescriptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11140 {
11141         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntryRejectionDescriptions, ett_h245_RequestMultiplexEntryRejectionDescriptions, RequestMultiplexEntryRejectionDescriptions_sequence);
11142
11143         return offset;
11144 }
11145
11146
11147
11148
11149 static int
11150 dissect_h245_dataModeBitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11151 {
11152         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11153                 hf_h245_dataModeBitRate,  0,  4294967295UL,
11154                 NULL, NULL, FALSE);
11155
11156         return offset;
11157 }
11158
11159
11160
11161 static int
11162 dissect_h245_sessionDependency(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11163 {
11164         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11165                 hf_h245_sessionDependency,  1,  255,
11166                 NULL, NULL, FALSE);
11167
11168         return offset;
11169 }
11170
11171
11172
11173 static int
11174 dissect_h245_sRandom(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11175 {
11176         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11177                 hf_h245_sRandom,  1,  4294967295UL,
11178                 NULL, NULL, FALSE);
11179
11180         return offset;
11181 }
11182
11183
11184
11185 static int
11186 dissect_h245_McuNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11187 {
11188         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11189                 hf_h245_McuNumber,  0,  192,
11190                 NULL, NULL, FALSE);
11191
11192         return offset;
11193 }
11194
11195
11196
11197
11198 static int
11199 dissect_h245_TerminalNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11200 {
11201         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11202                 hf_h245_TerminalNumber,  0,  192,
11203                 NULL, NULL, FALSE);
11204
11205         return offset;
11206 }
11207
11208
11209
11210
11211 static per_sequence_t TerminalLabel_sequence[] = {
11212         { "mcuNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11213                 dissect_h245_McuNumber },
11214         { "terminalNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11215                 dissect_h245_TerminalNumber },
11216         { NULL, 0, 0, NULL }
11217 };
11218 static int
11219 dissect_h245_TerminalLabel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11220 {
11221         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalLabel, ett_h245_TerminalLabel, TerminalLabel_sequence);
11222
11223         return offset;
11224 }
11225
11226
11227
11228
11229
11230 static int
11231 dissect_h245_maxNumberOfAdditionalConnections(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11232 {
11233         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11234                 hf_h245_maxNumberOfAdditionalConnections,  1,  65535,
11235                 NULL, NULL, FALSE);
11236
11237         return offset;
11238 }
11239
11240
11241
11242
11243 static per_sequence_t MultilinkRequest_callInformation_sequence[] = {
11244         { "maxNumberOfAdditionalConnections", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11245                 dissect_h245_maxNumberOfAdditionalConnections },
11246         { NULL, 0, 0, NULL }
11247 };
11248 static int
11249 dissect_h245_MultilinkRequest_callInformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11250 {
11251         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest_callInformation, ett_h245_MultilinkRequest_callInformation, MultilinkRequest_callInformation_sequence);
11252
11253         return offset;
11254 }
11255
11256
11257
11258
11259
11260 static int
11261 dissect_h245_requestedInterval(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11262 {
11263         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11264                 hf_h245_requestedInterval,  0,  65535,
11265                 NULL, NULL, FALSE);
11266
11267         return offset;
11268 }
11269
11270
11271
11272
11273 static const value_string MultilinkRequest_maximumHeaderInterval_requestType_vals[] = {
11274         {  0, "currentIntervalInformation" },
11275         {  1, "requestedInterval" },
11276         {  0, NULL }
11277 };
11278 static per_choice_t MultilinkRequest_maximumHeaderInterval_requestType_choice[] = {
11279         {  0, "currentIntervalInformation", ASN1_EXTENSION_ROOT,
11280                         dissect_h245_NULL },
11281         {  1, "requestedInterval", ASN1_EXTENSION_ROOT,
11282                         dissect_h245_requestedInterval },
11283         {  0, NULL, 0, NULL }
11284 };
11285 static int
11286 dissect_h245_MultilinkRequest_maximumHeaderInterval_requestType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11287 {
11288         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest_maximumHeaderInterval_requestType, ett_h245_MultilinkRequest_maximumHeaderInterval_requestType, MultilinkRequest_maximumHeaderInterval_requestType_choice, "requestType", NULL);
11289
11290         return offset;
11291 }
11292
11293
11294
11295
11296 static per_sequence_t MultilinkRequest_maximumHeaderInterval_sequence[] = {
11297         { "requestType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11298                 dissect_h245_MultilinkRequest_maximumHeaderInterval_requestType },
11299         { NULL, 0, 0, NULL }
11300 };
11301 static int
11302 dissect_h245_MultilinkRequest_maximumHeaderInterval(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11303 {
11304         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest_maximumHeaderInterval, ett_h245_MultilinkRequest_maximumHeaderInterval, MultilinkRequest_maximumHeaderInterval_sequence);
11305
11306         return offset;
11307 }
11308
11309
11310
11311
11312 static int
11313 dissect_h245_callAssociationNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11314 {
11315         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11316                 hf_h245_callAssociationNumber,  0,  4294967295UL,
11317                 NULL, NULL, FALSE);
11318
11319         return offset;
11320 }
11321
11322
11323
11324
11325 static int
11326 dissect_h245_currentInterval(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11327 {
11328         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11329                 hf_h245_currentInterval,  0,  65535,
11330                 NULL, NULL, FALSE);
11331
11332         return offset;
11333 }
11334
11335
11336
11337 static per_sequence_t MultilinkResponse_maximumHeaderInterval_sequence[] = {
11338         { "currentInterval", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11339                 dissect_h245_currentInterval },
11340         { NULL, 0, 0, NULL }
11341 };
11342 static int
11343 dissect_h245_MultilinkResponse_maximumHeaderInterval(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11344 {
11345         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse_maximumHeaderInterval, ett_h245_MultilinkResponse_maximumHeaderInterval, MultilinkResponse_maximumHeaderInterval_sequence);
11346
11347         return offset;
11348 }
11349
11350
11351
11352
11353 static int
11354 dissect_h245_infoNotAvailable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11355 {
11356         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11357                 hf_h245_infoNotAvailable,  1,  65535,
11358                 NULL, NULL, FALSE);
11359
11360         return offset;
11361 }
11362
11363
11364
11365
11366 static int
11367 dissect_h245_channelTag(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11368 {
11369         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11370                 hf_h245_channelTag,  0,  4294967295UL,
11371                 NULL, NULL, FALSE);
11372
11373         return offset;
11374 }
11375
11376
11377
11378
11379 static int
11380 dissect_h245_ConnectionIDsequenceNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11381 {
11382         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11383                 hf_h245_ConnectionIDsequenceNumber,  0,  4294967295UL,
11384                 NULL, NULL, FALSE);
11385
11386         return offset;
11387 }
11388
11389
11390
11391
11392
11393 static per_sequence_t ConnectionIdentifier_sequence[] = {
11394         { "channelTag", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11395                 dissect_h245_channelTag },
11396         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11397                 dissect_h245_ConnectionIDsequenceNumber },
11398         { NULL, 0, 0, NULL }
11399 };
11400 static int
11401 dissect_h245_ConnectionIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11402 {
11403         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConnectionIdentifier, ett_h245_ConnectionIdentifier, ConnectionIdentifier_sequence);
11404
11405         return offset;
11406 }
11407
11408
11409
11410
11411 static per_sequence_t MultilinkRequest_removeConnection_sequence[] = {
11412         { "connectionIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11413                 dissect_h245_ConnectionIdentifier },
11414         { NULL, 0, 0, NULL }
11415 };
11416 static int
11417 dissect_h245_MultilinkRequest_removeConnection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11418 {
11419         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest_removeConnection, ett_h245_MultilinkRequest_removeConnection, MultilinkRequest_removeConnection_sequence);
11420
11421         return offset;
11422 }
11423
11424
11425
11426
11427 static per_sequence_t MultilinkResponse_removeConnection_sequence[] = {
11428         { "connectionIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11429                 dissect_h245_ConnectionIdentifier },
11430         { NULL, 0, 0, NULL }
11431 };
11432 static int
11433 dissect_h245_MultilinkResponse_removeConnection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11434 {
11435         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse_removeConnection, ett_h245_MultilinkResponse_removeConnection, MultilinkResponse_removeConnection_sequence);
11436
11437         return offset;
11438 }
11439
11440
11441
11442
11443 static per_sequence_t MultilinkIndication_excessiveError_sequence[] = {
11444         { "connectionIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11445                 dissect_h245_ConnectionIdentifier },
11446         { NULL, 0, 0, NULL }
11447 };
11448 static int
11449 dissect_h245_MultilinkIndication_excessiveError(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11450 {
11451         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkIndication_excessiveError, ett_h245_MultilinkIndication_excessiveError, MultilinkIndication_excessiveError_sequence);
11452
11453         return offset;
11454 }
11455
11456
11457
11458
11459 static int
11460 dissect_h245_MaximumBitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11461 {
11462         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11463                 hf_h245_MaximumBitRate,  0,  4294967295UL,
11464                 NULL, NULL, FALSE);
11465
11466         return offset;
11467 }
11468
11469
11470
11471 static per_sequence_t LogicalChannelRateRequest_sequence[] = {
11472         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11473                 dissect_h245_SequenceNumber },
11474         { "logicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11475                 dissect_h245_LogicalChannelNumber },
11476         { "maximumBitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11477                 dissect_h245_MaximumBitRate },
11478         { NULL, 0, 0, NULL }
11479 };
11480 static int
11481 dissect_h245_LogicalChannelRateRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11482 {
11483         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_LogicalChannelRateRequest, ett_h245_LogicalChannelRateRequest, LogicalChannelRateRequest_sequence);
11484
11485         return offset;
11486 }
11487
11488
11489
11490 static per_sequence_t LogicalChannelRateAck_sequence[] = {
11491         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11492                 dissect_h245_SequenceNumber },
11493         { "logicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11494                 dissect_h245_LogicalChannelNumber },
11495         { "maximumBitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11496                 dissect_h245_MaximumBitRate },
11497         { NULL, 0, 0, NULL }
11498 };
11499 static int
11500 dissect_h245_LogicalChannelRateAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11501 {
11502         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_LogicalChannelRateAck, ett_h245_LogicalChannelRateAck, LogicalChannelRateAck_sequence);
11503
11504         return offset;
11505 }
11506
11507
11508
11509
11510 static per_sequence_t LogicalChannelRateReject_sequence[] = {
11511         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11512                         dissect_h245_SequenceNumber },
11513         { "logicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11514                         dissect_h245_LogicalChannelNumber },
11515         { "rejectReason", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11516                         dissect_h245_LogicalChannelRateRejectReason },
11517         { "currentMaximumBitRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
11518                         dissect_h245_MaximumBitRate },
11519         { NULL, 0, 0, NULL }
11520 };
11521 static int
11522 dissect_h245_LogicalChannelRateReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11523 {
11524         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_LogicalChannelRateReject, ett_h245_LogicalChannelRateReject, LogicalChannelRateReject_sequence);
11525
11526         return offset;
11527 }
11528
11529
11530
11531
11532
11533 static per_sequence_t LogicalChannelRateRelease_sequence[] = {
11534         { NULL, 0, 0, NULL }
11535 };
11536 static int
11537 dissect_h245_LogicalChannelRateRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11538 {
11539         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_LogicalChannelRateRelease, ett_h245_LogicalChannelRateRelease, LogicalChannelRateRelease_sequence);
11540
11541         return offset;
11542 }
11543
11544
11545
11546
11547 static int
11548 dissect_h245_maximumBitRate_0_16777215(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11549 {
11550         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11551                 hf_h245_maximumBitRate_0_16777215,  0,  16777215,
11552                 NULL, NULL, FALSE);
11553
11554         return offset;
11555 }
11556
11557
11558
11559 static const value_string FlowControlCommand_restriction_vals[] = {
11560         {  0, "maximumBitRate" },
11561         {  1, "noRestriction" },
11562         {  0, NULL }
11563 };
11564 static per_choice_t FlowControlCommand_restriction_choice[] = {
11565         {  0, "maximumBitRate", ASN1_NO_EXTENSIONS,
11566                         dissect_h245_maximumBitRate_0_16777215 },
11567         {  1, "noRestriction", ASN1_NO_EXTENSIONS,
11568                         dissect_h245_NULL },
11569         {  0, NULL, 0, NULL }
11570 };
11571 static int
11572 dissect_h245_FlowControlCommand_restriction(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11573 {
11574         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FlowControlCommand_restriction, ett_h245_FlowControlCommand_restriction, FlowControlCommand_restriction_choice, "restriction", NULL);
11575
11576         return offset;
11577 }
11578
11579
11580
11581
11582 static const value_string FlowControlIndication_restriction_vals[] = {
11583         {  0, "maximumBitRate" },
11584         {  1, "noRestriction" },
11585         {  0, NULL }
11586 };
11587 static per_choice_t FlowControlIndication_restriction_choice[] = {
11588         {  0, "maximumBitRate", ASN1_NO_EXTENSIONS,
11589                         dissect_h245_maximumBitRate_0_16777215 },
11590         {  1, "noRestrictions", ASN1_NO_EXTENSIONS,
11591                         dissect_h245_NULL },
11592         {  0, NULL, 0, NULL }
11593 };
11594 static int
11595 dissect_h245_FlowControlIndication_restriction(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11596 {
11597         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FlowControlIndication_restriction, ett_h245_FlowControlIndication_restriction, FlowControlIndication_restriction_choice, "restriction", NULL);
11598
11599         return offset;
11600 }
11601
11602
11603
11604
11605 static per_sequence_t FlowControlCommand_sequence[] = {
11606         { "scope", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11607                 dissect_h245_FlowControlCommand_scope },
11608         { "restriction", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11609                 dissect_h245_FlowControlCommand_restriction },
11610         { NULL, 0, 0, NULL }
11611 };
11612 static int
11613 dissect_h245_FlowControlCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11614 {
11615         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FlowControlCommand, ett_h245_FlowControlCommand, FlowControlCommand_sequence);
11616
11617         return offset;
11618 }
11619
11620
11621
11622 static per_sequence_t FlowControlIndication_sequence[] = {
11623         { "scope", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11624                 dissect_h245_FlowControlIndication_scope },
11625         { "restriction", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11626                 dissect_h245_FlowControlIndication_restriction },
11627         { NULL, 0, 0, NULL }
11628 };
11629 static int
11630 dissect_h245_FlowControlIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11631 {
11632         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FlowControlIndication, ett_h245_FlowControlIndication, FlowControlIndication_sequence);
11633
11634         return offset;
11635 }
11636
11637
11638
11639
11640 static int
11641 dissect_h245_firstGOB_0_17(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11642 {
11643         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11644                 hf_h245_firstGOB_0_17,  0,  17,
11645                 NULL, NULL, FALSE);
11646
11647         return offset;
11648 }
11649
11650
11651
11652 static int
11653 dissect_h245_numberOfGOBs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11654 {
11655         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11656                 hf_h245_numberOfGOBs,  1,  18,
11657                 NULL, NULL, FALSE);
11658
11659         return offset;
11660 }
11661
11662
11663
11664
11665 static per_sequence_t MiscellaneousCommand_type_videoFastUpdateGOB_sequence[] = {
11666         { "firstGOB", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
11667                 dissect_h245_firstGOB_0_17 },
11668         { "numberOfGOBs", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
11669                 dissect_h245_numberOfGOBs },
11670         { NULL, 0, 0, NULL }
11671 };
11672 static int
11673 dissect_h245_MiscellaneousCommand_type_videoFastUpdateGOB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11674 {
11675         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type_videoFastUpdateGOB, ett_h245_MiscellaneousCommand_type_videoFastUpdateGOB, MiscellaneousCommand_type_videoFastUpdateGOB_sequence);
11676
11677         return offset;
11678 }
11679
11680
11681
11682
11683 static int
11684 dissect_h245_videoTemporalSpatialTradeOff(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11685 {
11686         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11687                 hf_h245_videoTemporalSpatialTradeOff,  0,  31,
11688                 NULL, NULL, FALSE);
11689
11690         return offset;
11691 }
11692
11693
11694
11695 static int
11696 dissect_h245_firstGOB_0_255(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11697 {
11698         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11699                 hf_h245_firstGOB_0_255,  0,  255,
11700                 NULL, NULL, FALSE);
11701
11702         return offset;
11703 }
11704
11705
11706
11707 static int
11708 dissect_h245_firstMB_1_8192(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11709 {
11710         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11711                 hf_h245_firstMB_1_8192,  1,  8192,
11712                 NULL, NULL, FALSE);
11713
11714         return offset;
11715 }
11716
11717
11718
11719 static int
11720 dissect_h245_firstMB_1_9216(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11721 {
11722         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11723                 hf_h245_firstMB_1_9216,  1,  9216,
11724                 NULL, NULL, FALSE);
11725
11726         return offset;
11727 }
11728
11729
11730
11731
11732 static int
11733 dissect_h245_numberOfMBs_1_8192(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11734 {
11735         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11736                 hf_h245_numberOfMBs_1_8192,  1,  8192,
11737                 NULL, NULL, FALSE);
11738
11739         return offset;
11740 }
11741
11742
11743
11744
11745 static int
11746 dissect_h245_numberOfMBs_1_9216(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11747 {
11748         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11749                 hf_h245_numberOfMBs_1_9216,  1,  9216,
11750                 NULL, NULL, FALSE);
11751
11752         return offset;
11753 }
11754
11755
11756
11757
11758 static per_sequence_t MiscellaneousCommand_type_videoFastUpdateMB_sequence[] = {
11759         { "firstGOB", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
11760                 dissect_h245_firstGOB_0_255 },
11761         { "firstMB", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
11762                 dissect_h245_firstMB_1_8192 },
11763         { "numberOfMBs", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11764                 dissect_h245_numberOfMBs_1_8192 },
11765         { NULL, 0, 0, NULL }
11766 };
11767 static int
11768 dissect_h245_MiscellaneousCommand_type_videoFastUpdateMB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11769 {
11770         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type_videoFastUpdateMB, ett_h245_MiscellaneousCommand_type_videoFastUpdateMB, MiscellaneousCommand_type_videoFastUpdateMB_sequence);
11771
11772         return offset;
11773 }
11774
11775
11776
11777
11778 static int
11779 dissect_h245_maxH223MUXPDUsize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11780 {
11781         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11782                 hf_h245_maxH223MUXPDUsize,  1,  65535,
11783                 NULL, NULL, FALSE);
11784
11785         return offset;
11786 }
11787
11788
11789
11790
11791 static int
11792 dissect_h245_temporalReference_0_1023(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11793 {
11794         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11795                 hf_h245_temporalReference_0_1023,  0,  1023,
11796                 NULL, NULL, FALSE);
11797
11798         return offset;
11799 }
11800
11801
11802
11803
11804
11805
11806 static int
11807 dissect_h245_temporalReference_0_255(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11808 {
11809         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11810                 hf_h245_temporalReference_0_255,  0,  255,
11811                 NULL, NULL, FALSE);
11812
11813         return offset;
11814 }
11815
11816
11817
11818
11819 static per_sequence_t MiscellaneousIndication_type_videoNotDecodedMBs_sequence[] = {
11820         { "firstMB", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11821                 dissect_h245_firstMB_1_8192 },
11822         { "numberOfMBs", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11823                 dissect_h245_numberOfMBs_1_8192 },
11824         { "temporalReference", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11825                 dissect_h245_temporalReference_0_255 },
11826         { NULL, 0, 0, NULL }
11827 };
11828 static int
11829 dissect_h245_MiscellaneousIndication_type_videoNotDecodedMBs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11830 {
11831         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousIndication_type_videoNotDecodedMBs, ett_h245_MiscellaneousIndication_type_videoNotDecodedMBs, MiscellaneousIndication_type_videoNotDecodedMBs_sequence);
11832
11833         return offset;
11834 }
11835
11836
11837
11838
11839
11840 static per_sequence_t MiscellaneousCommand_type_videoBadMBs_sequence[] = {
11841         { "firstMB", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11842                 dissect_h245_firstMB_1_9216 },
11843         { "numberOfMBs", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11844                 dissect_h245_numberOfMBs_1_9216 },
11845         { "temporalReference", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11846                 dissect_h245_temporalReference_0_1023 },
11847         { NULL, 0, 0, NULL }
11848 };
11849 static int
11850 dissect_h245_MiscellaneousCommand_type_videoBadMBs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11851 {
11852         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type_videoBadMBs, ett_h245_MiscellaneousCommand_type_videoBadMBs, MiscellaneousCommand_type_videoBadMBs_sequence);
11853
11854         return offset;
11855 }
11856
11857
11858
11859
11860 static int
11861 dissect_h245_pictureNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11862 {
11863         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11864                 hf_h245_pictureNumber,  0,  1023,
11865                 NULL, NULL, FALSE);
11866
11867         return offset;
11868 }
11869
11870
11871
11872
11873 static int
11874 dissect_h245_longTermPictureIndex(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11875 {
11876         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11877                 hf_h245_longTermPictureIndex,  0,  255,
11878                 NULL, NULL, FALSE);
11879
11880         return offset;
11881 }
11882
11883
11884
11885
11886 static const value_string PictureReference_vals[] = {
11887         {  0, "pictureNumber" },
11888         {  1, "longTermPictureIndex" },
11889         {  0, NULL }
11890 };
11891 static per_choice_t PictureReference_choice[] = {
11892         {  0, "pictureNumber", ASN1_EXTENSION_ROOT,
11893                 dissect_h245_pictureNumber },
11894         {  1, "longTermPictureIndex", ASN1_EXTENSION_ROOT,
11895                 dissect_h245_longTermPictureIndex },
11896         {  0, NULL, 0, NULL }
11897 };
11898 static int
11899 dissect_h245_PictureReference(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11900 {
11901         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_PictureReference, ett_h245_PictureReference, PictureReference_choice, "PictureReference", NULL);
11902
11903         return offset;
11904 }
11905
11906
11907
11908
11909 static per_sequence_t MiscellaneousCommand_type_lostPartialPicture_sequence[] = {
11910         { "pictureReference", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11911                 dissect_h245_PictureReference },
11912         { "firstMB", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11913                 dissect_h245_firstMB_1_9216 },
11914         { "numberOfMBs", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11915                 dissect_h245_numberOfMBs_1_9216 },
11916         { NULL, 0, 0, NULL }
11917 };
11918 static int
11919 dissect_h245_MiscellaneousCommand_type_lostPartialPicture(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11920 {
11921         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type_lostPartialPicture, ett_h245_MiscellaneousCommand_type_lostPartialPicture, MiscellaneousCommand_type_lostPartialPicture_sequence);
11922
11923         return offset;
11924 }
11925
11926
11927
11928
11929 static int
11930 dissect_h245_sampleSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11931 {
11932         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11933                 hf_h245_sampleSize,  1,  255,
11934                 NULL, NULL, FALSE);
11935
11936         return offset;
11937 }
11938
11939
11940
11941 static int
11942 dissect_h245_samplesPerFrame(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11943 {
11944         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11945                 hf_h245_samplesPerFrame,  1,  255,
11946                 NULL, NULL, FALSE);
11947
11948         return offset;
11949 }
11950
11951
11952
11953 static per_sequence_t MobileMultilinkReconfigurationIndication_sequence[] = {
11954         { "sampleSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11955                 dissect_h245_sampleSize },
11956         { "samplesPerFrame", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11957                 dissect_h245_samplesPerFrame },
11958         { NULL, 0, 0, NULL }
11959 };
11960 static int
11961 dissect_h245_MobileMultilinkReconfigurationIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11962 {
11963         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MobileMultilinkReconfigurationIndication, ett_h245_MobileMultilinkReconfigurationIndication, MobileMultilinkReconfigurationIndication_sequence);
11964
11965         return offset;
11966 }
11967
11968
11969
11970
11971 static per_sequence_t MobileMultilinkReconfigurationCommand_sequence[] = {
11972         { "sampleSize", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11973                 dissect_h245_sampleSize },
11974         { "samplesPerFrame", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11975                 dissect_h245_samplesPerFrame },
11976         { "status", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
11977                 dissect_h245_MobileMultilinkReconfigurationCommand_status },
11978         { NULL, 0, 0, NULL }
11979 };
11980 static int
11981 dissect_h245_MobileMultilinkReconfigurationCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11982 {
11983         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MobileMultilinkReconfigurationCommand, ett_h245_MobileMultilinkReconfigurationCommand, MobileMultilinkReconfigurationCommand_sequence);
11984
11985         return offset;
11986 }
11987
11988
11989
11990
11991 static int
11992 dissect_h245_sbeNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11993 {
11994         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11995                 hf_h245_sbeNumber,  0,  9,
11996                 NULL, NULL, FALSE);
11997
11998         return offset;
11999 }
12000
12001
12002
12003
12004
12005
12006
12007 static int
12008 dissect_h245_subPictureNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12009 {
12010         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12011                 hf_h245_subPictureNumber,  0,  255,
12012                 NULL, NULL, FALSE);
12013
12014         return offset;
12015 }
12016
12017
12018
12019
12020 static per_sequence_t TerminalYouAreSeeingInSubPictureNumber_sequence[] = {
12021         { "terminalNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12022                 dissect_h245_TerminalNumber },
12023         { "subPictureNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12024                 dissect_h245_subPictureNumber },
12025         { NULL, 0, 0, NULL }
12026 };
12027 static int
12028 dissect_h245_TerminalYouAreSeeingInSubPictureNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12029 {
12030         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalYouAreSeeingInSubPictureNumber, ett_h245_TerminalYouAreSeeingInSubPictureNumber, TerminalYouAreSeeingInSubPictureNumber_sequence);
12031
12032         return offset;
12033 }
12034
12035
12036
12037 static int
12038 dissect_h245_compositionNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12039 {
12040         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12041                 hf_h245_compositionNumber,  0,  255,
12042                 NULL, NULL, FALSE);
12043
12044         return offset;
12045 }
12046
12047
12048
12049
12050 static per_sequence_t VideoIndicateCompose_sequence[] = {
12051         { "compositionNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12052                 dissect_h245_compositionNumber },
12053         { NULL, 0, 0, NULL }
12054 };
12055 static int
12056 dissect_h245_VideoIndicateCompose(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12057 {
12058         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VideoIndicateCompose, ett_h245_VideoIndicateCompose, VideoIndicateCompose_sequence);
12059
12060         return offset;
12061 }
12062
12063
12064
12065
12066 static const value_string ConferenceIndication_vals[] = {
12067         {  0, "sbeNumber" },
12068         {  1, "terminalNumberAssign" },
12069         {  2, "terminalJoinedConference" },
12070         {  3, "terminalLeftConference" },
12071         {  4, "seenByAtLeastOneOther" },
12072         {  5, "cancelSeenByAtLeastOneOther" },
12073         {  6, "seenByAll" },
12074         {  7, "cancelSeenByAll" },
12075         {  8, "terminalAreYouSeeing" },
12076         {  9, "requestForFloor" },
12077         { 10, "withdrawChairToken" },
12078         { 11, "floorRequested" },
12079         { 12, "terminalAreYouSeeingInSubPictureNumber" },
12080         { 13, "videoIndicateCompose" },
12081         {  0, NULL }
12082 };
12083 static per_choice_t ConferenceIndication_choice[] = {
12084         {  0, "sbeNumber", ASN1_EXTENSION_ROOT,
12085                         dissect_h245_sbeNumber },
12086         {  1, "terminalNumberAssign", ASN1_EXTENSION_ROOT,
12087                         dissect_h245_TerminalLabel },
12088         {  2, "terminalJoinedConference", ASN1_EXTENSION_ROOT,
12089                         dissect_h245_TerminalLabel },
12090         {  3, "terminalLeftConference", ASN1_EXTENSION_ROOT,
12091                         dissect_h245_TerminalLabel },
12092         {  4, "seenByAtLeastOneOther", ASN1_EXTENSION_ROOT,
12093                         dissect_h245_NULL },
12094         {  5, "cancelSeenByAtLeastOneOther", ASN1_EXTENSION_ROOT,
12095                         dissect_h245_NULL },
12096         {  6, "seenByAll", ASN1_EXTENSION_ROOT,
12097                         dissect_h245_NULL },
12098         {  7, "cancelSeenByAll", ASN1_EXTENSION_ROOT,
12099                         dissect_h245_NULL },
12100         {  8, "terminalAreYouSeeing", ASN1_EXTENSION_ROOT,
12101                         dissect_h245_TerminalLabel },
12102         {  9, "requestForFloor", ASN1_EXTENSION_ROOT,
12103                         dissect_h245_NULL },
12104         { 10, "withdrawChairToken", ASN1_NOT_EXTENSION_ROOT,
12105                         dissect_h245_NULL },
12106         { 11, "floorRequested", ASN1_NOT_EXTENSION_ROOT,
12107                         dissect_h245_TerminalLabel },
12108         { 12, "terminalAreYouSeeingInSubPictureNumber", ASN1_NOT_EXTENSION_ROOT,
12109                         dissect_h245_TerminalYouAreSeeingInSubPictureNumber },
12110         { 13, "videoIndicateCompose", ASN1_NOT_EXTENSION_ROOT,
12111                         dissect_h245_VideoIndicateCompose },
12112         {  0, NULL, 0, NULL }
12113 };
12114 static int
12115 dissect_h245_ConferenceIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12116 {
12117         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceIndication, ett_h245_ConferenceIndication, ConferenceIndication_choice, "ConferenceIndication", NULL);
12118
12119         return offset;
12120 }
12121
12122
12123
12124
12125 static int
12126 dissect_h245_estimatedReceivedJitterMantissa(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12127 {
12128         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12129                 hf_h245_estimatedReceivedJitterMantissa,  0,  3,
12130                 NULL, NULL, FALSE);
12131
12132         return offset;
12133 }
12134
12135
12136
12137
12138 static int
12139 dissect_h245_estimatedReceivedJitterExponent(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12140 {
12141         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12142                 hf_h245_estimatedReceivedJitterExponent,  0,  7,
12143                 NULL, NULL, FALSE);
12144
12145         return offset;
12146 }
12147
12148
12149
12150 static int
12151 dissect_h245_skippedFrameCount(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12152 {
12153         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12154                 hf_h245_skippedFrameCount,  0,  15,
12155                 NULL, NULL, FALSE);
12156
12157         return offset;
12158 }
12159
12160
12161
12162
12163 static int
12164 dissect_h245_additionalDecoderBuffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12165 {
12166         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12167                 hf_h245_additionalDecoderBuffer,  0,  262143,
12168                 NULL, NULL, FALSE);
12169
12170         return offset;
12171 }
12172
12173
12174
12175
12176 static per_sequence_t JitterIndication_sequence[] = {
12177         { "scope", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12178                 dissect_h245_JitterIndication_scope },
12179         { "estimatedReceivedJitterMantissa", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12180                 dissect_h245_estimatedReceivedJitterMantissa },
12181         { "estimatedReceivedJitterExponent", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12182                 dissect_h245_estimatedReceivedJitterExponent },
12183         { "skippedFrameCount", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
12184                 dissect_h245_skippedFrameCount },
12185         { "additionalDecoderBuffer", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
12186                 dissect_h245_additionalDecoderBuffer },
12187         { NULL, 0, 0, NULL }
12188 };
12189 static int
12190 dissect_h245_JitterIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12191 {
12192         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_JitterIndication, ett_h245_JitterIndication, JitterIndication_sequence);
12193
12194         return offset;
12195 }
12196
12197
12198
12199
12200 static int
12201 dissect_h245_skew(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12202 {
12203         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12204                 hf_h245_skew,  0,  4095,
12205                 NULL, NULL, FALSE);
12206
12207         return offset;
12208 }
12209
12210
12211
12212 static per_sequence_t H223SkewIndication_sequence[] = {
12213         { "logicalChannelNumber1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12214                         dissect_h245_LogicalChannelNumber },
12215         { "logicalChannelNumber2", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12216                         dissect_h245_LogicalChannelNumber },
12217         { "skew", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12218                         dissect_h245_skew },
12219         { NULL, 0, 0, NULL }
12220 };
12221 static int
12222 dissect_h245_H223SkewIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12223 {
12224         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223SkewIndication, ett_h245_H223SkewIndication, H223SkewIndication_sequence);
12225
12226         return offset;
12227 }
12228
12229
12230
12231
12232 static int
12233 dissect_h245_maximumSkew(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12234 {
12235         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12236                 hf_h245_maximumSkew,  0,  4095,
12237                 NULL, NULL, FALSE);
12238
12239         return offset;
12240 }
12241
12242
12243
12244
12245 static per_sequence_t H2250MaximumSkewIndication_sequence[] = {
12246         { "logicalChannelNumber1", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12247                         dissect_h245_LogicalChannelNumber },
12248         { "logicalChannelNumber2", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12249                         dissect_h245_LogicalChannelNumber },
12250         { "maximumSkew", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12251                         dissect_h245_maximumSkew },
12252         { NULL, 0, 0, NULL }
12253 };
12254 static int
12255 dissect_h245_H2250MaximumSkewIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12256 {
12257         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250MaximumSkewIndication, ett_h245_H2250MaximumSkewIndication, H2250MaximumSkewIndication_sequence);
12258
12259         return offset;
12260 }
12261
12262
12263
12264
12265 static int
12266 dissect_h245_duration(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12267 {
12268         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12269                 hf_h245_duration,  1,  65535,
12270                 NULL, NULL, FALSE);
12271
12272         return offset;
12273 }
12274
12275
12276
12277 static per_sequence_t UserInputIndication_signalUpdate_sequence[] = {
12278         { "duration", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12279                 dissect_h245_duration },
12280         { "rtp", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
12281                 dissect_h245_UserInputIndication_signalUpdate_rtp },
12282         { NULL, 0, 0, NULL }
12283 };
12284 static int
12285 dissect_h245_UserInputIndication_signalUpdate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12286 {
12287         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_signalUpdate, ett_h245_UserInputIndication_signalUpdate, UserInputIndication_signalUpdate_sequence);
12288
12289         return offset;
12290 }
12291
12292
12293
12294
12295 static int
12296 dissect_h245_timestamp(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12297 {
12298         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12299                 hf_h245_timestamp,  0,  4294967295UL,
12300                 NULL, NULL, FALSE);
12301
12302         return offset;
12303 }
12304
12305
12306
12307 static int
12308 dissect_h245_expirationTime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12309 {
12310         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12311                 hf_h245_expirationTime,  0,  4294967295UL,
12312                 NULL, NULL, FALSE);
12313
12314         return offset;
12315 }
12316
12317
12318
12319
12320 static per_sequence_t UserInputIndication_signal_rtp_sequence[] = {
12321         { "timestamp", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
12322                 dissect_h245_timestamp },
12323         { "expirationTime", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
12324                 dissect_h245_expirationTime },
12325         { "logicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12326                 dissect_h245_LogicalChannelNumber },
12327         { NULL, 0, 0, NULL }
12328 };
12329 static int
12330 dissect_h245_UserInputIndication_signal_rtp(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12331 {
12332         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_signal_rtp, ett_h245_UserInputIndication_signal_rtp, UserInputIndication_signal_rtp_sequence);
12333
12334         return offset;
12335 }
12336
12337
12338
12339
12340
12341
12342 static per_sequence_t MasterSlaveDeterminationRelease_sequence[] = {
12343         { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
12344 };
12345 static int
12346 dissect_h245_MasterSlaveDeterminationRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12347 {
12348         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDeterminationRelease, ett_h245_MasterSlaveDeterminationRelease, MasterSlaveDeterminationRelease_sequence);
12349
12350         return offset;
12351 }
12352
12353
12354
12355
12356
12357 static per_sequence_t MultilinkIndication_crcDesired_sequence[] = {
12358         { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
12359 };
12360 static int
12361 dissect_h245_MultilinkIndication_crcDesired(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12362 {
12363         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkIndication_crcDesired, ett_h245_MultilinkIndication_crcDesired, MultilinkIndication_crcDesired_sequence);
12364
12365         return offset;
12366 }
12367
12368
12369
12370
12371
12372 static int
12373 dissect_h245_object(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12374 {
12375         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_object, object);
12376         return offset;
12377 }
12378
12379
12380
12381 static int
12382 dissect_h245_protocolIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12383 {
12384         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_protocolIdentifier, NULL);
12385         return offset;
12386 }
12387
12388
12389
12390
12391 static int
12392 dissect_h245_algorithm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12393 {
12394         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_algorithm, NULL);
12395         return offset;
12396 }
12397
12398
12399
12400
12401 static int
12402 dissect_h245_antiSpamAlgorithm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12403 {
12404         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_antiSpamAlgorithm, NULL);
12405         return offset;
12406 }
12407
12408
12409
12410
12411 static int
12412 dissect_h245_standard_object(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12413 {
12414         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_standard_object, NULL);
12415         return offset;
12416 }
12417
12418
12419
12420 static int
12421 dissect_h245_oid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12422 {
12423         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_oid, NULL);
12424         return offset;
12425 }
12426
12427
12428
12429
12430 static int
12431 dissect_h245_escrowID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12432 {
12433         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_escrowID, NULL);
12434         return offset;
12435 }
12436
12437
12438
12439
12440 static int
12441 dissect_h245_field(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12442 {
12443         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_field, NULL);
12444         return offset;
12445 }
12446
12447
12448
12449
12450 /* dissect_h245_NonStandardIdentifier is used for H.245 */
12451
12452 static const value_string NonStandardIdentifier_vals[] = {
12453         { 0,    "object" },
12454         { 1,    "h221NonStandard" },
12455         { 0, NULL }
12456 };
12457 static per_choice_t NonStandardIdentifier_choice[] = {
12458         { 0,    "object", ASN1_NO_EXTENSIONS,
12459                 dissect_h245_object },
12460         { 1,    "h221NonStandard", ASN1_NO_EXTENSIONS,
12461                 dissect_h245_h221NonStandard },
12462         { 0, NULL, 0, NULL }
12463 };
12464 static int
12465 dissect_h245_NonStandardIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12466 {
12467         guint32 value;
12468
12469         *object = '\0';
12470         h221NonStandard = 0;
12471
12472         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NonStandardIdentifier, ett_h245_NonStandardIdentifier, NonStandardIdentifier_choice, "NonStandardIdentifier", &value);
12473
12474         switch (value) {
12475                 case 0 :  /* object */
12476                         nsp_handle = dissector_get_string_handle(nsp_object_dissector_table, object);
12477                         break;
12478                 case 1 :  /* h221NonStandard */
12479                         nsp_handle = dissector_get_port_handle(nsp_h221_dissector_table, h221NonStandard);
12480                         break;
12481                 default :
12482                         nsp_handle = NULL;
12483     }
12484
12485         return offset;
12486 }
12487
12488 static int
12489 dissect_h245_NonStandardParameterData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12490 {
12491         guint32 value_offset, value_len;
12492         tvbuff_t *next_tvb;
12493
12494         if (nsp_handle) {
12495                 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, -1, -1, -1, &value_offset, &value_len);
12496                 next_tvb = tvb_new_subset(tvb, value_offset, value_len, value_len);
12497                 call_dissector(nsp_handle, next_tvb, pinfo, tree);
12498         } else {
12499                 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_NonStandardParameterData, -1, -1, NULL, NULL);
12500         }
12501         return offset;
12502 }
12503
12504
12505
12506
12507 static int
12508 dissect_h245_nlpidData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12509 {
12510         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_nlpidData, -1, -1, NULL, NULL);
12511         return offset;
12512 }
12513
12514
12515
12516
12517 static int
12518 dissect_h245_nonCollapsingRaw(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12519 {
12520         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_nonCollapsingRaw, -1, -1, NULL, NULL);
12521         return offset;
12522 }
12523
12524
12525
12526 static int
12527 dissect_h245_uuid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12528 {
12529         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_uuid, 16, 16, NULL, NULL);
12530         return offset;
12531 }
12532
12533
12534
12535
12536 static int
12537 dissect_h245_octetString(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12538 {
12539         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_octetString, -1, -1, NULL, NULL);
12540         return offset;
12541 }
12542
12543
12544
12545
12546 static int
12547 dissect_h245_externalReference(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12548 {
12549         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_externalReference, 1, 255, NULL, NULL);
12550         return offset;
12551 }
12552
12553
12554
12555
12556 static int
12557 dissect_h245_nsapAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12558 {
12559         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_nsapAddress, 1, 20, NULL, NULL);
12560         return offset;
12561 }
12562
12563
12564
12565
12566 static int
12567 dissect_h245_subaddress_1_20(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12568 {
12569         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_subaddress_1_20, 1, 20, NULL, NULL);
12570         return offset;
12571 }
12572
12573
12574
12575
12576 static int
12577 dissect_h245_programDescriptors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12578 {
12579         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_programDescriptors, -1, -1, NULL, NULL);
12580         return offset;
12581 }
12582
12583
12584
12585 static int
12586 dissect_h245_streamDescriptors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12587 {
12588         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_streamDescriptors, -1, -1, NULL, NULL);
12589         return offset;
12590 }
12591
12592
12593
12594
12595 static int
12596 dissect_h245_ipv4network(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree)
12597 {
12598         /* byte aligned */
12599         if(offset&0x07){
12600                 offset=(offset&0xfffffff8)+8;
12601         }
12602         tvb_memcpy(tvb, (char *)&ipv4_address, offset>>3, 4);
12603         proto_tree_add_ipv4(tree, hf_h245_ipv4network, tvb, offset>>3, 4, ipv4_address);
12604
12605         offset+=32;
12606         return offset;
12607 }
12608
12609
12610
12611 static int
12612 dissect_h245_ipxNode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12613 {
12614         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_ipxNode, 6, 6, NULL, NULL);
12615         return offset;
12616 }
12617
12618
12619
12620 static int
12621 dissect_h245_ipxNetnum(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12622 {
12623         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_ipxNetnum, 4, 4, NULL, NULL);
12624         return offset;
12625 }
12626
12627
12628
12629
12630 static int
12631 dissect_h245_ipv6network(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12632 {
12633         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_ipv6network, 16, 16, NULL, NULL);
12634         return offset;
12635 }
12636
12637
12638
12639 static int
12640 dissect_h245_netBios(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12641 {
12642         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_netBios, 16, 16, NULL, NULL);
12643         return offset;
12644 }
12645
12646
12647
12648
12649 static int
12650 dissect_h245_nsap(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12651 {
12652         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_nsap, 1, 20, NULL, NULL);
12653         return offset;
12654 }
12655
12656
12657
12658
12659 static int
12660 dissect_h245_h235Key(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12661 {
12662         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_h235Key, 1, 65535, NULL, NULL);
12663         return offset;
12664 }
12665
12666
12667
12668 static int
12669 dissect_h245_value(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12670 {
12671         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_value, 1, 65535, NULL, NULL);
12672         return offset;
12673 }
12674
12675
12676
12677
12678 static int
12679 dissect_h245_certificateResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12680 {
12681         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_certificateResponse, 1, 65535, NULL, NULL);
12682         return offset;
12683 }
12684
12685
12686
12687
12688 static int
12689 dissect_h245_TerminalID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12690 {
12691         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_TerminalID, 1, 128, NULL, NULL);
12692         return offset;
12693 }
12694
12695
12696
12697 static int
12698 dissect_h245_ConferenceID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12699 {
12700         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_ConferenceID, 1, 32, NULL, NULL);
12701         return offset;
12702 }
12703
12704
12705
12706 static int
12707 dissect_h245_Password(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12708 {
12709         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_Password, 1, 32, NULL, NULL);
12710         return offset;
12711 }
12712
12713
12714
12715
12716 static int
12717 dissect_h245_encryptionSE(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12718 {
12719         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_encryptionSE, -1, -1, NULL, NULL);
12720         return offset;
12721 }
12722
12723
12724
12725 static int
12726 dissect_h245_conferenceIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12727 {
12728         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_conferenceIdentifier, 1, 16, NULL, NULL);
12729         return offset;
12730 }
12731
12732
12733
12734
12735 static int
12736 dissect_h245_returnedFunction(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12737 {
12738         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_returnedFunction, -1, -1, NULL, NULL);
12739         return offset;
12740 }
12741
12742
12743
12744
12745 static int
12746 dissect_h245_productNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12747 {
12748         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_productNumber, 1, 256, NULL, NULL);
12749         return offset;
12750 }
12751
12752
12753
12754
12755 static int
12756 dissect_h245_versionNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12757 {
12758         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_versionNumber, 1, 256, NULL, NULL);
12759         return offset;
12760 }
12761
12762
12763
12764
12765
12766 static per_sequence_t H222LogicalChannelParameters_sequence[] = {
12767         { "resourceID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12768                 dissect_h245_resourceID },
12769         { "subChannelID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12770                 dissect_h245_subChannelID },
12771         { "pcr-pid", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
12772                 dissect_h245_pcr_pid },
12773         { "programDescriptors", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
12774                 dissect_h245_programDescriptors },
12775         { "streamDescriptors", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
12776                 dissect_h245_streamDescriptors },
12777         { NULL, 0, 0, NULL }
12778 };
12779 static int
12780 dissect_h245_H222LogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12781 {
12782         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H222LogicalChannelParameters, ett_h245_H222LogicalChannelParameters, H222LogicalChannelParameters_sequence);
12783
12784         return offset;
12785 }
12786
12787
12788
12789
12790
12791 static per_sequence_t UnicastAddress_iPAddress_sequence[] = {
12792         { "network", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12793                 dissect_h245_ipv4network },
12794         { "tsapIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12795                 dissect_h245_tsapIdentifier },
12796         { NULL, 0, 0, NULL }
12797 };
12798 static int
12799 dissect_h245_UnicastAddress_iPAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12800 {
12801         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UnicastAddress_iPAddress, ett_h245_UnicastAddress_iPAddress, UnicastAddress_iPAddress_sequence);
12802
12803         return offset;
12804 }
12805
12806
12807
12808 static per_sequence_t UnicastAddress_iPXAddress_sequence[] = {
12809         { "node", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12810                 dissect_h245_ipxNode },
12811         { "netnum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12812                 dissect_h245_ipxNetnum },
12813         { "tsapIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12814                 dissect_h245_tsapIdentifier },
12815         { NULL, 0, 0, NULL }
12816 };
12817 static int
12818 dissect_h245_UnicastAddress_iPXAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12819 {
12820         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UnicastAddress_iPXAddress, ett_h245_UnicastAddress_iPXAddress, UnicastAddress_iPXAddress_sequence);
12821
12822         return offset;
12823 }
12824
12825
12826
12827
12828 static per_sequence_t UnicastAddress_iP6Address_sequence[] = {
12829         { "network", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12830                 dissect_h245_ipv6network },
12831         { "tsapIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12832                 dissect_h245_tsapIdentifier },
12833         { NULL, 0, 0, NULL }
12834 };
12835 static int
12836 dissect_h245_UnicastAddress_iP6Address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12837 {
12838         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UnicastAddress_iP6Address, ett_h245_UnicastAddress_iP6Address, UnicastAddress_iP6Address_sequence);
12839
12840         return offset;
12841 }
12842
12843
12844
12845
12846
12847 static per_sequence_t VendorIdentification_sequence[] = {
12848         { "vendor", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12849                 dissect_h245_NonStandardIdentifier },
12850         { "productNumber", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
12851                 dissect_h245_productNumber },
12852         { "versionNumber", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
12853                 dissect_h245_versionNumber },
12854         { NULL, 0, 0, NULL }
12855 };
12856 static int
12857 dissect_h245_VendorIdentification(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12858 {
12859         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VendorIdentification, ett_h245_VendorIdentification, VendorIdentification_sequence);
12860
12861         return offset;
12862 }
12863
12864
12865
12866
12867 static per_sequence_t MulticastAddress_iPAddress_sequence[] = {
12868         { "network", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12869                 dissect_h245_ipv4network },
12870         { "tsapIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12871                 dissect_h245_tsapIdentifier },
12872         { NULL, 0, 0, NULL }
12873 };
12874 static int
12875 dissect_h245_MulticastAddress_iPAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12876 {
12877         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MulticastAddress_iPAddress, ett_h245_MulticastAddress_iPAddress, MulticastAddress_iPAddress_sequence);
12878
12879         return offset;
12880 }
12881
12882
12883
12884
12885 static per_sequence_t MulticastAddress_iP6Address_sequence[] = {
12886         { "network", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12887                 dissect_h245_ipv6network },
12888         { "tsapIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12889                 dissect_h245_tsapIdentifier },
12890         { NULL, 0, 0, NULL }
12891 };
12892 static int
12893 dissect_h245_MulticastAddress_iP6Address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12894 {
12895         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MulticastAddress_iP6Address, ett_h245_MulticastAddress_iP6Address, MulticastAddress_iP6Address_sequence);
12896
12897         return offset;
12898 }
12899
12900
12901
12902
12903
12904 static per_sequence_t Criteria_sequence[] = {
12905         { "field", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12906                 dissect_h245_field },
12907         { "value", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12908                 dissect_h245_value },
12909         { NULL, 0, 0, NULL }
12910 };
12911 static int
12912 dissect_h245_Criteria(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12913 {
12914         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_Criteria, ett_h245_Criteria, Criteria_sequence);
12915
12916         return offset;
12917 }
12918
12919
12920
12921
12922 static per_sequence_t ConferenceResponse_mCterminalIDResponse_sequence[] = {
12923         { "terminalLabel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12924                 dissect_h245_TerminalLabel },
12925         { "terminalID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12926                 dissect_h245_TerminalID },
12927         { NULL, 0, 0, NULL }
12928 };
12929 static int
12930 dissect_h245_ConferenceResponse_mCterminalIDResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12931 {
12932         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_mCterminalIDResponse, ett_h245_ConferenceResponse_mCterminalIDResponse, ConferenceResponse_mCterminalIDResponse_sequence);
12933
12934         return offset;
12935 }
12936
12937
12938
12939
12940 static per_sequence_t ConferenceResponse_conferenceIDResponse_sequence[] = {
12941         { "terminalLabel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12942                 dissect_h245_TerminalLabel },
12943         { "conferenceID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12944                 dissect_h245_ConferenceID },
12945         { NULL, 0, 0, NULL }
12946 };
12947 static int
12948 dissect_h245_ConferenceResponse_conferenceIDResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12949 {
12950         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_conferenceIDResponse, ett_h245_ConferenceResponse_conferenceIDResponse, ConferenceResponse_conferenceIDResponse_sequence);
12951
12952         return offset;
12953 }
12954
12955
12956
12957
12958 static per_sequence_t ConferenceResponse_passwordResponse_sequence[] = {
12959         { "terminalLabel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12960                 dissect_h245_TerminalLabel },
12961         { "password", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12962                 dissect_h245_Password },
12963         { NULL, 0, 0, NULL }
12964 };
12965 static int
12966 dissect_h245_ConferenceResponse_passwordResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12967 {
12968         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_passwordResponse, ett_h245_ConferenceResponse_passwordResponse, ConferenceResponse_passwordResponse_sequence);
12969
12970         return offset;
12971 }
12972
12973
12974
12975
12976
12977 static per_sequence_t ConferenceResponse_extensionAddressResponse_sequence[] = {
12978         { "extensionAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12979                 dissect_h245_TerminalID },
12980         { NULL, 0, 0, NULL }
12981 };
12982 static int
12983 dissect_h245_ConferenceResponse_extensionAddressResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12984 {
12985         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_extensionAddressResponse, ett_h245_ConferenceResponse_extensionAddressResponse, ConferenceResponse_extensionAddressResponse_sequence);
12986
12987         return offset;
12988 }
12989
12990
12991
12992
12993 static per_sequence_t ConferenceResponse_chairTokenOwnerResponse_sequence[] = {
12994         { "terminalLabel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12995                 dissect_h245_TerminalLabel },
12996         { "terminalID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
12997                 dissect_h245_TerminalID },
12998         { NULL, 0, 0, NULL }
12999 };
13000 static int
13001 dissect_h245_ConferenceResponse_chairTokenOwnerResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13002 {
13003         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_chairTokenOwnerResponse, ett_h245_ConferenceResponse_chairTokenOwnerResponse, ConferenceResponse_chairTokenOwnerResponse_sequence);
13004
13005         return offset;
13006 }
13007
13008
13009
13010
13011 static per_sequence_t ConferenceResponse_terminalCertificateResponse_sequence[] = {
13012         { "terminalLabel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13013                 dissect_h245_TerminalLabel },
13014         { "certificateResponse", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
13015                 dissect_h245_certificateResponse },
13016         { NULL, 0, 0, NULL }
13017 };
13018 static int
13019 dissect_h245_ConferenceResponse_terminalCertificateResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13020 {
13021         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_terminalCertificateResponse, ett_h245_ConferenceResponse_terminalCertificateResponse, ConferenceResponse_terminalCertificateResponse_sequence);
13022
13023         return offset;
13024 }
13025
13026
13027
13028
13029 static per_sequence_t TerminalInformation_sequence[] = {
13030         { "terminalLabel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13031                 dissect_h245_TerminalLabel },
13032         { "terminalID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13033                 dissect_h245_TerminalID },
13034         { NULL, 0, 0, NULL }
13035 };
13036 static int
13037 dissect_h245_TerminalInformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13038 {
13039         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalInformation, ett_h245_TerminalInformation, TerminalInformation_sequence);
13040
13041         return offset;
13042 }
13043
13044
13045
13046 static per_sequence_t SubstituteConferenceIDCommand_sequence[] = {
13047         { "conferenceIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13048                 dissect_h245_conferenceIdentifier },
13049         { NULL, 0, 0, NULL }
13050 };
13051 static int
13052 dissect_h245_SubstituteConferenceIDCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13053 {
13054         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_SubstituteConferenceIDCommand, ett_h245_SubstituteConferenceIDCommand, SubstituteConferenceIDCommand_sequence);
13055
13056         return offset;
13057 }
13058
13059
13060
13061
13062 static const value_string ConferenceCommand_vals[] = {
13063         {  0, "broadcastMyLogicalChannel" },
13064         {  1, "cancelBroadcastMyLogicalChannel" },
13065         {  2, "makeTerminalBroadcaster" },
13066         {  3, "cancelMakeTerminalBroadcaster" },
13067         {  4, "sendThisSource" },
13068         {  5, "cancelSendThisSource" },
13069         {  6, "dropConference" },
13070         {  7, "substituteConferenceIDCommand" },
13071         {  0, NULL }
13072 };
13073 static per_choice_t ConferenceCommand_choice[] = {
13074         {  0, "broadcastMyLogicalChannel", ASN1_EXTENSION_ROOT,
13075                 dissect_h245_LogicalChannelNumber },
13076         {  1, "cancelBroadcastMyLogicalChannel", ASN1_EXTENSION_ROOT,
13077                 dissect_h245_LogicalChannelNumber },
13078         {  2, "makeTerminalBroadcaster", ASN1_EXTENSION_ROOT,
13079                 dissect_h245_TerminalLabel },
13080         {  3, "cancelMakeTerminalBroadcaster", ASN1_EXTENSION_ROOT,
13081                 dissect_h245_NULL },
13082         {  4, "sendThisSource", ASN1_EXTENSION_ROOT,
13083                 dissect_h245_TerminalLabel },
13084         {  5, "cancelSendThisSource", ASN1_EXTENSION_ROOT,
13085                 dissect_h245_NULL },
13086         {  6, "dropConference", ASN1_EXTENSION_ROOT,
13087                 dissect_h245_NULL },
13088         {  7, "substituteConferenceIDCommand", ASN1_NOT_EXTENSION_ROOT,
13089                 dissect_h245_SubstituteConferenceIDCommand },
13090         {  0, NULL, 0, NULL }
13091 };
13092 static int
13093 dissect_h245_ConferenceCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13094 {
13095         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceCommand, ett_h245_ConferenceCommand, ConferenceCommand_choice, "ConferenceCommand", NULL);
13096
13097         return offset;
13098 }
13099
13100
13101
13102
13103 static per_sequence_t FunctionNotSupported_sequence[] = {
13104         { "cause", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13105                 dissect_h245_FunctionNotSupported_cause },
13106         { "returnedFunction", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
13107                 dissect_h245_returnedFunction },
13108         { NULL, 0, 0, NULL }
13109 };
13110 static int
13111 dissect_h245_FunctionNotSupported(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13112 {
13113         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FunctionNotSupported, ett_h245_FunctionNotSupported, FunctionNotSupported_sequence);
13114
13115         return offset;
13116 }
13117
13118
13119
13120
13121 /* dissect_h245_NonStandardParameter is used for H.245 */
13122
13123 static per_sequence_t NonStandardParameter_sequence[] = {
13124         { "nonStandardIdentifier", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13125                 dissect_h245_NonStandardIdentifier },
13126         { "data", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13127                 dissect_h245_NonStandardParameterData },
13128         { NULL, 0, 0, NULL }
13129 };
13130 int
13131 dissect_h245_NonStandardParameter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13132 {
13133         nsp_handle = NULL;
13134
13135         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NonStandardParameter, ett_h245_NonStandardParameter, NonStandardParameter_sequence);
13136
13137         return offset;
13138 }
13139
13140 static const value_string DataProtocolCapability_vals[] = {
13141         {  0, "nonStandard" },
13142         {  1, "v14buffered" },
13143         {  2, "v42lapm" },
13144         {  3, "hdlcFrameTunnelling" },
13145         {  4, "h310SeparateVCStack" },
13146         {  5, "h310SingleVCStack" },
13147         {  6, "transparent" },
13148         {  7, "segmentationAndReassembly" },
13149         {  8, "hdlcFrameTunnelingwSAR" },
13150         {  9, "v120" },
13151         { 10, "separateLANStack" },
13152         { 11, "v76wCompression" },
13153         { 12, "tcp" },
13154         { 13, "udp" },
13155         {  0, NULL }
13156 };
13157 static per_choice_t DataProtocolCapability_choice[] = {
13158         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
13159                         dissect_h245_NonStandardParameter },
13160         {  1, "v14buffered", ASN1_EXTENSION_ROOT,
13161                         dissect_h245_NULL },
13162         {  2, "v42lapm", ASN1_EXTENSION_ROOT,
13163                         dissect_h245_NULL },
13164         {  3, "hdlcFrameTunnelling", ASN1_EXTENSION_ROOT,
13165                         dissect_h245_NULL },
13166         {  4, "h310SeparateVCStack", ASN1_EXTENSION_ROOT,
13167                         dissect_h245_NULL },
13168         {  5, "h310SingleVCStack", ASN1_EXTENSION_ROOT,
13169                         dissect_h245_NULL },
13170         {  6, "transparent", ASN1_EXTENSION_ROOT,
13171                         dissect_h245_NULL },
13172         {  7, "segmentationAndReassembly", ASN1_NOT_EXTENSION_ROOT,
13173                         dissect_h245_NULL },
13174         {  8, "hdlcFrameTunnelingwSAR", ASN1_NOT_EXTENSION_ROOT,
13175                         dissect_h245_NULL },
13176         {  9, "v120", ASN1_NOT_EXTENSION_ROOT,
13177                         dissect_h245_NULL },
13178         { 10, "separateLANStack", ASN1_NOT_EXTENSION_ROOT,
13179                         dissect_h245_NULL },
13180         { 11, "v76wCompression", ASN1_NOT_EXTENSION_ROOT,
13181                         dissect_h245_DataProtocolCapability_v76wCompression },
13182         { 12, "tcp", ASN1_NOT_EXTENSION_ROOT,
13183                         dissect_h245_NULL },
13184         { 13, "udp", ASN1_NOT_EXTENSION_ROOT,
13185                         dissect_h245_NULL },
13186         {  0, NULL, 0, NULL }
13187 };
13188 int
13189 dissect_h245_DataProtocolCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13190 {
13191         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DataProtocolCapability, ett_h245_DataProtocolCapability, DataProtocolCapability_choice, "DataProtocolCapability", NULL);
13192
13193         return offset;
13194 }
13195
13196
13197
13198
13199 static const value_string MediaEncryptionAlgorithm_vals[] = {
13200         {  0, "nonStandard" },
13201         {  1, "algorithm" },
13202         {  0, NULL }
13203 };
13204 static per_choice_t MediaEncryptionAlgorithm_choice[] = {
13205         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
13206                 dissect_h245_NonStandardParameter },
13207         {  1, "algorithm", ASN1_EXTENSION_ROOT,
13208                 dissect_h245_algorithm },
13209         {  0, NULL, 0, NULL }
13210 };
13211 static int
13212 dissect_h245_MediaEncryptionAlgorithm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13213 {
13214         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MediaEncryptionAlgorithm, ett_h245_MediaEncryptionAlgorithm, MediaEncryptionAlgorithm_choice, "MediaEncryptionAlgorithm", NULL);
13215
13216         return offset;
13217 }
13218
13219
13220
13221
13222 static const value_string UserInputCapability_vals[] = {
13223         {  0, "nonStandard" },
13224         {  1, "basicString" },
13225         {  2, "iA5String" },
13226         {  3, "generalString" },
13227         {  4, "dtmf" },
13228         {  5, "hookflash" },
13229         {  6, "extendedAlphanumeric" },
13230         {  0, NULL }
13231 };
13232 static per_choice_t UserInputCapability_choice[] = {
13233         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
13234                         dissect_h245_NonStandardParameter },
13235         {  1, "basicString", ASN1_EXTENSION_ROOT,
13236                         dissect_h245_NULL },
13237         {  2, "iA5String", ASN1_EXTENSION_ROOT,
13238                         dissect_h245_NULL },
13239         {  3, "generalString", ASN1_EXTENSION_ROOT,
13240                         dissect_h245_NULL },
13241         {  4, "dtmf", ASN1_EXTENSION_ROOT,
13242                         dissect_h245_NULL },
13243         {  5, "hookflash", ASN1_EXTENSION_ROOT,
13244                         dissect_h245_NULL },
13245         {  6, "extendedAlphanumeric", ASN1_NOT_EXTENSION_ROOT,
13246                         dissect_h245_NULL },
13247         {  0, NULL, 0, NULL }
13248 };
13249 static int
13250 dissect_h245_UserInputCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13251 {
13252         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_UserInputCapability, ett_h245_UserInputCapability, UserInputCapability_choice, "UserInputCapability", NULL);
13253
13254         return offset;
13255 }
13256
13257
13258
13259 static int
13260 dissect_h245_domainBased(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13261 {
13262         offset=dissect_per_IA5String(tvb, offset, pinfo, tree, hf_h245_domainBased, 1, 64);
13263
13264         return offset;
13265 }
13266
13267
13268
13269
13270 static const value_string CapabilityIdentifier_vals[] = {
13271         {  0, "standard" },
13272         {  1, "h221NonStandard" },
13273         {  2, "uuid" },
13274         {  3, "domainBased" },
13275         {  0, NULL }
13276 };
13277 static per_choice_t CapabilityIdentifier_choice[] = {
13278         {  0, "standard", ASN1_EXTENSION_ROOT,
13279                 dissect_h245_standard_object },
13280         {  1, "h221NonStandard", ASN1_EXTENSION_ROOT,
13281                 dissect_h245_NonStandardParameter },
13282         {  2, "uuid", ASN1_EXTENSION_ROOT,
13283                 dissect_h245_uuid },
13284         {  3, "domainBased", ASN1_EXTENSION_ROOT,
13285                 dissect_h245_domainBased },
13286         {  0, NULL, 0, NULL }
13287 };
13288 static int
13289 dissect_h245_CapabilityIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13290 {
13291         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CapabilityIdentifier, ett_h245_CapabilityIdentifier, CapabilityIdentifier_choice, "CapabilityIdentifier", NULL);
13292
13293         return offset;
13294 }
13295
13296
13297
13298
13299 static const value_string ParameterIdentifier_vals[] = {
13300         {  0, "standard" },
13301         {  1, "h221NonStandard" },
13302         {  2, "uuid" },
13303         {  3, "domainBased" },
13304         {  0, NULL }
13305 };
13306 static per_choice_t ParameterIdentifier_choice[] = {
13307         {  0, "standard", ASN1_EXTENSION_ROOT,
13308                 dissect_h245_standard_0_127 },
13309         {  1, "h221NonStandard", ASN1_EXTENSION_ROOT,
13310                 dissect_h245_NonStandardParameter },
13311         {  2, "uuid", ASN1_EXTENSION_ROOT,
13312                 dissect_h245_uuid },
13313         {  3, "domainBased", ASN1_EXTENSION_ROOT,
13314                 dissect_h245_domainBased },
13315         {  0, NULL, 0, NULL }
13316 };
13317 static int
13318 dissect_h245_ParameterIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13319 {
13320         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ParameterIdentifier, ett_h245_ParameterIdentifier, ParameterIdentifier_choice, "ParameterIdentifier", NULL);
13321
13322         return offset;
13323 }
13324
13325
13326 static const value_string H223LogicalChannelParameters_adaptationLayerType_vals[] = {
13327         {  0, "nonStandard" },
13328         {  1, "al1Framed" },
13329         {  2, "al1NotFramed" },
13330         {  3, "al2WithoutSequenceNumbers" },
13331         {  4, "al2WithSequenceNumbers" },
13332         {  5, "al3" },
13333         {  6, "al1M" },
13334         {  7, "al2M" },
13335         {  8, "al3M" },
13336         {  0, NULL }
13337 };
13338 static per_choice_t H223LogicalChannelParameters_adaptationLayerType_choice[] = {
13339         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
13340                         dissect_h245_NonStandardParameter },
13341         {  1, "al1Framed", ASN1_EXTENSION_ROOT,
13342                         dissect_h245_NULL },
13343         {  2, "al1NotFramed", ASN1_EXTENSION_ROOT,
13344                         dissect_h245_NULL },
13345         {  3, "al2WithoutSequenceNumbers", ASN1_EXTENSION_ROOT,
13346                         dissect_h245_NULL },
13347         {  4, "al2WithSequenceNumbers", ASN1_EXTENSION_ROOT,
13348                         dissect_h245_NULL },
13349         {  5, "al3", ASN1_EXTENSION_ROOT,
13350                         dissect_h245_H223LogicalChannelParameters_adaptionLayerType_al3 },
13351         {  6, "al1M", ASN1_NOT_EXTENSION_ROOT,
13352                 dissect_h245_H223AL1MParameters },
13353         {  7, "al2M", ASN1_NOT_EXTENSION_ROOT,
13354                 dissect_h245_H223AL2MParameters },
13355         {  8, "al3M", ASN1_NOT_EXTENSION_ROOT,
13356                 dissect_h245_H223AL3MParameters },
13357         {  0, NULL, 0, NULL }
13358 };
13359 static int
13360 dissect_h245_H223LogicalChannelParameters_adaptationLayerType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13361 {
13362         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223LogicalChannelParameters_adaptationLayerType, ett_h245_H223LogicalChannelParameters_adaptationLayerType, H223LogicalChannelParameters_adaptationLayerType_choice, "adaptationLayerType", NULL);
13363
13364         return offset;
13365 }
13366
13367
13368
13369
13370
13371 static const value_string MulticastAddress_vals[] = {
13372         {  0, "iPAddress" },
13373         {  1, "iP6Address" },
13374         {  2, "nsap" },
13375         {  3, "nonStandardAddress" },
13376         {  0, NULL }
13377 };
13378 static per_choice_t MulticastAddress_choice[] = {
13379         {  0, "iPAddress", ASN1_EXTENSION_ROOT,
13380                 dissect_h245_MulticastAddress_iPAddress },
13381         {  1, "iP6Address", ASN1_EXTENSION_ROOT,
13382                 dissect_h245_MulticastAddress_iP6Address },
13383         {  2, "nsap", ASN1_NOT_EXTENSION_ROOT,
13384                 dissect_h245_nsap },
13385         {  3, "nonStandardAddress", ASN1_NOT_EXTENSION_ROOT,
13386                 dissect_h245_NonStandardParameter },
13387         {  0, NULL, 0, NULL }
13388 };
13389 static int
13390 dissect_h245_MulticastAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13391 {
13392         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MulticastAddress, ett_h245_MulticastAddress, MulticastAddress_choice, "MulticastAddress", NULL);
13393
13394         return offset;
13395 }
13396
13397
13398
13399
13400 static const value_string H223ModeParameters_adaptationLayerType_vals[] = {
13401         {  0, "nonStandard" },
13402         {  1, "al1Framed" },
13403         {  2, "al1NotFramed" },
13404         {  3, "al2WithoutSequenceNumbers" },
13405         {  4, "al2WithSequenceNumbers" },
13406         {  5, "al3" },
13407         {  6, "al1M" },
13408         {  7, "al2M" },
13409         {  8, "al3M" },
13410         {  0, NULL }
13411 };
13412 static per_choice_t H223ModeParameters_adaptationLayerType_choice[] = {
13413         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
13414                         dissect_h245_NonStandardParameter },
13415         {  1, "al1Framed", ASN1_EXTENSION_ROOT,
13416                         dissect_h245_NULL },
13417         {  2, "al1NotFramed", ASN1_EXTENSION_ROOT,
13418                         dissect_h245_NULL },
13419         {  3, "al2WithoutSequenceNumbers", ASN1_EXTENSION_ROOT,
13420                         dissect_h245_NULL },
13421         {  4, "al2WithSequenceNumbers", ASN1_EXTENSION_ROOT,
13422                         dissect_h245_NULL },
13423         {  5, "al3", ASN1_EXTENSION_ROOT,
13424                         dissect_h245_H223ModeParameters_adaptationLayerType_al3 },
13425         {  6, "al1M", ASN1_NOT_EXTENSION_ROOT,
13426                         dissect_h245_H223AL1MParameters },
13427         {  7, "al2M", ASN1_NOT_EXTENSION_ROOT,
13428                         dissect_h245_H223AL2MParameters },
13429         {  8, "al3M", ASN1_NOT_EXTENSION_ROOT,
13430                         dissect_h245_H223AL3MParameters },
13431         {  0, NULL, 0, NULL }
13432 };
13433 static int
13434 dissect_h245_H223ModeParameters_adaptationLayerType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13435 {
13436         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223ModeParameters_adaptationLayerType, ett_h245_H223ModeParameters_adaptationLayerType, H223ModeParameters_adaptationLayerType_choice, "Type", NULL);
13437
13438         return offset;
13439 }
13440
13441
13442
13443
13444 static const value_string EncryptionMode_vals[] = {
13445         {  0, "nonStandard" },
13446         {  1, "h233Encryption" },
13447         {  0, NULL }
13448 };
13449 static per_choice_t EncryptionMode_choice[] = {
13450         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
13451                 dissect_h245_NonStandardParameter },
13452         {  1, "h233Encryption", ASN1_EXTENSION_ROOT,
13453                 dissect_h245_NULL },
13454         {  0, NULL, 0, NULL }
13455 };
13456 static int
13457 dissect_h245_EncryptionMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13458 {
13459         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_EncryptionMode, ett_h245_EncryptionMode, EncryptionMode_choice, "EncryptionMode", NULL);
13460
13461         return offset;
13462 }
13463
13464
13465
13466
13467 static per_sequence_t NonStandardMessage_sequence[] = {
13468         { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13469                 dissect_h245_NonStandardParameter },
13470         { NULL, 0, 0, NULL }
13471 };
13472 static int
13473 dissect_h245_NonStandardMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13474 {
13475         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NonStandardMessage, ett_h245_NonStandardMessage, NonStandardMessage_sequence);
13476
13477         return offset;
13478 }
13479
13480
13481
13482
13483
13484 static const value_string MultilinkIndication_vals[] = {
13485         {  0, "nonStandard" },
13486         {  1, "crcDesired" },
13487         {  2, "excessiveError" },
13488         {  0, NULL }
13489 };
13490 static per_choice_t MultilinkIndication_choice[] = {
13491         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
13492                 dissect_h245_NonStandardMessage },
13493         {  1, "crcDesired", ASN1_EXTENSION_ROOT,
13494                 dissect_h245_MultilinkIndication_crcDesired },
13495         {  2, "excessiveError", ASN1_EXTENSION_ROOT,
13496                 dissect_h245_MultilinkIndication_excessiveError },
13497         {  0, NULL, 0, NULL }
13498 };
13499 static int
13500 dissect_h245_MultilinkIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13501 {
13502         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultilinkIndication, ett_h245_MultilinkIndication, MultilinkIndication_choice, "MultilinkIndication", NULL);
13503
13504         return offset;
13505 }
13506
13507
13508
13509
13510 static const value_string DialingInformationNetworkType_vals[] = {
13511         {  0, "nonStandard" },
13512         {  1, "n-isdn" },
13513         {  2, "gstn" },
13514         {  3, "mobile" },
13515         {  0, NULL }
13516 };
13517 static per_choice_t DialingInformationNetworkType_choice[] = {
13518         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
13519                 dissect_h245_NonStandardMessage },
13520         {  1, "n-isdn", ASN1_EXTENSION_ROOT,
13521                 dissect_h245_NULL },
13522         {  2, "gstn", ASN1_EXTENSION_ROOT,
13523                 dissect_h245_NULL },
13524         {  3, "mobile", ASN1_NOT_EXTENSION_ROOT,
13525                 dissect_h245_NULL },
13526         {  0, NULL, 0, NULL }
13527 };
13528 static int
13529 dissect_h245_DialingInformationNetworkType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13530 {
13531         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DialingInformationNetworkType, ett_h245_DialingInformationNetworkType, DialingInformationNetworkType_choice, "DialingInformationNetworkType", NULL);
13532
13533         return offset;
13534 }
13535
13536
13537
13538
13539 static per_sequence_t QOSCapability_sequence[] = {
13540         { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
13541                 dissect_h245_NonStandardParameter },
13542         { "rsvpParameters", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
13543                 dissect_h245_RSVPParameters },
13544         { "atmParameters", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
13545                 dissect_h245_ATMParameters },
13546         { NULL, 0, 0, NULL }
13547 };
13548 static int
13549 dissect_h245_QOSCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13550 {
13551         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_QOSCapability, ett_h245_QOSCapability, QOSCapability_sequence);
13552
13553         return offset;
13554 }
13555
13556
13557
13558
13559 static per_sequence_t DataApplicationCapability_application_t84_sequence[] = {
13560         { "t84Protocol", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13561                 dissect_h245_DataProtocolCapability },
13562         { "t84Profile", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13563                 dissect_h245_T84Profile },
13564         { NULL, 0, 0, NULL }
13565 };
13566 static int
13567 dissect_h245_DataApplicationCapability_application_t84(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13568 {
13569         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataApplicationCapability_application_t84, ett_h245_DataApplicationCapability_application_t84, DataApplicationCapability_application_t84_sequence);
13570
13571         return offset;
13572 }
13573
13574
13575
13576
13577
13578 static per_sequence_t DataApplicationCapability_application_nlpid_sequence[] = {
13579         { "nlpidProtocol", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13580                 dissect_h245_DataProtocolCapability },
13581         { "nlpidData", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13582                 dissect_h245_nlpidData },
13583         { NULL, 0, 0, NULL }
13584 };
13585 static int
13586 dissect_h245_DataApplicationCapability_application_nlpid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13587 {
13588         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataApplicationCapability_application_nlpid, ett_h245_DataApplicationCapability_application_nlpid, DataApplicationCapability_application_nlpid_sequence);
13589
13590         return offset;
13591 }
13592
13593
13594
13595
13596 static per_sequence_t DataApplicationCapability_application_t38fax_sequence[] = {
13597         { "t38FaxProtocol", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13598                 dissect_h245_DataProtocolCapability },
13599         { "t38FaxProfile", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13600                 dissect_h245_T38FaxProfile },
13601         { NULL, 0, 0, NULL }
13602 };
13603 static int
13604 dissect_h245_DataApplicationCapability_application_t38fax(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13605 {
13606         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataApplicationCapability_application_t38fax, ett_h245_DataApplicationCapability_application_t38fax, DataApplicationCapability_application_t38fax_sequence);
13607
13608         return offset;
13609 }
13610
13611
13612
13613
13614 static per_sequence_t AuthenticationCapability_sequence[] = {
13615         { "nonStandard", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
13616                 dissect_h245_NonStandardParameter },
13617         { "antiSpamAlgorithm", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
13618                 dissect_h245_antiSpamAlgorithm },
13619         { NULL, 0, 0, NULL }
13620 };
13621 static int
13622 dissect_h245_AuthenticationCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13623 {
13624         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_AuthenticationCapability, ett_h245_AuthenticationCapability, AuthenticationCapability_sequence);
13625
13626         return offset;
13627 }
13628
13629
13630
13631 static per_sequence_t IntegrityCapability_sequence[] = {
13632         { "nonStandard", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
13633                 dissect_h245_NonStandardParameter },
13634         { NULL, 0, 0, NULL }
13635 };
13636 static int
13637 dissect_h245_IntegrityCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13638 {
13639         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IntegrityCapability, ett_h245_IntegrityCapability, IntegrityCapability_sequence);
13640
13641         return offset;
13642 }
13643
13644
13645
13646
13647 static per_sequence_t H223LogicalChannelParameters_sequence[] = {
13648         { "adaptationLayerType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13649                 dissect_h245_H223LogicalChannelParameters_adaptationLayerType },
13650         { "segmentableFlag", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13651                 dissect_h245_segmentableFlag },
13652         { NULL, 0, 0, NULL }
13653 };
13654 static int
13655 dissect_h245_H223LogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13656 {
13657         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223LogicalChannelParameters, ett_h245_H223LogicalChannelParameters, H223LogicalChannelParameters_sequence);
13658
13659         return offset;
13660 }
13661
13662
13663
13664
13665 static per_sequence_t RequestChannelClose_sequence[] = {
13666         { "forwardLogicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13667                 dissect_h245_LogicalChannelNumber },
13668         { "qosCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
13669                 dissect_h245_QOSCapability },
13670         { "reason", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13671                 dissect_h245_RequestChannelClose_reason },
13672         { NULL, 0, 0, NULL }
13673 };
13674 static int
13675 dissect_h245_RequestChannelClose(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13676 {
13677         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestChannelClose, ett_h245_RequestChannelClose, RequestChannelClose_sequence);
13678
13679         return offset;
13680 }
13681
13682
13683
13684
13685 static per_sequence_t DataMode_application_nlpid_sequence[] = {
13686         { "nlpidProtocol", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13687                 dissect_h245_DataProtocolCapability },
13688         { "nlpidData", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13689                 dissect_h245_nlpidData },
13690         { NULL, 0, 0, NULL }
13691 };
13692 static int
13693 dissect_h245_DataMode_application_nlpid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13694 {
13695         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataMode_application_nlpid, ett_h245_DataMode_application_nlpid, DataMode_application_nlpid_sequence);
13696
13697         return offset;
13698 }
13699
13700
13701
13702
13703
13704 static per_sequence_t DataMode_application_t38fax_sequence[] = {
13705         { "t38FaxProtocol", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13706                 dissect_h245_DataProtocolCapability },
13707         { "t38FaxProfile", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13708                 dissect_h245_T38FaxProfile },
13709         { NULL, 0, 0, NULL }
13710 };
13711 static int
13712 dissect_h245_DataMode_application_t38fax(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13713 {
13714         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataMode_application_t38fax, ett_h245_DataMode_application_t38fax, DataMode_application_t38fax_sequence);
13715
13716         return offset;
13717 }
13718
13719
13720
13721
13722 static per_sequence_t EncryptionCommand_encryptionAlgorithmID_sequence[] = {
13723         { "h233AlgorithmIdentifier", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13724                 dissect_h245_SequenceNumber },
13725         { "associatedAlgorithm", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
13726                 dissect_h245_NonStandardParameter },
13727         { NULL, 0, 0, NULL }
13728 };
13729 static int
13730 dissect_h245_EncryptionCommand_encryptionAlgorithmID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13731 {
13732         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EncryptionCommand_encryptionAlgorithmID, ett_h245_EncryptionCommand_encryptionAlgorithmID, EncryptionCommand_encryptionAlgorithmID_sequence);
13733
13734         return offset;
13735 }
13736
13737
13738
13739
13740
13741 static const value_string EncryptionCommand_vals[] = {
13742         {  0, "encryptionSE" },
13743         {  1, "encryptionIVRequest" },
13744         {  2, "encryptionAlgorithmID" },
13745         {  0, NULL }
13746 };
13747 static per_choice_t EncryptionCommand_choice[] = {
13748         {  0, "encryptionSE", ASN1_EXTENSION_ROOT,
13749                 dissect_h245_encryptionSE },
13750         {  1, "encryptionIVRequest", ASN1_EXTENSION_ROOT,
13751                 dissect_h245_NULL },
13752         {  2, "encryptionAlgorithmID", ASN1_EXTENSION_ROOT,
13753                 dissect_h245_EncryptionCommand_encryptionAlgorithmID },
13754         {  0, NULL, 0, NULL }
13755 };
13756 static int
13757 dissect_h245_EncryptionCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13758 {
13759         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_EncryptionCommand, ett_h245_EncryptionCommand, EncryptionCommand_choice, "EncryptionCommand", NULL);
13760
13761         return offset;
13762 }
13763
13764
13765
13766
13767 static const value_string EndSessionCommand_vals[] = {
13768         {  0,   "nonStandard" },
13769         {  1,   "disconnect" },
13770         {  2,   "gstnOptions" },
13771         {  3,   "isdnOptions" },
13772         {  0, NULL }
13773 };
13774 static per_choice_t EndSessionCommand_choice[] = {
13775         {  0,   "nonStandard",                  ASN1_EXTENSION_ROOT,
13776                 dissect_h245_NonStandardParameter },
13777         {  1,   "disconnect",                   ASN1_EXTENSION_ROOT,
13778                 dissect_h245_NULL },
13779         {  2,   "gstnOptions",                  ASN1_EXTENSION_ROOT,
13780                 dissect_h245_EndSessionCommand_gstnOptions },
13781         {  3,   "isdnOptions",                  ASN1_NOT_EXTENSION_ROOT,
13782                 dissect_h245_EndSessionCommand_isdnOptions },
13783         {  0, NULL, 0, NULL }
13784 };
13785 static int
13786 dissect_h245_EndSessionCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13787 {
13788         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_EndSessionCommand_type, ett_h245_EndSessionCommand, EndSessionCommand_choice, "EndSessionCommand", NULL);
13789
13790         return offset;
13791 }
13792
13793
13794
13795
13796
13797
13798 static int
13799 dissect_h245_AudioCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
13800 static per_sequence_t VBDCapability_sequence[] = {
13801         { "type", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13802                 dissect_h245_AudioCapability },
13803         { NULL, 0, 0, NULL }
13804 };
13805 static int
13806 dissect_h245_VBDCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13807 {
13808         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VBDCapability, ett_h245_VBDCapability, VBDCapability_sequence);
13809
13810         return offset;
13811 }
13812
13813
13814
13815
13816
13817
13818
13819
13820 static int
13821 dissect_h245_nonStandardData_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13822 {
13823         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_nonStandardData, ett_h245_nonStandardData, dissect_h245_NonStandardParameter);
13824         return offset;
13825 }
13826
13827
13828
13829
13830
13831 static int
13832 dissect_h245_supersedes_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13833 {
13834         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_supersedes, ett_h245_supersedes, dissect_h245_ParameterIdentifier );
13835         return offset;
13836 }
13837
13838
13839
13840
13841 static const value_string ParameterValue_vals[] = {
13842         {  0, "logical" },
13843         {  1, "booleanArray" },
13844         {  2, "unsignedMin" },
13845         {  3, "unsignedMax" },
13846         {  4, "unsigned32Min" },
13847         {  5, "unsigned32Max" },
13848         {  6, "octetString" },
13849         {  7, "genericParameter" },
13850         {  0, NULL }
13851 };
13852 static int dissect_h245_genericParameter_sequence_of(tvbuff_t *, int, packet_info *, proto_tree *);
13853 static per_choice_t ParameterValue_choice[] = {
13854         {  0, "logical", ASN1_EXTENSION_ROOT,
13855                         dissect_h245_NULL },
13856         {  1, "booleanArray", ASN1_EXTENSION_ROOT,
13857                         dissect_h245_booleanArray },
13858         {  2, "unsignedMin", ASN1_EXTENSION_ROOT,
13859                         dissect_h245_unsignedMin },
13860         {  3, "unsignedMax", ASN1_EXTENSION_ROOT,
13861                         dissect_h245_unsignedMax },
13862         {  4, "unsigned32Min", ASN1_EXTENSION_ROOT,
13863                         dissect_h245_unsigned32Min },
13864         {  5, "unsigned32Max", ASN1_EXTENSION_ROOT,
13865                         dissect_h245_unsigned32Max },
13866         {  6, "octetString", ASN1_EXTENSION_ROOT,
13867                         dissect_h245_octetString },
13868         {  7, "genericParameter", ASN1_EXTENSION_ROOT,
13869                         dissect_h245_genericParameter_sequence_of },
13870         {  0, NULL, 0, NULL }
13871 };
13872 static int
13873 dissect_h245_ParameterValue(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13874 {
13875         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ParameterValue, ett_h245_ParameterValue, ParameterValue_choice, "ParameterValue", NULL);
13876
13877         return offset;
13878 }
13879
13880
13881
13882 static per_sequence_t GenericParameter_sequence[] = {
13883         { "parameterIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13884                 dissect_h245_ParameterIdentifier },
13885         { "parameterValue", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
13886                 dissect_h245_ParameterValue },
13887         { "supersedes", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
13888                 dissect_h245_supersedes_sequence_of },
13889         { NULL, 0, 0, NULL }
13890 };
13891 static int
13892 dissect_h245_GenericParameter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13893 {
13894         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_GenericParameter, ett_h245_GenericParameter, GenericParameter_sequence);
13895
13896         return offset;
13897 }
13898
13899
13900
13901
13902
13903 static int
13904 dissect_h245_genericParameter_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13905 {
13906         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_genericParameter, ett_h245_genericParameter, dissect_h245_GenericParameter );
13907         return offset;
13908 }
13909
13910
13911
13912 static int
13913 dissect_h245_collapsing_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13914 {
13915         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_collapsing, ett_h245_collapsing, dissect_h245_GenericParameter );
13916         return offset;
13917 }
13918
13919
13920 static int
13921 dissect_h245_nonCollapsing_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13922 {
13923         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_nonCollapsing, ett_h245_nonCollapsing, dissect_h245_GenericParameter );
13924         return offset;
13925 }
13926
13927
13928 static int
13929 dissect_h245_secondary_REE_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13930 {
13931 /* XXX */
13932 static int dissect_h245_RedundancyEncodingElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
13933
13934         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_secondary_REE, ett_h245_secondary_REE, dissect_h245_RedundancyEncodingElement );
13935         return offset;
13936 }
13937
13938
13939
13940
13941 static int
13942 dissect_h245_elements_MPSE_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13943 {
13944 /* XXX */
13945 static int dissect_h245_MultiplePayloadStreamElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
13946
13947         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_elements_MPSE, ett_h245_elements_MPSE, dissect_h245_MultiplePayloadStreamElement );
13948         return offset;
13949 }
13950
13951
13952
13953
13954 static int
13955 dissect_h245_secondary_REDTME_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13956 {
13957 /* XXX */
13958 static int dissect_h245_RedundancyEncodingDTModeElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
13959
13960         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_secondary_REDTME, ett_h245_secondary_REDTME, dissect_h245_RedundancyEncodingDTModeElement );
13961         return offset;
13962 }
13963
13964
13965
13966
13967 static int
13968 dissect_h245_elements_MPSEM_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13969 {
13970 /* XXX*/
13971 static int dissect_h245_MultiplePayloadStreamElementMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
13972
13973         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_elements_MPSEM, ett_h245_elements_MPSEM, dissect_h245_MultiplePayloadStreamElementMode );
13974         return offset;
13975 }
13976
13977
13978
13979
13980 static int
13981 dissect_h245_TerminalInformationSO_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13982 {
13983         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_TerminalInformationSO, ett_h245_TerminalInformationSO, dissect_h245_TerminalInformation );
13984         return offset;
13985 }
13986
13987
13988
13989
13990 static int
13991 dissect_h245_lostPicture_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13992 {
13993         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_lostPicture, ett_h245_lostPicture, dissect_h245_PictureReference );
13994         return offset;
13995 }
13996
13997
13998
13999
14000 static int
14001 dissect_h245_recoveryReferencePicture_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14002 {
14003         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_recoveryReferencePicture, ett_h245_recoveryReferencePicture, dissect_h245_PictureReference );
14004         return offset;
14005 }
14006
14007
14008
14009
14010
14011
14012
14013 static per_sequence_t ConferenceCapability_sequence[] = {
14014         { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14015                 dissect_h245_nonStandardData_sequence_of },
14016         { "chairControlCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14017                 dissect_h245_chairControlCapability },
14018         { "videoIndicateMixingCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14019                 dissect_h245_videoIndicateMixingCapability },
14020         { "multipointVisualizationCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
14021                 dissect_h245_multipointVisualizationCapability },
14022         { NULL, 0, 0, NULL }
14023 };
14024 static int
14025 dissect_h245_ConferenceCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14026 {
14027         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceCapability, ett_h245_ConferenceCapability, ConferenceCapability_sequence);
14028
14029         return offset;
14030 }
14031
14032
14033
14034
14035 static per_sequence_t GenericCapability_sequence[] = {
14036         { "capabilityIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14037                 dissect_h245_CapabilityIdentifier },
14038         { "maxBitRate", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14039                 dissect_h245_maxBitRate_4294967295UL },
14040         { "collapsing", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14041                 dissect_h245_collapsing_sequence_of },
14042         { "nonCollapsing", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14043                 dissect_h245_nonCollapsing_sequence_of },
14044         { "nonCollapsingRaw", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14045                 dissect_h245_nonCollapsingRaw },
14046         { "transport", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14047                 dissect_h245_DataProtocolCapability },
14048         { NULL, 0, 0, NULL }
14049 };
14050 static int
14051 dissect_h245_GenericCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14052 {
14053         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_GenericCapability, ett_h245_GenericCapability, GenericCapability_sequence);
14054
14055         return offset;
14056 }
14057
14058
14059
14060
14061
14062 static const value_string DataApplicationCapability_application_vals[] = {
14063         {  0, "nonStandard" },
14064         {  1, "t120" },
14065         {  2, "dsm-cc" },
14066         {  3, "userData" },
14067         {  4, "t84" },
14068         {  5, "t434" },
14069         {  6, "h224" },
14070         {  7, "nlpid" },
14071         {  8, "dsvdControl" },
14072         {  9, "h222DataPartitioning" },
14073         { 10, "t30fax" },
14074         { 11, "t140" },
14075         { 12, "t38fax" },
14076         { 13, "genericDataCapability" },
14077         {  0, NULL }
14078 };
14079 static per_choice_t DataApplicationCapability_application_choice[] = {
14080         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
14081                 dissect_h245_NonStandardParameter },
14082         {  1, "t120", ASN1_EXTENSION_ROOT,
14083                 dissect_h245_DataProtocolCapability },
14084         {  2, "dsm-cc", ASN1_EXTENSION_ROOT,
14085                 dissect_h245_DataProtocolCapability },
14086         {  3, "userData", ASN1_EXTENSION_ROOT,
14087                 dissect_h245_DataProtocolCapability },
14088         {  4, "t84", ASN1_EXTENSION_ROOT,
14089                 dissect_h245_DataApplicationCapability_application_t84 },
14090         {  5, "t434", ASN1_EXTENSION_ROOT,
14091                 dissect_h245_DataProtocolCapability },
14092         {  6, "h224", ASN1_EXTENSION_ROOT,
14093                 dissect_h245_DataProtocolCapability },
14094         {  7, "nlpid", ASN1_EXTENSION_ROOT,
14095                 dissect_h245_DataApplicationCapability_application_nlpid },
14096         {  8, "dsvdControl", ASN1_EXTENSION_ROOT,
14097                 dissect_h245_NULL },
14098         {  9, "h222DataPartitioning", ASN1_EXTENSION_ROOT,
14099                 dissect_h245_DataProtocolCapability },
14100         { 10, "t30fax", ASN1_NOT_EXTENSION_ROOT,
14101                 dissect_h245_DataProtocolCapability },
14102         { 11, "t140", ASN1_NOT_EXTENSION_ROOT,
14103                 dissect_h245_DataProtocolCapability },
14104         { 12, "t38fax", ASN1_NOT_EXTENSION_ROOT,
14105                 dissect_h245_DataApplicationCapability_application_t38fax },
14106         { 13, "genericDataCapability", ASN1_NOT_EXTENSION_ROOT,
14107                 dissect_h245_GenericCapability },
14108         {  0, NULL, 0, NULL }
14109 };
14110 static int
14111 dissect_h245_DataApplicationCapability_application(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14112 {
14113         guint32 value;
14114
14115         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DataApplicationCapability_application, ett_h245_DataApplicationCapability_application, DataApplicationCapability_application_choice, "application", &value);
14116
14117         codec_type = val_to_str(value, DataApplicationCapability_application_vals, "<unknown>");
14118
14119         return offset;
14120 }
14121
14122
14123
14124
14125 static const value_string DataMode_application_vals[] = {
14126         {  0, "nonStandard" },
14127         {  1, "t120" },
14128         {  2, "dsm-cc" },
14129         {  3, "userData" },
14130         {  4, "t84" },
14131         {  5, "t434" },
14132         {  6, "h224" },
14133         {  7, "nlpid" },
14134         {  8, "dsvdControl" },
14135         {  9, "h222DataPartitioning" },
14136         { 10, "t30fax" },
14137         { 11, "t140" },
14138         { 12, "t38fax" },
14139         { 13, "genericDataMode" },
14140         {  0, NULL }
14141 };
14142 static per_choice_t DataMode_application_choice[] = {
14143         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
14144                 dissect_h245_NonStandardParameter },
14145         {  1, "t120", ASN1_EXTENSION_ROOT,
14146                 dissect_h245_DataProtocolCapability },
14147         {  2, "dsm-cc", ASN1_EXTENSION_ROOT,
14148                 dissect_h245_DataProtocolCapability },
14149         {  3, "userData", ASN1_EXTENSION_ROOT,
14150                 dissect_h245_DataProtocolCapability },
14151         {  4, "t84", ASN1_EXTENSION_ROOT,
14152                 dissect_h245_DataProtocolCapability },
14153         {  5, "t434", ASN1_EXTENSION_ROOT,
14154                 dissect_h245_DataProtocolCapability },
14155         {  6, "h224", ASN1_EXTENSION_ROOT,
14156                 dissect_h245_DataProtocolCapability },
14157         {  7, "nlpid", ASN1_EXTENSION_ROOT,
14158                 dissect_h245_DataMode_application_nlpid },
14159         {  8, "dsvdControl", ASN1_EXTENSION_ROOT,
14160                 dissect_h245_NULL },
14161         {  9, "h222DataPartitioning", ASN1_EXTENSION_ROOT,
14162                 dissect_h245_DataProtocolCapability },
14163         { 10, "t30fax", ASN1_NOT_EXTENSION_ROOT,
14164                 dissect_h245_DataProtocolCapability },
14165         { 11, "t140", ASN1_NOT_EXTENSION_ROOT,
14166                 dissect_h245_DataProtocolCapability },
14167         { 12, "t38fax", ASN1_NOT_EXTENSION_ROOT,
14168                 dissect_h245_DataMode_application_t38fax },
14169         { 13, "genericDataMode", ASN1_NOT_EXTENSION_ROOT,
14170                 dissect_h245_GenericCapability },
14171         {  0, NULL, 0, NULL }
14172 };
14173 static int
14174 dissect_h245_DataMode_application(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14175 {
14176         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DataMode_application, ett_h245_DataMode_application, DataMode_application_choice, "application", NULL);
14177
14178         return offset;
14179 }
14180
14181
14182
14183
14184
14185 static per_sequence_t MultiplePayloadStream_sequence[] = {
14186         { "elements", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14187                 dissect_h245_elements_MPSE_sequence_of },
14188         { NULL, 0, 0, NULL }
14189 };
14190 static int
14191 dissect_h245_MultiplePayloadStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14192 {
14193         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplePayloadStream, ett_h245_MultiplePayloadStream, MultiplePayloadStream_sequence);
14194
14195         return offset;
14196 }
14197
14198
14199
14200
14201
14202 static per_sequence_t MultiplePayloadStreamMode_sequence[] = {
14203         { "elements", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14204                 dissect_h245_elements_MPSEM_sequence_of },
14205         { NULL, 0, 0, NULL }
14206 };
14207 static int
14208 dissect_h245_MultiplePayloadStreamMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14209 {
14210         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplePayloadStreamMode, ett_h245_MultiplePayloadStreamMode, MultiplePayloadStreamMode_sequence);
14211
14212         return offset;
14213 }
14214
14215
14216
14217
14218
14219 static per_sequence_t DataMode_sequence[] = {
14220         { "application", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14221                 dissect_h245_DataMode_application },
14222         { "bitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14223                 dissect_h245_dataModeBitRate },
14224         { NULL, 0, 0, NULL }
14225 };
14226 static int
14227 dissect_h245_DataMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14228 {
14229         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataMode, ett_h245_DataMode, DataMode_sequence);
14230
14231         return offset;
14232 }
14233
14234
14235
14236
14237
14238 static per_sequence_t RequestAllTerminalIDsResponse_sequence[] = {
14239         { "terminalInformation", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14240                 dissect_h245_TerminalInformationSO_sequence_of },
14241         { NULL, 0, 0, NULL }
14242 };
14243 static int
14244 dissect_h245_RequestAllTerminalIDsResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14245 {
14246         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestAllTerminalIDsResponse, ett_h245_RequestAllTerminalIDsResponse, RequestAllTerminalIDsResponse_sequence);
14247
14248         return offset;
14249 }
14250
14251
14252
14253
14254
14255 static per_sequence_t DataApplicationCapability_sequence[] = {
14256         { "application", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14257                 dissect_h245_DataApplicationCapability_application },
14258         { "maxBitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14259                 dissect_h245_maxBitRate_4294967295UL },
14260         { NULL, 0, 0, NULL }
14261 };
14262 static int
14263 dissect_h245_DataApplicationCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14264 {
14265         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataApplicationCapability, ett_h245_DataApplicationCapability, DataApplicationCapability_sequence);
14266
14267         return offset;
14268 }
14269
14270
14271 static int
14272 dissect_h245_iPSourceRouteAddress_route(tvbuff_t *tvb _U_, int offset, packet_info *pinfo _U_, proto_tree *tree _U_)
14273 {
14274 NOT_DECODED_YET("iPSourceRouteAddress");
14275 /* XXX
14276         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_iPSourceRouteAddress_route, ett_h245_iPSourceRouteAddress_route, dissect_h245_ );
14277 */
14278         return offset;
14279 }
14280
14281
14282
14283 static per_sequence_t UnicastAddress_iPSourceRouteAddress_sequence[] = {
14284         { "routing", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14285                 dissect_h245_UnicastAddress_iPSourceRouteAddress_routing },
14286         { "network", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14287                 dissect_h245_ipv4network },
14288         { "tsapIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14289                 dissect_h245_tsapIdentifier },
14290         { "route", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14291                 dissect_h245_iPSourceRouteAddress_route },
14292         { NULL, 0, 0, NULL }
14293 };
14294 static int
14295 dissect_h245_UnicastAddress_iPSourceRouteAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14296 {
14297         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UnicastAddress_iPSourceRouteAddress, ett_h245_UnicastAddress_iPSourceRouteAddress, UnicastAddress_iPSourceRouteAddress_sequence);
14298
14299         return offset;
14300 }
14301
14302
14303
14304 static const value_string UnicastAddress_vals[] = {
14305         {  0, "iPAddress" },
14306         {  1, "iPXAddress" },
14307         {  2, "iP6Address" },
14308         {  3, "netBios" },
14309         {  4, "iPSourceRouteAddress" },
14310         {  5, "nsap" },
14311         {  6, "nonStandardAddress" },
14312         {  0, NULL }
14313 };
14314 static per_choice_t UnicastAddress_choice[] = {
14315         {  0, "iPAddress", ASN1_EXTENSION_ROOT,
14316                 dissect_h245_UnicastAddress_iPAddress },
14317         {  1, "iPXAddress", ASN1_EXTENSION_ROOT,
14318                 dissect_h245_UnicastAddress_iPXAddress },
14319         {  2, "iP6Address", ASN1_EXTENSION_ROOT,
14320                 dissect_h245_UnicastAddress_iP6Address },
14321         {  3, "netBios", ASN1_EXTENSION_ROOT,
14322                 dissect_h245_netBios },
14323         {  4, "iPSourceRouteAddress", ASN1_EXTENSION_ROOT,
14324                 dissect_h245_UnicastAddress_iPSourceRouteAddress },
14325         {  5, "nsap", ASN1_NOT_EXTENSION_ROOT,
14326                 dissect_h245_nsap },
14327         {  6, "nonStandardAddress", ASN1_NOT_EXTENSION_ROOT,
14328                 dissect_h245_NonStandardParameter },
14329         {  0, NULL, 0, NULL }
14330 };
14331 static int
14332 dissect_h245_UnicastAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14333 {
14334         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_UnicastAddress, ett_h245_UnicastAddress, UnicastAddress_choice, "UnicastAddress", NULL);
14335
14336         return offset;
14337 }
14338
14339
14340
14341
14342 static const value_string TransportAddress_vals[] = {
14343         {  0, "unicastAddress" },
14344         {  1, "multicastAddress" },
14345         {  0, NULL }
14346 };
14347 static per_choice_t TransportAddress_choice[] = {
14348         {  0, "unicastAddress", ASN1_EXTENSION_ROOT,
14349                 dissect_h245_UnicastAddress },
14350         {  1, "multicastAddress", ASN1_EXTENSION_ROOT,
14351                 dissect_h245_MulticastAddress },
14352         {  0, NULL, 0, NULL }
14353 };
14354 static int
14355 dissect_h245_localAreaAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14356 {
14357         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_localAreaAddress, ett_h245_TransportAddress, TransportAddress_choice, "localAreaAddress", NULL);
14358
14359         return offset;
14360 }
14361 static int
14362 dissect_h245_mediaChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14363 {
14364         ipv4_address=0;
14365         ipv4_port=0;
14366
14367         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_mediaChannel, ett_h245_TransportAddress, TransportAddress_choice, "mediaChannel", NULL);
14368
14369         if((!pinfo->fd->flags.visited) && ipv4_address!=0 && ipv4_port!=0 && rtp_handle){
14370                 address src_addr;
14371                 conversation_t *conv=NULL;
14372
14373                 src_addr.type=AT_IPv4;
14374                 src_addr.len=4;
14375                 src_addr.data=(char *)&ipv4_address;
14376
14377                 conv=find_conversation(&src_addr, &src_addr, PT_UDP, ipv4_port, ipv4_port, NO_ADDR_B|NO_PORT_B);
14378                 if(!conv){
14379                         conv=conversation_new(&src_addr, &src_addr, PT_UDP, ipv4_port, ipv4_port, NO_ADDR_B|NO_PORT_B);
14380                         conversation_set_dissector(conv, rtp_handle);
14381                 }
14382         }
14383         return offset;
14384 }
14385 static int
14386 dissect_h245_mediaControlChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14387 {
14388         ipv4_address=0;
14389         ipv4_port=0;
14390
14391         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_mediaControlChannel, ett_h245_TransportAddress, TransportAddress_choice, "mediaControlChannel", NULL);
14392
14393         if((!pinfo->fd->flags.visited) && ipv4_address!=0 && ipv4_port!=0 && rtcp_handle){
14394                 address src_addr;
14395                 conversation_t *conv=NULL;
14396
14397                 src_addr.type=AT_IPv4;
14398                 src_addr.len=4;
14399                 src_addr.data=(char *)&ipv4_address;
14400
14401                 conv=find_conversation(&src_addr, &src_addr, PT_UDP, ipv4_port, ipv4_port, NO_ADDR_B|NO_PORT_B);
14402                 if(!conv){
14403                         conv=conversation_new(&src_addr, &src_addr, PT_UDP, ipv4_port, ipv4_port, NO_ADDR_B|NO_PORT_B);
14404                         conversation_set_dissector(conv, rtcp_handle);
14405                 }
14406         }
14407         return offset;
14408 }
14409 static int
14410 dissect_h245_signalAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14411 {
14412         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_signalAddress, ett_h245_TransportAddress, TransportAddress_choice, "signalAddress", NULL);
14413
14414         return offset;
14415 }
14416
14417
14418
14419 static per_sequence_t MCLocationIndication_sequence[] = {
14420         { "signalAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14421                 dissect_h245_signalAddress },
14422         { NULL, 0, 0, NULL }
14423 };
14424 static int
14425 dissect_h245_MCLocationIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14426 {
14427         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MCLocationIndication, ett_h245_MCLocationIndication, MCLocationIndication_sequence);
14428
14429         return offset;
14430 }
14431
14432
14433
14434 static per_sequence_t H2250LogicalChannelAckParameters_sequence[] = {
14435         { "nonStandard", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14436                 dissect_h245_nonStandardData_sequence_of },
14437         { "sessionID", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14438                 dissect_h245_sessionID_1_255 },
14439         { "mediaChannel", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14440                 dissect_h245_mediaChannel },
14441         { "mediaControlChannel", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14442                 dissect_h245_mediaControlChannel },
14443         { "dynamicRTPPayloadType", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14444                 dissect_h245_dynamicRTPPayloadType },
14445         { "flowControlToZero", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14446                 dissect_h245_flowControlToZero },
14447         { "portNumber", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
14448                 dissect_h245_portNumber },
14449         { NULL, 0, 0, NULL }
14450 };
14451 static int
14452 dissect_h245_H2250LogicalChannelAckParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14453 {
14454         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250LogicalChannelAckParameters, ett_h245_H2250LogicalChannelAckParameters, H2250LogicalChannelAckParameters_sequence);
14455
14456         return offset;
14457 }
14458
14459
14460
14461
14462 static const value_string forwardMultiplexAckParameters_vals[] = {
14463         {  0, "h2250LogicalChannelAckParameters" },
14464         {  0, NULL }
14465 };
14466 static per_choice_t forwardMultiplexAckParameters_choice[] = {
14467         {  0, "h2250LogicalChannelAckParameters", ASN1_EXTENSION_ROOT,
14468                 dissect_h245_H2250LogicalChannelAckParameters },
14469         {  0, NULL, 0, NULL }
14470 };
14471 static int
14472 dissect_h245_forwardMultiplexAckParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14473 {
14474         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_forwardMultiplexAckParameters, ett_h245_forwardMultiplexAckParameters, forwardMultiplexAckParameters_choice, "forwardMultiplexAckParameters", NULL);
14475
14476         return offset;
14477 }
14478
14479
14480
14481
14482
14483 static int
14484 dissect_h245_AlternativeCapabilitySet(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14485 {
14486         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_AlternativeCapabilitySet, ett_h245_AlternativeCapabilitySet, dissect_h245_CapabilityTableEntryNumber, 1, 256 );
14487         return offset;
14488 }
14489
14490
14491
14492
14493 static int dissect_h245_rtpPayloadType_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
14494
14495 static per_sequence_t MediaPacketizationCapability_sequence[] = {
14496         { "h261aVideoPacketization", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14497                 dissect_h245_h261aVideoPacketization },
14498         { "rtpPayloadType", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
14499                 dissect_h245_rtpPayloadType_sequence_of },
14500         { NULL, 0, 0, NULL }
14501 };
14502 static int
14503 dissect_h245_MediaPacketizationCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14504 {
14505         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MediaPacketizationCapability, ett_h245_MediaPacketizationCapability, MediaPacketizationCapability_sequence);
14506
14507         return offset;
14508 }
14509
14510
14511
14512
14513 static int
14514 dissect_h245_qOSCapabilities(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14515 {
14516         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_qOSCapabilities, ett_h245_qOSCapabilities, dissect_h245_QOSCapability, 1, 256 );
14517         return offset;
14518 }
14519
14520
14521
14522 static int
14523 dissect_h245_mediaChannelCapabilities(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14524 {
14525         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_mediaChannelCapabilities, ett_h245_mediaChannelCapabilities, dissect_h245_MediaChannelCapability, 1, 256 );
14526         return offset;
14527 }
14528
14529
14530 static per_sequence_t TransportCapability_sequence[] = {
14531         { "nonStandard", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14532                 dissect_h245_NonStandardParameter },
14533         { "qOSCapabilities", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14534                 dissect_h245_qOSCapabilities },
14535         { "mediaChannelCapabilities", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14536                 dissect_h245_mediaChannelCapabilities },
14537         { NULL, 0, 0, NULL }
14538 };
14539 static int
14540 dissect_h245_TransportCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14541 {
14542         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TransportCapability, ett_h245_TransportCapability, TransportCapability_sequence);
14543
14544         return offset;
14545 }
14546
14547
14548
14549
14550
14551 static const value_string MiscellaneousIndication_type_vals[] = {
14552         {  0, "logicalChannelActive" },
14553         {  1, "logicalChannelInactive" },
14554         {  2, "multiportConference" },
14555         {  3, "cancelMultiportConference" },
14556         {  4, "multipointZeroComm" },
14557         {  5, "cancelMultipointZeroComm" },
14558         {  6, "multipointSecondryStatus" },
14559         {  7, "cancelMultipointSecondryStatus" },
14560         {  8, "videoIndicateReadyToActivate" },
14561         {  9, "videoTemporalSpatialTradeOff" },
14562         { 10, "videoNotDecodedMBs" },
14563         { 11, "transportCapability" },
14564         {  0, NULL }
14565 };
14566 static per_choice_t MiscellaneousIndication_type_choice[] = {
14567         {  0, "logicalChannelActive", ASN1_EXTENSION_ROOT,
14568                         dissect_h245_NULL },
14569         {  1, "logicalChannelInactive", ASN1_EXTENSION_ROOT,
14570                         dissect_h245_NULL },
14571         {  2, "multiportConference", ASN1_EXTENSION_ROOT,
14572                         dissect_h245_NULL },
14573         {  3, "cancelMultiportConference", ASN1_EXTENSION_ROOT,
14574                         dissect_h245_NULL },
14575         {  4, "multipointZeroComm", ASN1_EXTENSION_ROOT,
14576                         dissect_h245_NULL },
14577         {  5, "cancelMultipointZeroComm", ASN1_EXTENSION_ROOT,
14578                         dissect_h245_NULL },
14579         {  6, "multipointSecondryStatus", ASN1_EXTENSION_ROOT,
14580                         dissect_h245_NULL },
14581         {  7, "cancelMultipointSecondryStatus", ASN1_EXTENSION_ROOT,
14582                         dissect_h245_NULL },
14583         {  8, "videoIndicateReadyToActivate", ASN1_EXTENSION_ROOT,
14584                         dissect_h245_NULL },
14585         {  9, "videoTemporalSpatialTradeOff", ASN1_EXTENSION_ROOT,
14586                         dissect_h245_videoTemporalSpatialTradeOff },
14587         { 10, "videoNotDecodedMBs", ASN1_NOT_EXTENSION_ROOT,
14588                         dissect_h245_MiscellaneousIndication_type_videoNotDecodedMBs },
14589         { 11, "transportCapability", ASN1_NOT_EXTENSION_ROOT,
14590                         dissect_h245_TransportCapability },
14591         {  0, NULL, 0, NULL }
14592 };
14593 static int
14594 dissect_h245_MiscellaneousIndication_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14595 {
14596         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MiscellaneousIndication_type, ett_h245_MiscellaneousIndication_type, MiscellaneousIndication_type_choice, "type", NULL);
14597
14598         return offset;
14599 }
14600
14601
14602
14603
14604
14605 static per_sequence_t MiscellaneousIndication_sequence[] = {
14606         { "logicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14607                 dissect_h245_LogicalChannelNumber },
14608         { "type", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14609                 dissect_h245_MiscellaneousIndication_type },
14610         { NULL, 0, 0, NULL }
14611 };
14612 static int
14613 dissect_h245_MiscellaneousIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14614 {
14615         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousIndication, ett_h245_MiscellaneousIndication, MiscellaneousIndication_sequence);
14616
14617         return offset;
14618 }
14619
14620
14621
14622
14623
14624 static int
14625 dissect_h245_CapabilityTableEntryNumber_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14626 {
14627         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 );
14628         return offset;
14629 }
14630
14631
14632
14633
14634 static int dissect_h245_RTPH263VideoRedundancyFrameMapping(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
14635
14636 static int
14637 dissect_h245_frameToThreadMapping_custom(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14638 {
14639         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_frameToThreadMapping_custom, ett_h245_frameToThreadMapping_custom, dissect_h245_RTPH263VideoRedundancyFrameMapping, 1, 256 );
14640         return offset;
14641 }
14642
14643
14644
14645
14646 static const value_string RTPH263VideoRedundancyEncoding_frameToThreadMapping_vals[] = {
14647         {  0, "roundrobin" },
14648         {  1, "custom" },
14649         {  0, NULL }
14650 };
14651 static per_choice_t RTPH263VideoRedundancyEncoding_frameToThreadMapping_choice[] = {
14652         {  0, "roundrobin", ASN1_EXTENSION_ROOT,
14653                 dissect_h245_NULL },
14654         {  1, "custom", ASN1_EXTENSION_ROOT,
14655                 dissect_h245_frameToThreadMapping_custom },
14656         {  0, NULL, 0, NULL }
14657 };
14658 static int
14659 dissect_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14660 {
14661         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping, ett_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping, RTPH263VideoRedundancyEncoding_frameToThreadMapping_choice, "frameToThreadMapping", NULL);
14662
14663         return offset;
14664 }
14665
14666
14667
14668
14669 static int
14670 dissect_h245_containedThread(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14671 {
14672         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
14673                 hf_h245_containedThread,  0,  15,
14674                 NULL, NULL, FALSE);
14675
14676         return offset;
14677 }
14678
14679
14680
14681
14682 static int
14683 dissect_h245_containedThreads(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14684 {
14685         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_containedThreads, ett_h245_containedThreads, dissect_h245_containedThread, 1, 256 );
14686         return offset;
14687 }
14688
14689
14690
14691
14692
14693 static per_sequence_t RTPH263VideoRedundancyEncoding_sequence[] = {
14694         { "numberOfThreads", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14695                 dissect_h245_numberOfThreads },
14696         { "framesBetweenSyncPoints", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14697                 dissect_h245_framesBetweenSyncPoints },
14698         { "frameToThreadMapping", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14699                 dissect_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping },
14700         { "containedThreads", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14701                 dissect_h245_containedThreads },
14702         { NULL, 0, 0, NULL }
14703 };
14704 static int
14705 dissect_h245_RTPH263VideoRedundancyEncoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14706 {
14707         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RTPH263VideoRedundancyEncoding, ett_h245_RTPH263VideoRedundancyEncoding, RTPH263VideoRedundancyEncoding_sequence);
14708
14709         return offset;
14710 }
14711
14712
14713
14714
14715 static const value_string RedundancyEncodingMethod_vals[] = {
14716         {  0, "nonStandard" },
14717         {  1, "rtpAudioRedundancyEncoding" },
14718         {  2, "rtpH263VideoRedundancyEncoding" },
14719         {  0, NULL }
14720 };
14721 static per_choice_t RedundancyEncodingMethod_choice[] = {
14722         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
14723                 dissect_h245_NonStandardParameter },
14724         {  1, "rtpAudioRedundancyEncoding", ASN1_EXTENSION_ROOT,
14725                 dissect_h245_NULL },
14726         {  2, "rtpH263VideoRedundancyEncoding", ASN1_NOT_EXTENSION_ROOT,
14727                 dissect_h245_RTPH263VideoRedundancyEncoding },
14728         {  0, NULL, 0, NULL }
14729 };
14730 static int
14731 dissect_h245_RedundancyEncodingMethod(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14732 {
14733         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingMethod, ett_h245_RedundancyEncodingMethod, RedundancyEncodingMethod_choice, "RedundancyEncodingMethod", NULL);
14734
14735         return offset;
14736 }
14737
14738
14739
14740
14741 static per_sequence_t RedundancyEncodingCapability_sequence[] = {
14742         { "redundancyEncodingMethod", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14743                 dissect_h245_RedundancyEncodingMethod },
14744         { "primaryEncoding", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14745                 dissect_h245_CapabilityTableEntryNumber },
14746         { "secondaryEncoding", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14747                 dissect_h245_CapabilityTableEntryNumber_sequence_of },
14748         { NULL, 0, 0, NULL }
14749 };
14750 static int
14751 dissect_h245_RedundancyEncodingCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14752 {
14753         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingCapability, ett_h245_RedundancyEncodingCapability, RedundancyEncodingCapability_sequence);
14754
14755         return offset;
14756 }
14757
14758
14759
14760 static int
14761 dissect_h245_RedundancyEncodingCapability_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14762 {
14763         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 );
14764         return offset;
14765 }
14766
14767
14768
14769
14770 static int
14771 dissect_h245_frame(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14772 {
14773         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
14774                 hf_h245_frame,  0,  255,
14775                 NULL, NULL, FALSE);
14776
14777         return offset;
14778 }
14779
14780
14781
14782 static int
14783 dissect_h245_frameSequence(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14784 {
14785         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_frameSequence, ett_h245_frameSequence, dissect_h245_frame, 1, 256 );
14786         return offset;
14787 }
14788
14789
14790
14791
14792 static per_sequence_t RTPH263VideoRedundancyFrameMapping_sequence[] = {
14793         { "threadNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14794                 dissect_h245_threadNumber },
14795         { "frameSequence", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14796                 dissect_h245_frameSequence },
14797         { NULL, 0, 0, NULL }
14798 };
14799 static int
14800 dissect_h245_RTPH263VideoRedundancyFrameMapping(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14801 {
14802         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RTPH263VideoRedundancyFrameMapping, ett_h245_RTPH263VideoRedundancyFrameMapping, RTPH263VideoRedundancyFrameMapping_sequence);
14803
14804         return offset;
14805 }
14806
14807
14808
14809
14810
14811 static int
14812 dissect_h245_EncryptionCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14813 {
14814         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_EncryptionCapability, ett_h245_EncryptionCapability, dissect_h245_MediaEncryptionAlgorithm, 1, 256 );
14815         return offset;
14816 }
14817
14818
14819
14820
14821 static per_sequence_t EncryptionAuthenticationAndIntegrity_sequence[] = {
14822         { "encryptionCapability", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14823                 dissect_h245_EncryptionCapability },
14824         { "authenticationCapability", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14825                 dissect_h245_AuthenticationCapability },
14826         { "integrityCapability", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14827                 dissect_h245_IntegrityCapability },
14828         { NULL, 0, 0, NULL }
14829 };
14830 static int
14831 dissect_h245_EncryptionAuthenticationAndIntegrity(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14832 {
14833         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EncryptionAuthenticationAndIntegrity, ett_h245_EncryptionAuthenticationAndIntegrity, EncryptionAuthenticationAndIntegrity_sequence);
14834
14835         return offset;
14836 }
14837
14838
14839
14840 static per_sequence_t H235SecurityCapability_sequence[] = {
14841         { "encryptionAuthenticationAndIntegrity", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14842                 dissect_h245_EncryptionAuthenticationAndIntegrity },
14843         { "mediaCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14844                 dissect_h245_CapabilityTableEntryNumber},
14845         { NULL, 0, 0, NULL }
14846 };
14847 static int
14848 dissect_h245_H235SecurityCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14849 {
14850         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H235SecurityCapability, ett_h245_H235SecurityCapability, H235SecurityCapability_sequence);
14851
14852         return offset;
14853 }
14854
14855
14856 static int dissect_h245_EscrowData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
14857
14858 static int
14859 dissect_h245_escrowentry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14860 {
14861         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_escrowentry, ett_h245_escrowentry, dissect_h245_EscrowData, 1, 256 );
14862         return offset;
14863 }
14864
14865
14866
14867
14868 static per_sequence_t EncryptionSync_sequence[] = {
14869         { "nonStandard", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14870                 dissect_h245_NonStandardParameter },
14871         { "synchFlag", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14872                 dissect_h245_synchFlag },
14873         { "h235Key", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14874                 dissect_h245_h235Key },
14875         { "escrowentry", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
14876                 dissect_h245_escrowentry },
14877         { NULL, 0, 0, NULL }
14878 };
14879 static int
14880 dissect_h245_EncryptionSync(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14881 {
14882         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EncryptionSync, ett_h245_EncryptionSync, EncryptionSync_sequence);
14883
14884         return offset;
14885 }
14886
14887
14888
14889 static const value_string MiscellaneousCommand_type_vals[] = {
14890         {  0, "equalizeDelay" },
14891         {  1, "zeroDelay" },
14892         {  2, "multipointModeCommand" },
14893         {  3, "cancelMultipointModeCommand" },
14894         {  4, "videoFreezePicture" },
14895         {  5, "videoFastUpdatePicture" },
14896         {  6, "videoFastUpdateGOB" },
14897         {  7, "videoTemporalSpatialTradeOff" },
14898         {  8, "videoSendSyncEveryGOB" },
14899         {  9, "videoSendSyncEveryGOBCancel" },
14900         { 10, "videoFastUpdateMB" },
14901         { 11, "maxH223MUXPDUSize" },
14902         { 12, "encryptionUpdate" },
14903         { 13, "encryptionUpdateRequest" },
14904         { 14, "switchReceiveMediaOff" },
14905         { 15, "switchReceiveMediaOn" },
14906         { 16, "progressiveRefinementStart" },
14907         { 17, "progressiveRefinementAbortOne" },
14908         { 18, "progressiveRefinementAbortContinous" },
14909         { 19, "videoBadMBs" },
14910         { 20, "lostPicture" },
14911         { 21, "lostPartialPicture" },
14912         { 22, "recoveryReferencePicture" },
14913         {  0, NULL }
14914 };
14915 static per_choice_t MiscellaneousCommand_type_choice[] = {
14916         {  0, "equalizeDelay", ASN1_EXTENSION_ROOT,
14917                 dissect_h245_NULL },
14918         {  1, "zeroDelay", ASN1_EXTENSION_ROOT,
14919                 dissect_h245_NULL },
14920         {  2, "multipointModeCommand", ASN1_EXTENSION_ROOT,
14921                 dissect_h245_NULL },
14922         {  3, "cancelMultipointModeCommand", ASN1_EXTENSION_ROOT,
14923                 dissect_h245_NULL },
14924         {  4, "videoFreezePicture", ASN1_EXTENSION_ROOT,
14925                 dissect_h245_NULL },
14926         {  5, "videoFastUpdatePicture", ASN1_EXTENSION_ROOT,
14927                 dissect_h245_NULL },
14928         {  6, "videoFastUpdateGOB", ASN1_EXTENSION_ROOT,
14929                 dissect_h245_MiscellaneousCommand_type_videoFastUpdateGOB },
14930         {  7, "videoTemporalSpatialTradeOff", ASN1_EXTENSION_ROOT,
14931                 dissect_h245_videoTemporalSpatialTradeOff },
14932         {  8, "videoSendSyncEveryGOB", ASN1_EXTENSION_ROOT,
14933                 dissect_h245_NULL },
14934         {  9, "videoSendSyncEveryGOBCancel", ASN1_EXTENSION_ROOT,
14935                 dissect_h245_NULL },
14936         { 10, "videoFastUpdateMB", ASN1_NOT_EXTENSION_ROOT,
14937                 dissect_h245_MiscellaneousCommand_type_videoFastUpdateMB },
14938         { 11, "maxH223MUXPDUSize", ASN1_NOT_EXTENSION_ROOT,
14939                 dissect_h245_maxH223MUXPDUsize },
14940         { 12, "encryptionUpdate", ASN1_NOT_EXTENSION_ROOT,
14941                 dissect_h245_EncryptionSync },
14942         { 13, "encryptionUpdateRequest", ASN1_NOT_EXTENSION_ROOT,
14943                 dissect_h245_EncryptionUpdateRequest },
14944         { 14, "switchReceiveMediaOff", ASN1_NOT_EXTENSION_ROOT,
14945                 dissect_h245_NULL },
14946         { 15, "switchReceiveMediaOn", ASN1_NOT_EXTENSION_ROOT,
14947                 dissect_h245_NULL },
14948         { 16, "progressiveRefinementStart", ASN1_NOT_EXTENSION_ROOT,
14949                 dissect_h245_MiscellaneousCommand_type_progressiveRefinementStart },
14950         { 17, "progressiveRefinementAbortOne", ASN1_NOT_EXTENSION_ROOT,
14951                 dissect_h245_NULL },
14952         { 18, "progressiveRefinementAbortContinous", ASN1_NOT_EXTENSION_ROOT,
14953                 dissect_h245_NULL },
14954         { 19, "videoBadMBs", ASN1_NOT_EXTENSION_ROOT,
14955                 dissect_h245_MiscellaneousCommand_type_videoBadMBs },
14956         { 20, "lostPicture", ASN1_NOT_EXTENSION_ROOT,
14957                 dissect_h245_lostPicture_sequence_of },
14958         { 21, "lostPartialPicture", ASN1_NOT_EXTENSION_ROOT,
14959                 dissect_h245_MiscellaneousCommand_type_lostPartialPicture},
14960         { 22, "recoveryReferencePicture", ASN1_NOT_EXTENSION_ROOT,
14961                 dissect_h245_recoveryReferencePicture_sequence_of },
14962         {  0, NULL, 0, NULL }
14963 };
14964 static int
14965 dissect_h245_MiscellaneousCommand_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14966 {
14967         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type, ett_h245_MiscellaneousCommand_type, MiscellaneousCommand_type_choice, "type", NULL);
14968
14969         return offset;
14970 }
14971
14972
14973
14974
14975 static per_sequence_t MiscellaneousCommand_sequence[] = {
14976         { "logicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14977                 dissect_h245_LogicalChannelNumber },
14978         { "type", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
14979                 dissect_h245_MiscellaneousCommand_type },
14980         { NULL, 0, 0, NULL }
14981 };
14982 static int
14983 dissect_h245_MiscellaneousCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14984 {
14985         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand, ett_h245_MiscellaneousCommand, MiscellaneousCommand_sequence);
14986
14987         return offset;
14988 }
14989
14990
14991
14992 static int dissect_h245_MultiplexElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
14993
14994 static int
14995 dissect_h245_elementList(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14996 {
14997         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_elementList, ett_h245_elementList, dissect_h245_MultiplexElement, 1, 256 );
14998         return offset;
14999 }
15000
15001
15002
15003 static per_sequence_t MultiplexEntryDescriptor_sequence[] = {
15004         { "multiplexTableEntryNumber", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
15005                 dissect_h245_MultiplexTableEntryNumber },
15006         { "elementList", ASN1_NO_EXTENSIONS, ASN1_OPTIONAL,
15007                 dissect_h245_elementList },
15008         { NULL, 0, 0, NULL }
15009 };
15010 static int
15011 dissect_h245_MultiplexEntryDescriptor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15012 {
15013         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntryDescriptor, ett_h245_MultiplexEntryDescriptor, MultiplexEntryDescriptor_sequence);
15014
15015         return offset;
15016 }
15017
15018
15019
15020 static int
15021 dissect_h245_subElementList(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15022 {
15023         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_subElementList, ett_h245_subElementList, dissect_h245_MultiplexElement, 2, 255 );
15024         return offset;
15025 }
15026
15027
15028
15029 static const value_string MultiplexElement_type_vals[] = {
15030         {  0, "logicalChannelNumber" },
15031         {  1, "subElementList" },
15032         {  0, NULL }
15033 };
15034 static per_choice_t MultiplexElement_type_choice[] = {
15035         {  0, "logicalChannelNumber", ASN1_NO_EXTENSIONS,
15036                 dissect_h245_logicalChannelNumber },
15037         {  1, "subElementList", ASN1_NO_EXTENSIONS,
15038                 dissect_h245_subElementList },
15039         {  0, NULL, 0, NULL }
15040 };
15041 static int
15042 dissect_h245_MultiplexElement_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15043 {
15044         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultiplexElement_type, ett_h245_MultiplexElement_type, MultiplexElement_type_choice, "type", NULL);
15045
15046         return offset;
15047 }
15048
15049
15050
15051
15052 static per_sequence_t MultiplexElement_sequence[] = {
15053         { "type", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
15054                 dissect_h245_MultiplexElement_type },
15055         { "repeatCount", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
15056                 dissect_h245_MultiplexElement_repeatCount },
15057         { NULL, 0, 0, NULL }
15058 };
15059 static int
15060 dissect_h245_MultiplexElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15061 {
15062         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexElement, ett_h245_MultiplexElement, MultiplexElement_sequence);
15063
15064         return offset;
15065 }
15066
15067
15068
15069
15070 static int dissect_h245_ModeDescription(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15071
15072 static int
15073 dissect_h245_requestedModes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15074 {
15075         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_requestedModes, ett_h245_requestedModes, dissect_h245_ModeDescription, 1, 256 );
15076         return offset;
15077 }
15078
15079
15080
15081
15082 static per_sequence_t RequestMode_sequence[] = {
15083         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15084                 dissect_h245_SequenceNumber },
15085         { "requestedModes", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15086                 dissect_h245_requestedModes },
15087         { NULL, 0, 0, NULL }
15088 };
15089 static int
15090 dissect_h245_RequestMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15091 {
15092         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMode, ett_h245_RequestMode, RequestMode_sequence);
15093
15094         return offset;
15095 }
15096
15097
15098
15099 static int
15100 dissect_h245_CertSelectionCriteria(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15101 {
15102         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_CertSelectionCriteria, ett_h245_CertSelectionCriteria, dissect_h245_Criteria, 1, 16 );
15103         return offset;
15104 }
15105
15106
15107
15108 static per_sequence_t ConferenceRequest_requestTerminalCertificate_sequence[] = {
15109         { "terminalLabel", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15110                 dissect_h245_TerminalLabel },
15111         { "certSelectionCriteria", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15112                 dissect_h245_CertSelectionCriteria },
15113         { "sRandom", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15114                 dissect_h245_sRandom },
15115         { NULL, 0, 0, NULL }
15116 };
15117 static int
15118 dissect_h245_ConferenceRequest_requestTerminalCertificate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15119 {
15120         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceRequest_requestTerminalCertificate, ett_h245_ConferenceRequest_requestTerminalCertificate, ConferenceRequest_requestTerminalCertificate_sequence);
15121
15122         return offset;
15123 }
15124
15125
15126
15127
15128 static const value_string ConferenceRequest_vals[] = {
15129         {  0, "terminalListRequest" },
15130         {  1, "makeMeChair" },
15131         {  2, "cancelMakeMeChair" },
15132         {  3, "dropTerminal" },
15133         {  4, "requestTerminalID" },
15134         {  5, "enterH243Password" },
15135         {  6, "enterH243TerminalID" },
15136         {  7, "enterH243ConferenceID" },
15137         {  8, "enterExtensionAddress" },
15138         {  9, "requestChairTokenOwner" },
15139         { 10, "requestTerminalCertificate" },
15140         { 11, "broadcastMyLogicalChannel" },
15141         { 12, "makeTerminalBroadcaster" },
15142         { 13, "sendThisSource" },
15143         { 14, "requestAllTerminalIDs" },
15144         { 15, "remoteMCRequest" },
15145         {  0, NULL }
15146 };
15147 static per_choice_t ConferenceRequest_choice[] = {
15148         {  0, "terminalListRequest", ASN1_EXTENSION_ROOT,
15149                 dissect_h245_NULL },
15150         {  1, "makeMeChair", ASN1_EXTENSION_ROOT,
15151                 dissect_h245_NULL },
15152         {  2, "cancelMakeMeChair", ASN1_EXTENSION_ROOT,
15153                 dissect_h245_NULL },
15154         {  3, "dropTerminal", ASN1_EXTENSION_ROOT,
15155                 dissect_h245_TerminalLabel },
15156         {  4, "requestTerminalID", ASN1_EXTENSION_ROOT,
15157                 dissect_h245_TerminalLabel },
15158         {  5, "enterH243Password", ASN1_EXTENSION_ROOT,
15159                 dissect_h245_NULL },
15160         {  6, "enterH243TerminalID", ASN1_EXTENSION_ROOT,
15161                 dissect_h245_NULL },
15162         {  7, "enterH243ConferenceID", ASN1_EXTENSION_ROOT,
15163                 dissect_h245_NULL },
15164         {  8, "enterExtensionAddress", ASN1_NOT_EXTENSION_ROOT,
15165                 dissect_h245_NULL },
15166         {  9, "requestChairTokenOwner", ASN1_NOT_EXTENSION_ROOT,
15167                 dissect_h245_NULL },
15168         { 10, "requestTerminalCertificate", ASN1_NOT_EXTENSION_ROOT,
15169                 dissect_h245_ConferenceRequest_requestTerminalCertificate },
15170         { 11, "broadcastMyLogicalChannel", ASN1_NOT_EXTENSION_ROOT,
15171                 dissect_h245_LogicalChannelNumber },
15172         { 12, "makeTerminalBroadcaster", ASN1_NOT_EXTENSION_ROOT,
15173                 dissect_h245_TerminalLabel },
15174         { 13, "sendThisSource", ASN1_NOT_EXTENSION_ROOT,
15175                 dissect_h245_TerminalLabel },
15176         { 14, "requestAllTerminalIDs", ASN1_NOT_EXTENSION_ROOT,
15177                 dissect_h245_NULL },
15178         { 15, "remoteMCRequest", ASN1_NOT_EXTENSION_ROOT,
15179                 dissect_h245_RemoteMCRequest },
15180         {  0, NULL, 0, NULL }
15181 };
15182 static int
15183 dissect_h245_ConferenceRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15184 {
15185         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceRequest, ett_h245_ConferenceRequest, ConferenceRequest_choice, "ConferenceRequest", NULL);
15186
15187         return offset;
15188 }
15189
15190 static int dissect_h245_CapabilityTableEntry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15191
15192 static int
15193 dissect_h245_capabilityTable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15194 {
15195         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilityTable, ett_h245_capabilityTable, dissect_h245_CapabilityTableEntry, 1, 256);
15196         return offset;
15197 }
15198
15199
15200
15201
15202
15203 static int
15204 dissect_h245_simultaneousCapabilities(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15205 {
15206         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_simultaneousCapabilities, ett_h245_simultaneousCapabilities, dissect_h245_AlternativeCapabilitySet, 1, 256);
15207         return offset;
15208 }
15209
15210
15211
15212
15213 static per_sequence_t CapabilityDescriptor_sequence[] = {
15214         { "capabilityDescriptorNumber", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
15215                 dissect_h245_CapabilityDescriptorNumber },
15216         { "simultaneousCapabilities", ASN1_NO_EXTENSIONS, ASN1_OPTIONAL,
15217                 dissect_h245_simultaneousCapabilities },
15218         { NULL, 0, 0, NULL }
15219 };
15220 static int
15221 dissect_h245_CapabilityDescriptor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15222 {
15223         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CapabilityDescriptor, ett_h245_CapabilityDescriptor, CapabilityDescriptor_sequence);
15224
15225         return offset;
15226 }
15227
15228
15229
15230 static int
15231 dissect_h245_capabilityDescriptors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15232 {
15233         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilityDescriptors, ett_h245_capabilityDescriptors, dissect_h245_CapabilityDescriptor, 1, 256);
15234         return offset;
15235 }
15236
15237
15238
15239
15240 static int dissect_h245_Q2931Address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15241
15242 static int
15243 dissect_h245_gatewayAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15244 {
15245         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_gatewayAddress, ett_h245_gatewayAddress, dissect_h245_Q2931Address, 1, 256);
15246         return offset;
15247 }
15248
15249
15250
15251 static per_sequence_t VCCapability_aal1ViaGateway_sequence[] = {
15252         { "gatewayAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15253                 dissect_h245_gatewayAddress },
15254         { "nullClockRecovery", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15255                 dissect_h245_nullClockRecovery },
15256         { "srtsClockRecovery", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15257                 dissect_h245_srtsClockRecovery },
15258         { "adaptiveClockRecovery", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15259                 dissect_h245_adaptiveClockRecovery },
15260         { "nullErrorCorrection", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15261                 dissect_h245_nullErrorCorrection },
15262         { "longInterleaver", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15263                 dissect_h245_longInterleaver },
15264         { "shortInterleaver", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15265                 dissect_h245_shortInterleaver },
15266         { "errorCorrectionOnly", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15267                 dissect_h245_errorCorrectionOnly },
15268         { "structuredDataTransfer", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15269                 dissect_h245_structuredDataTransfer },
15270         { "partiallyFilledCells", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15271                 dissect_h245_partiallyFilledCells },
15272         { NULL, 0, 0, NULL }
15273 };
15274 static int
15275 dissect_h245_VCCapability_aal1ViaGateway(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15276 {
15277         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability_aal1ViaGateway, ett_h245_VCCapability_aal1ViaGateway, VCCapability_aal1ViaGateway_sequence);
15278
15279         return offset;
15280 }
15281
15282
15283
15284 static per_sequence_t VCCapability_availableBitRates_sequence[] = {
15285         { "type", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15286                 dissect_h245_VCCapability_availableBitRates_type },
15287         { NULL, 0, 0, NULL }
15288 };
15289 static int
15290 dissect_h245_VCCapability_availableBitRates(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15291 {
15292         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability_availableBitRates, ett_h245_VCCapability_availableBitRates, VCCapability_availableBitRates_sequence);
15293
15294         return offset;
15295 }
15296
15297
15298
15299
15300
15301 static per_sequence_t VCCapability_sequence[] = {
15302         { "aal1", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15303                 dissect_h245_VCCapability_aal1 },
15304         { "aal5", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15305                 dissect_h245_VCCapability_aal5 },
15306         { "transportStream", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15307                 dissect_h245_transportStream },
15308         { "programStream", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15309                 dissect_h245_programStream },
15310         { "availableBitRates", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15311                 dissect_h245_VCCapability_availableBitRates },
15312         { "aal1ViaGateway", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
15313                 dissect_h245_VCCapability_aal1ViaGateway },
15314         { NULL, 0, 0, NULL }
15315 };
15316 static int
15317 dissect_h245_VCCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15318 {
15319         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability, ett_h245_VCCapability, VCCapability_sequence);
15320
15321         return offset;
15322 }
15323
15324
15325
15326
15327
15328 static int dissect_h245_EnhancementOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15329
15330 static int
15331 dissect_h245_snrEnhancement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15332 {
15333         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_snrEnhancement, ett_h245_snrEnhancement, dissect_h245_EnhancementOptions, 1, 14);
15334         return offset;
15335 }
15336
15337
15338
15339
15340 static int
15341 dissect_h245_spatialEnhancement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15342 {
15343         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_spatialEnhancement, ett_h245_spatialEnhancement, dissect_h245_EnhancementOptions, 1, 14);
15344         return offset;
15345 }
15346
15347
15348
15349
15350 static int dissect_h245_BEnhancementParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15351
15352 static int
15353 dissect_h245_bPictureEnhancement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15354 {
15355         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_bPictureEnhancement, ett_h245_bPictureEnhancement, dissect_h245_BEnhancementParameters, 1, 14);
15356         return offset;
15357 }
15358
15359
15360
15361
15362 static per_sequence_t EnhancementLayerInfo_sequence[] = {
15363         { "baseBitRateConstrained", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15364                 dissect_h245_baseBitRateConstrained },
15365         { "snrEnhancement", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15366                 dissect_h245_snrEnhancement },
15367         { "spatialEnhancement", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15368                 dissect_h245_spatialEnhancement },
15369         { "bPictureEnhancement", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15370                 dissect_h245_bPictureEnhancement },
15371         { NULL, 0, 0, NULL }
15372 };
15373 static int
15374 dissect_h245_EnhancementLayerInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15375 {
15376         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EnhancementLayerInfo, ett_h245_EnhancementLayerInfo, EnhancementLayerInfo_sequence);
15377
15378         return offset;
15379 }
15380
15381
15382
15383
15384 static int
15385 dissect_h245_customPictureClockFrequency(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15386 {
15387         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_customPictureClockFrequency, ett_h245_customPictureClockFrequency, dissect_h245_CustomPictureClockFrequency, 1, 16);
15388         return offset;
15389 }
15390
15391
15392
15393
15394 static int dissect_h245_CustomPictureFormat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15395
15396
15397 static int
15398 dissect_h245_customPictureFormat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15399 {
15400         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_customPictureFormat, ett_h245_customPictureFormat, dissect_h245_CustomPictureFormat, 1, 16);
15401         return offset;
15402 }
15403
15404
15405
15406 static int dissect_h245_H263VideoModeCombos(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15407
15408 static int
15409 dissect_h245_modeCombos(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15410 {
15411         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_modeCombos, ett_h245_modeCombos, dissect_h245_H263VideoModeCombos, 1, 16);
15412         return offset;
15413 }
15414
15415
15416
15417
15418
15419 static per_sequence_t H263Options_sequence[] = {
15420         { "advancedIntraCodingMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15421                 dissect_h245_advancedIntraCodingMode },
15422         { "deblockingFilterMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15423                 dissect_h245_deblockingFilterMode },
15424         { "improvedPBFramesMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15425                 dissect_h245_improvedPBFramesMode },
15426         { "unlimitedMotionVectors", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15427                 dissect_h245_unlimitedMotionVectors },
15428         { "fullPictureFreeze", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15429                 dissect_h245_fullPictureFreeze },
15430         { "partialPictureFreezeAndRelease", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15431                 dissect_h245_partialPictureFreezeAndRelease },
15432         { "resizingPartPicFreezeAndRelease", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15433                 dissect_h245_resizingPartPicFreezeAndRelease },
15434         { "fullPictureSnapshot", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15435                 dissect_h245_fullPictureSnapshot },
15436         { "partialPictureSnapshot", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15437                 dissect_h245_partialPictureSnapshot },
15438         { "videoSegmentTagging", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15439                 dissect_h245_videoSegmentTagging },
15440         { "progressiveRefinement", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15441                 dissect_h245_progressiveRefinement },
15442         { "dynamicPictureResizingByFour", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15443                 dissect_h245_dynamicPictureResizingByFour },
15444         { "dynamicPictureResizingSixteenthPel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15445                 dissect_h245_dynamicPictureResizingSixteenthPel },
15446         { "dynamicWarpingHalfPel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15447                 dissect_h245_dynamicWarpingHalfPel },
15448         { "dynamicWarpingSixteenthPel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15449                 dissect_h245_dynamicWarpingSixteenthPel },
15450         { "independentSegmentDecoding", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15451                 dissect_h245_independentSegmentDecoding },
15452         { "slicesInOrder-NonRect", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15453                 dissect_h245_slicesInOrderNonRect },
15454         { "slicesInOrder-Rect", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15455                 dissect_h245_slicesInOrderRect },
15456         { "slicesNoOrder-NonRect", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15457                 dissect_h245_slicesNoOrderNonRect },
15458         { "slicesNoOrder-Rect", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15459                 dissect_h245_slicesNoOrderRect },
15460         { "alternateInterVLCMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15461                 dissect_h245_alternateInterVLCMode },
15462         { "modifiedQuantizationMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15463                 dissect_h245_modifiedQuantizationMode },
15464         { "reducedResolutionUpdate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15465                 dissect_h245_reducedResolutionUpdate },
15466         { "transparencyParameters", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15467                 dissect_h245_TransperencyParameters },
15468         { "separateVideoBackChannel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15469                 dissect_h245_separateVideoBackChannel },
15470         { "refPictureSelection", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15471                 dissect_h245_RefPictureSelection },
15472         { "customPictureClockFrequence", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15473                 dissect_h245_customPictureClockFrequency },
15474         { "customPictureFormat", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15475                 dissect_h245_customPictureFormat },
15476         { "modeCombos", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15477                 dissect_h245_modeCombos },
15478         { "videoBadMBsCap", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15479                 dissect_h245_videoBadMBsCap },
15480         { "h263Version3Options", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15481                 dissect_h245_H263Version3Options },
15482         { NULL, 0, 0, NULL }
15483 };
15484 static int
15485 dissect_h245_H263Options(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15486 {
15487         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263Options, ett_h245_H263Options, H263Options_sequence);
15488
15489         return offset;
15490 }
15491
15492
15493
15494
15495 static per_sequence_t H263VideoMode_sequence[] = {
15496         { "resolution", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15497                 dissect_h245_H263VideoMode_resolution },
15498         { "bitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15499                 dissect_h245_h223bitRate },
15500         { "unrestrictedVector", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15501                 dissect_h245_unrestrictedVector },
15502         { "arithmeticCoding", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15503                 dissect_h245_arithmeticCoding },
15504         { "advancedPrediction", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15505                 dissect_h245_advancedPrediction },
15506         { "pbFrames", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15507                 dissect_h245_pbFrames },
15508         { "errorCompensation", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15509                 dissect_h245_errorCompensation },
15510         { "enhancementLayerInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
15511                 dissect_h245_EnhancementLayerInfo },
15512         { "h263Options", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
15513                 dissect_h245_H263Options },
15514         { NULL, 0, 0, NULL }
15515 };
15516 static int
15517 dissect_h245_H263VideoMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15518 {
15519         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263VideoMode, ett_h245_H263VideoMode, H263VideoMode_sequence);
15520
15521         return offset;
15522 }
15523
15524
15525
15526
15527
15528 static per_sequence_t H263VideoCapability_sequence[] = {
15529         { "sqcifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15530                 dissect_h245_sqcifMPI_1_32 },
15531         { "qcifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15532                 dissect_h245_qcifMPI_1_32 },
15533         { "cifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15534                 dissect_h245_cifMPI_1_32 },
15535         { "cif4MPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15536                 dissect_h245_cif4MPI_1_32 },
15537         { "cif16MPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15538                 dissect_h245_cif16MPI_1_32 },
15539         { "maxBitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15540                 dissect_h245_maxBitRate_192400 },
15541         { "unrestrictedVector", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15542                 dissect_h245_unrestrictedVector },
15543         { "arithmeticCoding", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15544                 dissect_h245_arithmeticCoding },
15545         { "advancedPrediction", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15546                 dissect_h245_advancedPrediction },
15547         { "pbFrames", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15548                 dissect_h245_pbFrames },
15549         { "temporalSpatialTradeOffCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15550                 dissect_h245_temporalSpatialTradeOffCapability },
15551         { "hrd-B", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15552                 dissect_h245_hrd_B },
15553         { "bppMaxKb", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15554                 dissect_h245_bppMaxKb },
15555         { "slowSqcifMPI", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
15556                 dissect_h245_slowSqcifMPI },
15557         { "slowQcifMPI", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
15558                 dissect_h245_slowQcifMPI },
15559         { "slowCifMPI", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
15560                 dissect_h245_slowCifMPI },
15561         { "slowCif4MPI", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
15562                 dissect_h245_slowCif4MPI },
15563         { "slowCif16MPI", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
15564                 dissect_h245_slowCif16MPI },
15565         { "errorCompensation", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15566                 dissect_h245_errorCompensation },
15567         { "enhancementLayerInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
15568                 dissect_h245_EnhancementLayerInfo },
15569         { "h263Options", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
15570                 dissect_h245_H263Options },
15571         { NULL, 0, 0, NULL }
15572 };
15573 static int
15574 dissect_h245_H263VideoCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15575 {
15576         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263VideoCapability, ett_h245_H263VideoCapability, H263VideoCapability_sequence);
15577
15578         return offset;
15579 }
15580
15581
15582
15583
15584
15585 static const value_string VideoCapability_vals[] = {
15586         {  0, "nonStandard" },
15587         {  1, "h261VideoCapability" },
15588         {  2, "h262VideoCapability" },
15589         {  3, "h263VideoCapability" },
15590         {  4, "is11172VideoCapability" },
15591         {  5, "genericVideoCapability" },
15592         {  0, NULL }
15593 };
15594 static per_choice_t VideoCapability_choice[] = {
15595         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
15596                 dissect_h245_NonStandardParameter },
15597         {  1, "h261VideoCapability", ASN1_EXTENSION_ROOT,
15598                 dissect_h245_H261VideoCapability },
15599         {  2, "h262VideoCapability", ASN1_EXTENSION_ROOT,
15600                 dissect_h245_H262VideoCapability },
15601         {  3, "h263VideoCapability", ASN1_EXTENSION_ROOT,
15602                 dissect_h245_H263VideoCapability },
15603         {  4, "is11172VideoCapability", ASN1_EXTENSION_ROOT,
15604                 dissect_h245_IS11172VideoCapability},
15605         {  5, "genericVideoCapability", ASN1_NOT_EXTENSION_ROOT,
15606                 dissect_h245_GenericCapability },
15607         {  0, NULL, 0, NULL }
15608 };
15609 static int
15610 dissect_h245_VideoCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15611 {
15612         guint32 value;
15613
15614         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_VideoCapability, ett_h245_VideoCapability, VideoCapability_choice, "VideoCapability", &value );
15615
15616         codec_type = val_to_str(value, VideoCapability_vals, "<unknown>");
15617
15618         return offset;
15619 }
15620
15621
15622
15623
15624
15625 static per_sequence_t EnhancementOptions_sequence[] = {
15626         { "sqcifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15627                 dissect_h245_sqcifMPI_1_32 },
15628         { "qcifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15629                 dissect_h245_qcifMPI_1_32 },
15630         { "cifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15631                 dissect_h245_cifMPI_1_32 },
15632         { "cif4MPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15633                 dissect_h245_cif4MPI_1_32 },
15634         { "cif16MPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15635                 dissect_h245_cif16MPI_1_32 },
15636         { "maxBitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15637                 dissect_h245_maxBitRate_192400 },
15638         { "unrestrictedVector", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15639                 dissect_h245_unrestrictedVector },
15640         { "arithmeticCoding", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15641                 dissect_h245_arithmeticCoding },
15642         { "temporalSpatialTradeOffCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15643                 dissect_h245_temporalSpatialTradeOffCapability },
15644         { "slowSqcifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15645                 dissect_h245_slowSqcifMPI },
15646         { "slowQcifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15647                 dissect_h245_slowQcifMPI },
15648         { "slowCifMPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15649                 dissect_h245_slowCifMPI },
15650         { "slowCif4MPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15651                 dissect_h245_slowCif4MPI },
15652         { "slowCif16MPI", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15653                 dissect_h245_slowCif16MPI },
15654         { "errorCompensation", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15655                 dissect_h245_errorCompensation },
15656         { "h263Options", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
15657                 dissect_h245_H263Options },
15658         { NULL, 0, 0, NULL }
15659 };
15660 static int
15661 dissect_h245_EnhancementOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15662 {
15663         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EnhancementOptions, ett_h245_EnhancementOptions, EnhancementOptions_sequence);
15664
15665         return offset;
15666 }
15667
15668
15669
15670
15671 static per_sequence_t BEnhancementParameters_sequence[] = {
15672         { "enhancementOptions", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15673                 dissect_h245_EnhancementOptions },
15674         { "numberOfBPictures", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15675                 dissect_h245_numberOfBPictures },
15676         { NULL, 0, 0, NULL }
15677 };
15678 static int
15679 dissect_h245_BEnhancementParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15680 {
15681         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_BEnhancementParameters, ett_h245_BEnhancementParameters, BEnhancementParameters_sequence);
15682
15683         return offset;
15684 }
15685
15686
15687
15688 static int
15689 dissect_h245_customPCF(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15690 {
15691         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_customPCF, ett_h245_customPCF, dissect_h245_CustomPictureFormat_mPI_customPCF, 1, 16);
15692         return offset;
15693 }
15694
15695
15696
15697
15698 static int
15699 dissect_h245_PixelAspectCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15700 {
15701         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
15702                 tree, hf_h245_PixelAspectCode, 1, 14,
15703                 NULL, NULL, FALSE);
15704
15705         return offset;
15706 }
15707
15708 static int
15709 dissect_h245_pixelAspectCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15710 {
15711         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_pixelAspectCode, ett_h245_pixelAspectCode, dissect_h245_PixelAspectCode, 1, 14);
15712         return offset;
15713 }
15714
15715
15716
15717 static int dissect_h245_extendedPAR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15718
15719 static const value_string CustomPictureFormat_pixelAspectInformation_vals[] = {
15720         {  0, "anyPixelAspectRatio" },
15721         {  1, "pixelAspectCode" },
15722         {  2, "extendedPAR" },
15723         {  0, NULL }
15724 };
15725 static per_choice_t CustomPictureFormat_pixelAspectInformation_choice[] = {
15726         {  0, "anyPixelAspectRatio", ASN1_EXTENSION_ROOT,
15727                 dissect_h245_anyPixelAspectRatio },
15728         {  1, "pixelAspectCode", ASN1_EXTENSION_ROOT,
15729                 dissect_h245_pixelAspectCode },
15730         {  2, "extendedPAR", ASN1_EXTENSION_ROOT,
15731                 dissect_h245_extendedPAR },
15732         {  0, NULL, 0, NULL }
15733 };
15734 static int
15735 dissect_h245_CustomPictureFormat_pixelAspectInformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15736 {
15737         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CustomPictureFormat_pixelAspectInformation, ett_h245_CustomPictureFormat_pixelAspectInformation, CustomPictureFormat_pixelAspectInformation_choice, "pixelAspectInformation", NULL);
15738
15739         return offset;
15740 }
15741
15742
15743
15744
15745
15746 static per_sequence_t CustomPictureFormat_sequence[] = {
15747         { "maxCustomPictureWidth", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15748                 dissect_h245_maxCustomPictureWidth },
15749         { "maxCustomPictureHeight", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15750                 dissect_h245_maxCustomPictureHeight},
15751         { "minCustomPictureWidth", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15752                 dissect_h245_minCustomPictureWidth },
15753         { "minCustomPictureHeight", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15754                 dissect_h245_minCustomPictureHeight },
15755         { "mPI", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15756                 dissect_h245_CustomPictureFormat_mPI },
15757         { "pixelAspectInformation", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15758                 dissect_h245_CustomPictureFormat_pixelAspectInformation },
15759         { NULL, 0, 0, NULL }
15760 };
15761 static int
15762 dissect_h245_CustomPictureFormat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15763 {
15764         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CustomPictureFormat, ett_h245_CustomPictureFormat, CustomPictureFormat_sequence);
15765
15766         return offset;
15767 }
15768
15769
15770
15771
15772 static int
15773 dissect_h245_extendedPAR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15774 {
15775         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_extendedPAR, ett_h245_extendedPAR, dissect_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR, 1, 256);
15776         return offset;
15777 }
15778
15779
15780
15781
15782 static int
15783 dissect_h245_h263VideoCoupledModes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15784 {
15785         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_h263VideoCoupledModes, ett_h245_h263VideoCoupledModes, dissect_h245_H263ModeComboFlags, 1, 16);
15786         return offset;
15787 }
15788
15789
15790
15791
15792
15793 static per_sequence_t H263VideoModeCombos_sequence[] = {
15794         { "h263VideoUncoupledModes", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15795                 dissect_h245_H263ModeComboFlags },
15796         { "h263VideoCoupledModes", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15797                 dissect_h245_h263VideoCoupledModes },
15798         { NULL, 0, 0, NULL }
15799 };
15800 static int
15801 dissect_h245_H263VideoModeCombos(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15802 {
15803         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263VideoModeCombos, ett_h245_H263VideoModeCombos, H263VideoModeCombos_sequence);
15804
15805         return offset;
15806 }
15807
15808
15809
15810 static int
15811 dissect_h245_capabilityOnMuxStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15812 {
15813         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilityOnMuxStream, ett_h245_capabilityOnMuxStream, dissect_h245_AlternativeCapabilitySet, 1, 256);
15814         return offset;
15815 }
15816
15817
15818
15819
15820 static int
15821 dissect_h245_capabilities(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15822 {
15823         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilities, ett_h245_capabilities, dissect_h245_AlternativeCapabilitySet, 1, 256);
15824         return offset;
15825 }
15826
15827
15828
15829 static per_sequence_t MultiplePayloadStreamCapability_sequence[] = {
15830         { "capabilities", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15831                 dissect_h245_capabilities },
15832         { NULL, 0, 0, NULL }
15833 };
15834 static int
15835 dissect_h245_MultiplePayloadStreamCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15836 {
15837         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplePayloadStreamCapability, ett_h245_MultiplePayloadStreamCapability, MultiplePayloadStreamCapability_sequence);
15838
15839         return offset;
15840 }
15841
15842
15843
15844
15845
15846 static int
15847 dissect_h245_multiplexEntryDescriptors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15848 {
15849         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_multiplexEntryDescriptors, ett_h245_multiplexEntryDescriptors, dissect_h245_MultiplexEntryDescriptor, 1, 15);
15850         return offset;
15851 }
15852
15853
15854
15855 static per_sequence_t MultiplexEntrySend_sequence[] = {
15856         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15857                 dissect_h245_SequenceNumber },
15858         { "multiplexEntryDescriptors", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15859                 dissect_h245_multiplexEntryDescriptors },
15860         { NULL, 0, 0, NULL }
15861 };
15862 static int
15863 dissect_h245_MultiplexEntrySend(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15864 {
15865         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntrySend, ett_h245_MultiplexEntrySend, MultiplexEntrySend_sequence);
15866
15867         return offset;
15868 }
15869
15870
15871
15872
15873 static int
15874 dissect_h245_multiplexTableEntryNumber_set_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15875 {
15876         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);
15877         return offset;
15878 }
15879
15880
15881
15882 static per_sequence_t MultiplexEntrySendRelease_sequence[] = {
15883         { "multiplexTableEntryNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15884                 dissect_h245_multiplexTableEntryNumber_set_of },
15885         { NULL, 0, 0, NULL }
15886 };
15887 static int
15888 dissect_h245_MultiplexEntrySendRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15889 {
15890         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntrySendRelease, ett_h245_MultiplexEntrySendRelease, MultiplexEntrySendRelease_sequence);
15891
15892         return offset;
15893 }
15894
15895
15896
15897
15898 static per_sequence_t MultiplexEntrySendAck_sequence[] = {
15899         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15900                 dissect_h245_SequenceNumber },
15901         { "multiplexTableEntryNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15902                 dissect_h245_multiplexTableEntryNumber_set_of },
15903         { NULL, 0, 0, NULL }
15904 };
15905 static int
15906 dissect_h245_MultiplexEntrySendAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15907 {
15908         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntrySendAck, ett_h245_MultiplexEntrySendAck, MultiplexEntrySendAck_sequence);
15909
15910         return offset;
15911 }
15912
15913
15914
15915
15916
15917 static int
15918 dissect_h245_RMErejectionDescriptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15919 {
15920         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_rejectionDescriptions, ett_h245_rejectionDescriptions, dissect_h245_RequestMultiplexEntryRejectionDescriptions, 1, 15);
15921         return offset;
15922 }
15923
15924
15925 static int
15926 dissect_h245_rejectionDescriptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15927 {
15928         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_rejectionDescriptions, ett_h245_rejectionDescriptions, dissect_h245_MultiplexEntryRejectionDescriptions, 1, 15);
15929         return offset;
15930 }
15931
15932
15933
15934
15935
15936
15937 static per_sequence_t MultiplexEntrySendReject_sequence[] = {
15938         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15939                 dissect_h245_SequenceNumber },
15940         { "rejectionDescriptions", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15941                 dissect_h245_rejectionDescriptions },
15942         { NULL, 0, 0, NULL }
15943 };
15944 static int
15945 dissect_h245_MultiplexEntrySendReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15946 {
15947         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntrySendReject, ett_h245_MultiplexEntrySendReject, MultiplexEntrySendReject_sequence);
15948
15949         return offset;
15950 }
15951
15952
15953
15954
15955 static int
15956 dissect_h245_entryNumbers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15957 {
15958         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_entryNumbers, ett_h245_entryNumbers, dissect_h245_MultiplexTableEntryNumber, 1, 15);
15959         return offset;
15960 }
15961
15962
15963
15964
15965 static per_sequence_t RequestMultiplexEntry_sequence[] = {
15966         { "entryNumbers", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15967                 dissect_h245_entryNumbers },
15968         { NULL, 0, 0, NULL }
15969 };
15970 static int
15971 dissect_h245_RequestMultiplexEntry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15972 {
15973         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntry, ett_h245_RequestMultiplexEntry, RequestMultiplexEntry_sequence);
15974
15975         return offset;
15976 }
15977
15978
15979
15980 static per_sequence_t RequestMultiplexEntryAck_sequence[] = {
15981         { "entryNumbers", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15982                 dissect_h245_entryNumbers },
15983         { NULL, 0, 0, NULL }
15984 };
15985 static int
15986 dissect_h245_RequestMultiplexEntryAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15987 {
15988         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntryAck, ett_h245_RequestMultiplexEntryAck, RequestMultiplexEntryAck_sequence);
15989
15990         return offset;
15991 }
15992
15993
15994
15995
15996 static per_sequence_t RequestMultiplexEntryReject_sequence[] = {
15997         { "entryNumbers", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
15998                 dissect_h245_entryNumbers },
15999         { "rejectionDescriptions", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16000                 dissect_h245_RMErejectionDescriptions },
16001         { NULL, 0, 0, NULL }
16002 };
16003 static int
16004 dissect_h245_RequestMultiplexEntryReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16005 {
16006         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntryReject, ett_h245_RequestMultiplexEntryReject, RequestMultiplexEntryReject_sequence);
16007
16008         return offset;
16009 }
16010
16011
16012
16013
16014
16015 static per_sequence_t RequestMultiplexEntryRelease_sequence[] = {
16016         { "entryNumbers", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16017                 dissect_h245_entryNumbers },
16018         { NULL, 0, 0, NULL }
16019 };
16020 static int
16021 dissect_h245_RequestMultiplexEntryRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16022 {
16023         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntryRelease, ett_h245_RequestMultiplexEntryRelease, RequestMultiplexEntryRelease_sequence);
16024
16025         return offset;
16026 }
16027
16028
16029
16030 static int dissect_h245_ModeElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
16031
16032 static int
16033 dissect_h245_ModeDescription(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16034 {
16035         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_ModeDescription, ett_h245_ModeDescription, dissect_h245_ModeElement, 1, 256);
16036         return offset;
16037 }
16038
16039
16040
16041
16042 static int dissect_h245_CommunicationModeTableEntry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
16043
16044 static int
16045 dissect_h245_communicationModeTable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16046 {
16047         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_communicationModeTable, ett_h245_communicationModeTable, dissect_h245_CommunicationModeTableEntry, 1, 256);
16048         return offset;
16049 }
16050
16051
16052
16053
16054
16055 static per_sequence_t CommunicationModeCommand_sequence[] = {
16056         { "communicationModeTable", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16057                 dissect_h245_communicationModeTable },
16058         { NULL, 0, 0, NULL }
16059 };
16060 static int
16061 dissect_h245_CommunicationModeCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16062 {
16063         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CommunicationModeCommand, ett_h245_CommunicationModeCommand, CommunicationModeCommand_sequence);
16064
16065         return offset;
16066 }
16067
16068
16069
16070
16071
16072 static const value_string CommunicationModeResponse_vals[] = {
16073         {  0, "communicationModeTable" },
16074         {  0, NULL }
16075 };
16076 static per_choice_t CommunicationModeResponse_choice[] = {
16077         {  0, "communicationModeTable", ASN1_EXTENSION_ROOT,
16078                 dissect_h245_communicationModeTable },
16079         {  0, NULL, 0, NULL }
16080 };
16081 static int
16082 dissect_h245_CommunicationModeResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16083 {
16084         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CommunicationModeResponse, ett_h245_CommunicationModeResponse, CommunicationModeResponse_choice, "CommunicationModeResponse", NULL);
16085
16086         return offset;
16087 }
16088
16089
16090
16091
16092
16093 static int
16094 dissect_h245_terminalListResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16095 {
16096         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_terminalListResponse, ett_h245_terminalListResponse, dissect_h245_TerminalLabel, 1, 256);
16097         return offset;
16098 }
16099
16100
16101
16102
16103 static int dissect_h245_DialingInformationNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
16104
16105 static int
16106 dissect_h245_differential(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16107 {
16108         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_differential, ett_h245_differential, dissect_h245_DialingInformationNumber, 1, 65535);
16109         return offset;
16110 }
16111
16112
16113
16114
16115
16116 static const value_string DialingInformation_vals[] = {
16117         {  0, "nonStandard" },
16118         {  1, "differential" },
16119         {  2, "infoNotAvailable" },
16120         {  0, NULL }
16121 };
16122 static per_choice_t DialingInformation_choice[] = {
16123         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
16124                 dissect_h245_NonStandardMessage },
16125         {  1, "differential", ASN1_EXTENSION_ROOT,
16126                 dissect_h245_differential },
16127         {  2, "infoNotAvailable", ASN1_EXTENSION_ROOT,
16128                 dissect_h245_infoNotAvailable },
16129         {  0, NULL, 0, NULL }
16130 };
16131 static int
16132 dissect_h245_DialingInformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16133 {
16134         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DialingInformation, ett_h245_DialingInformation, DialingInformation_choice, "DialingInformation", NULL);
16135
16136         return offset;
16137 }
16138
16139
16140
16141
16142
16143 static per_sequence_t MultilinkResponse_callInformation_sequence[] = {
16144         { "dialingInformation", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16145                 dissect_h245_DialingInformation },
16146         { "callAssociationNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16147                 dissect_h245_callAssociationNumber },
16148         { NULL, 0, 0, NULL }
16149 };
16150 static int
16151 dissect_h245_MultilinkResponse_callInformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16152 {
16153         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse_callInformation, ett_h245_MultilinkResponse_callInformation, MultilinkResponse_callInformation_sequence);
16154
16155         return offset;
16156 }
16157
16158
16159
16160
16161
16162
16163 static const value_string MultilinkResponse_vals[] = {
16164         {  0, "nonStandard" },
16165         {  1, "callInformation" },
16166         {  2, "addConnection" },
16167         {  3, "removeConnection" },
16168         {  4, "maximumHeaderInterval" },
16169         {  0, NULL }
16170 };
16171 static per_choice_t MultilinkResponse_choice[] = {
16172         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
16173                 dissect_h245_NonStandardMessage },
16174         {  1, "callInformation", ASN1_EXTENSION_ROOT,
16175                 dissect_h245_MultilinkResponse_callInformation },
16176         {  2, "addConnection", ASN1_EXTENSION_ROOT,
16177                 dissect_h245_MultilinkResponse_addConnection },
16178         {  3, "removeConnection", ASN1_EXTENSION_ROOT,
16179                 dissect_h245_MultilinkResponse_removeConnection },
16180         {  4, "maximumHeaderInterval", ASN1_EXTENSION_ROOT,
16181                 dissect_h245_MultilinkResponse_maximumHeaderInterval },
16182         {  0, NULL, 0, NULL }
16183 };
16184 static int
16185 dissect_h245_MultilinkResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16186 {
16187         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse, ett_h245_MultilinkResponse, MultilinkResponse_choice, "MultilinkResponse", NULL);
16188
16189         return offset;
16190 }
16191
16192
16193
16194
16195 static per_sequence_t MultilinkRequest_addConnection_sequence[] = {
16196         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16197                 dissect_h245_SequenceNumber },
16198         { "dialingInformation", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16199                 dissect_h245_DialingInformation },
16200         { NULL, 0, 0, NULL }
16201 };
16202 static int
16203 dissect_h245_MultilinkRequest_addConnection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16204 {
16205         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest_addConnection, ett_h245_MultilinkRequest_addConnection, MultilinkRequest_addConnection_sequence);
16206
16207         return offset;
16208 }
16209
16210
16211
16212
16213
16214 static const value_string MultilinkRequest_vals[] = {
16215         {  0, "nonStandard" },
16216         {  1, "callInformation" },
16217         {  2, "addConnection" },
16218         {  3, "removeConnection" },
16219         {  4, "maximumHeaderInterval" },
16220         {  0, NULL }
16221 };
16222 static per_choice_t MultilinkRequest_choice[] = {
16223         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
16224                 dissect_h245_NonStandardMessage },
16225         {  1, "callInformation", ASN1_EXTENSION_ROOT,
16226                 dissect_h245_MultilinkRequest_callInformation },
16227         {  2, "addConnection", ASN1_EXTENSION_ROOT,
16228                 dissect_h245_MultilinkRequest_addConnection },
16229         {  3, "removeConnection", ASN1_EXTENSION_ROOT,
16230                 dissect_h245_MultilinkRequest_removeConnection },
16231         {  4, "maximumHeaderInterval", ASN1_EXTENSION_ROOT,
16232                 dissect_h245_MultilinkRequest_maximumHeaderInterval },
16233         {  0, NULL, 0, NULL }
16234 };
16235 static int
16236 dissect_h245_MultilinkRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16237 {
16238         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest, ett_h245_MultilinkRequest, MultilinkRequest_choice, "MultilinkRequest", NULL);
16239
16240         return offset;
16241 }
16242
16243
16244
16245
16246
16247 static int
16248 dissect_h245_networkType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16249 {
16250         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_networkType, ett_h245_networkType, dissect_h245_DialingInformationNetworkType, 1, 255);
16251         return offset;
16252 }
16253
16254
16255
16256
16257
16258 static int
16259 dissect_h245_capabilityTableEntryNumbers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16260 {
16261         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilityTableEntryNumbers, ett_h245_capabilityTableEntryNumbers, dissect_h245_CapabilityTableEntryNumber, 1, 65535);
16262         return offset;
16263 }
16264
16265
16266
16267
16268 static int
16269 dissect_h245_capabilityDescriptorNumbers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16270 {
16271         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilityDescriptorNumbers, ett_h245_capabilityDescriptorNumbers, dissect_h245_CapabilityDescriptorNumber, 1, 256);
16272         return offset;
16273 }
16274
16275
16276
16277
16278 static per_sequence_t SendTerminalCapabilitySet_specificRequest_sequence[] = {
16279         { "multiplexCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16280                 dissect_h245_multiplexCapability_bool },
16281         { "capabilityTableEntryNumbers", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16282                 dissect_h245_capabilityTableEntryNumbers },
16283         { "capabilityDescriptorNumbers", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16284                 dissect_h245_capabilityDescriptorNumbers },
16285         { NULL, 0, 0, NULL }
16286 };
16287 static int
16288 dissect_h245_SendTerminalCapabilitySet_specificRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16289 {
16290         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_SendTerminalCapabilitySet_specificRequest, ett_h245_SendTerminalCapabilitySet_specificRequest, SendTerminalCapabilitySet_specificRequest_sequence);
16291
16292         return offset;
16293 }
16294
16295
16296
16297
16298
16299 static const value_string SendTerminalCapabilitySet_vals[] = {
16300         {  0, "specificRequest" },
16301         {  1, "genericRequest" },
16302         {  0, NULL }
16303 };
16304 static per_choice_t SendTerminalCapabilitySet_choice[] = {
16305         {  0, "specificRequest", ASN1_EXTENSION_ROOT,
16306                 dissect_h245_SendTerminalCapabilitySet_specificRequest },
16307         {  1, "genericRequest", ASN1_EXTENSION_ROOT,
16308                 dissect_h245_NULL },
16309         {  0, NULL, 0, NULL }
16310 };
16311 static int
16312 dissect_h245_SendTerminalCapabilitySet(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16313 {
16314         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_SendTerminalCapabilitySet, ett_h245_SendTerminalCapabilitySet, SendTerminalCapabilitySet_choice, "SendTerminalCapabilitySet", NULL);
16315
16316         return offset;
16317 }
16318
16319
16320
16321
16322
16323
16324 static int
16325 dissect_h245_audioTelephoneEvent(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16326 {
16327         offset=dissect_per_GeneralString(tvb, offset, pinfo, tree, hf_h245_audioTelephoneEvent);
16328         return offset;
16329 }
16330
16331
16332
16333
16334
16335 static per_sequence_t AudioTelephonyEventCapability_sequence[] = {
16336         { "dynamicRTPPayloadType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16337                 dissect_h245_dynamicRTPPayloadType },
16338         { "audioTelephoneEvent", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16339                 dissect_h245_audioTelephoneEvent },
16340         { NULL, 0, 0, NULL }
16341 };
16342 static int
16343 dissect_h245_AudioTelephonyEventCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16344 {
16345         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_AudioTelephonyEventCapability, ett_h245_AudioTelephonyEventCapability, AudioTelephonyEventCapability_sequence);
16346
16347         return offset;
16348 }
16349
16350
16351
16352
16353
16354
16355 static per_sequence_t NoPTAudioTelephonyEventCapability_sequence[] = {
16356         { "audioTelephoneEvent", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16357                 dissect_h245_audioTelephoneEvent },
16358         { NULL, 0, 0, NULL }
16359 };
16360 static int
16361 dissect_h245_NoPTAudioTelephonyEventCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16362 {
16363         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NoPTAudioTelephonyEventCapability, ett_h245_NoPTAudioTelephonyEventCapability, NoPTAudioTelephonyEventCapability_sequence);
16364
16365         return offset;
16366 }
16367
16368
16369
16370
16371 static const value_string AudioCapability_vals[] = {
16372         {  0, "nonStandard" },
16373         {  1, "g711Alaw64k" },
16374         {  2, "g711Alaw56k" },
16375         {  3, "g711Ulaw64k" },
16376         {  4, "g711Ulaw56k" },
16377         {  5, "g722-64k" },
16378         {  6, "g722-56k" },
16379         {  7, "g722-48k" },
16380         {  8, "g7231" },
16381         {  9, "g728" },
16382         { 10, "g729" },
16383         { 11, "g729AnnexA" },
16384         { 12, "is11172AudioCapability" },
16385         { 13, "is13818AudioCapability" },
16386         { 14, "g729wAnnexB" },
16387         { 15, "g729AnnexAwAnnexB" },
16388         { 16, "g7231AnnexCCapability" },
16389         { 17, "gsmFullRate" },
16390         { 18, "gsmHalfRate" },
16391         { 19, "gsmEnhancedFullRate" },
16392         { 20, "genericAudioCapability" },
16393         { 21, "g729Extensions" },
16394         { 22, "vbd" },
16395         { 23, "audioTelephonyEvent" },
16396         { 24, "audioTone" },
16397         {  0, NULL }
16398 };
16399 static per_choice_t AudioCapability_choice[] = {
16400         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
16401                 dissect_h245_NonStandardParameter },
16402         {  1, "g711Alaw64k", ASN1_EXTENSION_ROOT,
16403                 dissect_h245_g711Alaw64k },
16404         {  2, "g711Alaw56k", ASN1_EXTENSION_ROOT,
16405                 dissect_h245_g711Alaw56k },
16406         {  3, "g711Ulaw64k", ASN1_EXTENSION_ROOT,
16407                 dissect_h245_g711Ulaw64k },
16408         {  4, "g711Ulaw56k", ASN1_EXTENSION_ROOT,
16409                 dissect_h245_g711Ulaw56k },
16410         {  5, "g722-64k", ASN1_EXTENSION_ROOT,
16411                 dissect_h245_g722_64k },
16412         {  6, "g722-56k", ASN1_EXTENSION_ROOT,
16413                 dissect_h245_g722_56k },
16414         {  7, "g722-48k", ASN1_EXTENSION_ROOT,
16415                 dissect_h245_g722_48k },
16416         {  8, "g7231", ASN1_EXTENSION_ROOT,
16417                 dissect_h245_AudioCapability_g7231 },
16418         {  9, "g728", ASN1_EXTENSION_ROOT,
16419                 dissect_h245_g728 },
16420         { 10, "g729", ASN1_EXTENSION_ROOT,
16421                 dissect_h245_g729 },
16422         { 11, "g729AnnexA", ASN1_EXTENSION_ROOT,
16423                 dissect_h245_g729AnnexA },
16424         { 12, "is11172AudioCapability", ASN1_EXTENSION_ROOT,
16425                 dissect_h245_IS11172AudioCapability },
16426         { 13, "is13818AudioCapability", ASN1_EXTENSION_ROOT,
16427                 dissect_h245_IS13818AudioCapability },
16428         { 14, "g729wAnnexB", ASN1_NOT_EXTENSION_ROOT,
16429                 dissect_h245_g729wAnnexB },
16430         { 15, "g729AnnexAwAnnexB", ASN1_NOT_EXTENSION_ROOT,
16431                 dissect_h245_g729AnnexAwAnnexB },
16432         { 16, "g7231AnnexCCapability", ASN1_NOT_EXTENSION_ROOT,
16433                 dissect_h245_G7231AnnexCCapability },
16434         { 17, "gsmFullRate", ASN1_NOT_EXTENSION_ROOT,
16435                 dissect_h245_GSMAudioCapability },
16436         { 18, "gsmHalfRate", ASN1_NOT_EXTENSION_ROOT,
16437                 dissect_h245_GSMAudioCapability },
16438         { 19, "gsmEnhancedFullRate", ASN1_NOT_EXTENSION_ROOT,
16439                 dissect_h245_GSMAudioCapability },
16440         { 20, "genericAudioCapability", ASN1_NOT_EXTENSION_ROOT,
16441                 dissect_h245_GenericCapability },
16442         { 21, "g729Extensions", ASN1_NOT_EXTENSION_ROOT,
16443                 dissect_h245_G729Extensions },
16444         { 22, "vbd", ASN1_NOT_EXTENSION_ROOT,
16445                 dissect_h245_VBDCapability },
16446         { 23, "audioTelephonyEvent", ASN1_NOT_EXTENSION_ROOT,
16447                 dissect_h245_NoPTAudioTelephonyEventCapability },
16448         { 24, "audioTone", ASN1_NOT_EXTENSION_ROOT,
16449                 dissect_h245_NoPTAudioToneCapability },
16450         {  0, NULL, 0, NULL }
16451 };
16452 static int
16453 dissect_h245_AudioCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16454 {
16455         guint32 value;
16456
16457         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_AudioCapability, ett_h245_AudioCapability, AudioCapability_choice, "AudioCapability", &value);
16458
16459         codec_type = val_to_str(value, AudioCapability_vals, "<unknown>");
16460
16461         return offset;
16462 }
16463
16464
16465
16466
16467
16468 static const value_string H235Media_mediaType_vals[] = {
16469         {  0, "nonStandard" },
16470         {  1, "videoData" },
16471         {  2, "audioData" },
16472         {  3, "data" },
16473         {  0, NULL }
16474 };
16475 static per_choice_t H235Media_mediaType_choice[] = {
16476         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
16477                 dissect_h245_NonStandardParameter },
16478         {  1, "videoData", ASN1_EXTENSION_ROOT,
16479                 dissect_h245_VideoCapability },
16480         {  2, "audioData", ASN1_EXTENSION_ROOT,
16481                 dissect_h245_AudioCapability },
16482         {  3, "data", ASN1_EXTENSION_ROOT,
16483                 dissect_h245_DataApplicationCapability },
16484         {  0, NULL, 0, NULL }
16485 };
16486 static int
16487 dissect_h245_H235Media_mediaType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16488 {
16489         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H235Media_mediaType, ett_h245_H235Media_mediaType, H235Media_mediaType_choice, "mediaType", NULL);
16490
16491         return offset;
16492 }
16493
16494
16495
16496
16497
16498
16499 static const value_string CommunicationModeTableEntry_dataType_vals[] = {
16500         {  0, "videoData" },
16501         {  1, "audioData" },
16502         {  2, "data" },
16503         {  0, NULL }
16504 };
16505 static per_choice_t CommunicationModeTableEntry_dataType_choice[] = {
16506         {  0, "videoData", ASN1_EXTENSION_ROOT,
16507                 dissect_h245_VideoCapability },
16508         {  1, "audioData", ASN1_EXTENSION_ROOT,
16509                 dissect_h245_AudioCapability },
16510         {  2, "data", ASN1_EXTENSION_ROOT,
16511                 dissect_h245_DataApplicationCapability },
16512         {  0, NULL, 0, NULL }
16513 };
16514 static int
16515 dissect_h245_CommunicationModeTableEntry_dataType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16516 {
16517         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CommunicationModeTableEntry_dataType, ett_h245_CommunicationModeTableEntry_dataType, CommunicationModeTableEntry_dataType_choice, "dataType", NULL);
16518
16519         return offset;
16520 }
16521
16522
16523
16524
16525
16526 static per_sequence_t H235Media_sequence[] = {
16527         { "encryptionAuthenticationAndIntegrity", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16528                 dissect_h245_EncryptionAuthenticationAndIntegrity },
16529         { "mediaType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16530                 dissect_h245_H235Media_mediaType },
16531         { NULL, 0, 0, NULL }
16532 };
16533 static int
16534 dissect_h245_H235Media(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16535 {
16536         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H235Media, ett_h245_H235Media, H235Media_sequence);
16537
16538         return offset;
16539 }
16540
16541
16542
16543
16544
16545 static int
16546 dissect_h245_alphanumeric(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16547 {
16548         offset=dissect_per_GeneralString(tvb, offset, pinfo, tree, hf_h245_alphanumeric);
16549         return offset;
16550 }
16551
16552
16553
16554
16555
16556
16557 static const value_string UserInputIndication_userInputSupportIndication_vals[] = {
16558         {  0, "nonStandard" },
16559         {  1, "basicString" },
16560         {  2, "iA5String" },
16561         {  3, "generalString" },
16562         {  0, NULL }
16563 };
16564 static per_choice_t UserInputIndication_userInputSupportIndication_choice[] = {
16565         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
16566                 dissect_h245_NonStandardParameter },
16567         {  1, "basicString", ASN1_EXTENSION_ROOT,
16568                 dissect_h245_NULL },
16569         {  2, "iA5String", ASN1_EXTENSION_ROOT,
16570                 dissect_h245_NULL },
16571         {  3, "generalString", ASN1_EXTENSION_ROOT,
16572                 dissect_h245_NULL },
16573         {  0, NULL, 0, NULL }
16574 };
16575 static int
16576 dissect_h245_UserInputIndication_userInputSupportIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16577 {
16578         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_userInputSupportIndication, ett_h245_UserInputIndication_userInputSupportIndication, UserInputIndication_userInputSupportIndication_choice, "userInputSupportIndication", NULL);
16579
16580         return offset;
16581 }
16582
16583
16584
16585
16586 static per_sequence_t UserInputIndication_extendedAlphanumeric_sequence[] = {
16587         { "alphanumeric", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16588                 dissect_h245_alphanumeric },
16589         { "rtpPayloadIndication", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16590                 dissect_h245_NULL },
16591         { NULL, 0, 0, NULL }
16592 };
16593 static int
16594 dissect_h245_UserInputIndication_extendedAlphanumeric(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16595 {
16596         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_extendedAlphanumeric, ett_h245_UserInputIndication_extendedAlphanumeric, UserInputIndication_extendedAlphanumeric_sequence);
16597
16598         return offset;
16599 }
16600
16601
16602 static int
16603 dissect_h245_rfcnumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16604 {
16605         offset=dissect_per_constrained_integer(tvb, offset, pinfo,
16606                 tree, hf_h245_rfc_number, 1, 32768,
16607                 NULL, NULL, TRUE);
16608         return offset;
16609 }
16610
16611
16612
16613
16614 static const value_string RTPPayloadType_payloadDescriptor_vals[] = {
16615         {  0, "nonStandardIdentifier" },
16616         {  1, "rfc-number" },
16617         {  2, "oid" },
16618         {  0, NULL }
16619 };
16620 static per_choice_t RTPPayloadType_payloadDescriptor_choice[] = {
16621         {  0, "nonStandardIdentifier", ASN1_EXTENSION_ROOT,
16622                 dissect_h245_NonStandardParameter },
16623         {  1, "rfc-number", ASN1_EXTENSION_ROOT,
16624                 dissect_h245_rfcnumber },
16625         {  2, "oid", ASN1_EXTENSION_ROOT,
16626                 dissect_h245_oid },
16627         {  0, NULL, 0, NULL }
16628 };
16629 static int
16630 dissect_h245_RTPPayloadType_payloadDescriptor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16631 {
16632         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RTPPayloadType_payloadDescriptor, ett_h245_RTPPayloadType_payloadDescriptor, RTPPayloadType_payloadDescriptor_choice, "payloadDescriptor", NULL);
16633
16634         return offset;
16635 }
16636
16637
16638
16639
16640
16641 static per_sequence_t RTPPayloadType_sequence[] = {
16642         { "payloadDescriptor", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16643                 dissect_h245_RTPPayloadType_payloadDescriptor },
16644         { "payloadType", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16645                 dissect_h245_payloadType },
16646         { NULL, 0, 0, NULL }
16647 };
16648 static int
16649 dissect_h245_RTPPayloadType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16650 {
16651         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RTPPayloadType, ett_h245_RTPPayloadType, RTPPayloadType_sequence);
16652
16653         return offset;
16654 }
16655
16656
16657
16658
16659
16660
16661 static const value_string H2250LogicalChannelParameters_mediaPacketization_vals[] = {
16662         {  0, "h261aVideoPacketization" },
16663         {  1, "rtpPayloadType" },
16664         {  0, NULL }
16665 };
16666 static per_choice_t H2250LogicalChannelParameters_mediaPacketization_choice[] = {
16667         {  0, "h261aVideoPacketization", ASN1_EXTENSION_ROOT,
16668                 dissect_h245_NULL },
16669         {  1, "rtpPayloadType", ASN1_NOT_EXTENSION_ROOT,
16670                 dissect_h245_RTPPayloadType },
16671         {  0, NULL, 0, NULL }
16672 };
16673 static int
16674 dissect_h245_H2250LogicalChannelParameters_mediaPacketization(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16675 {
16676         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H2250LogicalChannelParameters_mediaPacketization, ett_h245_H2250LogicalChannelParameters_mediaPacketization, H2250LogicalChannelParameters_mediaPacketization_choice, "mediaPacketization", NULL);
16677
16678         return offset;
16679 }
16680
16681
16682
16683
16684
16685 static int dissect_h245_mediaDistributionCapability_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
16686 static per_sequence_t MultipointCapability_sequence[] = {
16687         { "multicastCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16688                 dissect_h245_multicastCapability },
16689         { "multiUniCastConference", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16690                 dissect_h245_multiUniCastConference },
16691         { "mediaDistributionCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16692                 dissect_h245_mediaDistributionCapability_sequence_of },
16693         { NULL, 0, 0, NULL }
16694 };
16695 static int
16696 dissect_h245_receiveMultipointCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16697 {
16698         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_receiveMultipointCapability, ett_h245_MultipointCapability, MultipointCapability_sequence);
16699
16700         return offset;
16701 }
16702 static int
16703 dissect_h245_transmitMultipointCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16704 {
16705         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_transmitMultipointCapability, ett_h245_MultipointCapability, MultipointCapability_sequence);
16706
16707         return offset;
16708 }
16709 static int
16710 dissect_h245_receiveAndTransmitMultipointCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16711 {
16712         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_receiveAndTransmitMultipointCapability, ett_h245_MultipointCapability, MultipointCapability_sequence);
16713
16714         return offset;
16715 }
16716
16717
16718
16719
16720 static per_sequence_t H2250Capability_sequence[] = {
16721         { "maximumAudioDelayJitter", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16722                 dissect_h245_maximumAudioDelayJitter },
16723         { "receiveMultipointCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16724                 dissect_h245_receiveMultipointCapability },
16725         { "transmitMultipointCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16726                 dissect_h245_transmitMultipointCapability },
16727         { "receiveAndTransmitMultipointCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16728                 dissect_h245_receiveAndTransmitMultipointCapability },
16729         { "mcCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16730                 dissect_h245_H2250Capability_mcCapability },
16731         { "rtcpVideoControlCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16732                 dissect_h245_rtcpVideoControlCapability },
16733         { "mediaPacketizationCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16734                 dissect_h245_MediaPacketizationCapability },
16735         { "transportCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
16736                 dissect_h245_TransportCapability },
16737         { "redundancyEncodingCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
16738                 dissect_h245_RedundancyEncodingCapability_sequence_of },
16739         { "logicalChannelSwitchingCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16740                 dissect_h245_logicalChannelSwitchingCapability },
16741         { "t120DynamicPortCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16742                 dissect_h245_t120DynamicPortCapability },
16743         { NULL, 0, 0, NULL }
16744 };
16745 static int
16746 dissect_h245_H2250Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16747 {
16748         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250Capability, ett_h245_H2250Capability, H2250Capability_sequence);
16749
16750         return offset;
16751 }
16752
16753
16754
16755
16756
16757
16758 static int dissect_h245_DataType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
16759 static per_sequence_t RedundancyEncodingElement_sequence[] = {
16760         { "dataType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16761                 dissect_h245_DataType },
16762         { "payloadType", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16763                 dissect_h245_payloadType },
16764         { NULL, 0, 0, NULL }
16765 };
16766 static int
16767 dissect_h245_RedundancyEncodingElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16768 {
16769         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingElement, ett_h245_RedundancyEncodingElement, RedundancyEncodingElement_sequence);
16770
16771         return offset;
16772 }
16773
16774
16775
16776
16777
16778 static per_sequence_t RedundancyEncoding_rtpRedundancyEncoding_sequence[] = {
16779         { "primary", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16780                 dissect_h245_RedundancyEncodingElement },
16781         { "secondary", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16782                 dissect_h245_secondary_REE_sequence_of },
16783         { NULL, 0, 0, NULL }
16784 };
16785 static int
16786 dissect_h245_RedundancyEncoding_rtpRedundancyEncoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16787 {
16788         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncoding_rtpRedundancyEncoding, ett_h245_RedundancyEncoding_rtpRedundancyEncoding, RedundancyEncoding_rtpRedundancyEncoding_sequence);
16789
16790         return offset;
16791 }
16792
16793
16794
16795
16796
16797 static per_sequence_t RedundancyEncoding_sequence[] = {
16798         { "redundancyEncodingMethod", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16799                 dissect_h245_RedundancyEncodingMethod },
16800         { "secondaryEncoding", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16801                 dissect_h245_DataType },
16802         { "rtpRedundancyEncoding", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
16803                 dissect_h245_RedundancyEncoding_rtpRedundancyEncoding },
16804         { NULL, 0, 0, NULL }
16805 };
16806 static int
16807 dissect_h245_RedundancyEncoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16808 {
16809         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncoding, ett_h245_RedundancyEncoding, RedundancyEncoding_sequence);
16810
16811         return offset;
16812 }
16813
16814
16815
16816
16817 static per_sequence_t H2250LogicalChannelParameters_sequence[] = {
16818         { "nonStandard", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16819                 dissect_h245_nonStandardData_sequence_of },
16820         { "sessionID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16821                 dissect_h245_sessionID_0_255 },
16822         { "associatedSessionID", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16823                 dissect_h245_associatedSessionID },
16824         { "mediaChannel", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16825                 dissect_h245_mediaChannel },
16826         { "mediaGuaranteedDelivery", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16827                 dissect_h245_mediaGuaranteedDelivery },
16828         { "mediaControlChannel", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16829                 dissect_h245_mediaControlChannel },
16830         { "mediaControlGuaranteedDelivery", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16831                 dissect_h245_mediaControlGuaranteedDelivery },
16832         { "silenceSuppression", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16833                 dissect_h245_silenceSuppression },
16834         { "destination", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16835                 dissect_h245_TerminalLabel },
16836         { "dynamicRTPPayloadType", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16837                 dissect_h245_dynamicRTPPayloadType },
16838         { "mediaPacketization", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16839                 dissect_h245_H2250LogicalChannelParameters_mediaPacketization },
16840         { "transportCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
16841                 dissect_h245_TransportCapability },
16842         { "redundancyEncoding", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
16843                 dissect_h245_RedundancyEncoding },
16844         { "source", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
16845                 dissect_h245_TerminalLabel },
16846         { NULL, 0, 0, NULL }
16847 };
16848 static int
16849 dissect_h245_H2250LogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16850 {
16851         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250LogicalChannelParameters, ett_h245_H2250LogicalChannelParameters, H2250LogicalChannelParameters_sequence);
16852
16853         return offset;
16854 }
16855
16856
16857
16858
16859 static const value_string forwardLogicalChannelParameters_multiplexParameters_vals[] = {
16860         {  0, "h222LogicalChannelParameters" },
16861         {  1, "h223LogicalChannelParameters" },
16862         {  2, "v76LogicalChannelParameters" },
16863         {  3, "h2250LogicalChannelParameters" },
16864         {  4, "none" },
16865         {  0, NULL }
16866 };
16867 static per_choice_t forwardLogicalChannelParameters_multiplexParameters_choice[] = {
16868         {  0, "h222LogicalChannelParameters", ASN1_EXTENSION_ROOT,
16869                 dissect_h245_H222LogicalChannelParameters },
16870         {  1, "h223LogicalChannelParameters", ASN1_EXTENSION_ROOT,
16871                 dissect_h245_H223LogicalChannelParameters },
16872         {  2, "v76LogicalChannelParameters", ASN1_EXTENSION_ROOT,
16873                 dissect_h245_V76LogicalChannelParameters },
16874         {  3, "h2250LogicalChannelParameters", ASN1_NOT_EXTENSION_ROOT,
16875                 dissect_h245_H2250LogicalChannelParameters },
16876         {  4, "none", ASN1_NOT_EXTENSION_ROOT,
16877                 dissect_h245_NULL },
16878         {  0, NULL, 0, NULL }
16879 };
16880 static int
16881 dissect_h245_forwardLogicalChannelParameters_multiplexParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16882 {
16883         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_forwardLogicalChannelParameters_multiplexParameters, ett_h245_forwardLogicalChannelParameters_multiplexParameters, forwardLogicalChannelParameters_multiplexParameters_choice, "multiplexParameters", NULL);
16884
16885         return offset;
16886 }
16887
16888
16889
16890
16891
16892 static per_sequence_t MultiplePayloadStreamElement_sequence[] = {
16893         { "dataType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16894                 dissect_h245_DataType },
16895         { "payloadType", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16896                 dissect_h245_payloadType },
16897         { NULL, 0, 0, NULL }
16898 };
16899 static int
16900 dissect_h245_MultiplePayloadStreamElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16901 {
16902         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplePayloadStreamElement, ett_h245_MultiplePayloadStreamElement, MultiplePayloadStreamElement_sequence);
16903
16904         return offset;
16905 }
16906
16907
16908
16909 static const value_string reverseLogicalChannelParameters_multiplexParameters_vals[] = {
16910         {  0, "h223LogicalChannelParameters" },
16911         {  1, "v76LogicalChannelParameters" },
16912         {  2, "h2250LogicalChannelParameters" },
16913         {  0, NULL }
16914 };
16915 static per_choice_t reverseLogicalChannelParameters_multiplexParameters_choice[] = {
16916         {  0, "h223LogicalChannelParameters", ASN1_EXTENSION_ROOT,
16917                 dissect_h245_H223LogicalChannelParameters },
16918         {  1, "v76LogicalChannelParameters", ASN1_EXTENSION_ROOT,
16919                 dissect_h245_V76LogicalChannelParameters },
16920         {  2, "h2250LogicalChannelParameters", ASN1_NOT_EXTENSION_ROOT,
16921                 dissect_h245_H2250LogicalChannelParameters },
16922         {  0, NULL, 0, NULL }
16923 };
16924 static int
16925 dissect_h245_reverseLogicalChannelParameters_multiplexParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16926 {
16927         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_reverseLogicalChannelParameters_multiplexParameters, ett_h245_reverseLogicalChannelParameters_multiplexParameters, reverseLogicalChannelParameters_multiplexParameters_choice, "multiplexParameters", NULL);
16928
16929         return offset;
16930 }
16931
16932
16933
16934
16935 static const value_string OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_vals[] = {
16936         {  0, "h222LogicalChannelParameters" },
16937         {  1, "h2250LogicalChannelParameters" },
16938         {  0, NULL }
16939 };
16940 static per_choice_t OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_choice[] = {
16941         {  0, "h222LogicalChannelParameters", ASN1_EXTENSION_ROOT,
16942                 dissect_h245_H222LogicalChannelParameters },
16943         {  1, "h2250LogicalChannelParameters", ASN1_NOT_EXTENSION_ROOT,
16944                 dissect_h245_H2250LogicalChannelParameters },
16945         {  0, NULL, 0, NULL }
16946 };
16947 static int
16948 dissect_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16949 {
16950         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters, ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters, OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_choice, "multiplexParameters", NULL);
16951
16952         return offset;
16953 }
16954
16955
16956
16957
16958
16959 static per_sequence_t forwardLogicalChannelParameters_sequence[] = {
16960         { "portNumber", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16961                 dissect_h245_portNumber },
16962         { "dataType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16963                 dissect_h245_DataType },
16964         { "multiplexParameters", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16965                 dissect_h245_forwardLogicalChannelParameters_multiplexParameters },
16966         { "forwardLogicalChannelDependency", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
16967                 dissect_h245_LogicalChannelNumber },
16968         { "replacementFor", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
16969                 dissect_h245_LogicalChannelNumber },
16970         { NULL, 0, 0, NULL }
16971 };
16972 static int
16973 dissect_h245_forwardLogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16974 {
16975         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_forwardLogicalChannelParameters, ett_h245_forwardLogicalChannelParameters, forwardLogicalChannelParameters_sequence);
16976
16977         return offset;
16978 }
16979
16980
16981
16982
16983 static per_sequence_t reverseLogicalChannelParameters_sequence[] = {
16984         { "dataType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
16985                 dissect_h245_DataType },
16986         { "multiplexParameters", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
16987                 dissect_h245_reverseLogicalChannelParameters_multiplexParameters },
16988         { "reverseLogicalChannelDependency", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
16989                 dissect_h245_LogicalChannelNumber },
16990         { "replacementFor", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
16991                 dissect_h245_LogicalChannelNumber },
16992         { NULL, 0, 0, NULL }
16993 };
16994 static int
16995 dissect_h245_reverseLogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16996 {
16997         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_reverseLogicalChannelParameters, ett_h245_reverseLogicalChannelParameters, reverseLogicalChannelParameters_sequence);
16998
16999         return offset;
17000 }
17001
17002
17003
17004
17005
17006 static per_sequence_t OpenLogicalChannelAck_reverseLogicalChannelParameters_sequence[] = {
17007         { "reverseLogicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17008                 dissect_h245_LogicalChannelNumber },
17009         { "portNumber", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
17010                 dissect_h245_portNumber },
17011         { "multiplexParameters", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
17012                 dissect_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters },
17013         { "replacementFor", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
17014                 dissect_h245_LogicalChannelNumber },
17015         { NULL, 0, 0, NULL }
17016 };
17017 static int
17018 dissect_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17019 {
17020         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters, ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters, OpenLogicalChannelAck_reverseLogicalChannelParameters_sequence);
17021
17022         return offset;
17023 }
17024
17025
17026
17027
17028 static int
17029 dissect_h245_VCCapability_set_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17030 {
17031         offset=dissect_per_set_of(tvb, offset, pinfo, tree, hf_h245_VCCapability_set_of, ett_h245_VCCapability_set_of, dissect_h245_VCCapability);
17032         return offset;
17033 }
17034
17035
17036
17037
17038 static per_sequence_t H222Capability_sequence[] = {
17039         { "numberOfVCs", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17040                 dissect_h245_numberOfVCs },
17041         { "vcCapability", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17042                 dissect_h245_VCCapability_set_of },
17043         { NULL, 0, 0, NULL }
17044 };
17045 static int
17046 dissect_h245_H222Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17047 {
17048         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H222Capability, ett_h245_H222Capability, H222Capability_sequence);
17049
17050         return offset;
17051 }
17052
17053
17054
17055
17056 static const value_string MultiplexFormat_vals[] = {
17057         {  0, "nonStandard" },
17058         {  1, "h222Capability" },
17059         {  2, "h223Capability" },
17060         {  0, NULL }
17061 };
17062 static per_choice_t MultiplexFormat_choice[] = {
17063         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
17064                 dissect_h245_NonStandardParameter },
17065         {  1, "h222Capability", ASN1_EXTENSION_ROOT,
17066                 dissect_h245_H222Capability },
17067         {  2, "h223Capability", ASN1_EXTENSION_ROOT,
17068                 dissect_h245_H223Capability },
17069         {  0, NULL, 0, NULL }
17070 };
17071 static int
17072 dissect_h245_MultiplexFormat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17073 {
17074         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultiplexFormat, ett_h245_MultiplexFormat, MultiplexFormat_choice, "MultiplexFormat", NULL);
17075
17076         return offset;
17077 }
17078
17079
17080
17081
17082 static per_sequence_t MultiplexedStreamCapability_sequence[] = {
17083         { "multiplexFormat", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17084                 dissect_h245_MultiplexFormat },
17085         { "controlOnMuxStream", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17086                 dissect_h245_controlOnMuxStream },
17087         { "capabilityOnMuxStream", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
17088                 dissect_h245_capabilityOnMuxStream },
17089         { NULL, 0, 0, NULL }
17090 };
17091 static int
17092 dissect_h245_MultiplexedStreamCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17093 {
17094         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexedStreamCapability, ett_h245_MultiplexedStreamCapability, MultiplexedStreamCapability_sequence);
17095
17096         return offset;
17097 }
17098
17099
17100
17101
17102
17103 static const value_string Capability_vals[] = {
17104         {  0, "nonStandard" },
17105         {  1, "receiveVideoCapability" },
17106         {  2, "transmitVideoCapability" },
17107         {  3, "receiveAndTransmitVideoCapability" },
17108         {  4, "receiveAudioCapability" },
17109         {  5, "transmitAudioCapability" },
17110         {  6, "receiveAndTransmitAudioCapability" },
17111         {  7, "receiveDataApplicationCapability" },
17112         {  8, "transmitDataApplicationCapability" },
17113         {  9, "receiveAndTransmitDataApplicationCapability" },
17114         { 10, "h233EncryptionTransmitCapability" },
17115         { 11, "h233EncryptionReceiveCapability" },
17116         { 12, "conferenceCapability" },
17117         { 13, "h235SecurityCapability" },
17118         { 14, "maxPendingReplacementFor" },
17119         { 15, "receiveUserInputCapability" },
17120         { 16, "transmitUserInputCapability" },
17121         { 17, "receiveAndTransmitUserInputCapability" },
17122         { 18, "genericControlCapability" },
17123         { 19, "receiveMultiplexedStreamCapability" },
17124         { 20, "transmitMultiplexedStreamCapability" },
17125         { 21, "receiveAndTransmitMultiplexedStreamCapability" },
17126         { 22, "receiveRTPAudioTelephonyEventCapability" },
17127         { 23, "receiveRTPAudioToneCapability" },
17128         { 24, "fecCapability" },
17129         { 25, "multiplePayloadStreamCapability" },
17130         {  0, NULL }
17131 };
17132 static per_choice_t Capability_choice[] = {
17133         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
17134                 dissect_h245_NonStandardParameter },
17135         {  1, "receiveVideoCapability", ASN1_EXTENSION_ROOT,
17136                 dissect_h245_VideoCapability },
17137         {  2, "transmitVideoCapability", ASN1_EXTENSION_ROOT,
17138                 dissect_h245_VideoCapability },
17139         {  3, "receiveAndTransmitVideoCapability", ASN1_EXTENSION_ROOT,
17140                 dissect_h245_VideoCapability },
17141         {  4, "receiveAudioCapability", ASN1_EXTENSION_ROOT,
17142                 dissect_h245_AudioCapability },
17143         {  5, "transmitAudioCapability", ASN1_EXTENSION_ROOT,
17144                 dissect_h245_AudioCapability },
17145         {  6, "receiveAndTransmitAudioCapability", ASN1_EXTENSION_ROOT,
17146                 dissect_h245_AudioCapability },
17147         {  7, "receiveDataApplicationCapability", ASN1_EXTENSION_ROOT,
17148                 dissect_h245_DataApplicationCapability },
17149         {  8, "transmitDataApplicationCapability", ASN1_EXTENSION_ROOT,
17150                 dissect_h245_DataApplicationCapability },
17151         {  9, "receiveAndTransmitDataApplicationCapability", ASN1_EXTENSION_ROOT,
17152                 dissect_h245_DataApplicationCapability },
17153         { 10, "h233EncryptionTransmitCapability", ASN1_EXTENSION_ROOT,
17154                 dissect_h245_h233EncryptionTransmitCapability },
17155         { 11, "h233EncryptionReceiveCapability", ASN1_EXTENSION_ROOT,
17156                 dissect_h245_Capability_h233EncryptionReceiveCapability },
17157         { 12, "conferenceCapability", ASN1_NOT_EXTENSION_ROOT,
17158                 dissect_h245_ConferenceCapability },
17159         { 13, "h235SecurityCapability" , ASN1_NOT_EXTENSION_ROOT,
17160                 dissect_h245_H235SecurityCapability },
17161         { 14, "maxPendingReplacementFor", ASN1_NOT_EXTENSION_ROOT,
17162                 dissect_h245_maxPendingReplacementFor },
17163         { 15, "receiveUserInputCapability", ASN1_NOT_EXTENSION_ROOT,
17164                 dissect_h245_UserInputCapability },
17165         { 16, "transmitUserInputCapability", ASN1_NOT_EXTENSION_ROOT,
17166                 dissect_h245_UserInputCapability },
17167         { 17, "receiveAndTransmitUserInputCapability", ASN1_NOT_EXTENSION_ROOT,
17168                 dissect_h245_UserInputCapability },
17169         { 18, "genericControlCapability", ASN1_NOT_EXTENSION_ROOT,
17170                 dissect_h245_GenericCapability },
17171         { 19, "receiveMultiplexedStreamCapability", ASN1_NOT_EXTENSION_ROOT,
17172                 dissect_h245_MultiplexedStreamCapability },
17173         { 20, "transmitMultiplexedStreamCapability", ASN1_NOT_EXTENSION_ROOT,
17174                 dissect_h245_MultiplexedStreamCapability },
17175         { 21, "receiveAndTransmitMultiplexedStreamCapability", ASN1_NOT_EXTENSION_ROOT,
17176                 dissect_h245_MultiplexedStreamCapability },
17177         { 22, "receiveRTPAudioTelephonyEventCapability", ASN1_NOT_EXTENSION_ROOT,
17178                 dissect_h245_AudioTelephonyEventCapability },
17179         { 23, "receiveRTPAudioToneCapability", ASN1_NOT_EXTENSION_ROOT,
17180                 dissect_h245_AudioToneCapability },
17181         { 24, "fecCapability", ASN1_NOT_EXTENSION_ROOT,
17182                 dissect_h245_FECCapability },
17183         { 25, "multiplePayloadStreamCapability", ASN1_NOT_EXTENSION_ROOT,
17184                 dissect_h245_MultiplePayloadStreamCapability },
17185         {  0, NULL, 0, NULL }
17186 };
17187 static int
17188 dissect_h245_Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17189 {
17190         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_Capability, ett_h245_Capability, Capability_choice, "Capability", NULL);
17191
17192         return offset;
17193 }
17194
17195
17196
17197 static per_sequence_t CapabilityTableEntry_sequence[] = {
17198         { "capabilityTableEntryNumber", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
17199                 dissect_h245_CapabilityTableEntryNumber },
17200         { "capability", ASN1_NO_EXTENSIONS, ASN1_OPTIONAL,
17201                 dissect_h245_Capability },
17202         { NULL, 0, 0, NULL }
17203 };
17204 static int
17205 dissect_h245_CapabilityTableEntry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17206 {
17207         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CapabilityTableEntry, ett_h245_CapabilityTableEntry, CapabilityTableEntry_sequence);
17208
17209         return offset;
17210 }
17211
17212
17213
17214
17215 static per_sequence_t MultiplexedStreamParameter_sequence[] = {
17216         { "multiplexFormat", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17217                 dissect_h245_MultiplexFormat },
17218         { "controlOnMuxStream", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17219                 dissect_h245_controlOnMuxStream },
17220         { NULL, 0, 0, NULL }
17221 };
17222 static int
17223 dissect_h245_MultiplexedStreamParameter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17224 {
17225         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexedStreamParameter, ett_h245_MultiplexedStreamParameter, MultiplexedStreamParameter_sequence);
17226
17227         return offset;
17228 }
17229
17230
17231
17232
17233
17234 static const value_string DataType_vals[] = {
17235         {  0, "nonStandard" },
17236         {  1, "nullData" },
17237         {  2, "videoData" },
17238         {  3, "audioData" },
17239         {  4, "data" },
17240         {  5, "encryptionData" },
17241         {  6, "h235Control" },
17242         {  7, "h235Media" },
17243         {  8, "multiplexedStream" },
17244         {  9, "redundancyEncoding" },
17245         { 10, "multiplePayloadStream" },
17246         { 11, "fec" },
17247         {  0, NULL }
17248 };
17249 static per_choice_t DataType_choice[] = {
17250         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
17251                 dissect_h245_NonStandardParameter },
17252         {  1, "nullData", ASN1_EXTENSION_ROOT,
17253                 dissect_h245_NULL },
17254         {  2, "videoData", ASN1_EXTENSION_ROOT,
17255                 dissect_h245_VideoCapability },
17256         {  3, "audioData", ASN1_EXTENSION_ROOT,
17257                 dissect_h245_AudioCapability },
17258         {  4, "data", ASN1_EXTENSION_ROOT,
17259                 dissect_h245_DataApplicationCapability },
17260         {  5, "encryptionData", ASN1_EXTENSION_ROOT,
17261                 dissect_h245_EncryptionMode },
17262         {  6, "h235Control", ASN1_NOT_EXTENSION_ROOT,
17263                 dissect_h245_NonStandardParameter },
17264         {  7, "h235Media", ASN1_NOT_EXTENSION_ROOT,
17265                 dissect_h245_H235Media },
17266         {  8, "multiplexedStream", ASN1_NOT_EXTENSION_ROOT,
17267                 dissect_h245_MultiplexedStreamParameter },
17268         {  9, "redundancyEncoding", ASN1_NOT_EXTENSION_ROOT,
17269                 dissect_h245_RedundancyEncoding },
17270         { 10, "multiplePayloadStream", ASN1_NOT_EXTENSION_ROOT,
17271                 dissect_h245_MultiplePayloadStream },
17272         { 11, "fec", ASN1_NOT_EXTENSION_ROOT,
17273                 dissect_h245_FECData },
17274         {  0, NULL, 0, NULL }
17275 };
17276 static int
17277 dissect_h245_DataType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17278 {
17279         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DataType, ett_h245_DataType, DataType_choice, "DataType", NULL);
17280
17281         return offset;
17282 }
17283
17284
17285
17286
17287 static int dissect_h245_VBDMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
17288 static const value_string AudioMode_vals[] = {
17289         {  0, "nonStandard" },
17290         {  1, "g711Alaw64k" },
17291         {  2, "g711Alaw56k" },
17292         {  3, "g711Ulaw64k" },
17293         {  4, "g711Ulaw56k" },
17294         {  5, "g722-64k" },
17295         {  6, "g722-56k" },
17296         {  7, "g722-48k" },
17297         {  8, "g728" },
17298         {  9, "g729" },
17299         { 10, "g729AnnexA" },
17300         { 11, "g7231" },
17301         { 12, "is11172AudioMode" },
17302         { 13, "is13818AudioMode" },
17303         { 14, "g729wAnnexB" },
17304         { 15, "g729AnnexAwAnnexB" },
17305         { 16, "g7231AnnexCMode" },
17306         { 17, "gsmFullRate" },
17307         { 18, "gsmHalfRate" },
17308         { 19, "gsmEnhancedFullRate" },
17309         { 20, "genericAudioMode" },
17310         { 21, "g729Extensions" },
17311         { 22, "vbd" },
17312         {  0, NULL }
17313 };
17314 static per_choice_t AudioMode_choice[] = {
17315         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
17316                 dissect_h245_NonStandardParameter },
17317         {  1, "g711Alaw64k", ASN1_EXTENSION_ROOT,
17318                 dissect_h245_NULL },
17319         {  2, "g711Alaw56k", ASN1_EXTENSION_ROOT,
17320                 dissect_h245_NULL },
17321         {  3, "g711Ulaw64k", ASN1_EXTENSION_ROOT,
17322                 dissect_h245_NULL },
17323         {  4, "g711Ulaw56k", ASN1_EXTENSION_ROOT,
17324                 dissect_h245_NULL },
17325         {  5, "g722-64k", ASN1_EXTENSION_ROOT,
17326                 dissect_h245_NULL },
17327         {  6, "g722-56k", ASN1_EXTENSION_ROOT,
17328                 dissect_h245_NULL },
17329         {  7, "g722-48k", ASN1_EXTENSION_ROOT,
17330                 dissect_h245_NULL },
17331         {  8, "g728", ASN1_EXTENSION_ROOT,
17332                 dissect_h245_NULL },
17333         {  9, "g729", ASN1_EXTENSION_ROOT,
17334                 dissect_h245_NULL },
17335         { 10, "g729AnnexA", ASN1_EXTENSION_ROOT,
17336                 dissect_h245_NULL },
17337         { 11, "g7231", ASN1_EXTENSION_ROOT,
17338                 dissect_h245_AudioMode_g7231 },
17339         { 12, "is11172AudioMode", ASN1_EXTENSION_ROOT,
17340                 dissect_h245_IS11172AudioMode },
17341         { 13, "is13818AudioMode", ASN1_EXTENSION_ROOT,
17342                 dissect_h245_IS13818AudioMode },
17343         { 14, "g729wAnnexB", ASN1_NOT_EXTENSION_ROOT,
17344                 dissect_h245_g729wAnnexB },
17345         { 15, "g729AnnexAwAnnexB", ASN1_NOT_EXTENSION_ROOT,
17346                 dissect_h245_g729AnnexAwAnnexB },
17347         { 16, "g7231AnnexCMode", ASN1_NOT_EXTENSION_ROOT,
17348                 dissect_h245_G7231AnnexCMode },
17349         { 17, "gsmFullRate", ASN1_NOT_EXTENSION_ROOT,
17350                 dissect_h245_GSMAudioCapability },
17351         { 18, "gsmHalfRate", ASN1_NOT_EXTENSION_ROOT,
17352                 dissect_h245_GSMAudioCapability },
17353         { 19, "gsmEnhancedFullRate", ASN1_NOT_EXTENSION_ROOT,
17354                 dissect_h245_GSMAudioCapability },
17355         { 20, "genericAudioMode", ASN1_NOT_EXTENSION_ROOT,
17356                 dissect_h245_GenericCapability },
17357         { 21, "g729Extensions", ASN1_NOT_EXTENSION_ROOT,
17358                 dissect_h245_G729Extensions },
17359         { 22, "vbd", ASN1_NOT_EXTENSION_ROOT,
17360                 dissect_h245_VBDMode },
17361         {  0, NULL, 0, NULL }
17362 };
17363 static int
17364 dissect_h245_AudioMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17365 {
17366         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_AudioMode, ett_h245_AudioMode, AudioMode_choice, "AudioMode", NULL);
17367
17368         return offset;
17369 }
17370
17371
17372
17373
17374 static const value_string RedundancyEncodingMode_secondaryEncoding_vals[] = {
17375         {  0, "nonStandard" },
17376         {  1, "audioData" },
17377         {  0, NULL }
17378 };
17379 static per_choice_t RedundancyEncodingMode_secondaryEncoding_choice[] = {
17380         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
17381                 dissect_h245_NonStandardParameter },
17382         {  1, "audioData", ASN1_EXTENSION_ROOT,
17383                 dissect_h245_AudioMode },
17384         {  0, NULL, 0, NULL }
17385 };
17386 static int
17387 dissect_h245_RedundancyEncodingMode_secondaryEncoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17388 {
17389         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingMode_secondaryEncoding, ett_h245_RedundancyEncodingMode_secondaryEncoding, RedundancyEncodingMode_secondaryEncoding_choice, "secondaryEncoding", NULL);
17390
17391         return offset;
17392 }
17393
17394
17395
17396 static per_sequence_t RedundancyEncodingMode_sequence[] = {
17397         { "redundancyEncodingMethod", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17398                 dissect_h245_RedundancyEncodingMethod },
17399         { "secondaryEncoding", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
17400                 dissect_h245_RedundancyEncodingMode_secondaryEncoding },
17401         { NULL, 0, 0, NULL }
17402 };
17403 static int
17404 dissect_h245_RedundancyEncodingMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17405 {
17406         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingMode, ett_h245_RedundancyEncodingMode, RedundancyEncodingMode_sequence);
17407
17408         return offset;
17409 }
17410
17411
17412
17413 static per_sequence_t H2250ModeParameters_sequence[] = {
17414         { "redundancyEncodingMode", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
17415                 dissect_h245_RedundancyEncodingMode },
17416         { NULL, 0, 0, NULL }
17417 };
17418 static int
17419 dissect_h245_H2250ModeParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17420 {
17421         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250ModeParameters, ett_h245_H2250ModeParameters, H2250ModeParameters_sequence);
17422
17423         return offset;
17424 }
17425
17426
17427
17428
17429
17430 static per_sequence_t VBDMode_sequence[] = {
17431         { "type", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17432                 dissect_h245_AudioMode },
17433         { NULL, 0, 0, NULL }
17434 };
17435 static int
17436 dissect_h245_VBDMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17437 {
17438         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VBDMode, ett_h245_VBDMode, VBDMode_sequence);
17439
17440         return offset;
17441 }
17442
17443
17444
17445 static const value_string MultiplexCapability_vals[] = {
17446         {  0, "nonStandard" },
17447         {  1, "h222Capability" },
17448         {  2, "h223Capability" },
17449         {  3, "v76Capability" },
17450         {  4, "h2250Capability" },
17451         {  5, "genericMultiplexCapability" },
17452         {  0, NULL }
17453 };
17454 static per_choice_t MultiplexCapability_choice[] = {
17455         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
17456                 dissect_h245_NonStandardParameter },
17457         {  1, "h222Capability", ASN1_EXTENSION_ROOT,
17458                 dissect_h245_H222Capability },
17459         {  2, "h223Capability", ASN1_EXTENSION_ROOT,
17460                 dissect_h245_H223Capability },
17461         {  3, "v76Capability", ASN1_EXTENSION_ROOT,
17462                 dissect_h245_V76Capability },
17463         {  4, "h2250Capability", ASN1_NOT_EXTENSION_ROOT,
17464                 dissect_h245_H2250Capability },
17465         {  5, "genericMultiplexCapability", ASN1_NOT_EXTENSION_ROOT,
17466                 dissect_h245_GenericCapability },
17467         {  0, NULL, 0, NULL }
17468 };
17469 static int
17470 dissect_h245_MultiplexCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17471 {
17472         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultiplexCapability, ett_h245_MultiplexCapability, MultiplexCapability_choice, "MultiplexCapability", NULL);
17473
17474         return offset;
17475 }
17476
17477
17478
17479
17480
17481 static per_sequence_t TerminalCapabilitySet_sequence[] = {
17482         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17483                 dissect_h245_SequenceNumber },
17484         { "protocolIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17485                 dissect_h245_protocolIdentifier },
17486         { "multiplexCapability", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
17487                 dissect_h245_MultiplexCapability },
17488         { "capabilityTable", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
17489                 dissect_h245_capabilityTable },
17490         { "capabilityDescriptors", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
17491                 dissect_h245_capabilityDescriptors },
17492         { NULL, 0, 0, NULL }
17493 };
17494 static int
17495 dissect_h245_TerminalCapabilitySet(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17496 {
17497         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySet, ett_h245_TerminalCapabilitySet, TerminalCapabilitySet_sequence);
17498
17499         return offset;
17500 }
17501
17502
17503
17504
17505
17506
17507 static per_sequence_t ConferenceResponse_terminalIDResponse_sequence[] = {
17508         { "terminalLabel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17509                 dissect_h245_TerminalLabel },
17510         { "terminalID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17511                 dissect_h245_TerminalID },
17512         { NULL, 0, 0, NULL }
17513 };
17514 static int
17515 dissect_h245_ConferenceResponse_terminalIDResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17516 {
17517         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_terminalIDResponse, ett_h245_ConferenceResponse_terminalIDResponse, ConferenceResponse_terminalIDResponse_sequence);
17518
17519         return offset;
17520 }
17521
17522
17523
17524
17525
17526 static const value_string ConferenceResponse_vals[] = {
17527         {  0, "mCTerminalIDResponse" },
17528         {  1, "terminalIDResponse" },
17529         {  2, "conferenceIDResponse" },
17530         {  3, "passwordResponse" },
17531         {  4, "terminalListResponse" },
17532         {  5, "videoCommandReject" },
17533         {  6, "terminalDropReject" },
17534         {  7, "makeMeChairResponse" },
17535         {  8, "extensionAddressResponse" },
17536         {  9, "chairTokenOwnerResponse" },
17537         { 10, "terminalCertificateResponse" },
17538         { 11, "broadcastMyLogicalChannelResponse" },
17539         { 12, "makeTerminalBroadcasterResponse" },
17540         { 13, "sendThisSourceResponse" },
17541         { 14, "requestAllTerminalIDsResponse" },
17542         { 15, "remoteMCResponse" },
17543         {  0, NULL }
17544 };
17545 static per_choice_t ConferenceResponse_choice[] = {
17546         {  0, "mCTerminalIDResponse", ASN1_EXTENSION_ROOT,
17547                 dissect_h245_ConferenceResponse_mCterminalIDResponse },
17548         {  1, "terminalIDResponse", ASN1_EXTENSION_ROOT,
17549                 dissect_h245_ConferenceResponse_terminalIDResponse },
17550         {  2, "conferenceIDResponse", ASN1_EXTENSION_ROOT,
17551                 dissect_h245_ConferenceResponse_conferenceIDResponse },
17552         {  3, "passwordResponse", ASN1_EXTENSION_ROOT,
17553                 dissect_h245_ConferenceResponse_passwordResponse },
17554         {  4, "terminalListResponse", ASN1_EXTENSION_ROOT,
17555                 dissect_h245_terminalListResponse },
17556         {  5, "videoCommandReject", ASN1_EXTENSION_ROOT,
17557                 dissect_h245_NULL },
17558         {  6, "terminalDropReject", ASN1_EXTENSION_ROOT,
17559                 dissect_h245_NULL },
17560         {  7, "makeMeChairResponse", ASN1_EXTENSION_ROOT,
17561                 dissect_h245_ConferenceResponse_makeMeChairResponse },
17562         {  8, "extensionAddressResponse", ASN1_NOT_EXTENSION_ROOT,
17563                 dissect_h245_ConferenceResponse_extensionAddressResponse },
17564         {  9, "chairTokenOwnerResponse", ASN1_NOT_EXTENSION_ROOT,
17565                 dissect_h245_ConferenceResponse_chairTokenOwnerResponse },
17566         { 10, "terminalCertificateResponse", ASN1_NOT_EXTENSION_ROOT,
17567                 dissect_h245_ConferenceResponse_terminalCertificateResponse },
17568         { 11, "broadcastMyLogicalChannelResponse", ASN1_NOT_EXTENSION_ROOT,
17569                 dissect_h245_ConferenceResponse_broadcastMyLogicalChannelResponse },
17570         { 12, "makeTerminalBroadcasterResponse", ASN1_NOT_EXTENSION_ROOT,
17571                 dissect_h245_ConferenceResponse_makeTerminalBroadcasterResponse },
17572         { 13, "sendThisSourceResponse", ASN1_NOT_EXTENSION_ROOT,
17573                 dissect_h245_ConferenceResponse_sendThisSourceResponse },
17574         { 14, "requestAllTerminalIDsResponse", ASN1_NOT_EXTENSION_ROOT,
17575                 dissect_h245_RequestAllTerminalIDsResponse },
17576         { 15, "remoteMCResponse", ASN1_NOT_EXTENSION_ROOT,
17577                 dissect_h245_RemoteMCResponse },
17578         {  0, NULL, 0, NULL }
17579 };
17580 static int
17581 dissect_h245_ConferenceResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17582 {
17583         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse, ett_h245_ConferenceResponse, ConferenceResponse_choice, "ConferenceResponse", NULL);
17584
17585         return offset;
17586 }
17587
17588
17589
17590
17591
17592 static const value_string H261VideoMode_resolution_vals[] = {
17593         {  0, "qcif" },
17594         {  1, "cif" },
17595         {  0, NULL }
17596 };
17597 static per_choice_t H261VideoMode_resolution_choice[] = {
17598         {  0, "qcif", ASN1_NO_EXTENSIONS,
17599                 dissect_h245_NULL },
17600         {  1, "cif", ASN1_NO_EXTENSIONS,
17601                 dissect_h245_NULL },
17602         {  0, NULL, 0, NULL }
17603 };
17604 static int
17605 dissect_h245_H261VideoMode_resolution(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17606 {
17607         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H261VideoMode_resolution, ett_h245_H261VideoMode_resolution, H261VideoMode_resolution_choice, "resolution", NULL);
17608
17609         return offset;
17610 }
17611
17612
17613
17614
17615 static per_sequence_t H261VideoMode_sequence[] = {
17616         { "resolution", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17617                 dissect_h245_H261VideoMode_resolution },
17618         { "bitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17619                 dissect_h245_h223bitRate },
17620         { "stillImageTransmission", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17621                 dissect_h245_stillImageTransmission },
17622         { NULL, 0, 0, NULL }
17623 };
17624 static int
17625 dissect_h245_H261VideoMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17626 {
17627         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H261VideoMode, ett_h245_H261VideoMode, H261VideoMode_sequence);
17628
17629         return offset;
17630 }
17631
17632
17633
17634
17635 static const value_string VideoMode_vals[] = {
17636         {  0, "nonStandard" },
17637         {  1, "h261VideoMode" },
17638         {  2, "h262VideoMode" },
17639         {  3, "h263VideoMode" },
17640         {  4, "is11172VideoMode" },
17641         {  5, "genericVideoMode" },
17642         {  0, NULL }
17643 };
17644 static per_choice_t VideoMode_choice[] = {
17645         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
17646                 dissect_h245_NonStandardParameter },
17647         {  1, "h261VideoMode", ASN1_EXTENSION_ROOT,
17648                 dissect_h245_H261VideoMode },
17649         {  2, "h262VideoMode", ASN1_EXTENSION_ROOT,
17650                 dissect_h245_H262VideoMode },
17651         {  3, "h263VideoMode", ASN1_EXTENSION_ROOT,
17652                 dissect_h245_H263VideoMode },
17653         {  4, "is11172VideoMode", ASN1_EXTENSION_ROOT,
17654                 dissect_h245_IS11172VideoMode},
17655         {  5, "genericVideoMode", ASN1_NOT_EXTENSION_ROOT,
17656                 dissect_h245_GenericCapability },
17657         {  0, NULL, 0, NULL }
17658 };
17659 static int
17660 dissect_h245_VideoMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17661 {
17662         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_VideoMode, ett_h245_VideoMode, VideoMode_choice, "VideoMode", NULL);
17663
17664         return offset;
17665 }
17666
17667
17668
17669
17670 static const value_string H235Mode_mediaMode_vals[] = {
17671         {  0, "nonStandard" },
17672         {  1, "videoMode" },
17673         {  2, "audioMode" },
17674         {  3, "dataMode" },
17675         {  0, NULL }
17676 };
17677 static per_choice_t H235Mode_mediaMode_choice[] = {
17678         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
17679                 dissect_h245_NonStandardParameter },
17680         {  1, "videoMode", ASN1_EXTENSION_ROOT,
17681                 dissect_h245_VideoMode },
17682         {  2, "audioMode", ASN1_EXTENSION_ROOT,
17683                 dissect_h245_AudioMode },
17684         {  3, "dataMode", ASN1_EXTENSION_ROOT,
17685                 dissect_h245_DataMode },
17686         {  0, NULL, 0, NULL }
17687 };
17688 static int
17689 dissect_h245_H235Mode_mediaMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17690 {
17691         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H235Mode_mediaMode, ett_h245_H235Mode_mediaMode, H235Mode_mediaMode_choice, "mediaMode", NULL);
17692
17693         return offset;
17694 }
17695
17696
17697
17698
17699 static per_sequence_t H235Mode_sequence[] = {
17700         { "encryptionAuthenticationAndIntegrity", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17701                 dissect_h245_EncryptionAuthenticationAndIntegrity },
17702         { "mediaMode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17703                 dissect_h245_H235Mode_mediaMode },
17704         { NULL, 0, 0, NULL }
17705 };
17706 static int
17707 dissect_h245_H235Mode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17708 {
17709         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H235Mode, ett_h245_H235Mode, H235Mode_sequence);
17710
17711         return offset;
17712 }
17713
17714
17715
17716
17717
17718 static const value_string RedundancyEncodingDTModeElement_type_vals[] = {
17719         {  0, "nonStandard" },
17720         {  1, "videoMode" },
17721         {  2, "audioMode" },
17722         {  3, "dataMode" },
17723         {  4, "encryptionMode" },
17724         {  5, "h235Mode" },
17725         {  0, NULL }
17726 };
17727 static per_choice_t RedundancyEncodingDTModeElement_type_choice[] = {
17728         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
17729                 dissect_h245_NonStandardParameter },
17730         {  1, "videoMode", ASN1_EXTENSION_ROOT,
17731                 dissect_h245_VideoMode },
17732         {  2, "audioMode", ASN1_EXTENSION_ROOT,
17733                 dissect_h245_AudioMode },
17734         {  3, "dataMode", ASN1_EXTENSION_ROOT,
17735                 dissect_h245_DataMode },
17736         {  4, "encryptionMode", ASN1_EXTENSION_ROOT,
17737                 dissect_h245_EncryptionMode },
17738         {  5, "h235Mode", ASN1_EXTENSION_ROOT,
17739                 dissect_h245_H235Mode },
17740         {  0, NULL, 0, NULL }
17741 };
17742 static int
17743 dissect_h245_RedundancyEncodingDTModeElement_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17744 {
17745         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingDTModeElement_type, ett_h245_RedundancyEncodingDTModeElement_type, RedundancyEncodingDTModeElement_type_choice, "type", NULL);
17746
17747         return offset;
17748 }
17749
17750
17751
17752
17753 static per_sequence_t RedundancyEncodingDTModeElement_sequence[] = {
17754         { "type", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17755                 dissect_h245_RedundancyEncodingDTModeElement_type },
17756         { NULL, 0, 0, NULL }
17757 };
17758 static int
17759 dissect_h245_RedundancyEncodingDTModeElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17760 {
17761         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingDTModeElement, ett_h245_RedundancyEncodingDTModeElement, RedundancyEncodingDTModeElement_sequence);
17762
17763         return offset;
17764 }
17765
17766
17767
17768
17769
17770 static per_sequence_t RedundancyEncodingDTMode_sequence[] = {
17771         { "redundancyEncodingMethod", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17772                 dissect_h245_RedundancyEncodingMethod },
17773         { "primary", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17774                 dissect_h245_RedundancyEncodingDTModeElement },
17775         { "secondary", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17776                 dissect_h245_secondary_REDTME_sequence_of },
17777         { NULL, 0, 0, NULL }
17778 };
17779 static int
17780 dissect_h245_RedundancyEncodingDTMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17781 {
17782         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingDTMode, ett_h245_RedundancyEncodingDTMode, RedundancyEncodingDTMode_sequence);
17783
17784         return offset;
17785 }
17786
17787
17788
17789
17790 static int dissect_h245_FECMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
17791 static const value_string ModeElementType_vals[] = {
17792         {  0, "nonStandard" },
17793         {  1, "videoMode" },
17794         {  2, "audioMode" },
17795         {  3, "dataMode" },
17796         {  4, "encryptionMode" },
17797         {  5, "h235Mode" },
17798         {  6, "multiplexedStreamMode" },
17799         {  7, "redundancyEncodingDTMode" },
17800         {  8, "multiplePayloadStreamMode" },
17801         {  9, "fecMode" },
17802         {  0, NULL }
17803 };
17804 static per_choice_t ModeElementType_choice[] = {
17805         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
17806                 dissect_h245_NonStandardParameter },
17807         {  1, "videoMode", ASN1_EXTENSION_ROOT,
17808                 dissect_h245_VideoMode },
17809         {  2, "audioMode", ASN1_EXTENSION_ROOT,
17810                 dissect_h245_AudioMode },
17811         {  3, "dataMode", ASN1_EXTENSION_ROOT,
17812                 dissect_h245_DataMode },
17813         {  4, "encryptionMode", ASN1_EXTENSION_ROOT,
17814                 dissect_h245_EncryptionMode },
17815         {  5, "h235Mode", ASN1_NOT_EXTENSION_ROOT,
17816                 dissect_h245_H235Mode },
17817         {  6, "multiplexedStreamMode", ASN1_NOT_EXTENSION_ROOT,
17818                 dissect_h245_MultiplexedStreamParameter },
17819         {  7, "redundancyEncodingDTMode", ASN1_NOT_EXTENSION_ROOT,
17820                 dissect_h245_RedundancyEncodingDTMode },
17821         {  8, "multiplePayloadStreamMode", ASN1_NOT_EXTENSION_ROOT,
17822                 dissect_h245_MultiplePayloadStreamMode },
17823         {  9, "fecMode", ASN1_NOT_EXTENSION_ROOT,
17824                 dissect_h245_FECMode },
17825         {  0, NULL, 0, NULL }
17826 };
17827 static int
17828 dissect_h245_ModeElementType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17829 {
17830         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ModeElementType, ett_h245_ModeElementType, ModeElementType_choice, "ModeElementType", NULL);
17831
17832         return offset;
17833 }
17834
17835
17836
17837
17838 static per_sequence_t MultiplePayloadStreamElementMode_sequence[] = {
17839         { "type", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17840                 dissect_h245_ModeElementType },
17841         { NULL, 0, 0, NULL }
17842 };
17843 static int
17844 dissect_h245_MultiplePayloadStreamElementMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17845 {
17846         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplePayloadStreamElementMode, ett_h245_MultiplePayloadStreamElementMode, MultiplePayloadStreamElementMode_sequence);
17847
17848         return offset;
17849 }
17850
17851
17852
17853
17854
17855 static per_sequence_t FECMode_rfc2733Mode_mode_separateStream_samePort_sequence[] = {
17856         { "protectedType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17857                 dissect_h245_ModeElementType },
17858         { NULL, 0, 0, NULL }
17859 };
17860 static int
17861 dissect_h245_FECMode_rfc2733Mode_mode_separateStream_samePort(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17862 {
17863         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);
17864
17865         return offset;
17866 }
17867
17868
17869
17870 static const value_string FECMode_rfc2733Mode_mode_separateStream_vals[] = {
17871         {  0, "differentPort" },
17872         {  1, "samePort" },
17873         {  0, NULL }
17874 };
17875 static per_choice_t FECMode_rfc2733Mode_mode_separateStream_choice[] = {
17876         {  0, "differentPort", ASN1_EXTENSION_ROOT,
17877                 dissect_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort },
17878         {  1, "samePort", ASN1_EXTENSION_ROOT,
17879                 dissect_h245_FECMode_rfc2733Mode_mode_separateStream_samePort },
17880         {  0, NULL, 0, NULL }
17881 };
17882 static int
17883 dissect_h245_FECMode_rfc2733Mode_mode_separateStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17884 {
17885         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);
17886
17887         return offset;
17888 }
17889
17890
17891
17892
17893
17894 static const value_string FECMode_rfc2733Mode_mode_vals[] = {
17895         {  0, "redundancyEncoding" },
17896         {  1, "separateStream" },
17897         {  0, NULL }
17898 };
17899 static per_choice_t FECMode_rfc2733Mode_mode_choice[] = {
17900         {  0, "redundancyEncoding", ASN1_EXTENSION_ROOT,
17901                 dissect_h245_NULL },
17902         {  1, "separateStream", ASN1_EXTENSION_ROOT,
17903                 dissect_h245_FECMode_rfc2733Mode_mode_separateStream },
17904         {  0, NULL, 0, NULL }
17905 };
17906 static int
17907 dissect_h245_FECMode_rfc2733Mode_mode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17908 {
17909         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FECMode_rfc2733Mode_mode, ett_h245_FECMode_rfc2733Mode_mode, FECMode_rfc2733Mode_mode_choice, "mode", NULL);
17910
17911         return offset;
17912 }
17913
17914
17915
17916 static per_sequence_t FECMode_rfc2733Mode_sequence[] = {
17917         { "mode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
17918                 dissect_h245_FECMode_rfc2733Mode_mode },
17919         { NULL, 0, 0, NULL }
17920 };
17921 static int
17922 dissect_h245_FECMode_rfc2733Mode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17923 {
17924         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FECMode_rfc2733Mode, ett_h245_FECMode_rfc2733Mode, FECMode_rfc2733Mode_sequence);
17925
17926         return offset;
17927 }
17928
17929
17930
17931
17932 static const value_string FECMode_vals[] = {
17933         {  0, "rfc2733Mode" },
17934         {  0, NULL }
17935 };
17936 static per_choice_t FECMode_choice[] = {
17937         {  0, "rfc2733Mode", ASN1_EXTENSION_ROOT,
17938                 dissect_h245_FECMode_rfc2733Mode },
17939         {  0, NULL, 0, NULL }
17940 };
17941 static int
17942 dissect_h245_FECMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17943 {
17944         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FECMode, ett_h245_FECMode, FECMode_choice, "FECMode", NULL);
17945
17946         return offset;
17947 }
17948
17949
17950
17951
17952 static int dissect_h245_RequestMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
17953 static int dissect_h245_ResponseMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
17954 static int dissect_h245_CommandMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
17955 static const value_string FunctionNotUnderstood_vals[] = {
17956         {  0, "request" },
17957         {  1, "response" },
17958         {  2, "command" },
17959         {  0, NULL }
17960 };
17961 static per_choice_t FunctionNotUnderstood_choice[] = {
17962         {  0, "request", ASN1_NO_EXTENSIONS,
17963                 dissect_h245_RequestMessage },
17964         {  1, "response", ASN1_NO_EXTENSIONS,
17965                 dissect_h245_ResponseMessage },
17966         {  2, "command", ASN1_NO_EXTENSIONS,
17967                 dissect_h245_CommandMessage },
17968         {  0, NULL, 0, NULL }
17969 };
17970 static int
17971 dissect_h245_FunctionNotUnderstood(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17972 {
17973         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FunctionNotUnderstood, ett_h245_FunctionNotUnderstood, FunctionNotUnderstood_choice, "FunctionNotUnderstood", NULL);
17974
17975         return offset;
17976 }
17977
17978
17979
17980 static int
17981 dissect_h245_signalType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17982 {
17983         /* XXX this is just wrong.
17984          * the definition in the ASN.1 file is :
17985          *   signalType IA5String (SIZE (1) ^ FROM ("0123456789#*ABCD!"))
17986          * which means the 17 characters are encoded as 8-bit values 
17987          * between 0x00 and 0x10
17988          *
17989          * however, captures from real world applications show that
17990          * the field is encoded instead as :
17991          *   signalType IA5String (SIZE (1))
17992          * ie a single character ascii value from 0x00 to 0xff.
17993          *
17994          * the code is changed under protest.
17995          * i still think it is the one commented out that is the correct one
17996          */
17997          /*offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h245_signalType, 1, 1, "!#*0123456789ABCD", 17);*/
17998
17999          offset=dissect_per_IA5String(tvb, offset, pinfo, tree, hf_h245_signalType, 1, 1);
18000
18001
18002         return offset;
18003 }
18004
18005
18006
18007
18008
18009
18010
18011 static per_sequence_t UserInputIndication_signal_sequence[] = {
18012         { "signalType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18013                 dissect_h245_signalType },
18014         { "duration", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18015                 dissect_h245_duration },
18016         { "rtp", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18017                 dissect_h245_UserInputIndication_signal_rtp },
18018         { "rtpPayloadIndication", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18019                 dissect_h245_NULL },
18020         { NULL, 0, 0, NULL }
18021 };
18022 static int
18023 dissect_h245_UserInputIndication_signal(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18024 {
18025         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_signal, ett_h245_UserInputIndication_signal, UserInputIndication_signal_sequence);
18026
18027         return offset;
18028 }
18029
18030
18031
18032
18033 static const value_string UserInputIndication_vals[] = {
18034         {  0, "nonStandard" },
18035         {  1, "alphanumeric" },
18036         {  2, "userInputSupportIndication" },
18037         {  3, "signal" },
18038         {  4, "signalUpdate" },
18039         {  5, "extendedAlphanumeric" },
18040         {  0, NULL }
18041 };
18042 static per_choice_t UserInputIndication_choice[] = {
18043         {  0, "nonStandard", ASN1_EXTENSION_ROOT,
18044                 dissect_h245_NonStandardParameter },
18045         {  1, "alphanumeric", ASN1_EXTENSION_ROOT,
18046                 dissect_h245_alphanumeric },
18047         {  2, "userInputSupportIndication", ASN1_NOT_EXTENSION_ROOT,
18048                 dissect_h245_UserInputIndication_userInputSupportIndication },
18049         {  3, "signal", ASN1_NOT_EXTENSION_ROOT,
18050                 dissect_h245_UserInputIndication_signal },
18051         {  4, "signalUpdate", ASN1_NOT_EXTENSION_ROOT,
18052                 dissect_h245_UserInputIndication_signalUpdate },
18053         {  5, "extendedAlphanumeric", ASN1_NOT_EXTENSION_ROOT,
18054                 dissect_h245_UserInputIndication_extendedAlphanumeric },
18055         {  0, NULL, 0, NULL }
18056 };
18057 static int
18058 dissect_h245_UserInputIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18059 {
18060         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_UserInputIndication, ett_h245_UserInputIndication, UserInputIndication_choice, "UserInputIndication", NULL);
18061
18062         return offset;
18063 }
18064
18065
18066
18067
18068
18069 static per_sequence_t TerminalCapabilitySetRelease_sequence[] = {
18070         { NULL, ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, NULL }
18071 };
18072 static int
18073 dissect_h245_TerminalCapabilitySetRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18074 {
18075         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySetRelease, ett_h245_TerminalCapabilitySetRelease, TerminalCapabilitySetRelease_sequence);
18076
18077         return offset;
18078 }
18079
18080
18081
18082 static int
18083 dissect_h245_internationalNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18084 {
18085         offset=dissect_per_NumericString(tvb, offset, pinfo, tree, hf_h245_internationalNumber, 1, 16);
18086         return offset;
18087 }
18088
18089
18090
18091
18092
18093 static const value_string Q2931Address_address_vals[] = {
18094         {  0, "internationalNumber" },
18095         {  1, "nsapAddress" },
18096         {  0, NULL }
18097 };
18098 static per_choice_t Q2931Address_address_choice[] = {
18099         {  0, "internationalNumber", ASN1_EXTENSION_ROOT,
18100                 dissect_h245_internationalNumber },
18101         {  1, "nsapAddress", ASN1_EXTENSION_ROOT,
18102                 dissect_h245_nsapAddress},
18103         {  0, NULL, 0, NULL }
18104 };
18105 static int
18106 dissect_h245_Q2931Address_address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18107 {
18108         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_Q2931Address_address, ett_h245_Q2931Address_address, Q2931Address_address_choice, "address", NULL);
18109
18110         return offset;
18111 }
18112
18113
18114
18115
18116
18117 static per_sequence_t Q2931Address_sequence[] = {
18118         { "address", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18119                 dissect_h245_Q2931Address_address },
18120         { "subaddress", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18121                 dissect_h245_subaddress_1_20 },
18122         { NULL, 0, 0, NULL }
18123 };
18124 static int
18125 dissect_h245_Q2931Address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18126 {
18127         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_Q2931Address, ett_h245_Q2931Address, Q2931Address_sequence);
18128
18129         return offset;
18130 }
18131
18132
18133
18134
18135 static int
18136 dissect_h245_e164Address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18137 {
18138         offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h245_e164Address, 1, 128, "#*,0123456789", 13);
18139
18140         return offset;
18141 }
18142
18143
18144
18145
18146 static const value_string NetworkAccessParameters_networkAddress_vals[] = {
18147         {  0, "q2931Address" },
18148         {  1, "e164Address" },
18149         {  2, "localAreaAddress" },
18150         {  0, NULL }
18151 };
18152 static per_choice_t NetworkAccessParameters_networkAddress_choice[] = {
18153         {  0, "q2931Address", ASN1_EXTENSION_ROOT,
18154                 dissect_h245_Q2931Address },
18155         {  1, "e164Address", ASN1_EXTENSION_ROOT,
18156                 dissect_h245_e164Address },
18157         {  2, "localAreaAddress", ASN1_EXTENSION_ROOT,
18158                 dissect_h245_localAreaAddress },
18159         {  0, NULL, 0, NULL }
18160 };
18161 static int
18162 dissect_h245_NetworkAccessParameters_networkAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18163 {
18164         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NetworkAccessParameters_networkAddress, ett_h245_NetworkAccessParameters_networkAddress, NetworkAccessParameters_networkAddress_choice, "networkAddress", NULL);
18165
18166         return offset;
18167 }
18168
18169
18170
18171
18172
18173 static per_sequence_t NetworkAccessParameters_sequence[] = {
18174         { "distribution", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18175                 dissect_h245_NetworkAccessParameters_distribution },
18176         { "networkAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18177                 dissect_h245_NetworkAccessParameters_networkAddress },
18178         { "associateConference", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18179                 dissect_h245_associateConference},
18180         { "externalReference", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18181                 dissect_h245_externalReference },
18182         { "t120SetupProcedure", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18183                 dissect_h245_NetworkAccessParameters_t120SetupProcedure },
18184         { NULL, 0, 0, NULL }
18185 };
18186 static int
18187 dissect_h245_NetworkAccessParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18188 {
18189         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NetworkAccessParameters, ett_h245_NetworkAccessParameters, NetworkAccessParameters_sequence);
18190
18191         return offset;
18192 }
18193
18194
18195
18196
18197
18198 static per_sequence_t OpenLogicalChannel_sequence[] = {
18199         { "forwardLogicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18200                 dissect_h245_LogicalChannelNumber },
18201         { "forwardLogicalChannelParameters", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18202                 dissect_h245_forwardLogicalChannelParameters },
18203         { "reverseLogicalChannelParameters", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18204                 dissect_h245_reverseLogicalChannelParameters },
18205         { "separateStack", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18206                 dissect_h245_NetworkAccessParameters },
18207         { "encryptionSync", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18208                 dissect_h245_EncryptionSync },
18209         { NULL, 0, 0, NULL }
18210 };
18211 int
18212 dissect_h245_OpenLogicalChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18213 {
18214         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannel, ett_h245_OpenLogicalChannel, OpenLogicalChannel_sequence);
18215
18216         return offset;
18217 }
18218
18219
18220
18221
18222 static per_sequence_t OpenLogicalChannelAck_sequence[] = {
18223         { "forwardLogicalChannelNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18224                 dissect_h245_LogicalChannelNumber },
18225         { "reverseLogicalChannelParameters", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18226                 dissect_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters },
18227         { "separateStack", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18228                 dissect_h245_NetworkAccessParameters },
18229         { "forwardMultiplexAckParameters", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18230                 dissect_h245_forwardMultiplexAckParameters},
18231         { "encryptionSync", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18232                 dissect_h245_EncryptionSync},
18233         { NULL, 0, 0, NULL }
18234 };
18235 static int
18236 dissect_h245_OpenLogicalChannelAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18237 {
18238         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelAck, ett_h245_OpenLogicalChannelAck, OpenLogicalChannelAck_sequence);
18239
18240         return offset;
18241 }
18242
18243
18244
18245
18246 static int
18247 dissect_h245_escrowValue(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18248 {
18249 NOT_DECODED_YET("escrowValue");
18250         return offset;
18251 }
18252
18253
18254
18255
18256
18257 static per_sequence_t EscrowData_sequence[] = {
18258         { "escrowID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18259                 dissect_h245_escrowID },
18260         { "escrowValue", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18261                 dissect_h245_escrowValue },
18262         { NULL, 0, 0, NULL }
18263 };
18264 static int
18265 dissect_h245_EscrowData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18266 {
18267         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EscrowData, ett_h245_EscrowData, EscrowData_sequence);
18268
18269         return offset;
18270 }
18271
18272
18273
18274
18275
18276
18277
18278
18279
18280 static const value_string RequestModeAck_response_decision_vals[] = {
18281         {  0, "willTransmitMostPreferredMode" },
18282         {  1, "willTransmitLessPreferredMode" },
18283         {  0, NULL }
18284 };
18285 static per_choice_t RequestModeAck_response_decision_choice[] = {
18286         {  0, "willTransmitMostPreferredMode", ASN1_EXTENSION_ROOT,
18287                 dissect_h245_NULL },
18288         {  1, "willTransmitLessPreferredMode", ASN1_EXTENSION_ROOT,
18289                 dissect_h245_NULL },
18290         {  0, NULL, 0, NULL }
18291 };
18292 static int
18293 dissect_h245_RequestModeAck_response_decision(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18294 {
18295         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestModeAck_response_decision, ett_h245_RequestModeAck_response_decision, RequestModeAck_response_decision_choice, "decision", NULL);
18296
18297         return offset;
18298 }
18299
18300
18301
18302
18303
18304 static per_sequence_t RequestModeAck_sequence[] = {
18305         { "sequenceNumber", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18306                 dissect_h245_SequenceNumber },
18307         { "response", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18308                 dissect_h245_RequestModeAck_response_decision },
18309         { NULL, 0, 0, NULL }
18310 };
18311 static int
18312 dissect_h245_RequestModeAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18313 {
18314         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestModeAck, ett_h245_RequestModeAck, RequestModeAck_sequence);
18315
18316         return offset;
18317 }
18318
18319
18320
18321
18322 static per_sequence_t RequestModeRelease_sequence[] = {
18323         { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
18324 };
18325 static int
18326 dissect_h245_RequestModeRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18327 {
18328         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestModeRelease, ett_h245_RequestModeRelease, RequestModeRelease_sequence);
18329
18330         return offset;
18331 }
18332
18333
18334
18335 static per_sequence_t MaintenanceLoopOffCommand_sequence[] = {
18336         { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
18337 };
18338 static int
18339 dissect_h245_MaintenanceLoopOffCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18340 {
18341         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopOffCommand, ett_h245_MaintenanceLoopOffCommand, MaintenanceLoopOffCommand_sequence);
18342
18343         return offset;
18344 }
18345
18346
18347
18348
18349 static per_sequence_t CommunicationModeRequest_sequence[] = {
18350         { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
18351 };
18352 static int
18353 dissect_h245_CommunicationModeRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18354 {
18355         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CommunicationModeRequest, ett_h245_CommunicationModeRequest, CommunicationModeRequest_sequence);
18356
18357         return offset;
18358 }
18359
18360
18361
18362
18363 static const value_string IndicationMessage_short_vals[] = {
18364         {  0,   "NSM" },
18365         {  1,   "FNU" },
18366         {  2,   "MSDRelease" },
18367         {  3,   "TCSRelease" },
18368         {  4,   "OLCConfirm" },
18369         {  5,   "RCCRelease" },
18370         {  6,   "MESRelease" },
18371         {  7,   "RMERelease" },
18372         {  8,   "RMRelease" },
18373         {  9,   "MI" },
18374         { 10,   "JI" },
18375         { 11,   "H223SI" },
18376         { 12,   "NATMVCI" },
18377         { 13,   "UII" },
18378         { 14,   "H2250MSI" },
18379         { 15,   "MCLI" },
18380         { 16,   "CI" },
18381         { 17,   "VI" },
18382         { 18,   "FNS" },
18383         { 19,   "MultilinkIndication" },
18384         { 20,   "LCRRelease" },
18385         { 21,   "FCIndication" },
18386         { 22,   "MMRI" },
18387         {  0, NULL }
18388 };
18389
18390
18391 static const value_string IndicationMessage_vals[] = {
18392         {  0,   "NonStandardMessage" },
18393         {  1,   "FunctionNotUnderstood" },
18394         {  2,   "MasterSlaveDeterminationRelease" },
18395         {  3,   "TerminalCapabilitySetRelease" },
18396         {  4,   "OpenLogicalChannelConfirm" },
18397         {  5,   "RequestChannelCloseRelease" },
18398         {  6,   "MultiplexEntrySendRelease" },
18399         {  7,   "RequestMultiplexEntryRelease" },
18400         {  8,   "RequestModeRelease" },
18401         {  9,   "MiscellaneousIndication" },
18402         { 10,   "JitterIndication" },
18403         { 11,   "H223SkewIndication" },
18404         { 12,   "NewATMVCIndication" },
18405         { 13,   "UserInputIndication" },
18406         { 14,   "H2250MaximumSkewIndication" },
18407         { 15,   "MCLocationIndication" },
18408         { 16,   "ConferenceIndication" },
18409         { 17,   "VendorIdentification" },
18410         { 18,   "FunctionNotSupported" },
18411         { 19,   "MultilinkIndication" },
18412         { 20,   "LogicalChannelRateRelease" },
18413         { 21,   "FlowControlIndication" },
18414         { 22,   "MobileMultilinkReconfigurationIndication" },
18415         {  0, NULL }
18416 };
18417 static per_choice_t IndicationMessage_choice[] = {
18418         {  0,   "NonStandardMessage",                   ASN1_EXTENSION_ROOT,
18419                         dissect_h245_NonStandardMessage },
18420         {  1,   "FunctionNotUnderstood",                ASN1_EXTENSION_ROOT,
18421                         dissect_h245_FunctionNotUnderstood },
18422         {  2,   "MasterSlaveDeterminationRelease",      ASN1_EXTENSION_ROOT,
18423                         dissect_h245_MasterSlaveDeterminationRelease },
18424         {  3,   "TerminalCapabilitySetRelease",         ASN1_EXTENSION_ROOT,
18425                         dissect_h245_TerminalCapabilitySetRelease },
18426         {  4,   "OpenLogicalChannelConfirm",            ASN1_EXTENSION_ROOT,
18427                         dissect_h245_OpenLogicalChannelConfirm },
18428         {  5,   "RequestChannelCloseRelease",           ASN1_EXTENSION_ROOT,
18429                         dissect_h245_RequestChannelCloseRelease },
18430         {  6,   "MultiplexEntrySendRelease",            ASN1_EXTENSION_ROOT,
18431                         dissect_h245_MultiplexEntrySendRelease },
18432         {  7,   "RequestMultiplexEntryRelease",         ASN1_EXTENSION_ROOT,
18433                         dissect_h245_RequestMultiplexEntryRelease },
18434         {  8,   "RequestModeRelease",                   ASN1_EXTENSION_ROOT,
18435                         dissect_h245_RequestModeRelease },
18436         {  9,   "MiscellaneousIndication",              ASN1_EXTENSION_ROOT,
18437                         dissect_h245_MiscellaneousIndication },
18438         { 10,   "JitterIndication",                     ASN1_EXTENSION_ROOT,
18439                         dissect_h245_JitterIndication },
18440         { 11,   "H223SkewIndication",                   ASN1_EXTENSION_ROOT,
18441                         dissect_h245_H223SkewIndication },
18442         { 12,   "NewATMVCIndication",                   ASN1_EXTENSION_ROOT,
18443                         dissect_h245_NewATMVCIndication },
18444         { 13,   "UserInputIndication",                  ASN1_EXTENSION_ROOT,
18445                         dissect_h245_UserInputIndication },
18446         { 14,   "H2250MaximumSkewIndication",           ASN1_NOT_EXTENSION_ROOT,
18447                         dissect_h245_H2250MaximumSkewIndication },
18448         { 15,   "MCLocationIndication",                 ASN1_NOT_EXTENSION_ROOT,
18449                         dissect_h245_MCLocationIndication },
18450         { 16,   "ConferenceIndication",                 ASN1_NOT_EXTENSION_ROOT,
18451                 dissect_h245_ConferenceIndication },
18452         { 17,   "VendorIdentification",                 ASN1_NOT_EXTENSION_ROOT,
18453                 dissect_h245_VendorIdentification },
18454         { 18,   "FunctionNotSupported",                 ASN1_NOT_EXTENSION_ROOT,
18455                 dissect_h245_FunctionNotSupported },
18456         { 19,   "MultilinkIndication",                  ASN1_NOT_EXTENSION_ROOT,
18457                 dissect_h245_MultilinkIndication },
18458         { 20,   "LogicalChannelRateRelease",            ASN1_NOT_EXTENSION_ROOT,
18459                 dissect_h245_LogicalChannelRateRelease },
18460         { 21,   "FlowControlIndication",                ASN1_NOT_EXTENSION_ROOT,
18461                 dissect_h245_FlowControlIndication },
18462         { 22,   "MobileMultilinkReconfigurationIndication",ASN1_NOT_EXTENSION_ROOT,
18463                 dissect_h245_MobileMultilinkReconfigurationIndication },
18464         {  0, NULL, 0, NULL }
18465 };
18466 static int
18467 dissect_h245_IndicationMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18468 {
18469         guint32 value;
18470
18471         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IndicationMessage_type, ett_h245_IndicationMessage, IndicationMessage_choice, "IndicationMessage", &value);
18472
18473         if (check_col(pinfo->cinfo, COL_INFO)){
18474                 if ( h245_shorttypes == TRUE )
18475                 {
18476                         col_append_fstr(pinfo->cinfo, COL_INFO, "%s ",
18477                                 val_to_str(value, IndicationMessage_short_vals, "<unknown>"));
18478                 }
18479                 else
18480                 {
18481                         col_append_fstr(pinfo->cinfo, COL_INFO, "%s ",
18482                                 val_to_str(value, IndicationMessage_vals, "<unknown>"));
18483                 }
18484         }
18485
18486         col_set_fence(pinfo->cinfo,COL_INFO);
18487
18488         return offset;
18489 }
18490
18491
18492
18493 static const value_string RequestMessage_short_vals[] = {
18494         {  0,   "NSM" },
18495         {  1,   "MSD" },
18496         {  2,   "TCS" },
18497         {  3,   "OLC" },
18498         {  4,   "CLC" },
18499         {  5,   "RCC" },
18500         {  6,   "MES" },
18501         {  7,   "RME" },
18502         {  8,   "RM" },
18503         {  9,   "RTDR" },
18504         { 10,   "MLR" },
18505         { 11,   "CMR" },
18506         { 12,   "CR" },
18507         { 13,   "MR" },
18508         { 14,   "LCRR" },
18509         {  0, NULL }
18510 };
18511
18512
18513 static const value_string RequestMessage_vals[] = {
18514         {  0,   "NonStandardMessage" },
18515         {  1,   "MasterSlaveDetermination" },
18516         {  2,   "TerminalCapabilitySet" },
18517         {  3,   "OpenLogicalChannel" },
18518         {  4,   "CloseLogicalChannel" },
18519         {  5,   "RequestChannelClose" },
18520         {  6,   "MultiplexEntrySend" },
18521         {  7,   "RequestMultiplexEntry" },
18522         {  8,   "RequestMode" },
18523         {  9,   "RoundTripDelayRequest" },
18524         { 10,   "MaintenanceLoopRequest" },
18525         { 11,   "CommunicationModeRequest" },
18526         { 12,   "ConferenceRequest" },
18527         { 13,   "MultilinkRequest" },
18528         { 14,   "LogicalChannelRateRequest" },
18529         {  0, NULL }
18530 };
18531 static per_choice_t RequestMessage_choice[] = {
18532         {  0,   "NonStandardMessage",           ASN1_EXTENSION_ROOT,
18533                         dissect_h245_NonStandardMessage },
18534         {  1,   "MasterSlaveDetermination",     ASN1_EXTENSION_ROOT,
18535                         dissect_h245_MasterSlaveDetermination },
18536         {  2,   "TerminalCapabilitySet",        ASN1_EXTENSION_ROOT,
18537                         dissect_h245_TerminalCapabilitySet },
18538         {  3,   "OpenLogicalChannel",           ASN1_EXTENSION_ROOT,
18539                         dissect_h245_OpenLogicalChannel },
18540         {  4,   "CloseLogicalChannel",          ASN1_EXTENSION_ROOT,
18541                         dissect_h245_CloseLogicalChannel },
18542         {  5,   "RequestChannelClose",          ASN1_EXTENSION_ROOT,
18543                         dissect_h245_RequestChannelClose },
18544         {  6,   "MultiplexEntrySend",           ASN1_EXTENSION_ROOT,
18545                         dissect_h245_MultiplexEntrySend },
18546         {  7,   "RequestMultiplexEntry",        ASN1_EXTENSION_ROOT,
18547                         dissect_h245_RequestMultiplexEntry },
18548         {  8,   "RequestMode",                  ASN1_EXTENSION_ROOT,
18549                         dissect_h245_RequestMode },
18550         {  9,   "RoundTripDelayRequest",        ASN1_EXTENSION_ROOT,
18551                         dissect_h245_RoundTripDelayRequest },
18552         { 10,   "MaintenanceLoopRequest",       ASN1_EXTENSION_ROOT,
18553                         dissect_h245_MaintenanceLoopRequest },
18554         { 11,   "CommunicationModeRequest",     ASN1_NOT_EXTENSION_ROOT,
18555                         dissect_h245_CommunicationModeRequest },
18556         { 12,   "ConferenceRequest",            ASN1_NOT_EXTENSION_ROOT,
18557                         dissect_h245_ConferenceRequest },
18558         { 13,   "MultilinkRequest",             ASN1_NOT_EXTENSION_ROOT,
18559                         dissect_h245_MultilinkRequest },
18560         { 14,   "LogicalChannelRateRequest",    ASN1_NOT_EXTENSION_ROOT,
18561                         dissect_h245_LogicalChannelRateRequest },
18562         {  0, NULL, 0, NULL }
18563 };
18564 static int
18565 dissect_h245_RequestMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18566 {
18567         guint32 value;
18568
18569         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestMessage_type, ett_h245_RequestMessage, RequestMessage_choice, "RequestMessage", &value);
18570
18571         if (check_col(pinfo->cinfo, COL_INFO)){
18572                 if ( h245_shorttypes == TRUE )
18573                 {
18574                         col_append_fstr(pinfo->cinfo, COL_INFO, "%s ",
18575                                 val_to_str(value, RequestMessage_short_vals, "<unknown>"));
18576                 }
18577                 else
18578                 {
18579                         col_append_fstr(pinfo->cinfo, COL_INFO, "%s ",
18580                                 val_to_str(value, RequestMessage_vals, "<unknown>"));
18581                 }
18582         }
18583
18584         if (( check_col(pinfo->cinfo, COL_INFO)) && ( codec_type != NULL ) && ( value == 3) ){
18585                 col_append_fstr(pinfo->cinfo, COL_INFO, "(%s) ", codec_type );
18586         }
18587
18588         col_set_fence(pinfo->cinfo,COL_INFO);
18589
18590         return offset;
18591 }
18592
18593
18594
18595
18596
18597 static int
18598 dissect_h245_centralizedData_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18599 {
18600         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_centralizedData, ett_h245_centralizedData, dissect_h245_DataApplicationCapability );
18601         return offset;
18602 }
18603
18604
18605
18606
18607 static int
18608 dissect_h245_distributedData_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18609 {
18610         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_distributedData, ett_h245_distributedData, dissect_h245_DataApplicationCapability );
18611         return offset;
18612 }
18613
18614
18615
18616 static per_sequence_t MediaDistributionCapability_sequence[] = {
18617         { "centralizedControl", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18618                 dissect_h245_centralizedControl },
18619         { "distributedControl", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18620                 dissect_h245_distributedControl },
18621         { "centralizedAudio", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18622                 dissect_h245_centralizedAudio },
18623         { "distributedAudio", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18624                 dissect_h245_distributedAudio },
18625         { "centralizedVideo", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18626                 dissect_h245_centralizedVideo },
18627         { "distributedVideo", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18628                 dissect_h245_distributedVideo },
18629         { "centralizedData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18630                 dissect_h245_centralizedData_sequence_of },
18631         { "distributedData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18632                 dissect_h245_distributedData_sequence_of },
18633         { NULL, 0, 0, NULL }
18634 };
18635 static int
18636 dissect_h245_MediaDistributionCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18637 {
18638         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MediaDistributionCapability, ett_h245_MediaDistributionCapability, MediaDistributionCapability_sequence);
18639
18640         return offset;
18641 }
18642
18643
18644 static int
18645 dissect_h245_mediaDistributionCapability_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18646 {
18647         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_mediaDistributionCapability, ett_h245_mediaDistributionCapability, dissect_h245_MediaDistributionCapability );
18648         return offset;
18649 }
18650
18651
18652
18653
18654
18655 static int
18656 dissect_h245_rtpPayloadType_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18657 {
18658         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 );
18659         return offset;
18660 }
18661
18662
18663
18664
18665
18666 static per_sequence_t H223ModeParameters_sequence[] = {
18667         { "adaptationLayerType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18668                 dissect_h245_H223ModeParameters_adaptationLayerType },
18669         { "segmentableFlag", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18670                 dissect_h245_segmentableFlag },
18671         { NULL, 0, 0, NULL }
18672 };
18673 static int
18674 dissect_h245_H223ModeParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18675 {
18676         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223ModeParameters, ett_h245_H223ModeParameters, H223ModeParameters_sequence);
18677
18678         return offset;
18679 }
18680
18681
18682
18683
18684
18685 static per_sequence_t ModeElement_sequence[] = {
18686         { "type", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18687                 dissect_h245_ModeElementType },
18688         { "h223ModeParameters", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18689                 dissect_h245_H223ModeParameters },
18690         { "v76ModeParameters", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18691                 dissect_h245_V76ModeParameters },
18692         { "h2250ModeParameters", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18693                 dissect_h245_H2250ModeParameters },
18694         { "genericModeParameters", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18695                 dissect_h245_GenericCapability },
18696         { "multiplexedStreamModeParameters", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18697                 dissect_h245_MultiplexedStreamModeParameters },
18698         { NULL, 0, 0, NULL }
18699 };
18700 static int
18701 dissect_h245_ModeElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18702 {
18703         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ModeElement, ett_h245_ModeElement, ModeElement_sequence);
18704
18705         return offset;
18706 }
18707
18708
18709
18710
18711
18712 static int
18713 dissect_h245_t38FaxMaxBuffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18714 {
18715         offset=dissect_per_integer(tvb, offset, pinfo, tree,
18716                 hf_h245_t38FaxMaxBuffer,
18717                 NULL, NULL);
18718
18719         return offset;
18720 }
18721
18722
18723
18724 static int
18725 dissect_h245_t38FaxMaxDatagram(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18726 {
18727         offset=dissect_per_integer(tvb, offset, pinfo, tree,
18728                 hf_h245_t38FaxMaxDatagram,
18729                 NULL, NULL);
18730
18731         return offset;
18732 }
18733
18734
18735
18736
18737
18738 static per_sequence_t T38FaxUdpOptions_sequence[] = {
18739         { "t38FaxMaxBuffer", ASN1_NO_EXTENSIONS, ASN1_OPTIONAL,
18740                 dissect_h245_t38FaxMaxBuffer },
18741         { "t38FaxMaxDatagram", ASN1_NO_EXTENSIONS, ASN1_OPTIONAL,
18742                 dissect_h245_t38FaxMaxDatagram },
18743         { "t38FaxUdpEC", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
18744                 dissect_h245_T38FaxUdpOptions_t38FaxUdpEC },
18745         { NULL, 0, 0, NULL }
18746 };
18747 static int
18748 dissect_h245_T38FaxUdpOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18749 {
18750         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_T38FaxUdpOptions, ett_h245_T38FaxUdpOptions, T38FaxUdpOptions_sequence);
18751
18752         return offset;
18753 }
18754
18755
18756
18757
18758
18759
18760 static int
18761 dissect_h245_sessionDescription(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18762 {
18763 NOT_DECODED_YET("sessionDescription");
18764         return offset;
18765 }
18766
18767
18768
18769 static per_sequence_t CommunicationModeTableEntry_sequence[] = {
18770         { "nonStandard", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18771                 dissect_h245_nonStandardData_sequence_of },
18772         { "sessionID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18773                 dissect_h245_sessionID_1_255 },
18774         { "associatedSessionID", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18775                 dissect_h245_associatedSessionID },
18776         { "terminalLabel", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18777                 dissect_h245_TerminalLabel },
18778         { "sessionDescription", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18779                 dissect_h245_sessionDescription },
18780         { "dataType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18781                 dissect_h245_CommunicationModeTableEntry_dataType },
18782         { "mediaChannel", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18783                 dissect_h245_mediaChannel },
18784         { "mediaGuaranteedDelivery", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18785                 dissect_h245_mediaGuaranteedDelivery },
18786         { "mediaControlChannel", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18787                 dissect_h245_mediaControlChannel },
18788         { "mediaControlGuaranteedDelivery", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
18789                 dissect_h245_mediaControlGuaranteedDelivery },
18790         { "redundancyEncoding", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18791                 dissect_h245_RedundancyEncoding },
18792         { "sessionDependency", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18793                 dissect_h245_sessionDependency },
18794         { "destination", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
18795                 dissect_h245_TerminalLabel },
18796         { NULL, 0, 0, NULL }
18797 };
18798 static int
18799 dissect_h245_CommunicationModeTableEntry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18800 {
18801         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CommunicationModeTableEntry, ett_h245_CommunicationModeTableEntry, CommunicationModeTableEntry_sequence);
18802
18803         return offset;
18804 }
18805
18806
18807
18808
18809 static per_sequence_t NewATMVCCommand_sequence[] = {
18810         { "resouceID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18811                 dissect_h245_resourceID },
18812         { "bitRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18813                 dissect_h245_ATM_BitRate },
18814         { "bitRateLockedToPCRClock", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18815                 dissect_h245_bitRateLockedToPCRClock },
18816         { "bitRateLockedToNetworkClock", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18817                 dissect_h245_bitRateLockedToNetworkClock },
18818         { "aal", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18819                 dissect_h245_NewATMVCCommand_aal },
18820         { "multiplex", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18821                 dissect_h245_NewATMVCCommand_multiplex },
18822         { "reverseParameters", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
18823                 dissect_h245_NewATMVCCommand_reverseParameters },
18824         { NULL, 0, 0, NULL }
18825 };
18826 static int
18827 dissect_h245_NewATMVCCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18828 {
18829         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand, ett_h245_NewATMVCCommand, NewATMVCCommand_sequence);
18830
18831         return offset;
18832 }
18833
18834 static const value_string CommandMessage_short_vals[] = {
18835         {  0,   "NSM" },
18836         {  1,   "MLOC" },
18837         {  2,   "STCS" },
18838         {  3,   "EC" },
18839         {  4,   "FCC" },
18840         {  5,   "ESC" },
18841         {  6,   "MC" },
18842         {  7,   "CMC" },
18843         {  8,   "CC" },
18844         {  9,   "H223MR" },
18845         { 10,   "NATMVCC" },
18846         { 11,   "MMRC" },
18847         {  0, NULL }
18848 };
18849
18850
18851
18852 static const value_string CommandMessage_vals[] = {
18853         {  0,   "NonStandardMessage" },
18854         {  1,   "MaintenanceLoopOffCommand" },
18855         {  2,   "SendTerminalCapabilitySet" },
18856         {  3,   "EncryptionCommand" },
18857         {  4,   "FlowControlCommand" },
18858         {  5,   "EndSessionCommand" },
18859         {  6,   "MiscellaneousCommand" },
18860         {  7,   "CommunicationModeCommand" },
18861         {  8,   "ConferenceCommand" },
18862         {  9,   "H223MultiplexReconfiguration" },
18863         { 10,   "NewATMVCCommand" },
18864         { 11,   "MobileMultilinkReconfigurationCommand" },
18865         {  0, NULL }
18866 };
18867 static per_choice_t CommandMessage_choice[] = {
18868         {  0,   "NonStandardMessage",           ASN1_EXTENSION_ROOT,
18869                         dissect_h245_NonStandardMessage },
18870         {  1,   "MaintenanceLoopOffCommand",    ASN1_EXTENSION_ROOT,
18871                         dissect_h245_MaintenanceLoopOffCommand },
18872         {  2,   "SendTerminalCapabilitySet",    ASN1_EXTENSION_ROOT,
18873                         dissect_h245_SendTerminalCapabilitySet },
18874         {  3,   "EncryptionCommand",            ASN1_EXTENSION_ROOT,
18875                         dissect_h245_EncryptionCommand },
18876         {  4,   "FlowControlCommand",           ASN1_EXTENSION_ROOT,
18877                         dissect_h245_FlowControlCommand },
18878         {  5,   "EndSessionCommand",            ASN1_EXTENSION_ROOT,
18879                         dissect_h245_EndSessionCommand },
18880         {  6,   "MiscellaneousCommand",         ASN1_EXTENSION_ROOT,
18881                         dissect_h245_MiscellaneousCommand },
18882         {  7,   "CommunicationModeCommand",     ASN1_NOT_EXTENSION_ROOT,
18883                         dissect_h245_CommunicationModeCommand },
18884         {  8,   "ConferenceCommand",            ASN1_NOT_EXTENSION_ROOT,
18885                         dissect_h245_ConferenceCommand },
18886         {  9,   "H223MultiplexReconfiguration", ASN1_NOT_EXTENSION_ROOT,
18887                         dissect_h245_H223MultiplexReconfiguration },
18888         { 10,   "NewATMVCCommand",              ASN1_NOT_EXTENSION_ROOT,
18889                         dissect_h245_NewATMVCCommand },
18890         { 11,   "MobileMultilinkReconfigurationCommand",ASN1_NOT_EXTENSION_ROOT,
18891                         dissect_h245_MobileMultilinkReconfigurationCommand },
18892         {  0, NULL, 0, NULL }
18893 };
18894 static int
18895 dissect_h245_CommandMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18896 {
18897         guint32 value;
18898
18899         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CommandMessage_type, ett_h245_CommandMessage, CommandMessage_choice, "CommandMessage", &value);
18900
18901         if (check_col(pinfo->cinfo, COL_INFO)){
18902                 if ( h245_shorttypes == TRUE )
18903                 {
18904                         col_append_fstr(pinfo->cinfo, COL_INFO, "%s ",
18905                                 val_to_str(value, CommandMessage_short_vals, "<unknown>"));
18906                 }
18907                 else
18908                 {
18909                         col_append_fstr(pinfo->cinfo, COL_INFO, "%s ",
18910                                 val_to_str(value, CommandMessage_vals, "<unknown>"));
18911                 }
18912         }
18913
18914         col_set_fence(pinfo->cinfo,COL_INFO);
18915
18916         return offset;
18917 }
18918
18919
18920
18921
18922 static const value_string ResponseMessage_short_vals[] = {
18923         {  0,   "NSM" },
18924         {  1,   "MSDAck" },
18925         {  2,   "MSDReject" },
18926         {  3,   "TCSAck" },
18927         {  4,   "TCSReject" },
18928         {  5,   "OLCAck" },
18929         {  6,   "OLCReject" },
18930         {  7,   "CLCAck" },
18931         {  8,   "RCCAck" },
18932         {  9,   "RCCReject" },
18933         { 10,   "MESAck" },
18934         { 11,   "MESReject" },
18935         { 12,   "RMEAck" },
18936         { 13,   "RMEReject" },
18937         { 14,   "RMAck" },
18938         { 15,   "RMReject" },
18939         { 16,   "RTDResponse" },
18940         { 17,   "MLAck" },
18941         { 18,   "MLReject" },
18942         { 19,   "CMResponse" },
18943         { 20,   "CResponse" },
18944         { 21,   "MResponse" },
18945         { 22,   "LCRAck" },
18946         { 23,   "LCRReject" },
18947         {  0, NULL }
18948 };
18949
18950
18951 static const value_string ResponseMessage_vals[] = {
18952         {  0,   "NonStandardMessage" },
18953         {  1,   "MasterSlaveDeterminationAck" },
18954         {  2,   "MasterSlaveDeterminationReject" },
18955         {  3,   "TerminalCapabilitySetAck" },
18956         {  4,   "TerminalCapabilitySetReject" },
18957         {  5,   "OpenLogicalChannelAck" },
18958         {  6,   "OpenLogicalChannelReject" },
18959         {  7,   "CloseLogicalChannelAck" },
18960         {  8,   "RequestChannelCloseAck" },
18961         {  9,   "RequestChannelCloseReject" },
18962         { 10,   "MultiplexEntrySendAck" },
18963         { 11,   "MultiplexEntrySendReject" },
18964         { 12,   "RequestMultiplexEntryAck" },
18965         { 13,   "RequestMultiplexEntryReject" },
18966         { 14,   "RequestModeAck" },
18967         { 15,   "RequestModeReject" },
18968         { 16,   "RoundTripDelayResponse" },
18969         { 17,   "MaintenanceLoopAck" },
18970         { 18,   "MaintenanceLoopReject" },
18971         { 19,   "CommunicationModeResponse" },
18972         { 20,   "ConferenceResponse" },
18973         { 21,   "MultilinkResponse" },
18974         { 22,   "LogicalChannelRateAck" },
18975         { 23,   "LogicalChannelRateReject" },
18976         {  0, NULL }
18977 };
18978 static per_choice_t ResponseMessage_choice[] = {
18979         {  0,   "NonStandardMessage",           ASN1_EXTENSION_ROOT,
18980                         dissect_h245_NonStandardMessage },
18981         {  1,   "MasterSlaveDeterminationAck",  ASN1_EXTENSION_ROOT,
18982                         dissect_h245_MasterSlaveDeterminationAck },
18983         {  2,   "MasterSlaveDeterminationReject",ASN1_EXTENSION_ROOT,
18984                         dissect_h245_MasterSlaveDeterminationReject },
18985         {  3,   "TerminalCapabilitySetAck",     ASN1_EXTENSION_ROOT,
18986                         dissect_h245_TerminalCapabilitySetAck },
18987         {  4,   "TerminalCapabilitySetReject",  ASN1_EXTENSION_ROOT,
18988                         dissect_h245_TerminalCapabilitySetReject },
18989         {  5,   "OpenLogicalChannelAck",        ASN1_EXTENSION_ROOT,
18990                         dissect_h245_OpenLogicalChannelAck },
18991         {  6,   "OpenLogicalChannelReject",     ASN1_EXTENSION_ROOT,
18992                         dissect_h245_OpenLogicalChannelReject },
18993         {  7,   "CloseLogicalChannelAck",       ASN1_EXTENSION_ROOT,
18994                         dissect_h245_CloseLogicalChannelAck },
18995         {  8,   "RequestChannelCloseAck",       ASN1_EXTENSION_ROOT,
18996                         dissect_h245_RequestChannelCloseAck },
18997         {  9,   "RequestChannelCloseReject",    ASN1_EXTENSION_ROOT,
18998                         dissect_h245_RequestChannelCloseReject },
18999         { 10,   "MultiplexEntrySendAck",        ASN1_EXTENSION_ROOT,
19000                         dissect_h245_MultiplexEntrySendAck },
19001         { 11,   "MultiplexEntrySendReject",     ASN1_EXTENSION_ROOT,
19002                         dissect_h245_MultiplexEntrySendReject },
19003         { 12,   "RequestMultiplexEntryAck",     ASN1_EXTENSION_ROOT,
19004                         dissect_h245_RequestMultiplexEntryAck },
19005         { 13,   "RequestMultiplexEntryReject",  ASN1_EXTENSION_ROOT,
19006                         dissect_h245_RequestMultiplexEntryReject },
19007         { 14,   "RequestModeAck",               ASN1_EXTENSION_ROOT,
19008                         dissect_h245_RequestModeAck },
19009         { 15,   "RequestModeReject",            ASN1_EXTENSION_ROOT,
19010                         dissect_h245_RequestModeReject },
19011         { 16,   "RoundTripDelayResponse",       ASN1_EXTENSION_ROOT,
19012                         dissect_h245_RoundTripDelayResponse },
19013         { 17,   "MaintenanceLoopAck",           ASN1_EXTENSION_ROOT,
19014                         dissect_h245_MaintenanceLoopAck },
19015         { 18,   "MaintenanceLoopReject",        ASN1_EXTENSION_ROOT,
19016                         dissect_h245_MaintenanceLoopReject },
19017         { 19,   "CommunicationModeResponse",    ASN1_NOT_EXTENSION_ROOT,
19018                         dissect_h245_CommunicationModeResponse },
19019         { 20,   "ConferenceResponse",           ASN1_NOT_EXTENSION_ROOT,
19020                         dissect_h245_ConferenceResponse },
19021         { 21,   "MultilinkResponse",            ASN1_NOT_EXTENSION_ROOT,
19022                         dissect_h245_MultilinkResponse },
19023         { 22,   "LogicalChannelRateAck",        ASN1_NOT_EXTENSION_ROOT,
19024                         dissect_h245_LogicalChannelRateAck },
19025         { 23,   "LogicalChannelRateReject",     ASN1_NOT_EXTENSION_ROOT,
19026                         dissect_h245_LogicalChannelRateReject },
19027         {  0, NULL, 0, NULL }
19028 };
19029 static int
19030 dissect_h245_ResponseMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
19031 {
19032         guint32 value;
19033
19034         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ResponseMessage_type, ett_h245_ResponseMessage, ResponseMessage_choice, "ResponseMessage", &value);
19035
19036         if (check_col(pinfo->cinfo, COL_INFO)){
19037                 if ( h245_shorttypes == TRUE )
19038                 {
19039                         col_append_fstr(pinfo->cinfo, COL_INFO, "%s ",
19040                                 val_to_str(value, ResponseMessage_short_vals, "<unknown>"));
19041                 }
19042                 else
19043                 {
19044                         col_append_fstr(pinfo->cinfo, COL_INFO, "%s ",
19045                                 val_to_str(value, ResponseMessage_vals, "<unknown>"));
19046                 }
19047         }
19048
19049         col_set_fence(pinfo->cinfo,COL_INFO);
19050
19051         return offset;
19052 }
19053
19054
19055
19056
19057
19058
19059 static int
19060 dissect_h245_DialingInformationNumber_networkAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
19061 {
19062         offset=dissect_per_NumericString(tvb, offset, pinfo, tree, hf_h245_DialingInformationNumber_networkAddress, 0, 40);
19063
19064         return offset;
19065 }
19066
19067
19068
19069
19070 static int
19071 dissect_h245_DialingInformationNumber_subAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
19072 {
19073         offset=dissect_per_IA5String(tvb, offset, pinfo, tree, hf_h245_subAddress, 0, 40);
19074
19075         return offset;
19076 }
19077
19078
19079
19080 static per_sequence_t DialingInformationNumber_sequence[] = {
19081         { "networkAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
19082                 dissect_h245_DialingInformationNumber_networkAddress },
19083         { "subAddress", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
19084                 dissect_h245_DialingInformationNumber_subAddress },
19085         { "networkType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
19086                 dissect_h245_networkType },
19087         { NULL, 0, 0, NULL }
19088 };
19089 static int
19090 dissect_h245_DialingInformationNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
19091 {
19092         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DialingInformationNumber, ett_h245_DialingInformationNumber, DialingInformationNumber_sequence);
19093
19094         return offset;
19095 }
19096
19097
19098 static const value_string MultimediaSystemControlMessage_vals[] = {
19099         { 0,    "Request" },
19100         { 1,    "Response" },
19101         { 2,    "Command" },
19102         { 3,    "Indication" },
19103         { 0, NULL }
19104 };
19105 static per_choice_t MultimediaSystemControlMessage_choice[] = {
19106         { 0,    "Request",      ASN1_EXTENSION_ROOT,
19107                         dissect_h245_RequestMessage },
19108         { 1,    "Response",     ASN1_EXTENSION_ROOT,
19109                         dissect_h245_ResponseMessage },
19110         { 2,    "Command",      ASN1_EXTENSION_ROOT,
19111                         dissect_h245_CommandMessage },
19112         { 3,    "Indication",   ASN1_EXTENSION_ROOT,
19113                         dissect_h245_IndicationMessage },
19114         { 0, NULL, 0, NULL }
19115 };
19116 void
19117 dissect_h245_MultimediaSystemControlMessage(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
19118 {
19119         proto_item *it;
19120         proto_tree *tr;
19121         guint32 offset=0;
19122         guint32 value;
19123
19124         if (check_col(pinfo->cinfo, COL_PROTOCOL)){
19125                 col_set_str(pinfo->cinfo, COL_PROTOCOL, "H.245");
19126         }
19127
19128         it=proto_tree_add_protocol_format(tree, proto_h245, tvb, 0, tvb_length(tvb), "H.245");
19129         tr=proto_item_add_subtree(it, ett_h245);
19130
19131         /* this code is called from at least TPKT (over TCP) and
19132            MEGACO.  Over MEGACO there is no framing so we just have to assume
19133            that as long as we havent run out of TVB data, there is more
19134            MSCM PDUsa to decode.
19135         */
19136         while(tvb_length_remaining(tvb, offset>>3)>0){
19137                 offset=dissect_per_choice(tvb, offset, pinfo, tr, hf_h245_pdu_type, ett_h245_MultimediaSystemControlMessage, MultimediaSystemControlMessage_choice, "MultimediaSystemControlMessage", &value);
19138                 /* align next PDU to octet boundary */
19139                 if(offset&0x07){
19140                         offset=(offset&0xfffffff8)+8;
19141                 }
19142         }
19143 }
19144
19145
19146
19147
19148
19149
19150 void
19151 dissect_h245(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
19152 {
19153         dissect_tpkt_encap(tvb, pinfo, tree, h245_reassembly, MultimediaSystemControlMessage_handle);
19154 }
19155
19156 void
19157 proto_register_h245(void)
19158 {
19159         static hf_register_info hf[] =
19160         {
19161         { &hf_h245_pdu_type,
19162                 { "PDU Type", "h245.pdu_type", FT_UINT32, BASE_DEC,
19163                 VALS(MultimediaSystemControlMessage_vals), 0, "Type of H.245 PDU", HFILL }},
19164         { &hf_h245_IndicationMessage_type,
19165                 { "Indication Type", "h245.indication_type", FT_UINT32, BASE_DEC,
19166                 VALS(IndicationMessage_vals), 0, "Type of Indication", HFILL }},
19167         { &hf_h245_RequestMessage_type,
19168                 { "Request Type", "h245.request_type", FT_UINT32, BASE_DEC,
19169                 VALS(RequestMessage_vals), 0, "Type of Request", HFILL }},
19170         { &hf_h245_ResponseMessage_type,
19171                 { "Response Type", "h245.response_type", FT_UINT32, BASE_DEC,
19172                 VALS(ResponseMessage_vals), 0, "Type of Response", HFILL }},
19173         { &hf_h245_CommandMessage_type,
19174                 { "Command Type", "h245.command_type", FT_UINT32, BASE_DEC,
19175                 VALS(CommandMessage_vals), 0, "Type of Command", HFILL }},
19176         { &hf_h245_EndSessionCommand_type,
19177                 { "EndSessionCommand type", "h245.endsessioncommand_type", FT_UINT32, BASE_DEC,
19178                 VALS(EndSessionCommand_vals), 0, "Type of EndSessionCommand", HFILL }},
19179         { &hf_h245_PixelAspectCode,
19180                 { "PixelAspectCode", "h245.PixelAspectCode", FT_UINT32, BASE_DEC,
19181                 NULL, 0, "PixelAspectCode", HFILL }},
19182         { &hf_h245_LogicalChannelNumber,
19183                 { "LogicalChannelNumber", "h245.logicalchannelnumber", FT_UINT32, BASE_DEC,
19184                 NULL, 0, "LogicalChannelNumber", HFILL }},
19185         { &hf_h245_SequenceNumber,
19186                 { "SequenceNumber", "h245.sequencenumber", FT_UINT32, BASE_DEC,
19187                 NULL, 0, "SequenceNumber", HFILL }},
19188         { &hf_h245_OpenLogicalChannelConfirm,
19189                 { "OpenLogicalChannelConfirm", "h245.openlogicalchannelconfirm", FT_NONE, BASE_NONE,
19190                 NULL, 0, "OpenLogicalChannelConfirm sequence", HFILL }},
19191         { &hf_h245_MobileMultilinkReconfigurationIndication,
19192                 { "MobileMultilinkReconfigurationIndication", "h245.MobileMultilinkReconfigurationIndication", FT_NONE, BASE_NONE,
19193                 NULL, 0, "MobileMultilinkReconfigurationIndication sequence", HFILL }},
19194         { &hf_h245_FlowControlIndication,
19195                 { "FlowControlIndication", "h245.FlowControlIndication", FT_NONE, BASE_NONE,
19196                 NULL, 0, "FlowControlIndication sequence", HFILL }},
19197         { &hf_h245_UserInputIndication_extendedAlphanumeric,
19198                 { "UserInputIndication_extendedAlphanumeric", "h245.UserInputIndication_extendedAlphanumeric", FT_NONE, BASE_NONE,
19199                 NULL, 0, "UserInputIndication_extendedAlphanumeric sequence", HFILL }},
19200         { &hf_h245_UserInputIndication_signalUpdate_rtp,
19201                 { "UserInputIndication_signalUpdate_rtp", "h245.UserInputIndication_signalUpdate_rtp", FT_NONE, BASE_NONE,
19202                 NULL, 0, "UserInputIndication_signalUpdate_rtp sequence", HFILL }},
19203         { &hf_h245_UserInputIndication_signalUpdate,
19204                 { "UserInputIndication_signalUpdate", "h245.UserInputIndication_signalUpdate", FT_NONE, BASE_NONE,
19205                 NULL, 0, "UserInputIndication_signalUpdate sequence", HFILL }},
19206         { &hf_h245_UserInputIndication_signal_rtp,
19207                 { "UserInputIndication_signal_rtp", "h245.UserInputIndication_signal_rtp", FT_NONE, BASE_NONE,
19208                 NULL, 0, "UserInputIndication_signal_rtp sequence", HFILL }},
19209         { &hf_h245_UserInputIndication_signal,
19210                 { "UserInputIndication_signal", "h245.UserInputIndication_signal", FT_NONE, BASE_NONE,
19211                 NULL, 0, "UserInputIndication_signal sequence", HFILL }},
19212         { &hf_h245_NewATMVCIndication_reverseParameters,
19213                 { "NewATMVCIndication_reverseParameters", "h245.NewATMVCIndication_reverseParameters", FT_NONE, BASE_NONE,
19214                 NULL, 0, "NewATMVCIndication_reverseParameters sequence", HFILL }},
19215         { &hf_h245_NewATMVCIndication_aal_aal5,
19216                 { "NewATMVCIndication_aal_aal5", "h245.NewATMVCIndication_aal_aal5", FT_NONE, BASE_NONE,
19217                 NULL, 0, "NewATMVCIndication_aal_aal5 sequence", HFILL }},
19218         { &hf_h245_NewATMVCIndication_aal_aal1,
19219                 { "NewATMVCIndication_aal_aal1", "h245.NewATMVCIndication_aal_aal1", FT_NONE, BASE_NONE,
19220                 NULL, 0, "NewATMVCIndication_aal_aal1 sequence", HFILL }},
19221         { &hf_h245_NewATMVCIndication,
19222                 { "NewATMVCIndication", "h245.NewATMVCIndication", FT_NONE, BASE_NONE,
19223                 NULL, 0, "NewATMVCIndication sequence", HFILL }},
19224         { &hf_h245_VendorIdentification,
19225                 { "VendorIdentification", "h245.VendorIdentification", FT_NONE, BASE_NONE,
19226                 NULL, 0, "VendorIdentification sequence", HFILL }},
19227         { &hf_h245_MCLocationIndication,
19228                 { "MCLocationIndication", "h245.MCLocationIndication", FT_NONE, BASE_NONE,
19229                 NULL, 0, "MCLocationIndication sequence", HFILL }},
19230         { &hf_h245_H2250MaximumSkewIndication,
19231                 { "H2250MaximumSkewIndication", "h245.H2250MaximumSkewIndication", FT_NONE, BASE_NONE,
19232                 NULL, 0, "H2250MaximumSkewIndication sequence", HFILL }},
19233         { &hf_h245_H223SkewIndication,
19234                 { "H223SkewIndication", "h245.H223SkewIndication", FT_NONE, BASE_NONE,
19235                 NULL, 0, "H223SkewIndication sequence", HFILL }},
19236         { &hf_h245_JitterIndication,
19237                 { "JitterIndication", "h245.JitterIndication", FT_NONE, BASE_NONE,
19238                 NULL, 0, "JitterIndication sequence", HFILL }},
19239         { &hf_h245_MiscellaneousIndication_type_videoNotDecodedMBs,
19240                 { "MiscellaneousIndication_type_videoNotDecodedMBs", "h245.MiscellaneousIndication_type_videoNotDecodedMBs", FT_NONE, BASE_NONE,
19241                 NULL, 0, "MiscellaneousIndication_type_videoNotDecodedMBs sequence", HFILL }},
19242         { &hf_h245_MiscellaneousIndication,
19243                 { "MiscellaneousIndication", "h245.MiscellaneousIndication", FT_NONE, BASE_NONE,
19244                 NULL, 0, "MiscellaneousIndication sequence", HFILL }},
19245         { &hf_h245_VideoIndicateCompose,
19246                 { "VideoIndicateCompose", "h245.VideoIndicateCompose", FT_NONE, BASE_NONE,
19247                 NULL, 0, "VideoIndicateCompose sequence", HFILL }},
19248         { &hf_h245_TerminalYouAreSeeingInSubPictureNumber,
19249                 { "TerminalYouAreSeeingInSubPictureNumber", "h245.TerminalYouAreSeeingInSubPictureNumber", FT_NONE, BASE_NONE,
19250                 NULL, 0, "TerminalYouAreSeeingInSubPictureNumber sequence", HFILL }},
19251         { &hf_h245_FunctionNotSupported,
19252                 { "FunctionNotSupported", "h245.FunctionNotSupported", FT_NONE, BASE_NONE,
19253                 NULL, 0, "FunctionNotSupported sequence", HFILL }},
19254         { &hf_h245_MobileMultilinkReconfigurationCommand,
19255                 { "MobileMultilinkReconfigurationCommand", "h245.MobileMultilinkReconfigurationCommand", FT_NONE, BASE_NONE,
19256                 NULL, 0, "MobileMultilinkReconfigurationCommand sequence", HFILL }},
19257         { &hf_h245_NewATMVCCommand_reverseParameters,
19258                 { "NewATMVCCommand_reverseParameters", "h245.NewATMVCCommand_reverseParameters", FT_NONE, BASE_NONE,
19259                 NULL, 0, "NewATMVCCommand_reverseParameters sequence", HFILL }},
19260         { &hf_h245_NewATMVCCommand,
19261                 { "NewATMVCCommand", "h245.NewATMVCCommand", FT_NONE, BASE_NONE,
19262                 NULL, 0, "NewATMVCCommand sequence", HFILL }},
19263         { &hf_h245_NewATMVCCommand_aal_aal5,
19264                 { "NewATMVCCommand_aal_aal5", "h245.NewATMVCCommand_aal_aal5", FT_NONE, BASE_NONE,
19265                 NULL, 0, "NewATMVCCommand_aal_aal5 sequence", HFILL }},
19266         { &hf_h245_NewATMVCCommand_aal_aal1,
19267                 { "NewATMVCCommand_aal_aal1", "h245.NewATMVCCommand_aal_aal1", FT_NONE, BASE_NONE,
19268                 NULL, 0, "NewATMVCCommand_aal_aal1 sequence", HFILL }},
19269         { &hf_h245_EncryptionUpdateRequest,
19270                 { "EncryptionUpdateRequest", "h245.EncryptionUpdateRequest", FT_NONE, BASE_NONE,
19271                 NULL, 0, "EncryptionUpdateRequest sequence", HFILL }},
19272         { &hf_h245_KeyProtectionMethod,
19273                 { "KeyProtectionMethod", "h245.KeyProtectionMethod", FT_NONE, BASE_NONE,
19274                 NULL, 0, "KeyProtectionMethod sequence", HFILL }},
19275         { &hf_h245_MiscellaneousCommand_type_lostPartialPicture,
19276                 { "MiscellaneousCommand_type_lostPartialPicture", "h245.MiscellaneousCommand_type_lostPartialPicture", FT_NONE, BASE_NONE,
19277                 NULL, 0, "MiscellaneousCommand_type_lostPartialPicture sequence", HFILL }},
19278         { &hf_h245_MiscellaneousCommand_type_videoBadMBs,
19279                 { "MiscellaneousCommand_type_videoBadMBs", "h245.MiscellaneousCommand_type_videoBadMBs", FT_NONE, BASE_NONE,
19280                 NULL, 0, "MiscellaneousCommand_type_videoBadMBs sequence", HFILL }},
19281         { &hf_h245_MiscellaneousCommand_type_progressiveRefinementStart,
19282                 { "MiscellaneousCommand_type_progressiveRefinementStart", "h245.MiscellaneousCommand_type_progressiveRefinementStart", FT_NONE, BASE_NONE,
19283                 NULL, 0, "MiscellaneousCommand_type_progressiveRefinementStart sequence", HFILL }},
19284         { &hf_h245_MiscellaneousCommand_type_videoFastUpdateMB,
19285                 { "MiscellaneousCommand_type_videoFastUpdateMB", "h245.MiscellaneousCommand_type_videoFastUpdateMB", FT_NONE, BASE_NONE,
19286                 NULL, 0, "MiscellaneousCommand_type_videoFastUpdateMB sequence", HFILL }},
19287         { &hf_h245_MiscellaneousCommand_type_videoFastUpdateGOB,
19288                 { "MiscellaneousCommand_type_videoFastUpdateGOB", "h245.MiscellaneousCommand_type_videoFastUpdateGOB", FT_NONE, BASE_NONE,
19289                 NULL, 0, "MiscellaneousCommand_type_videoFastUpdateGOB sequence", HFILL }},
19290         { &hf_h245_MiscellaneousCommand,
19291                 { "MiscellaneousCommand", "h245.MiscellaneousCommand", FT_NONE, BASE_NONE,
19292                 NULL, 0, "MiscellaneousCommand sequence", HFILL }},
19293         { &hf_h245_SubstituteConferenceIDCommand,
19294                 { "SubstituteConferenceIDCommand", "h245.SubstituteConferenceIDCommand", FT_NONE, BASE_NONE,
19295                 NULL, 0, "SubstituteConferenceIDCommand sequence", HFILL }},
19296         { &hf_h245_FlowControlCommand,
19297                 { "FlowControlCommand", "h245.FlowControlCommand", FT_NONE, BASE_NONE,
19298                 NULL, 0, "FlowControlCommand sequence", HFILL }},
19299         { &hf_h245_EncryptionCommand_encryptionAlgorithmID,
19300                 { "EncryptionCommand_encryptionAlgorithmID", "h245.EncryptionCommand_encryptionAlgorithmID", FT_NONE, BASE_NONE,
19301                 NULL, 0, "EncryptionCommand_encryptionAlgorithmID sequence", HFILL }},
19302         { &hf_h245_SendTerminalCapabilitySet_specificRequest,
19303                 { "SendTerminalCapabilitySet_specificRequest", "h245.SendTerminalCapabilitySet_specificRequest", FT_NONE, BASE_NONE,
19304                 NULL, 0, "SendTerminalCapabilitySet_specificRequest sequence", HFILL }},
19305         { &hf_h245_LogicalChannelRateRelease,
19306                 { "LogicalChannelRateRelease", "h245.LogicalChannelRateRelease", FT_NONE, BASE_NONE,
19307                 NULL, 0, "LogicalChannelRateRelease sequence", HFILL }},
19308         { &hf_h245_LogicalChannelRateReject,
19309                 { "LogicalChannelRateReject", "h245.LogicalChannelRateReject", FT_NONE, BASE_NONE,
19310                 NULL, 0, "LogicalChannelRateReject sequence", HFILL }},
19311         { &hf_h245_LogicalChannelRateAck,
19312                 { "LogicalChannelRateAck", "h245.LogicalChannelRateAck", FT_NONE, BASE_NONE,
19313                 NULL, 0, "LogicalChannelRateAck sequence", HFILL }},
19314         { &hf_h245_LogicalChannelRateRequest,
19315                 { "LogicalChannelRateRequest", "h245.LogicalChannelRateRequest", FT_NONE, BASE_NONE,
19316                 NULL, 0, "LogicalChannelRateRequest sequence", HFILL }},
19317         { &hf_h245_ConnectionIdentifier,
19318                 { "ConnectionIdentifier", "h245.ConnectionIdentifier", FT_NONE, BASE_NONE,
19319                 NULL, 0, "ConnectionIdentifier sequence", HFILL }},
19320         { &hf_h245_DialingInformationNumber,
19321                 { "DialingInformationNumber", "h245.DialingInformationNumber", FT_NONE, BASE_NONE,
19322                 NULL, 0, "DialingInformationNumber sequence", HFILL }},
19323         { &hf_h245_MultilinkIndication_excessiveError,
19324                 { "MultilinkIndication_excessiveError", "h245.MultilinkIndication_excessiveError", FT_NONE, BASE_NONE,
19325                 NULL, 0, "MultilinkIndication_excessiveError sequence", HFILL }},
19326         { &hf_h245_MultilinkIndication_crcDesired,
19327                 { "MultilinkIndication_crcDesired", "h245.MultilinkIndication_crcDesired", FT_NONE, BASE_NONE,
19328                 NULL, 0, "MultilinkIndication_crcDesired sequence", HFILL }},
19329         { &hf_h245_MultilinkResponse_maximumHeaderInterval,
19330                 { "MultilinkResponse_maximumHeaderInterval", "h245.MultilinkResponse_maximumHeaderInterval", FT_NONE, BASE_NONE,
19331                 NULL, 0, "MultilinkResponse_maximumHeaderInterval sequence", HFILL }},
19332         { &hf_h245_MultilinkResponse_removeConnection,
19333                 { "MultilinkResponse_removeConnection", "h245.MultilinkResponse_removeConnection", FT_NONE, BASE_NONE,
19334                 NULL, 0, "MultilinkResponse_removeConnection sequence", HFILL }},
19335         { &hf_h245_MultilinkResponse_addConnection,
19336                 { "MultilinkResponse_addConnection", "h245.MultilinkResponse_addConnection", FT_NONE, BASE_NONE,
19337                 NULL, 0, "MultilinkResponse_addConnection sequence", HFILL }},
19338         { &hf_h245_MultilinkResponse_callInformation,
19339                 { "MultilinkResponse_callInformation", "h245.MultilinkResponse_callInformation", FT_NONE, BASE_NONE,
19340                 NULL, 0, "MultilinkResponse_callInformation sequence", HFILL }},
19341         { &hf_h245_MultilinkRequest_maximumHeaderInterval,
19342                 { "MultilinkRequest_maximumHeaderInterval", "h245.MultilinkRequest_maximumHeaderInterval", FT_NONE, BASE_NONE,
19343                 NULL, 0, "MultilinkRequest_maximumHeaderInterval sequence", HFILL }},
19344         { &hf_h245_MultilinkRequest_removeConnection,
19345                 { "MultilinkRequest_removeConnection", "h245.MultilinkRequest_removeConnection", FT_NONE, BASE_NONE,
19346                 NULL, 0, "MultilinkRequest_removeConnection sequence", HFILL }},
19347         { &hf_h245_MultilinkRequest_addConnection,
19348                 { "MultilinkRequest_addConnection", "h245.MultilinkRequest_addConnection", FT_NONE, BASE_NONE,
19349                 NULL, 0, "MultilinkRequest_addConnection sequence", HFILL }},
19350         { &hf_h245_MultilinkRequest_callInformation,
19351                 { "MultilinkRequest_callInformation", "h245.MultilinkRequest_callInformation", FT_NONE, BASE_NONE,
19352                 NULL, 0, "MultilinkRequest_callInformation sequence", HFILL }},
19353         { &hf_h245_TerminalInformation,
19354                 { "TerminalInformation", "h245.TerminalInformation", FT_NONE, BASE_NONE,
19355                 NULL, 0, "TerminalInformation sequence", HFILL }},
19356         { &hf_h245_RequestAllTerminalIDsResponse,
19357                 { "RequestAllTerminalIDsResponse", "h245.RequestAllTerminalIDsResponse", FT_NONE, BASE_NONE,
19358                 NULL, 0, "RequestAllTerminalIDsResponse sequence", HFILL }},
19359         { &hf_h245_ConferenceResponse_terminalCertificateResponse,
19360                 { "ConferenceResponse_terminalCertificateResponse", "h245.ConferenceResponse_terminalCertificateResponse", FT_NONE, BASE_NONE,
19361                 NULL, 0, "ConferenceResponse_terminalCertificateResponse sequence", HFILL }},
19362         { &hf_h245_ConferenceResponse_chairTokenOwnerResponse,
19363                 { "ConferenceResponse_chairTokenOwnerResponse", "h245.ConferenceResponse_chairTokenOwnerResponse", FT_NONE, BASE_NONE,
19364                 NULL, 0, "ConferenceResponse_chairTokenOwnerResponse sequence", HFILL }},
19365         { &hf_h245_ConferenceResponse_extensionAddressResponse,
19366                 { "ConferenceResponse_extensionAddressResponse", "h245.ConferenceResponse_extensionAddressResponse", FT_NONE, BASE_NONE,
19367                 NULL, 0, "ConferenceResponse_extensionAddressResponse sequence", HFILL }},
19368         { &hf_h245_ConferenceResponse_passwordResponse,
19369                 { "ConferenceResponse_passwordResponse", "h245.ConferenceResponse_passwordResponse", FT_NONE, BASE_NONE,
19370                 NULL, 0, "ConferenceResponse_passwordResponse sequence", HFILL }},
19371         { &hf_h245_ConferenceResponse_conferenceIDResponse,
19372                 { "ConferenceResponse_conferenceIDResponse", "h245.ConferenceResponse_conferenceIDResponse", FT_NONE, BASE_NONE,
19373                 NULL, 0, "ConferenceResponse_conferenceIDResponse sequence", HFILL }},
19374         { &hf_h245_ConferenceResponse_terminalIDResponse,
19375                 { "ConferenceResponse_terminalIDResponse", "h245.ConferenceResponse_terminalIDResponse", FT_NONE, BASE_NONE,
19376                 NULL, 0, "ConferenceResponse_terminalIDResponse sequence", HFILL }},
19377         { &hf_h245_ConferenceResponse_mCterminalIDResponse,
19378                 { "ConferenceResponse_mCterminalIDResponse", "h245.ConferenceResponse_mCterminalIDResponse", FT_NONE, BASE_NONE,
19379                 NULL, 0, "ConferenceResponse_mCterminalIDResponse sequence", HFILL }},
19380         { &hf_h245_TerminalLabel,
19381                 { "TerminalLabel", "h245.TerminalLabel", FT_NONE, BASE_NONE,
19382                 NULL, 0, "TerminalLabel sequence", HFILL }},
19383         { &hf_h245_Criteria,
19384                 { "Criteria", "h245.Criteria", FT_NONE, BASE_NONE,
19385                 NULL, 0, "Criteria sequence", HFILL }},
19386         { &hf_h245_ConferenceRequest_requestTerminalCertificate,
19387                 { "ConferenceRequest_requestTerminalCertificate", "h245.ConferenceRequest_requestTerminalCertificate", FT_NONE, BASE_NONE,
19388                 NULL, 0, "ConferenceRequest_requestTerminalCertificate sequence", HFILL }},
19389         { &hf_h245_CommunicationModeTableEntry,
19390                 { "CommunicationModeTableEntry", "h245.CommunicationModeTableEntry", FT_NONE, BASE_NONE,
19391                 NULL, 0, "CommunicationModeTableEntry sequence", HFILL }},
19392         { &hf_h245_CommunicationModeRequest,
19393                 { "CommunicationModeRequest", "h245.CommunicationModeRequest", FT_NONE, BASE_NONE,
19394                 NULL, 0, "CommunicationModeRequest sequence", HFILL }},
19395         { &hf_h245_CommunicationModeCommand,
19396                 { "CommunicationModeCommand", "h245.CommunicationModeCommand", FT_NONE, BASE_NONE,
19397                 NULL, 0, "CommunicationModeCommand sequence", HFILL }},
19398         { &hf_h245_MaintenanceLoopOffCommand,
19399                 { "MaintenanceLoopOffCommand", "h245.MaintenanceLoopOffCommand", FT_NONE, BASE_NONE,
19400                 NULL, 0, "MaintenanceLoopOffCommand sequence", HFILL }},
19401         { &hf_h245_MaintenanceLoopReject,
19402                 { "MaintenanceLoopReject", "h245.MaintenanceLoopReject", FT_NONE, BASE_NONE,
19403                 NULL, 0, "MaintenanceLoopReject sequence", HFILL }},
19404         { &hf_h245_MaintenanceLoopAck,
19405                 { "MaintenanceLoopAck", "h245.MaintenanceLoopAck", FT_NONE, BASE_NONE,
19406                 NULL, 0, "MaintenanceLoopAck sequence", HFILL }},
19407         { &hf_h245_MaintenanceLoopRequest,
19408                 { "MaintenanceLoopRequest", "h245.MaintenanceLoopRequest", FT_NONE, BASE_NONE,
19409                 NULL, 0, "MaintenanceLoopRequest sequence", HFILL }},
19410         { &hf_h245_RoundTripDelayResponse,
19411                 { "RoundTripDelayResponse", "h245.RoundTripDelayResponse", FT_NONE, BASE_NONE,
19412                 NULL, 0, "RoundTripDelayResponse sequence", HFILL }},
19413         { &hf_h245_RoundTripDelayRequest,
19414                 { "RoundTripDelayRequest", "h245.RoundTripDelayRequest", FT_NONE, BASE_NONE,
19415                 NULL, 0, "RoundTripDelayRequest sequence", HFILL }},
19416         { &hf_h245_DataMode_application_t38fax,
19417                 { "DataMode_application_t38fax", "h245.DataMode_application_t38fax", FT_NONE, BASE_NONE,
19418                 NULL, 0, "DataMode_application_t38fax sequence", HFILL }},
19419         { &hf_h245_DataMode_application_nlpid,
19420                 { "DataMode_application_nlpid", "h245.DataMode_application_nlpid", FT_NONE, BASE_NONE,
19421                 NULL, 0, "DataMode_application_nlpid sequence", HFILL }},
19422         { &hf_h245_DataMode,
19423                 { "DataMode", "h245.DataMode", FT_NONE, BASE_NONE,
19424                 NULL, 0, "DataMode sequence", HFILL }},
19425         { &hf_h245_VBDMode,
19426                 { "VBDMode", "h245.VBDMode", FT_NONE, BASE_NONE,
19427                 NULL, 0, "VBDMode sequence", HFILL }},
19428         { &hf_h245_G7231AnnexCMode_g723AnnexCAudioMode,
19429                 { "G7231AnnexCMode_g723AnnexCAudioMode", "h245.G7231AnnexCMode_g723AnnexCAudioMode", FT_NONE, BASE_NONE,
19430                 NULL, 0, "G7231AnnexCMode_g723AnnexCAudioMode sequence", HFILL }},
19431         { &hf_h245_G7231AnnexCMode,
19432                 { "G7231AnnexCMode", "h245.G7231AnnexCMode", FT_NONE, BASE_NONE,
19433                 NULL, 0, "G7231AnnexCMode sequence", HFILL }},
19434         { &hf_h245_IS13818AudioMode,
19435                 { "IS13818AudioMode", "h245.IS13818AudioMode", FT_NONE, BASE_NONE,
19436                 NULL, 0, "IS13818AudioMode sequence", HFILL }},
19437         { &hf_h245_IS11172AudioMode,
19438                 { "IS11172AudioMode", "h245.IS11172AudioMode", FT_NONE, BASE_NONE,
19439                 NULL, 0, "IS11172AudioMode sequence", HFILL }},
19440         { &hf_h245_IS11172VideoMode,
19441                 { "IS11172VideoMode", "h245.IS11172VideoMode", FT_NONE, BASE_NONE,
19442                 NULL, 0, "IS11172VideoMode sequence", HFILL }},
19443         { &hf_h245_H263VideoMode,
19444                 { "H263VideoMode", "h245.H263VideoMode", FT_NONE, BASE_NONE,
19445                 NULL, 0, "H263VideoMode sequence", HFILL }},
19446         { &hf_h245_H262VideoMode,
19447                 { "H262VideoMode", "h245.H262VideoMode", FT_NONE, BASE_NONE,
19448                 NULL, 0, "H262VideoMode sequence", HFILL }},
19449         { &hf_h245_H261VideoMode,
19450                 { "H261VideoMode", "h245.H261VideoMode", FT_NONE, BASE_NONE,
19451                 NULL, 0, "H261VideoMode sequence", HFILL }},
19452         { &hf_h245_RedundancyEncodingMode,
19453                 { "RedundancyEncodingMode", "h245.RedundancyEncodingMode", FT_NONE, BASE_NONE,
19454                 NULL, 0, "RedundancyEncodingMode sequence", HFILL }},
19455         { &hf_h245_H2250ModeParameters,
19456                 { "H2250ModeParameters", "h245.H2250ModeParameters", FT_NONE, BASE_NONE,
19457                 NULL, 0, "H2250ModeParameters sequence", HFILL }},
19458         { &hf_h245_H223ModeParameters_adaptationLayerType_al3,
19459                 { "H223ModeParameters_adaptationLayerType_al3", "h245.H223ModeParameters_adaptationLayerType_al3", FT_NONE, BASE_NONE,
19460                 NULL, 0, "H223ModeParameters_adaptationLayerType_al3 sequence", HFILL }},
19461         { &hf_h245_H223ModeParameters,
19462                 { "H223ModeParameters", "h245.H223ModeParameters", FT_NONE, BASE_NONE,
19463                 NULL, 0, "H223ModeParameters sequence", HFILL }},
19464         { &hf_h245_FECMode_rfc2733Mode_mode_separateStream_samePort,
19465                 { "FECMode_rfc2733Mode_mode_separateStream_samePort", "h245.FECMode_rfc2733Mode_mode_separateStream_samePort", FT_NONE, BASE_NONE,
19466                 NULL, 0, "FECMode_rfc2733Mode_mode_separateStream_samePort sequence", HFILL }},
19467         { &hf_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort,
19468                 { "FECMode_rfc2733Mode_mode_separateStream_differentPort", "h245.FECMode_rfc2733Mode_mode_separateStream_differentPort", FT_NONE, BASE_NONE,
19469                 NULL, 0, "FECMode_rfc2733Mode_mode_separateStream_differentPort sequence", HFILL }},
19470         { &hf_h245_FECMode_rfc2733Mode,
19471                 { "FECMode_rfc2733Mode", "h245.FECMode_rfc2733Mode", FT_NONE, BASE_NONE,
19472                 NULL, 0, "FECMode_rfc2733Mode sequence", HFILL }},
19473         { &hf_h245_MultiplePayloadStreamElementMode,
19474                 { "MultiplePayloadStreamElementMode", "h245.MultiplePayloadStreamElementMode", FT_NONE, BASE_NONE,
19475                 NULL, 0, "MultiplePayloadStreamElementMode sequence", HFILL }},
19476         { &hf_h245_MultiplePayloadStreamMode,
19477                 { "MultiplePayloadStreamMode", "h245.MultiplePayloadStreamMode", FT_NONE, BASE_NONE,
19478                 NULL, 0, "MultiplePayloadStreamMode sequence", HFILL }},
19479         { &hf_h245_RedundancyEncodingDTModeElement,
19480                 { "RedundancyEncodingDTModeElement", "h245.RedundancyEncodingDTModeElement", FT_NONE, BASE_NONE,
19481                 NULL, 0, "RedundancyEncodingDTModeElement sequence", HFILL }},
19482         { &hf_h245_RedundancyEncodingDTMode,
19483                 { "RedundancyEncodingDTMode", "h245.RedundancyEncodingDTMode", FT_NONE, BASE_NONE,
19484                 NULL, 0, "RedundancyEncodingDTMode sequence", HFILL }},
19485         { &hf_h245_MultiplexedStreamModeParameters,
19486                 { "MultiplexedStreamModeParameters", "h245.MultiplexedStreamModeParameters", FT_NONE, BASE_NONE,
19487                 NULL, 0, "MultiplexedStreamModeParameters sequence", HFILL }},
19488         { &hf_h245_H235Mode,
19489                 { "H235Mode", "h245.H235Mode", FT_NONE, BASE_NONE,
19490                 NULL, 0, "H235Mode sequence", HFILL }},
19491         { &hf_h245_ModeElement,
19492                 { "ModeElement", "h245.ModeElement", FT_NONE, BASE_NONE,
19493                 NULL, 0, "ModeElement sequence", HFILL }},
19494         { &hf_h245_RequestModeRelease,
19495                 { "RequestModeRelease", "h245.RequestModeRelease", FT_NONE, BASE_NONE,
19496                 NULL, 0, "RequestModeRelease sequence", HFILL }},
19497         { &hf_h245_RequestModeReject,
19498                 { "RequestModeReject", "h245.RequestModeReject", FT_NONE, BASE_NONE,
19499                 NULL, 0, "RequestModeReject sequence", HFILL }},
19500         { &hf_h245_RequestModeAck,
19501                 { "RequestModeAck", "h245.RequestModeAck", FT_NONE, BASE_NONE,
19502                 NULL, 0, "RequestModeAck sequence", HFILL }},
19503         { &hf_h245_RequestMode,
19504                 { "RequestMode", "h245.RequestMode", FT_NONE, BASE_NONE,
19505                 NULL, 0, "RequestMode sequence", HFILL }},
19506         { &hf_h245_RequestMultiplexEntryRelease,
19507                 { "RequestMultiplexEntryRelease", "h245.RequestMultiplexEntryRelease", FT_NONE, BASE_NONE,
19508                 NULL, 0, "RequestMultiplexEntryRelease sequence", HFILL }},
19509         { &hf_h245_RequestMultiplexEntryRejectionDescriptions,
19510                 { "RequestMultiplexEntryRejectionDescriptions", "h245.RequestMultiplexEntryRejectionDescriptions", FT_NONE, BASE_NONE,
19511                 NULL, 0, "RequestMultiplexEntryRejectionDescriptions sequence", HFILL }},
19512         { &hf_h245_RequestMultiplexEntryReject,
19513                 { "RequestMultiplexEntryReject", "h245.RequestMultiplexEntryReject", FT_NONE, BASE_NONE,
19514                 NULL, 0, "RequestMultiplexEntryReject sequence", HFILL }},
19515         { &hf_h245_RequestMultiplexEntryAck,
19516                 { "RequestMultiplexEntryAck", "h245.RequestMultiplexEntryAck", FT_NONE, BASE_NONE,
19517                 NULL, 0, "RequestMultiplexEntryAck sequence", HFILL }},
19518         { &hf_h245_RequestMultiplexEntry,
19519                 { "RequestMultiplexEntry", "h245.RequestMultiplexEntry", FT_NONE, BASE_NONE,
19520                 NULL, 0, "RequestMultiplexEntry sequence", HFILL }},
19521         { &hf_h245_MultiplexEntrySendRelease,
19522                 { "MultiplexEntrySendRelease", "h245.MultiplexEntrySendRelease", FT_NONE, BASE_NONE,
19523                 NULL, 0, "MultiplexEntrySendRelease sequence", HFILL }},
19524         { &hf_h245_MultiplexEntryRejectionDescriptions,
19525                 { "MultiplexEntryRejectionDescriptions", "h245.MultiplexEntryRejectionDescriptions", FT_NONE, BASE_NONE,
19526                 NULL, 0, "MultiplexEntryRejectionDescriptions sequence", HFILL }},
19527         { &hf_h245_MultiplexEntrySendReject,
19528                 { "MultiplexEntrySendReject", "h245.MultiplexEntrySendReject", FT_NONE, BASE_NONE,
19529                 NULL, 0, "MultiplexEntrySendReject sequence", HFILL }},
19530         { &hf_h245_MultiplexEntrySendAck,
19531                 { "MultiplexEntrySendAck", "h245.MultiplexEntrySendAck", FT_NONE, BASE_NONE,
19532                 NULL, 0, "MultiplexEntrySendAck sequence", HFILL }},
19533         { &hf_h245_MultiplexElement,
19534                 { "MultiplexElement", "h245.MultiplexElement", FT_NONE, BASE_NONE,
19535                 NULL, 0, "MultiplexElement sequence", HFILL }},
19536         { &hf_h245_MultiplexEntryDescriptor,
19537                 { "MultiplexEntryDescriptor", "h245.MultiplexEntryDescriptor", FT_NONE, BASE_NONE,
19538                 NULL, 0, "MultiplexEntryDescriptor sequence", HFILL }},
19539         { &hf_h245_MultiplexEntrySend,
19540                 { "MultiplexEntrySend", "h245.MultiplexEntrySend", FT_NONE, BASE_NONE,
19541                 NULL, 0, "MultiplexEntrySend sequence", HFILL }},
19542         { &hf_h245_RequestChannelCloseRelease,
19543                 { "RequestChannelCloseRelease", "h245.RequestChannelCloseRelease", FT_NONE, BASE_NONE,
19544                 NULL, 0, "RequestChannelCloseRelease sequence", HFILL }},
19545         { &hf_h245_RequestChannelCloseReject,
19546                 { "RequestChannelCloseReject", "h245.RequestChannelCloseReject", FT_NONE, BASE_NONE,
19547                 NULL, 0, "RequestChannelCloseReject sequence", HFILL }},
19548         { &hf_h245_RequestChannelCloseAck,
19549                 { "RequestChannelCloseAck", "h245.RequestChannelCloseAck", FT_NONE, BASE_NONE,
19550                 NULL, 0, "RequestChannelCloseAck sequence", HFILL }},
19551         { &hf_h245_RequestChannelClose,
19552                 { "RequestChannelClose", "h245.RequestChannelClose", FT_NONE, BASE_NONE,
19553                 NULL, 0, "RequestChannelClose sequence", HFILL }},
19554         { &hf_h245_CloseLogicalChannelAck,
19555                 { "CloseLogicalChannelAck", "h245.CloseLogicalChannelAck", FT_NONE, BASE_NONE,
19556                 NULL, 0, "CloseLogicalChannelAck sequence", HFILL }},
19557         { &hf_h245_CloseLogicalChannel,
19558                 { "CloseLogicalChannel", "h245.CloseLogicalChannel", FT_NONE, BASE_NONE,
19559                 NULL, 0, "CloseLogicalChannel sequence", HFILL }},
19560         { &hf_h245_H2250LogicalChannelAckParameters,
19561                 { "H2250LogicalChannelAckParameters", "h245.H2250LogicalChannelAckParameters", FT_NONE, BASE_NONE,
19562                 NULL, 0, "H2250LogicalChannelAckParameters sequence", HFILL }},
19563         { &hf_h245_OpenLogicalChannelReject,
19564                 { "OpenLogicalChannelReject", "h245.OpenLogicalChannelReject", FT_NONE, BASE_NONE,
19565                 NULL, 0, "OpenLogicalChannelReject sequence", HFILL }},
19566         { &hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters,
19567                 { "OpenLogicalChannelAck_reverseLogicalChannelParameters", "h245.OpenLogicalChannelAck_reverseLogicalChannelParameters", FT_NONE, BASE_NONE,
19568                 NULL, 0, "OpenLogicalChannelAck_reverseLogicalChannelParameters sequence", HFILL }},
19569         { &hf_h245_OpenLogicalChannelAck,
19570                 { "OpenLogicalChannelAck", "h245.OpenLogicalChannelAck", FT_NONE, BASE_NONE,
19571                 NULL, 0, "OpenLogicalChannelAck sequence", HFILL }},
19572         { &hf_h245_EscrowData,
19573                 { "EscrowData", "h245.EscrowData", FT_NONE, BASE_NONE,
19574                 NULL, 0, "EscrowData sequence", HFILL }},
19575         { &hf_h245_EncryptionSync,
19576                 { "EncryptionSync", "h245.EncryptionSync", FT_NONE, BASE_NONE,
19577                 NULL, 0, "EncryptionSync sequence", HFILL }},
19578         { &hf_h245_MulticastAddress_iP6Address,
19579                 { "MulticastAddress_iP6Address", "h245.MulticastAddress_iP6Address", FT_NONE, BASE_NONE,
19580                 NULL, 0, "MulticastAddress_iP6Address sequence", HFILL }},
19581         { &hf_h245_MulticastAddress_iPAddress,
19582                 { "MulticastAddress_iPAddress", "h245.MulticastAddress_iPAddress", FT_NONE, BASE_NONE,
19583                 NULL, 0, "MulticastAddress_iPAddress sequence", HFILL }},
19584         { &hf_h245_UnicastAddress_iPSourceRouteAddress,
19585                 { "UnicastAddress_iPSourceRouteAddress", "h245.UnicastAddress_iPSourceRouteAddress", FT_NONE, BASE_NONE,
19586                 NULL, 0, "UnicastAddress_iPSourceRouteAddress sequence", HFILL }},
19587         { &hf_h245_UnicastAddress_iP6Address,
19588                 { "UnicastAddress_iP6Address", "h245.UnicastAddress_iP6Address", FT_NONE, BASE_NONE,
19589                 NULL, 0, "UnicastAddress_iP6Address sequence", HFILL }},
19590         { &hf_h245_UnicastAddress_iPXAddress,
19591                 { "UnicastAddress_iPXAddress", "h245.UnicastAddress_iPXAddress", FT_NONE, BASE_NONE,
19592                 NULL, 0, "UnicastAddress_iPXAddress sequence", HFILL }},
19593         { &hf_h245_UnicastAddress_iPAddress,
19594                 { "UnicastAddress_iPAddress", "h245.UnicastAddress_iPAddress", FT_NONE, BASE_NONE,
19595                 NULL, 0, "UnicastAddress_iPAddress sequence", HFILL }},
19596         { &hf_h245_FECData_rfc2733_mode_separateStream_samePort,
19597                 { "FECData_rfc2733_mode_separateStream_samePort", "h245.FECData_rfc2733_mode_separateStream_samePort", FT_NONE, BASE_NONE,
19598                 NULL, 0, "FECData_rfc2733_mode_separateStream_samePort sequence", HFILL }},
19599         { &hf_h245_FECData_rfc2733_mode_separateStream_differentPort,
19600                 { "FECData_rfc2733_mode_separateStream_differentPort", "h245.FECData_rfc2733_mode_separateStream_differentPort", FT_NONE, BASE_NONE,
19601                 NULL, 0, "FECData_rfc2733_mode_separateStream_differentPort sequence", HFILL }},
19602         { &hf_h245_FECData_rfc2733,
19603                 { "FECData_rfc2733", "h245.FECData_rfc2733", FT_NONE, BASE_NONE,
19604                 NULL, 0, "FECData_rfc2733 sequence", HFILL }},
19605         { &hf_h245_MultiplePayloadStreamElement,
19606                 { "MultiplePayloadStreamElement", "h245.MultiplePayloadStreamElement", FT_NONE, BASE_NONE,
19607                 NULL, 0, "MultiplePayloadStreamElement sequence", HFILL }},
19608         { &hf_h245_MultiplePayloadStream,
19609                 { "MultiplePayloadStream", "h245.MultiplePayloadStream", FT_NONE, BASE_NONE,
19610                 NULL, 0, "MultiplePayloadStream sequence", HFILL }},
19611         { &hf_h245_RedundancyEncodingElement,
19612                 { "RedundancyEncodingElement", "h245.RedundancyEncodingElement", FT_NONE, BASE_NONE,
19613                 NULL, 0, "RedundancyEncodingElement sequence", HFILL }},
19614         { &hf_h245_RedundancyEncoding_rtpRedundancyEncoding,
19615                 { "RedundancyEncoding_rtpRedundancyEncoding", "h245.RedundancyEncoding_rtpRedundancyEncoding", FT_NONE, BASE_NONE,
19616                 NULL, 0, "RedundancyEncoding_rtpRedundancyEncoding sequence", HFILL }},
19617         { &hf_h245_RedundancyEncoding,
19618                 { "RedundancyEncoding", "h245.RedundancyEncoding", FT_NONE, BASE_NONE,
19619                 NULL, 0, "RedundancyEncoding sequence", HFILL }},
19620         { &hf_h245_RTPPayloadType,
19621                 { "RTPPayloadType", "h245.RTPPayloadType", FT_NONE, BASE_NONE,
19622                 NULL, 0, "RTPPayloadType sequence", HFILL }},
19623         { &hf_h245_H2250LogicalChannelParameters,
19624                 { "H2250LogicalChannelParameters", "h245.H2250LogicalChannelParameters", FT_NONE, BASE_NONE,
19625                 NULL, 0, "H2250LogicalChannelParameters sequence", HFILL }},
19626         { &hf_h245_V76HDLCParameters,
19627                 { "V76HDLCParameters", "h245.V76HDLCParameters", FT_NONE, BASE_NONE,
19628                 NULL, 0, "V76HDLCParameters sequence", HFILL }},
19629         { &hf_h245_V76LogicalChannelParameters_mode_eRM,
19630                 { "V76LogicalChannelParameters_mode_eRM", "h245.V76LogicalChannelParameters_mode_eRM", FT_NONE, BASE_NONE,
19631                 NULL, 0, "V76LogicalChannelParameters_mode_eRM sequence", HFILL }},
19632         { &hf_h245_V76LogicalChannelParameters,
19633                 { "V76LogicalChannelParameters", "h245.V76LogicalChannelParameters", FT_NONE, BASE_NONE,
19634                 NULL, 0, "V76LogicalChannelParameters sequence", HFILL }},
19635         { &hf_h245_H223AnnexCArqParameters,
19636                 { "H223AnnexCArqParameters", "h245.H223AnnexCArqParameters", FT_NONE, BASE_NONE,
19637                 NULL, 0, "H223AnnexCArqParameters sequence", HFILL }},
19638         { &hf_h245_H223AL3MParameters,
19639                 { "H223AL3MParameters", "h245.H223AL3MParameters", FT_NONE, BASE_NONE,
19640                 NULL, 0, "H223AL3MParameters sequence", HFILL }},
19641         { &hf_h245_H223AL2MParameters,
19642                 { "H223AL2MParameters", "h245.H223AL2MParameters", FT_NONE, BASE_NONE,
19643                 NULL, 0, "H223AL2MParameters sequence", HFILL }},
19644         { &hf_h245_H223AL1MParameters,
19645                 { "H223AL1MParameters", "h245.H223AL1MParameters", FT_NONE, BASE_NONE,
19646                 NULL, 0, "H223AL1MParameters sequence", HFILL }},
19647         { &hf_h245_H223LogicalChannelParameters_adaptionLayerType_al3,
19648                 { "H223LogicalChannelParameters_adaptionLayerType_al3", "h245.H223LogicalChannelParameters_adaptionLayerType_al3", FT_NONE, BASE_NONE,
19649                 NULL, 0, "H223LogicalChannelParameters_adaptionLayerType_al3 sequence", HFILL }},
19650         { &hf_h245_H223LogicalChannelParameters,
19651                 { "H223LogicalChannelParameters", "h245.H223LogicalChannelParameters", FT_NONE, BASE_NONE,
19652                 NULL, 0, "H223LogicalChannelParameters sequence", HFILL }},
19653         { &hf_h245_H222LogicalChannelParameters,
19654                 { "H222LogicalChannelParameters", "h245.H222LogicalChannelParameters", FT_NONE, BASE_NONE,
19655                 NULL, 0, "H222LogicalChannelParameters sequence", HFILL }},
19656         { &hf_h245_MultiplexedStreamParameter,
19657                 { "MultiplexedStreamParameter", "h245.MultiplexedStreamParameter", FT_NONE, BASE_NONE,
19658                 NULL, 0, "MultiplexedStreamParameter sequence", HFILL }},
19659         { &hf_h245_H235Media,
19660                 { "H235Media", "h245.H235Media", FT_NONE, BASE_NONE,
19661                 NULL, 0, "H235Media sequence", HFILL }},
19662         { &hf_h245_V75Parameters,
19663                 { "V75Parameters", "h245.V75Parameters", FT_NONE, BASE_NONE,
19664                 NULL, 0, "V75Parameters sequence", HFILL }},
19665         { &hf_h245_Q2931Address,
19666                 { "Q2931Address", "h245.Q2931Address", FT_NONE, BASE_NONE,
19667                 NULL, 0, "Q2931Address sequence", HFILL }},
19668         { &hf_h245_NetworkAccessParameters,
19669                 { "NetworkAccessParameters", "h245.NetworkAccessParameters", FT_NONE, BASE_NONE,
19670                 NULL, 0, "NetworkAccessParameters sequence", HFILL }},
19671         { &hf_h245_reverseLogicalChannelParameters,
19672                 { "reverseLogicalChannelParameters", "h245.reverseLogicalChannelParameters", FT_NONE, BASE_NONE,
19673                 NULL, 0, "reverseLogicalChannelParameters sequence", HFILL }},
19674         { &hf_h245_forwardLogicalChannelParameters,
19675                 { "forwardLogicalChannelParameters", "h245.forwardLogicalChannelParameters", FT_NONE, BASE_NONE,
19676                 NULL, 0, "forwardLogicalChannelParameters sequence", HFILL }},
19677         { &hf_h245_OpenLogicalChannel,
19678                 { "OpenLogicalChannel", "h245.OpenLogicalChannel", FT_NONE, BASE_NONE,
19679                 NULL, 0, "OpenLogicalChannel sequence", HFILL }},
19680         { &hf_h245_FECCapability_rfc2733_separateStream,
19681                 { "FECCapability_rfc2733_separateStream", "h245.FECCapability_rfc2733_separateStream", FT_NONE, BASE_NONE,
19682                 NULL, 0, "FECCapability_rfc2733_separateStream sequence", HFILL }},
19683         { &hf_h245_FECCapability_rfc2733,
19684                 { "FECCapability_rfc2733", "h245.FECCapability_rfc2733", FT_NONE, BASE_NONE,
19685                 NULL, 0, "FECCapability_rfc2733 sequence", HFILL }},
19686         { &hf_h245_MultiplePayloadStreamCapability,
19687                 { "MultiplePayloadStreamCapability", "h245.MultiplePayloadStreamCapability", FT_NONE, BASE_NONE,
19688                 NULL, 0, "MultiplePayloadStreamCapability sequence", HFILL }},
19689         { &hf_h245_NoPTAudioToneCapability,
19690                 { "NoPTAudioToneCapability", "h245.NoPTAudioToneCapability", FT_NONE, BASE_NONE,
19691                 NULL, 0, "NoPTAudioToneCapability sequence", HFILL }},
19692         { &hf_h245_NoPTAudioTelephonyEventCapability,
19693                 { "NoPTAudioTelephonyEventCapability", "h245.NoPTAudioTelephonyEventCapability", FT_NONE, BASE_NONE,
19694                 NULL, 0, "NoPTAudioTelephonyEventCapability sequence", HFILL }},
19695         { &hf_h245_AudioToneCapability,
19696                 { "AudioToneCapability", "h245.AudioToneCapability", FT_NONE, BASE_NONE,
19697                 NULL, 0, "AudioToneCapability sequence", HFILL }},
19698         { &hf_h245_AudioTelephonyEventCapability,
19699                 { "AudioTelephonyEventCapability", "h245.AudioTelephonyEventCapability", FT_NONE, BASE_NONE,
19700                 NULL, 0, "AudioTelephonyEventCapability sequence", HFILL }},
19701         { &hf_h245_MultiplexedStreamCapability,
19702                 { "MultiplexedStreamCapability", "h245.MultiplexedStreamCapability", FT_NONE, BASE_NONE,
19703                 NULL, 0, "MultiplexedStreamCapability sequence", HFILL }},
19704         { &hf_h245_GenericParameter,
19705                 { "GenericParameter", "h245.GenericParameter", FT_NONE, BASE_NONE,
19706                 NULL, 0, "GenericParameter sequence", HFILL }},
19707         { &hf_h245_GenericCapability,
19708                 { "GenericCapability", "h245.GenericCapability", FT_NONE, BASE_NONE,
19709                 NULL, 0, "GenericCapability sequence", HFILL }},
19710         { &hf_h245_ConferenceCapability,
19711                 { "ConferenceCapability", "h245.ConferenceCapability", FT_NONE, BASE_NONE,
19712                 NULL, 0, "ConferenceCapability sequence", HFILL }},
19713         { &hf_h245_IntegrityCapability,
19714                 { "IntegrityCapability", "h245.IntegrityCapability", FT_NONE, BASE_NONE,
19715                 NULL, 0, "IntegrityCapability sequence", HFILL }},
19716         { &hf_h245_AuthenticationCapability,
19717                 { "AuthenticationCapability", "h245.AuthenticationCapability", FT_NONE, BASE_NONE,
19718                 NULL, 0, "AuthenticationCapability sequence", HFILL }},
19719         { &hf_h245_EncryptionAuthenticationAndIntegrity,
19720                 { "EncryptionAuthenticationAndIntegrity", "h245.EncryptionAuthenticationAndIntegrity", FT_NONE, BASE_NONE,
19721                 NULL, 0, "EncryptionAuthenticationAndIntegrity sequence", HFILL }},
19722         { &hf_h245_T38FaxTcpOptions,
19723                 { "T38FaxTcpOptions", "h245.T38FaxTcpOptions", FT_NONE, BASE_NONE,
19724                 NULL, 0, "T38FaxTcpOptions sequence", HFILL }},
19725         { &hf_h245_T38FaxUdpOptions,
19726                 { "T38FaxUdpOptions", "h245.T38FaxUdpOptions", FT_NONE, BASE_NONE,
19727                 NULL, 0, "T38FaxUdpOptions sequence", HFILL }},
19728         { &hf_h245_T38FaxProfile,
19729                 { "T38FaxProfile", "h245.T38FaxProfile", FT_NONE, BASE_NONE,
19730                 NULL, 0, "T38FaxProfile sequence", HFILL }},
19731         { &hf_h245_T84Profile_t84Restricted,
19732                 { "T84Profile_t84Restricted", "h245.T84Profile_t84Restricted", FT_NONE, BASE_NONE,
19733                 NULL, 0, "T84Profile_t84Restricted sequence", HFILL }},
19734         { &hf_h245_V42bis,
19735                 { "V42bis", "h245.V42bis", FT_NONE, BASE_NONE,
19736                 NULL, 0, "V42bis sequence", HFILL }},
19737         { &hf_h245_DataApplicationCapability_application_t38fax,
19738                 { "DataApplicationCapability_application_t38fax", "h245.DataApplicationCapability_application_t38fax", FT_NONE, BASE_NONE,
19739                 NULL, 0, "DataApplicationCapability_application_t38fax sequence", HFILL }},
19740         { &hf_h245_DataApplicationCapability_application_nlpid,
19741                 { "DataApplicationCapability_application_nlpid", "h245.DataApplicationCapability_application_nlpid", FT_NONE, BASE_NONE,
19742                 NULL, 0, "DataApplicationCapability_application_nlpid sequence", HFILL }},
19743         { &hf_h245_DataApplicationCapability_application_t84,
19744                 { "DataApplicationCapability_application_t84", "h245.DataApplicationCapability_application_t84", FT_NONE, BASE_NONE,
19745                 NULL, 0, "DataApplicationCapability_application_t84 sequence", HFILL }},
19746         { &hf_h245_DataApplicationCapability,
19747                 { "DataApplicationCapability", "h245.DataApplicationCapability", FT_NONE, BASE_NONE,
19748                 NULL, 0, "DataApplicationCapability sequence", HFILL }},
19749         { &hf_h245_VBDCapability,
19750                 { "VBDCapability", "h245.VBDCapability", FT_NONE, BASE_NONE,
19751                 NULL, 0, "VBDCapability sequence", HFILL }},
19752         { &hf_h245_GSMAudioCapability,
19753                 { "GSMAudioCapability", "h245.GSMAudioCapability", FT_NONE, BASE_NONE,
19754                 NULL, 0, "GSMAudioCapability sequence", HFILL }},
19755         { &hf_h245_IS13818AudioCapability,
19756                 { "IS13818AudioCapability", "h245.IS13818AudioCapability", FT_NONE, BASE_NONE,
19757                 NULL, 0, "IS13818AudioCapability sequence", HFILL }},
19758         { &hf_h245_IS11172AudioCapability,
19759                 { "IS11172AudioCapability", "h245.IS11172AudioCapability", FT_NONE, BASE_NONE,
19760                 NULL, 0, "IS11172AudioCapability sequence", HFILL }},
19761         { &hf_h245_G7231AnnexCCapability_g723AnnexCAudioMode,
19762                 { "G7231AnnexCCapability_g723AnnexCAudioMode", "h245.G7231AnnexCCapability_g723AnnexCAudioMode", FT_NONE, BASE_NONE,
19763                 NULL, 0, "G7231AnnexCCapability_g723AnnexCAudioMode sequence", HFILL }},
19764         { &hf_h245_G7231AnnexCCapability,
19765                 { "G7231AnnexCCapability", "h245.G7231AnnexCCapability", FT_NONE, BASE_NONE,
19766                 NULL, 0, "G7231AnnexCCapability sequence", HFILL }},
19767         { &hf_h245_G729Extensions,
19768                 { "G729Extensions", "h245.G729Extensions", FT_NONE, BASE_NONE,
19769                 NULL, 0, "G729Extensions sequence", HFILL }},
19770         { &hf_h245_AudioCapability_g7231,
19771                 { "AudioCapability_g7231", "h245.AudioCapability_g7231", FT_NONE, BASE_NONE,
19772                 NULL, 0, "AudioCapability_g7231 sequence", HFILL }},
19773         { &hf_h245_IS11172VideoCapability,
19774                 { "IS11172VideoCapability", "h245.IS11172VideoCapability", FT_NONE, BASE_NONE,
19775                 NULL, 0, "IS11172VideoCapability sequence", HFILL }},
19776         { &hf_h245_H263Version3Options,
19777                 { "H263Version3Options", "h245.H263Version3Options", FT_NONE, BASE_NONE,
19778                 NULL, 0, "H263Version3Options sequence", HFILL }},
19779         { &hf_h245_H263ModeComboFlags,
19780                 { "H263ModeComboFlags", "h245.H263ModeComboFlags", FT_NONE, BASE_NONE,
19781                 NULL, 0, "H263ModeComboFlags sequence", HFILL }},
19782         { &hf_h245_H263VideoModeCombos,
19783                 { "H263VideoModeCombos", "h245.H263VideoModeCombos", FT_NONE, BASE_NONE,
19784                 NULL, 0, "H263VideoModeCombos sequence", HFILL }},
19785         { &hf_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR,
19786                 { "CustomPictureFormat_pixelAspectInformation_extendedPAR", "h245.CustomPictureFormat_pixelAspectInformation_extendedPAR", FT_NONE, BASE_NONE,
19787                 NULL, 0, "CustomPictureFormat_pixelAspectInformation_extendedPAR sequence", HFILL }},
19788         { &hf_h245_CustomPictureFormat_mPI_customPCF,
19789                 { "CustomPictureFormat_mPI_customPCF", "h245.CustomPictureFormat_mPI_customPCF", FT_NONE, BASE_NONE,
19790                 NULL, 0, "CustomPictureFormat_mPI_customPCF sequence", HFILL }},
19791         { &hf_h245_CustomPictureFormat_mPI,
19792                 { "CustomPictureFormat_mPI", "h245.CustomPictureFormat_mPI", FT_NONE, BASE_NONE,
19793                 NULL, 0, "CustomPictureFormat_mPI sequence", HFILL }},
19794         { &hf_h245_CustomPictureFormat,
19795                 { "CustomPictureFormat", "h245.CustomPictureFormat", FT_NONE, BASE_NONE,
19796                 NULL, 0, "CustomPictureFormat sequence", HFILL }},
19797         { &hf_h245_CustomPictureClockFrequency,
19798                 { "CustomPictureClockFrequency", "h245.CustomPictureClockFrequency", FT_NONE, BASE_NONE,
19799                 NULL, 0, "CustomPictureClockFrequency sequence", HFILL }},
19800         { &hf_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters,
19801                 { "RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters", "h245.RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters", FT_NONE, BASE_NONE,
19802                 NULL, 0, "RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters sequence", HFILL }},
19803         { &hf_h245_RefPictureSelection_enhancedReferencePicSelect,
19804                 { "RefPictureSelection_enhancedReferencePicSelect", "h245.RefPictureSelection_enhancedReferencePicSelect", FT_NONE, BASE_NONE,
19805                 NULL, 0, "RefPictureSelection_enhancedReferencePicSelect sequence", HFILL }},
19806         { &hf_h245_RefPictureSelection_additionalPictureMemory,
19807                 { "RefPictureSelection_additionalPictureMemory", "h245.RefPictureSelection_additionalPictureMemory", FT_NONE, BASE_NONE,
19808                 NULL, 0, "RefPictureSelection_additionalPictureMemory sequence", HFILL }},
19809         { &hf_h245_RefPictureSelection,
19810                 { "RefPictureSelection", "h245.RefPictureSelection", FT_NONE, BASE_NONE,
19811                 NULL, 0, "RefPictureSelection sequence", HFILL }},
19812         { &hf_h245_TransperencyParameters,
19813                 { "TransperencyParameters", "h245.TransperencyParameters", FT_NONE, BASE_NONE,
19814                 NULL, 0, "TransperencyParameters sequence", HFILL }},
19815         { &hf_h245_H263Options,
19816                 { "H263Options", "h245.H263Options", FT_NONE, BASE_NONE,
19817                 NULL, 0, "H263Options sequence", HFILL }},
19818         { &hf_h245_EnhancementOptions,
19819                 { "EnhancementOptions", "h245.EnhancementOptions", FT_NONE, BASE_NONE,
19820                 NULL, 0, "EnhancementOptions sequence", HFILL }},
19821         { &hf_h245_BEnhancementParameters,
19822                 { "BEnhancementParameters", "h245.BEnhancementParameters", FT_NONE, BASE_NONE,
19823                 NULL, 0, "BEnhancementParameters sequence", HFILL }},
19824         { &hf_h245_EnhancementLayerInfo,
19825                 { "EnhancementLayerInfo", "h245.EnhancementLayerInfo", FT_NONE, BASE_NONE,
19826                 NULL, 0, "EnhancementLayerInfo sequence", HFILL }},
19827         { &hf_h245_H263VideoCapability,
19828                 { "H263VideoCapability", "h245.H263VideoCapability", FT_NONE, BASE_NONE,
19829                 NULL, 0, "H263VideoCapability sequence", HFILL }},
19830         { &hf_h245_H262VideoCapability,
19831                 { "H262VideoCapability", "h245.H262VideoCapability", FT_NONE, BASE_NONE,
19832                 NULL, 0, "H262VideoCapability sequence", HFILL }},
19833         { &hf_h245_H261VideoCapability,
19834                 { "H261VideoCapability", "h245.H261VideoCapability", FT_NONE, BASE_NONE,
19835                 NULL, 0, "H261VideoCapability sequence", HFILL }},
19836         { &hf_h245_MediaDistributionCapability,
19837                 { "MediaDistributionCapability", "h245.MediaDistributionCapability", FT_NONE, BASE_NONE,
19838                 NULL, 0, "MediaDistributionCapability sequence", HFILL }},
19839         { &hf_h245_MultipointCapability,
19840                 { "MultipointCapability", "h245.MultipointCapability", FT_NONE, BASE_NONE,
19841                 NULL, 0, "MultipointCapability sequence", HFILL }},
19842         { &hf_h245_receiveMultipointCapability,
19843                 { "receiveMultipointCapability", "h245.receiveMultipointCapability", FT_NONE, BASE_NONE,
19844                 NULL, 0, "Receive MultipointCapability sequence", HFILL }},
19845         { &hf_h245_transmitMultipointCapability,
19846                 { "transmitMultipointCapability", "h245.transmitMultipointCapability", FT_NONE, BASE_NONE,
19847                 NULL, 0, "Transmit MultipointCapability sequence", HFILL }},
19848         { &hf_h245_receiveAndTransmitMultipointCapability,
19849                 { "receiveAndTransmitMultipointCapability", "h245.receiveAndTransmitMultipointCapability", FT_NONE, BASE_NONE,
19850                 NULL, 0, "Receive And Transmit MultipointCapability sequence", HFILL }},
19851         { &hf_h245_RTPH263VideoRedundancyFrameMapping,
19852                 { "RTPH263VideoRedundancyFrameMapping", "h245.RTPH263VideoRedundancyFrameMapping", FT_NONE, BASE_NONE,
19853                 NULL, 0, "RTPH263VideoRedundancyFrameMapping sequence", HFILL }},
19854         { &hf_h245_RTPH263VideoRedundancyEncoding,
19855                 { "RTPH263VideoRedundancyEncoding", "h245.RTPH263VideoRedundancyEncoding", FT_NONE, BASE_NONE,
19856                 NULL, 0, "RTPH263VideoRedundancyEncoding sequence", HFILL }},
19857         { &hf_h245_RedundancyEncodingCapability,
19858                 { "RedundancyEncodingCapability", "h245.RedundancyEncodingCapability", FT_NONE, BASE_NONE,
19859                 NULL, 0, "RedundancyEncodingCapability sequence", HFILL }},
19860         { &hf_h245_TransportCapability,
19861                 { "TransportCapability", "h245.TransportCapability", FT_NONE, BASE_NONE,
19862                 NULL, 0, "TransportCapability sequence", HFILL }},
19863         { &hf_h245_MediaChannelCapability,
19864                 { "MediaChannelCapability", "h245.MediaChannelCapability", FT_NONE, BASE_NONE,
19865                 NULL, 0, "MediaChannelCapability sequence", HFILL }},
19866         { &hf_h245_MediaTransportType_AtmAAL5Compressed,
19867                 { "MediaTransportType_AtmAAL5Compressed", "h245.MediaTransportType_AtmAAL5Compressed", FT_NONE, BASE_NONE,
19868                 NULL, 0, "MediaTransportType_AtmAAL5Compressed sequence", HFILL }},
19869         { &hf_h245_QOSCapability,
19870                 { "QOSCapability", "h245.QOSCapability", FT_NONE, BASE_NONE,
19871                 NULL, 0, "QOSCapability sequence", HFILL }},
19872         { &hf_h245_ATMParameters,
19873                 { "ATMParameters", "h245.ATMParameters", FT_NONE, BASE_NONE,
19874                 NULL, 0, "ATMParameters sequence", HFILL }},
19875         { &hf_h245_RSVPParameters,
19876                 { "RSVPParameters", "h245.RSVPParameters", FT_NONE, BASE_NONE,
19877                 NULL, 0, "RSVPParameters sequence", HFILL }},
19878         { &hf_h245_MediaPacketizationCapability,
19879                 { "MediaPacketizationCapability", "h245.MediaPacketizationCapability", FT_NONE, BASE_NONE,
19880                 NULL, 0, "MediaPacketizationCapability sequence", HFILL }},
19881         { &hf_h245_H2250Capability_mcCapability,
19882                 { "H2250Capability_mcCapability", "h245.H2250Capability_mcCapability", FT_NONE, BASE_NONE,
19883                 NULL, 0, "H2250Capability_mcCapability sequence", HFILL }},
19884         { &hf_h245_H2250Capability,
19885                 { "H2250Capability", "h245.H2250Capability", FT_NONE, BASE_NONE,
19886                 NULL, 0, "H2250Capability sequence", HFILL }},
19887         { &hf_h245_V75Capability,
19888                 { "V75Capability", "h245.V75Capability", FT_NONE, BASE_NONE,
19889                 NULL, 0, "V75Capability sequence", HFILL }},
19890         { &hf_h245_V76Capability,
19891                 { "V76Capability", "h245.V76Capability", FT_NONE, BASE_NONE,
19892                 NULL, 0, "V76Capability sequence", HFILL }},
19893         { &hf_h245_H223AnnexCCapability,
19894                 { "H223AnnexCCapability", "h245.H223AnnexCCapability", FT_NONE, BASE_NONE,
19895                 NULL, 0, "H223AnnexCCapability sequence", HFILL }},
19896         { &hf_h245_H223Capability_mobileMultilinkFrameCapability,
19897                 { "H223Capability_mobileMultilinkFrameCapability", "h245.H223Capability_mobileMultilinkFrameCapability", FT_NONE, BASE_NONE,
19898                 NULL, 0, "H223Capability_mobileMultilinkFrameCapability sequence", HFILL }},
19899         { &hf_h245_H223Capability_mobileOperationTransmitCapability,
19900                 { "H223Capability_mobileOperationTransmitCapability", "h245.H223Capability_mobileOperationTransmitCapability", FT_NONE, BASE_NONE,
19901                 NULL, 0, "H223Capability_mobileOperationTransmitCapability sequence", HFILL }},
19902         { &hf_h245_H223Capability_h223MultiplexTableCapability_enhanced,
19903                 { "H223Capability_h223MultiplexTableCapability_enhanced", "h245.H223Capability_h223MultiplexTableCapability_enhanced", FT_NONE, BASE_NONE,
19904                 NULL, 0, "H223Capability_h223MultiplexTableCapability_enhanced sequence", HFILL }},
19905         { &hf_h245_H223Capability,
19906                 { "H223Capability", "h245.H223Capability", FT_NONE, BASE_NONE,
19907                 NULL, 0, "H223Capability sequence", HFILL }},
19908         { &hf_h245_VCCapability_aal1ViaGateway,
19909                 { "VCCapability_aal1ViaGateway", "h245.VCCapability_aal1ViaGateway", FT_NONE, BASE_NONE,
19910                 NULL, 0, "VCCapability_aal1ViaGateway sequence", HFILL }},
19911         { &hf_h245_VCCapability_availableBitRates_rangeOfBitRates,
19912                 { "VCCapability_availableBitRates_rangeOfBitRates", "h245.VCCapability_availableBitRates_rangeOfBitRates", FT_NONE, BASE_NONE,
19913                 NULL, 0, "VCCapability_availableBitRates_rangeOfBitRates sequence", HFILL }},
19914         { &hf_h245_VCCapability_availableBitRates,
19915                 { "VCCapability_availableBitRates", "h245.VCCapability_availableBitRates", FT_NONE, BASE_NONE,
19916                 NULL, 0, "VCCapability_availableBitRates sequence", HFILL }},
19917         { &hf_h245_VCCapability_aal5,
19918                 { "VCCapability_aal5", "h245.VCCapability_aal5", FT_NONE, BASE_NONE,
19919                 NULL, 0, "VCCapability_aal5 sequence", HFILL }},
19920         { &hf_h245_VCCapability_aal1,
19921                 { "VCCapability_aal1", "h245.VCCapability_aal1", FT_NONE, BASE_NONE,
19922                 NULL, 0, "VCCapability_aal1 sequence", HFILL }},
19923         { &hf_h245_VCCapability,
19924                 { "VCCapability", "h245.VCCapability", FT_NONE, BASE_NONE,
19925                 NULL, 0, "VCCapability sequence", HFILL }},
19926         { &hf_h245_H222Capability,
19927                 { "H222Capability", "h245.H222Capability", FT_NONE, BASE_NONE,
19928                 NULL, 0, "H222Capability sequence", HFILL }},
19929         { &hf_h245_H235SecurityCapability,
19930                 { "H235SecurityCapability", "h245.H235SecurityCapability", FT_NONE, BASE_NONE,
19931                 NULL, 0, "H235SecurityCapability sequence", HFILL }},
19932         { &hf_h245_Capability_h233EncryptionReceiveCapability,
19933                 { "Capability_h233EncryptionReceiveCapability", "h245.Capability_h233EncryptionReceiveCapability", FT_NONE, BASE_NONE,
19934                 NULL, 0, "Capability_h233EncryptionReceiveCapability sequence", HFILL }},
19935         { &hf_h245_TerminalCapabilitySetRelease,
19936                 { "TerminalCapabilitySetRelease", "h245.TerminalCapabilitySetRelease", FT_NONE, BASE_NONE,
19937                 NULL, 0, "TerminalCapabilitySetRelease sequence", HFILL }},
19938         { &hf_h245_TerminalCapabilitySetReject,
19939                 { "TerminalCapabilitySetReject", "h245.TerminalCapabilitySetReject", FT_NONE, BASE_NONE,
19940                 NULL, 0, "TerminalCapabilitySetReject sequence", HFILL }},
19941         { &hf_h245_TerminalCapabilitySetAck,
19942                 { "TerminalCapabilitySetAck", "h245.TerminalCapabilitySetAck", FT_NONE, BASE_NONE,
19943                 NULL, 0, "TerminalCapabilitySetAck sequence", HFILL }},
19944         { &hf_h245_CapabilityDescriptor,
19945                 { "CapabilityDescriptor", "h245.CapabilityDescriptor", FT_NONE, BASE_NONE,
19946                 NULL, 0, "CapabilityDescriptor sequence", HFILL }},
19947         { &hf_h245_CapabilityTableEntry,
19948                 { "CapabilityTableEntry", "h245.CapabilityTableEntry", FT_NONE, BASE_NONE,
19949                 NULL, 0, "CapabilityTableEntry sequence", HFILL }},
19950         { &hf_h245_TerminalCapabilitySet,
19951                 { "TerminalCapabilitySet", "h245.TerminalCapabilitySet", FT_NONE, BASE_NONE,
19952                 NULL, 0, "TerminalCapabilitySet sequence", HFILL }},
19953         { &hf_h245_MasterSlaveDeterminationRelease,
19954                 { "MasterSlaveDeterminationRelease", "h245.MasterSlaveDeterminationRelease", FT_NONE, BASE_NONE,
19955                 NULL, 0, "MasterSlaveDeterminationRelease sequence", HFILL }},
19956         { &hf_h245_MasterSlaveDeterminationReject,
19957                 { "MasterSlaveDeterminationReject", "h245.MasterSlaveDeterminationReject", FT_NONE, BASE_NONE,
19958                 NULL, 0, "MasterSlaveDeterminationReject sequence", HFILL }},
19959         { &hf_h245_MasterSlaveDeterminationAck,
19960                 { "MasterSlaveDeterminationAck", "h245.MasterSlaveDeterminationAck", FT_NONE, BASE_NONE,
19961                 NULL, 0, "MasterSlaveDeterminationAck sequence", HFILL }},
19962         { &hf_h245_MasterSlaveDetermination,
19963                 { "MasterSlaveDetermination", "h245.MasterSlaveDetermination", FT_NONE, BASE_NONE,
19964                 NULL, 0, "MasterSlaveDetermination sequence", HFILL }},
19965         { &hf_h245_h221NonStandard,
19966                 { "h221NonStandard", "h245.h221NonStandard", FT_NONE, BASE_NONE,
19967                 NULL, 0, "h221NonStandard sequence", HFILL }},
19968         { &hf_h245_NonStandardParameter,
19969                 { "NonStandardParameter", "h245.NonStandardParameter", FT_NONE, BASE_NONE,
19970                 NULL, 0, "NonStandardParameter sequence", HFILL }},
19971         { &hf_h245_NonStandardMessage,
19972                 { "NonStandardMessage", "h245.NonStandardMessage", FT_NONE, BASE_NONE,
19973                 NULL, 0, "NonStandardMessage sequence", HFILL }},
19974         { &hf_h245_FlowControlIndication_restriction,
19975                 { "FlowControlIndication_restriction", "h245.FlowControlIndication_restriction_type", FT_UINT32, BASE_DEC,
19976                 VALS(FlowControlIndication_restriction_vals), 0, "FlowControlIndication_restriction choice", HFILL }},
19977         { &hf_h245_FlowControlIndication_scope,
19978                 { "FlowControlIndication_scope", "h245.FlowControlIndication_scope_type", FT_UINT32, BASE_DEC,
19979                 VALS(FlowControlIndication_scope_vals), 0, "FlowControlIndication_scope choice", HFILL }},
19980         { &hf_h245_UserInputIndication_userInputSupportIndication,
19981                 { "UserInputIndication_userInputSupportIndication type", "h245.UserInputIndication_userInputSupportIndication_type", FT_UINT32, BASE_DEC,
19982                 VALS(UserInputIndication_userInputSupportIndication_vals), 0, "Type of UserInputIndication_userInputSupportIndication choice", HFILL }},
19983         { &hf_h245_UserInputIndication,
19984                 { "UserInputIndication type", "h245.UserInputIndication_type", FT_UINT32, BASE_DEC,
19985                 VALS(UserInputIndication_vals), 0, "Type of UserInputIndication choice", HFILL }},
19986         { &hf_h245_NewATMVCIndication_reverseParameters_multiplex,
19987                 { "NewATMVCIndication_reverseParameters_multiplex type", "h245.NewATMVCIndication_reverseParameters_multiplex_type", FT_UINT32, BASE_DEC,
19988                 VALS(NewATMVCIndication_reverseParameters_multiplex_vals), 0, "Type of NewATMVCIndication_reverseParameters_multiplex choice", HFILL }},
19989         { &hf_h245_NewATMVCIndication_multiplex,
19990                 { "NewATMVCIndication_multiplex type", "h245.NewATMVCIndication_multiplex_type", FT_UINT32, BASE_DEC,
19991                 VALS(NewATMVCIndication_multiplex_vals), 0, "Type of NewATMVCIndication_multiplex choice", HFILL }},
19992         { &hf_h245_NewATMVCIndication_aal_aal1_errorCorrection,
19993                 { "NewATMVCIndication_aal_aal1_errorCorrection type", "h245.NewATMVCIndication_aal_aal1_errorCorrection_type", FT_UINT32, BASE_DEC,
19994                 VALS(NewATMVCIndication_aal_aal1_errorCorrection_vals), 0, "Type of NewATMVCIndication_aal_aal1_errorCorrection choice", HFILL }},
19995         { &hf_h245_NewATMVCIndication_aal_aal1_clockRecovery,
19996                 { "NewATMVCIndication_aal_aal1_clockRecovery type", "h245.NewATMVCIndication_aal_aal1_clockRecovery_type", FT_UINT32, BASE_DEC,
19997                 VALS(NewATMVCIndication_aal_aal1_clockRecovery_vals), 0, "Type of NewATMVCIndication_aal_aal1_clockRecovery choice", HFILL }},
19998         { &hf_h245_NewATMVCIndication_aal,
19999                 { "NewATMVCIndication_aal type", "h245.NewATMVCIndication_aal_type", FT_UINT32, BASE_DEC,
20000                 VALS(NewATMVCIndication_aal_vals), 0, "Type of NewATMVCIndication_aal choice", HFILL }},
20001         { &hf_h245_JitterIndication_scope,
20002                 { "JitterIndication_scope type", "h245.JitterIndication_scope_type", FT_UINT32, BASE_DEC,
20003                 VALS(JitterIndication_scope_vals), 0, "Type of JitterIndication_scope choice", HFILL }},
20004         { &hf_h245_MiscellaneousIndication_type,
20005                 { "MiscellaneousIndication_type type", "h245.MiscellaneousIndication_type_type", FT_UINT32, BASE_DEC,
20006                 VALS(MiscellaneousIndication_type_vals), 0, "Type of MiscellaneousIndication_type choice", HFILL }},
20007         { &hf_h245_ConferenceIndication,
20008                 { "ConferenceIndication type", "h245.ConferenceIndication_type", FT_UINT32, BASE_DEC,
20009                 VALS(ConferenceIndication_vals), 0, "Type of ConferenceIndication choice", HFILL }},
20010         { &hf_h245_FunctionNotSupported_cause,
20011                 { "FunctionNotSupported_cause type", "h245.FunctionNotSupported_cause_type", FT_UINT32, BASE_DEC,
20012                 VALS(FunctionNotSupported_cause_vals), 0, "Type of FunctionNotSupported_cause choice", HFILL }},
20013         { &hf_h245_FunctionNotUnderstood,
20014                 { "FunctionNotUnderstood type", "h245.FunctionNotUnderstood_type", FT_UINT32, BASE_DEC,
20015                 VALS(FunctionNotUnderstood_vals), 0, "Type of FunctionNotUnderstood choice", HFILL }},
20016         { &hf_h245_MobileMultilinkReconfigurationCommand_status,
20017                 { "MobileMultilinkReconfigurationCommand_status type", "h245.MobileMultilinkReconfigurationCommand_status_type", FT_UINT32, BASE_DEC,
20018                 VALS(MobileMultilinkReconfigurationCommand_status_vals), 0, "Type of MobileMultilinkReconfigurationCommand_status choice", HFILL }},
20019         { &hf_h245_NewATMVCCommand_reverseParameters_multiplex,
20020                 { "NewATMVCCommand_reverseParameters_multiplex type", "h245.NewATMVCCommand_reverseParameters_multiplex_type", FT_UINT32, BASE_DEC,
20021                 VALS(NewATMVCCommand_reverseParameters_multiplex_vals), 0, "Type of NewATMVCCommand_reverseParameters_multiplex choice", HFILL }},
20022         { &hf_h245_NewATMVCCommand_multiplex,
20023                 { "NewATMVCCommand_multiplex type", "h245.NewATMVCCommand_multiplex_type", FT_UINT32, BASE_DEC,
20024                 VALS(NewATMVCCommand_multiplex_vals), 0, "Type of NewATMVCCommand_multiplex choice", HFILL }},
20025         { &hf_h245_NewATMVCCommand_aal_aal1_errorCorrection,
20026                 { "NewATMVCCommand_aal_aal1_errorCorrection type", "h245.NewATMVCCommand_aal_aal1_errorCorrection_type", FT_UINT32, BASE_DEC,
20027                 VALS(NewATMVCCommand_aal_aal1_errorCorrection_vals), 0, "Type of NewATMVCCommand_aal_aal1_errorCorrection choice", HFILL }},
20028         { &hf_h245_NewATMVCCommand_aal_aal1_clockRecovery,
20029                 { "NewATMVCCommand_aal_aal1_clockRecovery type", "h245.NewATMVCCommand_aal_aal1_clockRecovery_type", FT_UINT32, BASE_DEC,
20030                 VALS(NewATMVCCommand_aal_aal1_clockRecovery_vals), 0, "Type of NewATMVCCommand_aal_aal1_clockRecovery choice", HFILL }},
20031         { &hf_h245_NewATMVCCommand_aal,
20032                 { "NewATMVCCommand_aal type", "h245.NewATMVCCommand_aal_type", FT_UINT32, BASE_DEC,
20033                 VALS(NewATMVCCommand_aal_vals), 0, "Type of NewATMVCCommand_aal choice", HFILL }},
20034         { &hf_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag,
20035                 { "H223MultiplexReconfiguration_h223AnnexADoubleFlag type", "h245.H223MultiplexReconfiguration_h223AnnexADoubleFlag_type", FT_UINT32, BASE_DEC,
20036                 VALS(H223MultiplexReconfiguration_h223AnnexADoubleFlag_vals), 0, "Type of H223MultiplexReconfiguration_h223AnnexADoubleFlag choice", HFILL }},
20037         { &hf_h245_H223MultiplexReconfiguration_h223ModeChange,
20038                 { "H223MultiplexReconfiguration_h223ModeChange type", "h245.H223MultiplexReconfiguration_h223ModeChange_type", FT_UINT32, BASE_DEC,
20039                 VALS(H223MultiplexReconfiguration_h223ModeChange_vals), 0, "Type of H223MultiplexReconfiguration_h223ModeChange choice", HFILL }},
20040         { &hf_h245_H223MultiplexReconfiguration,
20041                 { "H223MultiplexReconfiguration type", "h245.H223MultiplexReconfiguration_type", FT_UINT32, BASE_DEC,
20042                 VALS(H223MultiplexReconfiguration_vals), 0, "Type of H223MultiplexReconfiguration choice", HFILL }},
20043         { &hf_h245_PictureReference,
20044                 { "PictureReference type", "h245.PictureReference_type", FT_UINT32, BASE_DEC,
20045                 VALS(PictureReference_vals), 0, "Type of PictureReference choice", HFILL }},
20046         { &hf_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount,
20047                 { "MiscellaneousCommand_type_progressiveRefinementStart_repeatCount type", "h245.MiscellaneousCommand_type_progressiveRefinementStart_repeatCount_type", FT_UINT32, BASE_DEC,
20048                 VALS(MiscellaneousCommand_type_progressiveRefinementStart_repeatCount_vals), 0, "Type of MiscellaneousCommand_type_progressiveRefinementStart_repeatCount choice", HFILL }},
20049         { &hf_h245_MiscellaneousCommand_type,
20050                 { "MiscellaneousCommand_type type", "h245.MiscellaneousCommand_type_type", FT_UINT32, BASE_DEC,
20051                 VALS(MiscellaneousCommand_type_vals), 0, "Type of MiscellaneousCommand_type choice", HFILL }},
20052         { &hf_h245_ConferenceCommand,
20053                 { "ConferenceCommand type", "h245.ConferenceCommand_type", FT_UINT32, BASE_DEC,
20054                 VALS(ConferenceCommand_vals), 0, "Type of ConferenceCommand choice", HFILL }},
20055         { &hf_h245_EndSessionCommand_gstnOptions,
20056                 { "EndSessionCommand_gstnOptions type", "h245.EndSessionCommand_gstnOptions_type", FT_UINT32, BASE_DEC,
20057                 VALS(EndSessionCommand_gstnOptions_vals), 0, "Type of EndSessionCommand_gstnOptions choice", HFILL }},
20058         { &hf_h245_EndSessionCommand_isdnOptions,
20059                 { "EndSessionCommand_isdnOptions type", "h245.EndSessionCommand_isdnOptions_type", FT_UINT32, BASE_DEC,
20060                 VALS(EndSessionCommand_isdnOptions_vals), 0, "Type of EndSessionCommand_isdnOptions choice", HFILL }},
20061         { &hf_h245_FlowControlCommand_restriction,
20062                 { "FlowControlCommand_restriction type", "h245.FlowControlCommand_restriction_type", FT_UINT32, BASE_DEC,
20063                 VALS(FlowControlCommand_restriction_vals), 0, "Type of FlowControlCommand_restriction choice", HFILL }},
20064         { &hf_h245_FlowControlCommand_scope,
20065                 { "FlowControlCommand_scope type", "h245.FlowControlCommand_scope_type", FT_UINT32, BASE_DEC,
20066                 VALS(FlowControlCommand_scope_vals), 0, "Type of FlowControlCommand_scope choice", HFILL }},
20067         { &hf_h245_EncryptionCommand,
20068                 { "EncryptionCommand type", "h245.EncryptionCommand_type", FT_UINT32, BASE_DEC,
20069                 VALS(EncryptionCommand_vals), 0, "Type of EncryptionCommand choice", HFILL }},
20070         { &hf_h245_SendTerminalCapabilitySet,
20071                 { "SendTerminalCapabilitySet type", "h245.SendTerminalCapabilitySet_type", FT_UINT32, BASE_DEC,
20072                 VALS(SendTerminalCapabilitySet_vals), 0, "Type of SendTerminalCapabilitySet choice", HFILL }},
20073         { &hf_h245_LogicalChannelRateRejectReason,
20074                 { "LogicalChannelRateRejectReason type", "h245.LogicalChannelRateRejectReason_type", FT_UINT32, BASE_DEC,
20075                 VALS(LogicalChannelRateRejectReason_vals), 0, "Type of LogicalChannelRateRejectReason choice", HFILL }},
20076         { &hf_h245_DialingInformationNetworkType,
20077                 { "DialingInformationNetworkType type", "h245.DialingInformationNetworkType_type", FT_UINT32, BASE_DEC,
20078                 VALS(DialingInformationNetworkType_vals), 0, "Type of DialingInformationNetworkType choice", HFILL }},
20079         { &hf_h245_DialingInformation,
20080                 { "DialingInformation type", "h245.DialingInformation_type", FT_UINT32, BASE_DEC,
20081                 VALS(DialingInformation_vals), 0, "Type of DialingInformation choice", HFILL }},
20082         { &hf_h245_MultilinkIndication,
20083                 { "MultilinkIndication type", "h245.MultilinkIndication_type", FT_UINT32, BASE_DEC,
20084                 VALS(MultilinkIndication_vals), 0, "Type of MultilinkIndication choice", HFILL }},
20085         { &hf_h245_MultilinkResponse_addConnection_responseCode_rejected,
20086                 { "MultilinkResponse_addConnection_responseCode_rejected type", "h245.MultilinkResponse_addConnection_responseCode_rejected_type", FT_UINT32, BASE_DEC,
20087                 VALS(MultilinkResponse_addConnection_responseCode_rejected_vals), 0, "Type of MultilinkResponse_addConnection_responseCode_rejected choice", HFILL }},
20088         { &hf_h245_MultilinkResponse_addConnection_responseCode,
20089                 { "MultilinkResponse_addConnection_responseCode type", "h245.MultilinkResponse_addConnection_responseCode_type", FT_UINT32, BASE_DEC,
20090                 VALS(MultilinkResponse_addConnection_responseCode_vals), 0, "Type of MultilinkResponse_addConnection_responseCode choice", HFILL }},
20091         { &hf_h245_MultilinkResponse,
20092                 { "MultilinkResponse type", "h245.MultilinkResponse_type", FT_UINT32, BASE_DEC,
20093                 VALS(MultilinkResponse_vals), 0, "Type of MultilinkResponse choice", HFILL }},
20094         { &hf_h245_MultilinkRequest_maximumHeaderInterval_requestType,
20095                 { "MultilinkRequest_maximumHeaderInterval_requestType type", "h245.MultilinkRequest_maximumHeaderInterval_requestType_type", FT_UINT32, BASE_DEC,
20096                 VALS(MultilinkRequest_maximumHeaderInterval_requestType_vals), 0, "Type of MultilinkRequest_maximumHeaderInterval_requestType choice", HFILL }},
20097         { &hf_h245_MultilinkRequest,
20098                 { "MultilinkRequest type", "h245.MultilinkRequest_type", FT_UINT32, BASE_DEC,
20099                 VALS(MultilinkRequest_vals), 0, "Type of MultilinkRequest choice", HFILL }},
20100         { &hf_h245_RemoteMCResponse_reject,
20101                 { "RemoteMCResponse_reject type", "h245.RemoteMCResponse_reject_type", FT_UINT32, BASE_DEC,
20102                 VALS(RemoteMCResponse_reject_vals), 0, "Type of RemoteMCResponse_reject choice", HFILL }},
20103         { &hf_h245_RemoteMCResponse,
20104                 { "RemoteMCResponse type", "h245.RemoteMCResponse_type", FT_UINT32, BASE_DEC,
20105                 VALS(RemoteMCResponse_vals), 0, "Type of RemoteMCResponse choice", HFILL }},
20106         { &hf_h245_RemoteMCRequest,
20107                 { "RemoteMCRequest type", "h245.RemoteMCRequest_type", FT_UINT32, BASE_DEC,
20108                 VALS(RemoteMCRequest_vals), 0, "Type of RemoteMCRequest choice", HFILL }},
20109         { &hf_h245_ConferenceResponse_sendThisSourceResponse,
20110                 { "ConferenceResponse_sendThisSourceResponse type", "h245.ConferenceResponse_sendThisSourceResponse_type", FT_UINT32, BASE_DEC,
20111                 VALS(ConferenceResponse_sendThisSourceResponse_vals), 0, "Type of ConferenceResponse_sendThisSourceResponse choice", HFILL }},
20112         { &hf_h245_ConferenceResponse_makeTerminalBroadcasterResponse,
20113                 { "ConferenceResponse_makeTerminalBroadcasterResponse type", "h245.ConferenceResponse_makeTerminalBroadcasterResponse_type", FT_UINT32, BASE_DEC,
20114                 VALS(ConferenceResponse_makeTerminalBroadcasterResponse_vals), 0, "Type of ConferenceResponse_makeTerminalBroadcasterResponse choice", HFILL }},
20115         { &hf_h245_ConferenceResponse_broadcastMyLogicalChannelResponse,
20116                 { "ConferenceResponse_broadcastMyLogicalChannelResponse type", "h245.ConferenceResponse_broadcastMyLogicalChannelResponse_type", FT_UINT32, BASE_DEC,
20117                 VALS(ConferenceResponse_broadcastMyLogicalChannelResponse_vals), 0, "Type of ConferenceResponse_broadcastMyLogicalChannelResponse choice", HFILL }},
20118         { &hf_h245_ConferenceResponse_makeMeChairResponse,
20119                 { "ConferenceResponse_makeMeChairResponse type", "h245.ConferenceResponse_makeMeChairResponse_type", FT_UINT32, BASE_DEC,
20120                 VALS(ConferenceResponse_makeMeChairResponse_vals), 0, "Type of ConferenceResponse_makeMeChairResponse choice", HFILL }},
20121         { &hf_h245_ConferenceResponse,
20122                 { "ConferenceResponse type", "h245.ConferenceResponse_type", FT_UINT32, BASE_DEC,
20123                 VALS(ConferenceResponse_vals), 0, "Type of ConferenceResponse choice", HFILL }},
20124         { &hf_h245_ConferenceRequest,
20125                 { "ConferenceRequest type", "h245.ConferenceRequest_type", FT_UINT32, BASE_DEC,
20126                 VALS(ConferenceRequest_vals), 0, "Type of ConferenceRequest choice", HFILL }},
20127         { &hf_h245_CommunicationModeTableEntry_dataType,
20128                 { "CommunicationModeTableEntry_dataType type", "h245.CommunicationModeTableEntry_dataType_type", FT_UINT32, BASE_DEC,
20129                 VALS(CommunicationModeTableEntry_dataType_vals), 0, "Type of CommunicationModeTableEntry_dataType choice", HFILL }},
20130         { &hf_h245_CommunicationModeResponse,
20131                 { "CommunicationModeResponse type", "h245.CommunicationModeResponse_type", FT_UINT32, BASE_DEC,
20132                 VALS(CommunicationModeResponse_vals), 0, "Type of CommunicationModeResponse choice", HFILL }},
20133         { &hf_h245_MaintenanceLoopReject_cause,
20134                 { "MaintenanceLoopReject_cause type", "h245.MaintenanceLoopReject_cause_type", FT_UINT32, BASE_DEC,
20135                 VALS(MaintenanceLoopReject_cause_vals), 0, "Type of MaintenanceLoopReject_cause choice", HFILL }},
20136         { &hf_h245_MaintenanceLoopReject_type,
20137                 { "MaintenanceLoopReject_type type", "h245.MaintenanceLoopReject_type_type", FT_UINT32, BASE_DEC,
20138                 VALS(MaintenanceLoopReject_type_vals), 0, "Type of MaintenanceLoopReject_type choice", HFILL }},
20139         { &hf_h245_MaintenanceLoopAck_type,
20140                 { "MaintenanceLoopAck_type type", "h245.MaintenanceLoopAck_type_type", FT_UINT32, BASE_DEC,
20141                 VALS(MaintenanceLoopAck_type_vals), 0, "Type of MaintenanceLoopAck_type choice", HFILL }},
20142         { &hf_h245_MaintenanceLoopRequest_type,
20143                 { "MaintenanceLoopRequest_type type", "h245.MaintenanceLoopRequest_type_type", FT_UINT32, BASE_DEC,
20144                 VALS(MaintenanceLoopRequest_type_vals), 0, "Type of MaintenanceLoopRequest_type choice", HFILL }},
20145         { &hf_h245_EncryptionMode,
20146                 { "EncryptionMode type", "h245.EncryptionMode_type", FT_UINT32, BASE_DEC,
20147                 VALS(EncryptionMode_vals), 0, "Type of EncryptionMode choice", HFILL }},
20148         { &hf_h245_DataMode_application,
20149                 { "DataMode_application type", "h245.DataMode_application_type", FT_UINT32, BASE_DEC,
20150                 VALS(DataMode_application_vals), 0, "Type of DataMode_application choice", HFILL }},
20151         { &hf_h245_IS13818AudioMode_multiChannelType,
20152                 { "IS13818AudioMode_multiChannelType type", "h245.IS13818AudioMode_multiChannelType_type", FT_UINT32, BASE_DEC,
20153                 VALS(IS13818AudioMode_multiChannelType_vals), 0, "Type of IS13818AudioMode_multiChannelType choice", HFILL }},
20154         { &hf_h245_IS13818AudioMode_audioSampling,
20155                 { "IS13818AudioMode_audioSampling type", "h245.IS13818AudioMode_audioSampling_type", FT_UINT32, BASE_DEC,
20156                 VALS(IS13818AudioMode_audioSampling_vals), 0, "Type of IS13818AudioMode_audioSampling choice", HFILL }},
20157         { &hf_h245_IS13818AudioMode_audioLayer,
20158                 { "IS13818AudioMode_audioLayer type", "h245.IS13818AudioMode_audioLayer_type", FT_UINT32, BASE_DEC,
20159                 VALS(IS13818AudioMode_audioLayer_vals), 0, "Type of IS13818AudioMode_audioLayer choice", HFILL }},
20160         { &hf_h245_IS11172AudioMode_multichannelType,
20161                 { "IS11172AudioMode_multichannelType type", "h245.IS11172AudioMode_multichannelType_type", FT_UINT32, BASE_DEC,
20162                 VALS(IS11172AudioMode_multichannelType_vals), 0, "Type of IS11172AudioMode_multichannelType choice", HFILL }},
20163         { &hf_h245_IS11172AudioMode_audioSampling,
20164                 { "IS11172AudioMode_audioSampling type", "h245.IS11172AudioMode_audioSampling_type", FT_UINT32, BASE_DEC,
20165                 VALS(IS11172AudioMode_audioSampling_vals), 0, "Type of IS11172AudioMode_audioSampling choice", HFILL }},
20166         { &hf_h245_IS11172AudioMode_audioLayer,
20167                 { "IS11172AudioMode_audioLayer type", "h245.IS11172AudioMode_audioLayer_type", FT_UINT32, BASE_DEC,
20168                 VALS(IS11172AudioMode_audioLayer_vals), 0, "Type of IS11172AudioMode_audioLayer choice", HFILL }},
20169         { &hf_h245_AudioMode_g7231,
20170                 { "AudioMode_g7231 type", "h245.AudioMode_g7231_type", FT_UINT32, BASE_DEC,
20171                 VALS(AudioMode_g7231_vals), 0, "Type of AudioMode_g7231 choice", HFILL }},
20172         { &hf_h245_AudioMode,
20173                 { "AudioMode type", "h245.AudioMode_type", FT_UINT32, BASE_DEC,
20174                 VALS(AudioMode_vals), 0, "Type of AudioMode choice", HFILL }},
20175         { &hf_h245_H263VideoMode_resolution,
20176                 { "H263VideoMode_resolution type", "h245.H263VideoMode_resolution_type", FT_UINT32, BASE_DEC,
20177                 VALS(H263VideoMode_resolution_vals), 0, "Type of H263VideoMode_resolution choice", HFILL }},
20178         { &hf_h245_H262VideoMode_profileAndLevel,
20179                 { "H262VideoMode_profileAndLevel type", "h245.H262VideoMode_profileAndLevel_type", FT_UINT32, BASE_DEC,
20180                 VALS(H262VideoMode_profileAndLevel_vals), 0, "Type of H262VideoMode_profileAndLevel choice", HFILL }},
20181         { &hf_h245_H261VideoMode_resolution,
20182                 { "H261VideoMode_resolution type", "h245.H261VideoMode_resolution_type", FT_UINT32, BASE_DEC,
20183                 VALS(H261VideoMode_resolution_vals), 0, "Type of H261VideoMode_resolution choice", HFILL }},
20184         { &hf_h245_VideoMode,
20185                 { "VideoMode type", "h245.VideoMode_type", FT_UINT32, BASE_DEC,
20186                 VALS(VideoMode_vals), 0, "Type of VideoMode choice", HFILL }},
20187         { &hf_h245_RedundancyEncodingMode_secondaryEncoding,
20188                 { "RedundancyEncodingMode_secondaryEncoding type", "h245.RedundancyEncodingMode_secondaryEncoding_type", FT_UINT32, BASE_DEC,
20189                 VALS(RedundancyEncodingMode_secondaryEncoding_vals), 0, "Type of RedundancyEncodingMode_secondaryEncoding choice", HFILL }},
20190         { &hf_h245_V76ModeParameters,
20191                 { "V76ModeParameters type", "h245.V76ModeParameters_type", FT_UINT32, BASE_DEC,
20192                 VALS(V76ModeParameters_vals), 0, "Type of V76ModeParameters choice", HFILL }},
20193         { &hf_h245_H223ModeParameters_adaptationLayerType,
20194                 { "H223ModeParameters_adaptationLayerType type", "h245.H223ModeParameters_adaptationLayerType_type", FT_UINT32, BASE_DEC,
20195                 VALS(H223ModeParameters_adaptationLayerType_vals), 0, "Type of H223ModeParameters_adaptationLayerType choice", HFILL }},
20196         { &hf_h245_FECMode_rfc2733Mode_mode_separateStream,
20197                 { "FECMode_rfc2733Mode_mode_separateStream type", "h245.FECMode_rfc2733Mode_mode_separateStream_type", FT_UINT32, BASE_DEC,
20198                 VALS(FECMode_rfc2733Mode_mode_separateStream_vals), 0, "Type of FECMode_rfc2733Mode_mode_separateStream choice", HFILL }},
20199         { &hf_h245_FECMode_rfc2733Mode_mode,
20200                 { "FECMode_rfc2733Mode_mode type", "h245.FECMode_rfc2733Mode_mode_type", FT_UINT32, BASE_DEC,
20201                 VALS(FECMode_rfc2733Mode_mode_vals), 0, "Type of FECMode_rfc2733Mode_mode choice", HFILL }},
20202         { &hf_h245_FECMode,
20203                 { "FECMode type", "h245.FECMode_type", FT_UINT32, BASE_DEC,
20204                 VALS(FECMode_vals), 0, "Type of FECMode choice", HFILL }},
20205         { &hf_h245_RedundancyEncodingDTModeElement_type,
20206                 { "RedundancyEncodingDTModeElement_type type", "h245.RedundancyEncodingDTModeElement_type_type", FT_UINT32, BASE_DEC,
20207                 VALS(RedundancyEncodingDTModeElement_type_vals), 0, "Type of RedundancyEncodingDTModeElement_type choice", HFILL }},
20208         { &hf_h245_H235Mode_mediaMode,
20209                 { "H235Mode_mediaMode type", "h245.H235Mode_mediaMode_type", FT_UINT32, BASE_DEC,
20210                 VALS(H235Mode_mediaMode_vals), 0, "Type of H235Mode_mediaMode choice", HFILL }},
20211         { &hf_h245_ModeElementType,
20212                 { "ModeElementType type", "h245.ModeElementType_type", FT_UINT32, BASE_DEC,
20213                 VALS(ModeElementType_vals), 0, "Type of ModeElementType choice", HFILL }},
20214         { &hf_h245_RequestModeReject_cause,
20215                 { "RequestModeReject_cause type", "h245.RequestModeReject_cause_type", FT_UINT32, BASE_DEC,
20216                 VALS(RequestModeReject_cause_vals), 0, "Type of RequestModeReject_cause choice", HFILL }},
20217         { &hf_h245_RequestMultiplexEntryRejectionDescriptions_cause,
20218                 { "RequestMultiplexEntryRejectionDescriptions_cause type", "h245.RequestMultiplexEntryRejectionDescriptions_cause_type", FT_UINT32, BASE_DEC,
20219                 VALS(RequestMultiplexEntryRejectionDescriptions_cause_vals), 0, "Type of RequestMultiplexEntryRejectionDescriptions_cause choice", HFILL }},
20220         { &hf_h245_MultiplexEntryRejectionDescriptions_cause,
20221                 { "MultiplexEntryRejectionDescriptions_cause type", "h245.MultiplexEntryRejectionDescriptions_cause_type", FT_UINT32, BASE_DEC,
20222                 VALS(MultiplexEntryRejectionDescriptions_cause_vals), 0, "Type of MultiplexEntryRejectionDescriptions_cause choice", HFILL }},
20223         { &hf_h245_MultiplexElement_repeatCount,
20224                 { "MultiplexElement_repeatCount type", "h245.MultiplexElement_repeatCount_type", FT_UINT32, BASE_DEC,
20225                 VALS(MultiplexElement_repeatCount_vals), 0, "Type of MultiplexElement_repeatCount choice", HFILL }},
20226         { &hf_h245_MultiplexElement_type,
20227                 { "MultiplexElement_type type", "h245.MultiplexElement_type_type", FT_UINT32, BASE_DEC,
20228                 VALS(MultiplexElement_type_vals), 0, "Type of MultiplexElement_type choice", HFILL }},
20229         { &hf_h245_RequestChannelCloseReject_cause,
20230                 { "RequestChannelCloseReject_cause type", "h245.RequestChannelCloseReject_cause_type", FT_UINT32, BASE_DEC,
20231                 VALS(RequestChannelCloseReject_cause_vals), 0, "Type of RequestChannelCloseReject_cause choice", HFILL }},
20232         { &hf_h245_RequestChannelClose_reason,
20233                 { "RequestChannelClose_reason type", "h245.RequestChannelClose_reason_type", FT_UINT32, BASE_DEC,
20234                 VALS(RequestChannelClose_reason_vals), 0, "Type of RequestChannelClose_reason choice", HFILL }},
20235         { &hf_h245_CloseLogicalChannel_reason,
20236                 { "CloseLogicalChannel_reason type", "h245.CloseLogicalChannel_reason_type", FT_UINT32, BASE_DEC,
20237                 VALS(CloseLogicalChannel_reason_vals), 0, "Type of CloseLogicalChannel_reason choice", HFILL }},
20238         { &hf_h245_CloseLogicalChannel_source,
20239                 { "CloseLogicalChannel_source type", "h245.CloseLogicalChannel_source_type", FT_UINT32, BASE_DEC,
20240                 VALS(CloseLogicalChannel_source_vals), 0, "Type of CloseLogicalChannel_source choice", HFILL }},
20241         { &hf_h245_OpenLogicalChannelReject_cause,
20242                 { "OpenLogicalChannelReject_cause type", "h245.OpenLogicalChannelReject_cause_type", FT_UINT32, BASE_DEC,
20243                 VALS(OpenLogicalChannelReject_cause_vals), 0, "Type of OpenLogicalChannelReject_cause choice", HFILL }},
20244         { &hf_h245_forwardMultiplexAckParameters,
20245                 { "forwardMultiplexAckParameters type", "h245.forwardMultiplexAckParameters_type", FT_UINT32, BASE_DEC,
20246                 VALS(forwardMultiplexAckParameters_vals), 0, "Type of forwardMultiplexAckParameters choice", HFILL }},
20247         { &hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters,
20248                 { "OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters type", "h245.OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_type", FT_UINT32, BASE_DEC,
20249                 VALS(OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_vals), 0, "Type of OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters choice", HFILL }},
20250         { &hf_h245_MulticastAddress,
20251                 { "MulticastAddress type", "h245.MulticastAddress_type", FT_UINT32, BASE_DEC,
20252                 VALS(MulticastAddress_vals), 0, "Type of MulticastAddress choice", HFILL }},
20253         { &hf_h245_UnicastAddress_iPSourceRouteAddress_routing,
20254                 { "UnicastAddress_iPSourceRouteAddress_routing type", "h245.UnicastAddress_iPSourceRouteAddress_routing_type", FT_UINT32, BASE_DEC,
20255                 VALS(UnicastAddress_iPSourceRouteAddress_routing_vals), 0, "Type of UnicastAddress_iPSourceRouteAddress_routing choice", HFILL }},
20256         { &hf_h245_UnicastAddress,
20257                 { "UnicastAddress type", "h245.UnicastAddress_type", FT_UINT32, BASE_DEC,
20258                 VALS(UnicastAddress_vals), 0, "Type of UnicastAddress choice", HFILL }},
20259         { &hf_h245_mediaControlChannel,
20260                 { "mediaControlChannel type", "h245.mediaControlChannel_type", FT_UINT32, BASE_DEC,
20261                 VALS(TransportAddress_vals), 0, "Type of mediaControlChannel choice", HFILL }},
20262         { &hf_h245_mediaChannel,
20263                 { "mediaChannel type", "h245.mediaChannel_type", FT_UINT32, BASE_DEC,
20264                 VALS(TransportAddress_vals), 0, "Type of mediaChannel choice", HFILL }},
20265         { &hf_h245_localAreaAddress,
20266                 { "localAreaAddress type", "h245.localAreaAddress_type", FT_UINT32, BASE_DEC,
20267                 VALS(TransportAddress_vals), 0, "Type of localAreaAddress choice", HFILL }},
20268         { &hf_h245_signalAddress,
20269                 { "signalAddress type", "h245.signalAddress_type", FT_UINT32, BASE_DEC,
20270                 VALS(TransportAddress_vals), 0, "Type of signalAddress choice", HFILL }},
20271         { &hf_h245_FECData_rfc2733_mode_separateStream,
20272                 { "FECData_rfc2733_mode_separateStream type", "h245.FECData_rfc2733_mode_separateStream_type", FT_UINT32, BASE_DEC,
20273                 VALS(FECData_rfc2733_mode_separateStream_vals), 0, "Type of FECData_rfc2733_mode_separateStream choice", HFILL }},
20274         { &hf_h245_FECData_rfc2733_mode,
20275                 { "FECData_rfc2733_mode type", "h245.FECData_rfc2733_mode_type", FT_UINT32, BASE_DEC,
20276                 VALS(FECData_rfc2733_mode_vals), 0, "Type of FECData_rfc2733_mode choice", HFILL }},
20277         { &hf_h245_FECData,
20278                 { "FECData type", "h245.FECData_type", FT_UINT32, BASE_DEC,
20279                 VALS(FECData_vals), 0, "Type of FECData choice", HFILL }},
20280         { &hf_h245_RTPPayloadType_payloadDescriptor,
20281                 { "RTPPayloadType_payloadDescriptor type", "h245.RTPPayloadType_payloadDescriptor_type", FT_UINT32, BASE_DEC,
20282                 VALS(RTPPayloadType_payloadDescriptor_vals), 0, "Type of RTPPayloadType_payloadDescriptor choice", HFILL }},
20283         { &hf_h245_H2250LogicalChannelParameters_mediaPacketization,
20284                 { "H2250LogicalChannelParameters_mediaPacketization type", "h245.H2250LogicalChannelParameters_mediaPacketization_type", FT_UINT32, BASE_DEC,
20285                 VALS(H2250LogicalChannelParameters_mediaPacketization_vals), 0, "Type of H2250LogicalChannelParameters_mediaPacketization choice", HFILL }},
20286         { &hf_h245_CRCLength,
20287                 { "CRCLength type", "h245.CRCLength_type", FT_UINT32, BASE_DEC,
20288                 VALS(CRCLength_vals), 0, "Type of CRCLength choice", HFILL }},
20289         { &hf_h245_V76LogicalChannelParameters_mode_eRM_recovery,
20290                 { "V76LogicalChannelParameters_mode_eRM_recovery type", "h245.V76LogicalChannelParameters_mode_eRM_recovery_type", FT_UINT32, BASE_DEC,
20291                 VALS(V76LogicalChannelParameters_mode_eRM_recovery_vals), 0, "Type of V76LogicalChannelParameters_mode_eRM_recovery choice", HFILL }},
20292         { &hf_h245_V76LogicalChannelParameters_mode,
20293                 { "V76LogicalChannelParameters_mode type", "h245.V76LogicalChannelParameters_mode_type", FT_UINT32, BASE_DEC,
20294                 VALS(V76LogicalChannelParameters_mode_vals), 0, "Type of V76LogicalChannelParameters_mode choice", HFILL }},
20295         { &hf_h245_V76LogicalChannelParameters_suspendResume,
20296                 { "V76LogicalChannelParameters_suspendResume type", "h245.V76LogicalChannelParameters_suspendResume_type", FT_UINT32, BASE_DEC,
20297                 VALS(V76LogicalChannelParameters_suspendResume_vals), 0, "Type of V76LogicalChannelParameters_suspendResume choice", HFILL }},
20298         { &hf_h245_H223AnnexCArqParameters_numberOfRetransmissions,
20299                 { "H223AnnexCArqParameters_numberOfRetransmissions type", "h245.H223AnnexCArqParameters_numberOfRetransmissions_type", FT_UINT32, BASE_DEC,
20300                 VALS(H223AnnexCArqParameters_numberOfRetransmissions_vals), 0, "Type of H223AnnexCArqParameters_numberOfRetransmissions choice", HFILL }},
20301         { &hf_h245_H223AL3MParameters_arqType,
20302                 { "H223AL3MParameters_arqType type", "h245.H223AL3MParameters_arqType_type", FT_UINT32, BASE_DEC,
20303                 VALS(H223AL3MParameters_arqType_vals), 0, "Type of H223AL3MParameters_arqType choice", HFILL }},
20304         { &hf_h245_H223AL3MParameters_crcLength,
20305                 { "H223AL3MParameters_crcLength type", "h245.H223AL3MParameters_crcLength_type", FT_UINT32, BASE_DEC,
20306                 VALS(H223AL3MParameters_crcLength_vals), 0, "Type of H223AL3MParameters_crcLength choice", HFILL }},
20307         { &hf_h245_H223AL3MParameters_headerFormat,
20308                 { "H223AL3MParameters_headerFormat type", "h245.H223AL3MParameters_headerFormat_type", FT_UINT32, BASE_DEC,
20309                 VALS(H223AL3MParameters_headerFormat_vals), 0, "Type of H223AL3MParameters_headerFormat choice", HFILL }},
20310         { &hf_h245_H223AL2MParameters_headerFEC,
20311                 { "H223AL2MParameters_headerFEC type", "h245.H223AL2MParameters_headerFEC_type", FT_UINT32, BASE_DEC,
20312                 VALS(H223AL2MParameters_headerFEC_vals), 0, "Type of H223AL2MParameters_headerFEC choice", HFILL }},
20313         { &hf_h245_H223AL1MParameters_arqType,
20314                 { "H223AL1MParameters_arqType type", "h245.H223AL1MParameters_arqType_type", FT_UINT32, BASE_DEC,
20315                 VALS(H223AL1MParameters_arqType_vals), 0, "Type of H223AL1MParameters_arqType choice", HFILL }},
20316         { &hf_h245_H223AL1MParameters_crcLength,
20317                 { "H223AL1MParameters_crcLength type", "h245.H223AL1MParameters_crcLength_type", FT_UINT32, BASE_DEC,
20318                 VALS(H223AL1MParameters_crcLength_vals), 0, "Type of H223AL1MParameters_crcLength choice", HFILL }},
20319         { &hf_h245_H223AL1MParameters_headerFEC,
20320                 { "H223AL1MParameters_headerFEC type", "h245.H223AL1MParameters_headerFEC_type", FT_UINT32, BASE_DEC,
20321                 VALS(H223AL1MParameters_headerFEC_vals), 0, "Type of H223AL1MParameters_headerFEC choice", HFILL }},
20322         { &hf_h245_H223AL1MParameters_transferMode,
20323                 { "H223AL1MParameters_transferMode type", "h245.H223AL1MParameters_transferMode_type", FT_UINT32, BASE_DEC,
20324                 VALS(H223AL1MParameters_transferMode_vals), 0, "Type of H223AL1MParameters_transferMode choice", HFILL }},
20325         { &hf_h245_H223LogicalChannelParameters_adaptationLayerType,
20326                 { "H223LogicalChannelParameters_adaptationLayerType type", "h245.H223LogicalChannelParameters_adaptationLayerType_type", FT_UINT32, BASE_DEC,
20327                 VALS(H223LogicalChannelParameters_adaptationLayerType_vals), 0, "Type of H223LogicalChannelParameters_adaptationLayerType choice", HFILL }},
20328         { &hf_h245_H235Media_mediaType,
20329                 { "H235Media_mediaType type", "h245.H235Media_mediaType_type", FT_UINT32, BASE_DEC,
20330                 VALS(H235Media_mediaType_vals), 0, "Type of H235Media_mediaType choice", HFILL }},
20331         { &hf_h245_DataType,
20332                 { "DataType type", "h245.DataType_type", FT_UINT32, BASE_DEC,
20333                 VALS(DataType_vals), 0, "Type of DataType choice", HFILL }},
20334         { &hf_h245_Q2931Address_address,
20335                 { "Q2931Address_address type", "h245.Q2931Address_address_type", FT_UINT32, BASE_DEC,
20336                 VALS(Q2931Address_address_vals), 0, "Type of Q2931Address_address choice", HFILL }},
20337         { &hf_h245_NetworkAccessParameters_t120SetupProcedure,
20338                 { "NetworkAccessParameters_t120SetupProcedure type", "h245.NetworkAccessParameters_t120SetupProcedure_type", FT_UINT32, BASE_DEC,
20339                 VALS(NetworkAccessParameters_t120SetupProcedure_vals), 0, "Type of NetworkAccessParameters_t120SetupProcedure choice", HFILL }},
20340         { &hf_h245_NetworkAccessParameters_networkAddress,
20341                 { "NetworkAccessParameters_networkAddress type", "h245.NetworkAccessParameters_networkAddress_type", FT_UINT32, BASE_DEC,
20342                 VALS(NetworkAccessParameters_networkAddress_vals), 0, "Type of NetworkAccessParameters_networkAddress choice", HFILL }},
20343         { &hf_h245_NetworkAccessParameters_distribution,
20344                 { "NetworkAccessParameters_distribution type", "h245.NetworkAccessParameters_distribution_type", FT_UINT32, BASE_DEC,
20345                 VALS(NetworkAccessParameters_distribution_vals), 0, "Type of NetworkAccessParameters_distribution choice", HFILL }},
20346         { &hf_h245_reverseLogicalChannelParameters_multiplexParameters,
20347                 { "reverseLogicalChannelParameters_multiplexParameters type", "h245.reverseLogicalChannelParameters_multiplexParameters_type", FT_UINT32, BASE_DEC,
20348                 VALS(reverseLogicalChannelParameters_multiplexParameters_vals), 0, "Type of reverseLogicalChannelParameters_multiplexParameters choice", HFILL }},
20349         { &hf_h245_forwardLogicalChannelParameters_multiplexParameters,
20350                 { "forwardLogicalChannelParameters_multiplexParameters type", "h245.forwardLogicalChannelParameters_multiplexParameters_type", FT_UINT32, BASE_DEC,
20351                 VALS(forwardLogicalChannelParameters_multiplexParameters_vals), 0, "Type of forwardLogicalChannelParameters_multiplexParameters choice", HFILL }},
20352         { &hf_h245_FECCapability,
20353                 { "FECCapability type", "h245.FECCapability_type", FT_UINT32, BASE_DEC,
20354                 VALS(FECCapability_vals), 0, "Type of FECCapability choice", HFILL }},
20355         { &hf_h245_MultiplexFormat,
20356                 { "MultiplexFormat type", "h245.MultiplexFormat_type", FT_UINT32, BASE_DEC,
20357                 VALS(MultiplexFormat_vals), 0, "Type of MultiplexFormat choice", HFILL }},
20358         { &hf_h245_ParameterValue,
20359                 { "ParameterValue type", "h245.ParameterValue_type", FT_UINT32, BASE_DEC,
20360                 VALS(ParameterValue_vals), 0, "Type of ParameterValue choice", HFILL }},
20361         { &hf_h245_ParameterIdentifier,
20362                 { "ParameterIdentifier type", "h245.ParameterIdentifier_type", FT_UINT32, BASE_DEC,
20363                 VALS(ParameterIdentifier_vals), 0, "Type of ParameterIdentifier choice", HFILL }},
20364         { &hf_h245_CapabilityIdentifier,
20365                 { "CapabilityIdentifier type", "h245.CapabilityIdentifier_type", FT_UINT32, BASE_DEC,
20366                 VALS(CapabilityIdentifier_vals), 0, "Type of CapabilityIdentifier choice", HFILL }},
20367         { &hf_h245_UserInputCapability,
20368                 { "UserInputCapability type", "h245.UserInputCapability_type", FT_UINT32, BASE_DEC,
20369                 VALS(UserInputCapability_vals), 0, "Type of UserInputCapability choice", HFILL }},
20370         { &hf_h245_MediaEncryptionAlgorithm,
20371                 { "MediaEncryptionAlgorithm type", "h245.MediaEncryptionAlgorithm_type", FT_UINT32, BASE_DEC,
20372                 VALS(MediaEncryptionAlgorithm_vals), 0, "Type of MediaEncryptionAlgorithm choice", HFILL }},
20373         { &hf_h245_T38FaxUdpOptions_t38FaxUdpEC,
20374                 { "T38FaxUdpOptions_t38FaxUdpEC type", "h245.T38FaxUdpOptions_t38FaxUdpEC_type", FT_UINT32, BASE_DEC,
20375                 VALS(T38FaxUdpOptions_t38FaxUdpEC_vals), 0, "Type of T38FaxUdpOptions_t38FaxUdpEC choice", HFILL }},
20376         { &hf_h245_T38FaxRateManagement,
20377                 { "T38FaxRateManagement type", "h245.T38FaxRateManagement_type", FT_UINT32, BASE_DEC,
20378                 VALS(T38FaxRateManagement_vals), 0, "Type of T38FaxRateManagement choice", HFILL }},
20379         { &hf_h245_T84Profile,
20380                 { "T84Profile type", "h245.T84Profile_type", FT_UINT32, BASE_DEC,
20381                 VALS(T84Profile_vals), 0, "Type of T84Profile choice", HFILL }},
20382         { &hf_h245_CompressionType,
20383                 { "CompressionType type", "h245.CompressionType_type", FT_UINT32, BASE_DEC,
20384                 VALS(CompressionType_vals), 0, "Type of CompressionType choice", HFILL }},
20385         { &hf_h245_DataProtocolCapability_v76wCompression,
20386                 { "DataProtocolCapability_v76wCompression type", "h245.DataProtocolCapability_v76wCompression_type", FT_UINT32, BASE_DEC,
20387                 VALS(DataProtocolCapability_v76wCompression_vals), 0, "Type of DataProtocolCapability_v76wCompression choice", HFILL }},
20388         { &hf_h245_DataProtocolCapability,
20389                 { "DataProtocolCapability type", "h245.DataProtocolCapability_type", FT_UINT32, BASE_DEC,
20390                 VALS(DataProtocolCapability_vals), 0, "Type of DataProtocolCapability choice", HFILL }},
20391         { &hf_h245_DataApplicationCapability_application,
20392                 { "DataApplicationCapability_application type", "h245.DataApplicationCapability_application_type", FT_UINT32, BASE_DEC,
20393                 VALS(DataApplicationCapability_application_vals), 0, "Type of DataApplicationCapability_application choice", HFILL }},
20394         { &hf_h245_AudioCapability,
20395                 { "AudioCapability type", "h245.AudioCapability_type", FT_UINT32, BASE_DEC,
20396                 VALS(AudioCapability_vals), 0, "Type of AudioCapability choice", HFILL }},
20397         { &hf_h245_CustomPictureFormat_pixelAspectInformation,
20398                 { "CustomPictureFormat_pixelAspectInformation type", "h245.CustomPictureFormat_pixelAspectInformation_type", FT_UINT32, BASE_DEC,
20399                 VALS(CustomPictureFormat_pixelAspectInformation_vals), 0, "Type of CustomPictureFormat_pixelAspectInformation choice", HFILL }},
20400         { &hf_h245_RefPictureSelection_videoBackChannelSend,
20401                 { "RefPictureSelection_videoBackChannelSend type", "h245.RefPictureSelection_videoBackChannelSend_type", FT_UINT32, BASE_DEC,
20402                 VALS(RefPictureSelection_videoBackChannelSend_vals), 0, "Type of RefPictureSelection_videoBackChannelSend choice", HFILL }},
20403         { &hf_h245_VideoCapability,
20404                 { "VideoCapability type", "h245.VideoCapability_type", FT_UINT32, BASE_DEC,
20405                 VALS(VideoCapability_vals), 0, "Type of VideoCapability choice", HFILL }},
20406         { &hf_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping,
20407                 { "RTPH263VideoRedundancyEncoding_frameToThreadMapping type", "h245.RTPH263VideoRedundancyEncoding_frameToThreadMapping_type", FT_UINT32, BASE_DEC,
20408                 VALS(RTPH263VideoRedundancyEncoding_frameToThreadMapping_vals), 0, "Type of RTPH263VideoRedundancyEncoding_frameToThreadMapping choice", HFILL }},
20409         { &hf_h245_RedundancyEncodingMethod,
20410                 { "RedundancyEncodingMethod type", "h245.RedundancyEncodingMethod_type", FT_UINT32, BASE_DEC,
20411                 VALS(RedundancyEncodingMethod_vals), 0, "Type of RedundancyEncodingMethod choice", HFILL }},
20412         { &hf_h245_MediaTransportType,
20413                 { "MediaTransportType type", "h245.MediaTransportType_type", FT_UINT32, BASE_DEC,
20414                 VALS(MediaTransportType_vals), 0, "Type of MediaTransportType choice", HFILL }},
20415         { &hf_h245_QOSMode,
20416                 { "QOSMode type", "h245.QOSMode_type", FT_UINT32, BASE_DEC,
20417                 VALS(QOSMode_vals), 0, "Type of QOSMode choice", HFILL }},
20418         { &hf_h245_H223Capability_h223MultiplexTableCapability,
20419                 { "H223Capability_h223MultiplexTableCapability type", "h245.H223Capability_h223MultiplexTableCapability_type", FT_UINT32, BASE_DEC,
20420                 VALS(H223Capability_h223MultiplexTableCapability_vals), 0, "Type of H223Capability_h223MultiplexTableCapability choice", HFILL }},
20421         { &hf_h245_VCCapability_availableBitRates_type,
20422                 { "VCCapability_availableBitRates_type type", "h245.VCCapability_availableBitRates_type_type", FT_UINT32, BASE_DEC,
20423                 VALS(VCCapability_availableBitRates_type_vals), 0, "Type of VCCapability_availableBitRates_type choice", HFILL }},
20424         { &hf_h245_MultiplexCapability,
20425                 { "MultiplexCapability type", "h245.MultiplexCapability_type", FT_UINT32, BASE_DEC,
20426                 VALS(MultiplexCapability_vals), 0, "Type of MultiplexCapability choice", HFILL }},
20427         { &hf_h245_Capability,
20428                 { "Capability type", "h245.Capability_type", FT_UINT32, BASE_DEC,
20429                 VALS(Capability_vals), 0, "Type of Capability choice", HFILL }},
20430         { &hf_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded,
20431                 { "TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded type", "h245.TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded_type", FT_UINT32, BASE_DEC,
20432                 VALS(TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded_vals), 0, "Type of TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded choice", HFILL }},
20433         { &hf_h245_TerminalCapabilitySetReject_cause,
20434                 { "TerminalCapabilitySetReject_cause type", "h245.TerminalCapabilitySetReject_cause_type", FT_UINT32, BASE_DEC,
20435                 VALS(TerminalCapabilitySetReject_cause_vals), 0, "Type of TerminalCapabilitySetReject_cause choice", HFILL }},
20436         { &hf_h245_MasterSlaveDeterminationReject_cause,
20437                 { "MasterSlaveDeterminationReject_cause type", "h245.MasterSlaveDeterminationReject_cause_type", FT_UINT32, BASE_DEC,
20438                 VALS(MasterSlaveDeterminationReject_cause_vals), 0, "Type of MasterSlaveDeterminationReject_cause choice", HFILL }},
20439         { &hf_h245_MasterSlaveDeterminationAck_decision,
20440                 { "MasterSlaveDeterminationAck_decision type", "h245.MasterSlaveDeterminationAck_decision_type", FT_UINT32, BASE_DEC,
20441                 VALS(MasterSlaveDeterminationAck_decision_vals), 0, "Type of MasterSlaveDeterminationAck_decision choice", HFILL }},
20442         { &hf_h245_RequestModeAck_response_decision,
20443                 { "RequestModeAck_response_decision type", "h245.RequestModeAck_response_decision_type", FT_UINT32, BASE_DEC,
20444                 VALS(RequestModeAck_response_decision_vals), 0, "Type of RequestModeAck_response_decision choice", HFILL }},
20445         { &hf_h245_NonStandardIdentifier,
20446                 { "NonStandardIdentifier type", "h245.NonStandardIdentifier_type", FT_UINT32, BASE_DEC,
20447                 VALS(NonStandardIdentifier_vals), 0, "Type of NonStandardIdentifier choice", HFILL }},
20448         { &hf_h245_h233EncryptionTransmitCapability,
20449                 { "h233EncryptionTransmitCapability", "h245.h233EncryptionTransmitCapability", FT_BOOLEAN, 8,
20450                 TFS(&tfs_h233EncryptionTransmitCapability_bit), 0x01, "The h233EncryptionTransmitCapability bit", HFILL }},
20451         { &hf_h245_nullClockRecovery,
20452                 { "nullClockRecovery", "h245.nullClockRecovery", FT_BOOLEAN, 8,
20453                 TFS(&tfs_nullClockRecovery_bit), 0x01, "The nullClockRecovery bit", HFILL }},
20454         { &hf_h245_srtsClockRecovery,
20455                 { "srtsClockRecovery", "h245.srtsClockRecovery", FT_BOOLEAN, 8,
20456                 TFS(&tfs_srtsClockRecovery_bit), 0x01, "The srtsClockRecovery bit", HFILL }},
20457         { &hf_h245_adaptiveClockRecovery,
20458                 { "adaptiveClockRecovery", "h245.adaptiveClockRecovery", FT_BOOLEAN, 8,
20459                 TFS(&tfs_adaptiveClockRecovery_bit), 0x01, "The adaptiveClockRecovery bit", HFILL }},
20460         { &hf_h245_nullErrorCorrection,
20461                 { "nullErrorCorrection", "h245.nullErrorCorrection", FT_BOOLEAN, 8,
20462                 TFS(&tfs_nullErrorCorrection_bit), 0x01, "The nullErrorCorrection bit", HFILL }},
20463         { &hf_h245_longInterleaver,
20464                 { "longInterleaver", "h245.longInterleaver", FT_BOOLEAN, 8,
20465                 TFS(&tfs_longInterleaver_bit), 0x01, "The longInterleaver bit", HFILL }},
20466         { &hf_h245_shortInterleaver,
20467                 { "shortInterleaver", "h245.shortInterleaver", FT_BOOLEAN, 8,
20468                 TFS(&tfs_shortInterleaver_bit), 0x01, "The shortInterleaver bit", HFILL }},
20469         { &hf_h245_errorCorrectionOnly,
20470                 { "errorCorrectionOnly", "h245.errorCorrectionOnly", FT_BOOLEAN, 8,
20471                 TFS(&tfs_errorCorrectionOnly_bit), 0x01, "The errorCorrectionOnly bit", HFILL }},
20472         { &hf_h245_structuredDataTransfer,
20473                 { "structuredDataTransfer", "h245.structuredDataTransfer", FT_BOOLEAN, 8,
20474                 TFS(&tfs_structuredDataTransfer_bit), 0x01, "The structuredDataTransfer bit", HFILL }},
20475         { &hf_h245_partiallyFilledCells,
20476                 { "partiallyFilledCells", "h245.partiallyFilledCells", FT_BOOLEAN, 8,
20477                 TFS(&tfs_partiallyFilledCells_bit), 0x01, "The partiallyFilledCells bit", HFILL }},
20478         { &hf_h245_transportStream,
20479                 { "transportStream", "h245.transportStream", FT_BOOLEAN, 8,
20480                 TFS(&tfs_transportStream_bit), 0x01, "The transportStream bit", HFILL }},
20481         { &hf_h245_programStream,
20482                 { "programStream", "h245.programStream", FT_BOOLEAN, 8,
20483                 TFS(&tfs_programStream_bit), 0x01, "The programStream bit", HFILL }},
20484         { &hf_h245_transportWithIframes,
20485                 { "transportWithIframes", "h245.transportWithIframes", FT_BOOLEAN, 8,
20486                 TFS(&tfs_transportWithIframes_bit), 0x01, "The transportWithIframes bit", HFILL }},
20487         { &hf_h245_videoWithAL1,
20488                 { "videoWithAL1", "h245.videoWithAL1", FT_BOOLEAN, 8,
20489                 TFS(&tfs_videoWithAL1_bit), 0x01, "The videoWithAL1 bit", HFILL }},
20490         { &hf_h245_videoWithAL2,
20491                 { "videoWithAL2", "h245.videoWithAL2", FT_BOOLEAN, 8,
20492                 TFS(&tfs_videoWithAL2_bit), 0x01, "The videoWithAL2 bit", HFILL }},
20493         { &hf_h245_videoWithAL3,
20494                 { "videoWithAL3", "h245.videoWithAL3", FT_BOOLEAN, 8,
20495                 TFS(&tfs_videoWithAL3_bit), 0x01, "The videoWithAL3 bit", HFILL }},
20496         { &hf_h245_audioWithAL1,
20497                 { "audioWithAL1", "h245.audioWithAL1", FT_BOOLEAN, 8,
20498                 TFS(&tfs_audioWithAL1_bit), 0x01, "The audioWithAL1 bit", HFILL }},
20499         { &hf_h245_audioWithAL2,
20500                 { "audioWithAL2", "h245.audioWithAL2", FT_BOOLEAN, 8,
20501                 TFS(&tfs_audioWithAL2_bit), 0x01, "The audioWithAL2 bit", HFILL }},
20502         { &hf_h245_audioWithAL3,
20503                 { "audioWithAL3", "h245.audioWithAL3", FT_BOOLEAN, 8,
20504                 TFS(&tfs_audioWithAL3_bit), 0x01, "The audioWithAL3 bit", HFILL }},
20505         { &hf_h245_dataWithAL1,
20506                 { "dataWithAL1", "h245.dataWithAL1", FT_BOOLEAN, 8,
20507                 TFS(&tfs_dataWithAL1_bit), 0x01, "The dataWithAL1 bit", HFILL }},
20508         { &hf_h245_dataWithAL2,
20509                 { "dataWithAL2", "h245.dataWithAL2", FT_BOOLEAN, 8,
20510                 TFS(&tfs_dataWithAL2_bit), 0x01, "The dataWithAL2 bit", HFILL }},
20511         { &hf_h245_dataWithAL3,
20512                 { "dataWithAL3", "h245.dataWithAL3", FT_BOOLEAN, 8,
20513                 TFS(&tfs_dataWithAL3_bit), 0x01, "The dataWithAL3 bit", HFILL }},
20514         { &hf_h245_maxMUXPDUSizeCapability,
20515                 { "maxMUXPDUSizeCapability", "h245.maxMUXPDUSizeCapability", FT_BOOLEAN, 8,
20516                 TFS(&tfs_maxMUXPDUSizeCapability_bit), 0x01, "The maxMUXPDUSizeCapability bit", HFILL }},
20517         { &hf_h245_nsrpSupport,
20518                 { "nsrpSupport", "h245.nsrpSupport", FT_BOOLEAN, 8,
20519                 TFS(&tfs_nsrpSupport_bit), 0x01, "The nsrpSupport bit", HFILL }},
20520         { &hf_h245_modeChangeCapability,
20521                 { "modeChangeCapability", "h245.modeChangeCapability", FT_BOOLEAN, 8,
20522                 TFS(&tfs_modeChangeCapability_bit), 0x01, "The modeChangeCapability bit", HFILL }},
20523         { &hf_h245_h223AnnexA,
20524                 { "h223AnnexA", "h245.h223AnnexA", FT_BOOLEAN, 8,
20525                 TFS(&tfs_h223AnnexA_bit), 0x01, "The h223AnnexA bit", HFILL }},
20526         { &hf_h245_h223AnnexADoubleFlag_bool,
20527                 { "h223AnnexADoubleFlag_bool", "h245.h223AnnexADoubleFlag_bool", FT_BOOLEAN, 8,
20528                 TFS(&tfs_h223AnnexADoubleFlag_bool_bit), 0x01, "The h223AnnexADoubleFlag_bool bit", HFILL }},
20529         { &hf_h245_h223AnnexB,
20530                 { "h223AnnexB", "h245.h223AnnexB", FT_BOOLEAN, 8,
20531                 TFS(&tfs_h223AnnexB_bit), 0x01, "The h223AnnexB bit", HFILL }},
20532         { &hf_h245_h223AnnexBwithHeader,
20533                 { "h223AnnexBwithHeader", "h245.h223AnnexBwithHeader", FT_BOOLEAN, 8,
20534                 TFS(&tfs_h223AnnexBwithHeader_bit), 0x01, "The h223AnnexBwithHeader bit", HFILL }},
20535         { &hf_h245_videoWithAL1M,
20536                 { "videoWithAL1M", "h245.videoWithAL1M", FT_BOOLEAN, 8,
20537                 TFS(&tfs_videoWithAL1M_bit), 0x01, "The videoWithAL1M bit", HFILL }},
20538         { &hf_h245_videoWithAL2M,
20539                 { "videoWithAL2M", "h245.videoWithAL2M", FT_BOOLEAN, 8,
20540                 TFS(&tfs_videoWithAL2M_bit), 0x01, "The videoWithAL2M bit", HFILL }},
20541         { &hf_h245_videoWithAL3M,
20542                 { "videoWithAL3M", "h245.videoWithAL3M", FT_BOOLEAN, 8,
20543                 TFS(&tfs_videoWithAL3M_bit), 0x01, "The videoWithAL3M bit", HFILL }},
20544         { &hf_h245_audioWithAL1M,
20545                 { "audioWithAL1M", "h245.audioWithAL1M", FT_BOOLEAN, 8,
20546                 TFS(&tfs_audioWithAL1M_bit), 0x01, "The audioWithAL1M bit", HFILL }},
20547         { &hf_h245_audioWithAL2M,
20548                 { "audioWithAL2M", "h245.audioWithAL2M", FT_BOOLEAN, 8,
20549                 TFS(&tfs_audioWithAL2M_bit), 0x01, "The audioWithAL2M bit", HFILL }},
20550         { &hf_h245_audioWithAL3M,
20551                 { "audioWithAL3M", "h245.audioWithAL3M", FT_BOOLEAN, 8,
20552                 TFS(&tfs_audioWithAL3M_bit), 0x01, "The audioWithAL3M bit", HFILL }},
20553         { &hf_h245_dataWithAL1M,
20554                 { "dataWithAL1M", "h245.dataWithAL1M", FT_BOOLEAN, 8,
20555                 TFS(&tfs_dataWithAL1M_bit), 0x01, "The dataWithAL1M bit", HFILL }},
20556         { &hf_h245_dataWithAL2M,
20557                 { "dataWithAL2M", "h245.dataWithAL2M", FT_BOOLEAN, 8,
20558                 TFS(&tfs_dataWithAL2M_bit), 0x01, "The dataWithAL2M bit", HFILL }},
20559         { &hf_h245_dataWithAL3M,
20560                 { "dataWithAL3M", "h245.dataWithAL3M", FT_BOOLEAN, 8,
20561                 TFS(&tfs_dataWithAL3M_bit), 0x01, "The dataWithAL3M bit", HFILL }},
20562         { &hf_h245_alpduInterleaving,
20563                 { "alpduInterleaving", "h245.alpduInterleaving", FT_BOOLEAN, 8,
20564                 TFS(&tfs_alpduInterleaving_bit), 0x01, "The alpduInterleaving bit", HFILL }},
20565         { &hf_h245_rsCodeCapability,
20566                 { "rsCodeCapability", "h245.rsCodeCapability", FT_BOOLEAN, 8,
20567                 TFS(&tfs_rsCodeCapability_bit), 0x01, "The rsCodeCapability bit", HFILL }},
20568         { &hf_h245_suspendResumeCapabilitywAddress,
20569                 { "suspendResumeCapabilitywAddress", "h245.suspendResumeCapabilitywAddress", FT_BOOLEAN, 8,
20570                 TFS(&tfs_suspendResumeCapabilitywAddress_bit), 0x01, "The suspendResumeCapabilitywAddress bit", HFILL }},
20571         { &hf_h245_suspendResumeCapabilitywoAddress,
20572                 { "suspendResumeCapabilitywoAddress", "h245.suspendResumeCapabilitywoAddress", FT_BOOLEAN, 8,
20573                 TFS(&tfs_suspendResumeCapabilitywoAddress_bit), 0x01, "The suspendResumeCapabilitywoAddress bit", HFILL }},
20574         { &hf_h245_rejCapability,
20575                 { "rejCapability", "h245.rejCapability", FT_BOOLEAN, 8,
20576                 TFS(&tfs_rejCapability_bit), 0x01, "The rejCapability bit", HFILL }},
20577         { &hf_h245_sREJCapability,
20578                 { "sREJCapability", "h245.sREJCapability", FT_BOOLEAN, 8,
20579                 TFS(&tfs_sREJCapability_bit), 0x01, "The sREJCapability bit", HFILL }},
20580         { &hf_h245_mREJCapability,
20581                 { "mREJCapability", "h245.mREJCapability", FT_BOOLEAN, 8,
20582                 TFS(&tfs_mREJCapability_bit), 0x01, "The mREJCapability bit", HFILL }},
20583         { &hf_h245_crc8bitCapability,
20584                 { "crc8bitCapability", "h245.crc8bitCapability", FT_BOOLEAN, 8,
20585                 TFS(&tfs_crc8bitCapability_bit), 0x01, "The crc8bitCapability bit", HFILL }},
20586         { &hf_h245_crc16bitCapability,
20587                 { "crc16bitCapability", "h245.crc16bitCapability", FT_BOOLEAN, 8,
20588                 TFS(&tfs_crc16bitCapability_bit), 0x01, "The crc16bitCapability bit", HFILL }},
20589         { &hf_h245_crc32bitCapability,
20590                 { "crc32bitCapability", "h245.crc32bitCapability", FT_BOOLEAN, 8,
20591                 TFS(&tfs_crc32bitCapability_bit), 0x01, "The crc32bitCapability bit", HFILL }},
20592         { &hf_h245_uihCapability,
20593                 { "uihCapability", "h245.uihCapability", FT_BOOLEAN, 8,
20594                 TFS(&tfs_uihCapability_bit), 0x01, "The uihCapability bit", HFILL }},
20595         { &hf_h245_twoOctetAddressFieldCapability,
20596                 { "twoOctetAddressFieldCapability", "h245.twoOctetAddressFieldCapability", FT_BOOLEAN, 8,
20597                 TFS(&tfs_twoOctetAddressFieldCapability_bit), 0x01, "The twoOctetAddressFieldCapability bit", HFILL }},
20598         { &hf_h245_loopBackTestCapability,
20599                 { "loopBackTestCapability", "h245.loopBackTestCapability", FT_BOOLEAN, 8,
20600                 TFS(&tfs_loopBackTestCapability_bit), 0x01, "The loopBackTestCapability bit", HFILL }},
20601         { &hf_h245_audioHeader,
20602                 { "audioHeader", "h245.audioHeader", FT_BOOLEAN, 8,
20603                 TFS(&tfs_audioHeader_bit), 0x01, "The audioHeader bit", HFILL }},
20604         { &hf_h245_centralizedConferenceMC,
20605                 { "centralizedConferenceMC", "h245.centralizedConferenceMC", FT_BOOLEAN, 8,
20606                 TFS(&tfs_centralizedConferenceMC_bit), 0x01, "The centralizedConferenceMC bit", HFILL }},
20607         { &hf_h245_decentralizedConferenceMC,
20608                 { "decentralizedConferenceMC", "h245.decentralizedConferenceMC", FT_BOOLEAN, 8,
20609                 TFS(&tfs_decentralizedConferenceMC_bit), 0x01, "The decentralizedConferenceMC bit", HFILL }},
20610         { &hf_h245_rtcpVideoControlCapability,
20611                 { "rtcpVideoControlCapability", "h245.rtcpVideoControlCapability", FT_BOOLEAN, 8,
20612                 TFS(&tfs_rtcpVideoControlCapability_bit), 0x01, "The rtcpVideoControlCapability bit", HFILL }},
20613         { &hf_h245_logicalChannelSwitchingCapability,
20614                 { "logicalChannelSwitchingCapability", "h245.logicalChannelSwitchingCapability", FT_BOOLEAN, 8,
20615                 TFS(&tfs_logicalChannelSwitchingCapability_bit), 0x01, "The logicalChannelSwitchingCapability bit", HFILL }},
20616         { &hf_h245_t120DynamicPortCapability,
20617                 { "t120DynamicPortCapability", "h245.t120DynamicPortCapability", FT_BOOLEAN, 8,
20618                 TFS(&tfs_t120DynamicPortCapability_bit), 0x01, "The t120DynamicPortCapability bit", HFILL }},
20619         { &hf_h245_h261aVideoPacketization,
20620                 { "h261aVideoPacketization", "h245.h261aVideoPacketization", FT_BOOLEAN, 8,
20621                 TFS(&tfs_h261aVideoPacketization_bit), 0x01, "The h261aVideoPacketization bit", HFILL }},
20622         { &hf_h245_atmUBR,
20623                 { "atmUBR", "h245.atmUBR", FT_BOOLEAN, 8,
20624                 TFS(&tfs_atmUBR_bit), 0x01, "The atmUBR bit", HFILL }},
20625         { &hf_h245_atmrtVBR,
20626                 { "atmrtVBR", "h245.atmrtVBR", FT_BOOLEAN, 8,
20627                 TFS(&tfs_atmrtVBR_bit), 0x01, "The atmrtVBR bit", HFILL }},
20628         { &hf_h245_atmnrtVBR,
20629                 { "atmnrtVBR", "h245.atmnrtVBR", FT_BOOLEAN, 8,
20630                 TFS(&tfs_atmnrtVBR_bit), 0x01, "The atmnrtVBR bit", HFILL }},
20631         { &hf_h245_atmABR,
20632                 { "atmABR", "h245.atmABR", FT_BOOLEAN, 8,
20633                 TFS(&tfs_atmABR_bit), 0x01, "The atmABR bit", HFILL }},
20634         { &hf_h245_atmCBR,
20635                 { "atmCBR", "h245.atmCBR", FT_BOOLEAN, 8,
20636                 TFS(&tfs_atmCBR_bit), 0x01, "The atmCBR bit", HFILL }},
20637         { &hf_h245_variableDelta,
20638                 { "variableDelta", "h245.variableDelta", FT_BOOLEAN, 8,
20639                 TFS(&tfs_variableDelta_bit), 0x01, "The variableDelta bit", HFILL }},
20640         { &hf_h245_multicastCapability,
20641                 { "multicastCapability", "h245.multicastCapability", FT_BOOLEAN, 8,
20642                 TFS(&tfs_multicastCapability_bit), 0x01, "The multicastCapability bit", HFILL }},
20643         { &hf_h245_multiUniCastConference,
20644                 { "multiUniCastConference", "h245.multiUniCastConference", FT_BOOLEAN, 8,
20645                 TFS(&tfs_multiUniCastConference_bit), 0x01, "The multiUniCastConference bit", HFILL }},
20646         { &hf_h245_centralizedControl,
20647                 { "centralizedControl", "h245.centralizedControl", FT_BOOLEAN, 8,
20648                 TFS(&tfs_centralizedControl_bit), 0x01, "The centralizedControl bit", HFILL }},
20649         { &hf_h245_distributedControl,
20650                 { "distributedControl", "h245.distributedControl", FT_BOOLEAN, 8,
20651                 TFS(&tfs_distributedControl_bit), 0x01, "The distributedControl bit", HFILL }},
20652         { &hf_h245_centralizedAudio,
20653                 { "centralizedAudio", "h245.centralizedAudio", FT_BOOLEAN, 8,
20654                 TFS(&tfs_centralizedAudio_bit), 0x01, "The centralizedAudio bit", HFILL }},
20655         { &hf_h245_distributedAudio,
20656                 { "distributedAudio", "h245.distributedAudio", FT_BOOLEAN, 8,
20657                 TFS(&tfs_distributedAudio_bit), 0x01, "The distributedAudio bit", HFILL }},
20658         { &hf_h245_centralizedVideo,
20659                 { "centralizedVideo", "h245.centralizedVideo", FT_BOOLEAN, 8,
20660                 TFS(&tfs_centralizedVideo_bit), 0x01, "The centralizedVideo bit", HFILL }},
20661         { &hf_h245_distributedVideo,
20662                 { "distributedVideo", "h245.distributedVideo", FT_BOOLEAN, 8,
20663                 TFS(&tfs_distributedVideo_bit), 0x01, "The distributedVideo bit", HFILL }},
20664         { &hf_h245_temporalSpatialTradeOffCapability,
20665                 { "temporalSpatialTradeOffCapability", "h245.temporalSpatialTradeOffCapability", FT_BOOLEAN, 8,
20666                 TFS(&tfs_temporalSpatialTradeOffCapability_bit), 0x01, "The temporalSpatialTradeOffCapability bit", HFILL }},
20667         { &hf_h245_stillImageTransmission,
20668                 { "stillImageTransmission", "h245.stillImageTransmission", FT_BOOLEAN, 8,
20669                 TFS(&tfs_stillImageTransmission_bit), 0x01, "The stillImageTransmission bit", HFILL }},
20670         { &hf_h245_videoBadMBsCap,
20671                 { "videoBadMBsCap", "h245.videoBadMBsCap", FT_BOOLEAN, 8,
20672                 TFS(&tfs_videoBadMBsCap_bit), 0x01, "The videoBadMBsCap bit", HFILL }},
20673         { &hf_h245_profileAndLevelSPatML,
20674                 { "profileAndLevelSPatML", "h245.profileAndLevelSPatML", FT_BOOLEAN, 8,
20675                 TFS(&tfs_profileAndLevelSPatML_bit), 0x01, "The profileAndLevelSPatML bit", HFILL }},
20676         { &hf_h245_profileAndLevelMPatLL,
20677                 { "profileAndLevelMPatLL", "h245.profileAndLevelMPatLL", FT_BOOLEAN, 8,
20678                 TFS(&tfs_profileAndLevelMPatLL_bit), 0x01, "The profileAndLevelMPatLL bit", HFILL }},
20679         { &hf_h245_profileAndLevelMPatML,
20680                 { "profileAndLevelMPatML", "h245.profileAndLevelMPatML", FT_BOOLEAN, 8,
20681                 TFS(&tfs_profileAndLevelMPatML_bit), 0x01, "The profileAndLevelMPatML bit", HFILL }},
20682         { &hf_h245_profileAndLevelMPatH14,
20683                 { "profileAndLevelMPatH14", "h245.profileAndLevelMPatH14", FT_BOOLEAN, 8,
20684                 TFS(&tfs_profileAndLevelMPatH14_bit), 0x01, "The profileAndLevelMPatH14 bit", HFILL }},
20685         { &hf_h245_profileAndLevelMPatHL,
20686                 { "profileAndLevelMPatHL", "h245.profileAndLevelMPatHL", FT_BOOLEAN, 8,
20687                 TFS(&tfs_profileAndLevelMPatHL_bit), 0x01, "The profileAndLevelMPatHL bit", HFILL }},
20688         { &hf_h245_profileAndLevelSNRatLL,
20689                 { "profileAndLevelSNRatLL", "h245.profileAndLevelSNRatLL", FT_BOOLEAN, 8,
20690                 TFS(&tfs_profileAndLevelSNRatLL_bit), 0x01, "The profileAndLevelSNRatLL bit", HFILL }},
20691         { &hf_h245_profileAndLevelSNRatML,
20692                 { "profileAndLevelSNRatML", "h245.profileAndLevelSNRatML", FT_BOOLEAN, 8,
20693                 TFS(&tfs_profileAndLevelSNRatML_bit), 0x01, "The profileAndLevelSNRatML bit", HFILL }},
20694         { &hf_h245_profileAndLevelSpatialatH14,
20695                 { "profileAndLevelSpatialatH14", "h245.profileAndLevelSpatialatH14", FT_BOOLEAN, 8,
20696                 TFS(&tfs_profileAndLevelSpatialatH14_bit), 0x01, "The profileAndLevelSpatialatH14 bit", HFILL }},
20697         { &hf_h245_profileAndLevelHPatML,
20698                 { "profileAndLevelHPatML", "h245.profileAndLevelHPatML", FT_BOOLEAN, 8,
20699                 TFS(&tfs_profileAndLevelHPatML_bit), 0x01, "The profileAndLevelHPatML bit", HFILL }},
20700         { &hf_h245_profileAndLevelHPatH14,
20701                 { "profileAndLevelHPatH14", "h245.profileAndLevelHPatH14", FT_BOOLEAN, 8,
20702                 TFS(&tfs_profileAndLevelHPatH14_bit), 0x01, "The profileAndLevelHPatH14 bit", HFILL }},
20703         { &hf_h245_profileAndLevelHPatHL,
20704                 { "profileAndLevelHPatHL", "h245.profileAndLevelHPatHL", FT_BOOLEAN, 8,
20705                 TFS(&tfs_profileAndLevelHPatHL_bit), 0x01, "The profileAndLevelHPatHL bit", HFILL }},
20706         { &hf_h245_unrestrictedVector,
20707                 { "unrestrictedVector", "h245.unrestrictedVector", FT_BOOLEAN, 8,
20708                 TFS(&tfs_unrestrictedVector_bit), 0x01, "The unrestrictedVector bit", HFILL }},
20709         { &hf_h245_arithmeticCoding,
20710                 { "arithmeticCoding", "h245.arithmeticCoding", FT_BOOLEAN, 8,
20711                 TFS(&tfs_arithmeticCoding_bit), 0x01, "The arithmeticCoding bit", HFILL }},
20712         { &hf_h245_advancedPrediction,
20713                 { "advancedPrediction", "h245.advancedPrediction", FT_BOOLEAN, 8,
20714                 TFS(&tfs_advancedPrediction_bit), 0x01, "The advancedPrediction bit", HFILL }},
20715         { &hf_h245_pbFrames,
20716                 { "pbFrames", "h245.pbFrames", FT_BOOLEAN, 8,
20717                 TFS(&tfs_pbFrames_bit), 0x01, "The pbFrames bit", HFILL }},
20718         { &hf_h245_errorCompensation,
20719                 { "errorCompensation", "h245.errorCompensation", FT_BOOLEAN, 8,
20720                 TFS(&tfs_errorCompensation_bit), 0x01, "The errorCompensation bit", HFILL }},
20721         { &hf_h245_baseBitRateConstrained,
20722                 { "baseBitRateConstrained", "h245.baseBitRateConstrained", FT_BOOLEAN, 8,
20723                 TFS(&tfs_baseBitRateConstrained_bit), 0x01, "The baseBitRateConstrained bit", HFILL }},
20724         { &hf_h245_advancedIntraCodingMode,
20725                 { "advancedIntraCodingMode", "h245.advancedIntraCodingMode", FT_BOOLEAN, 8,
20726                 TFS(&tfs_advancedIntraCodingMode_bit), 0x01, "The advancedIntraCodingMode bit", HFILL }},
20727         { &hf_h245_deblockingFilterMode,
20728                 { "deblockingFilterMode", "h245.deblockingFilterMode", FT_BOOLEAN, 8,
20729                 TFS(&tfs_deblockingFilterMode_bit), 0x01, "The deblockingFilterMode bit", HFILL }},
20730         { &hf_h245_improvedPBFramesMode,
20731                 { "improvedPBFramesMode", "h245.improvedPBFramesMode", FT_BOOLEAN, 8,
20732                 TFS(&tfs_improvedPBFramesMode_bit), 0x01, "The improvedPBFramesMode bit", HFILL }},
20733         { &hf_h245_unlimitedMotionVectors,
20734                 { "unlimitedMotionVectors", "h245.unlimitedMotionVectors", FT_BOOLEAN, 8,
20735                 TFS(&tfs_unlimitedMotionVectors_bit), 0x01, "The unlimitedMotionVectors bit", HFILL }},
20736         { &hf_h245_fullPictureFreeze,
20737                 { "fullPictureFreeze", "h245.fullPictureFreeze", FT_BOOLEAN, 8,
20738                 TFS(&tfs_fullPictureFreeze_bit), 0x01, "The fullPictureFreeze bit", HFILL }},
20739         { &hf_h245_partialPictureFreezeAndRelease,
20740                 { "partialPictureFreezeAndRelease", "h245.partialPictureFreezeAndRelease", FT_BOOLEAN, 8,
20741                 TFS(&tfs_partialPictureFreezeAndRelease_bit), 0x01, "The partialPictureFreezeAndRelease bit", HFILL }},
20742         { &hf_h245_resizingPartPicFreezeAndRelease,
20743                 { "resizingPartPicFreezeAndRelease", "h245.resizingPartPicFreezeAndRelease", FT_BOOLEAN, 8,
20744                 TFS(&tfs_resizingPartPicFreezeAndRelease_bit), 0x01, "The resizingPartPicFreezeAndRelease bit", HFILL }},
20745         { &hf_h245_fullPictureSnapshot,
20746                 { "fullPictureSnapshot", "h245.fullPictureSnapshot", FT_BOOLEAN, 8,
20747                 TFS(&tfs_fullPictureSnapshot_bit), 0x01, "The fullPictureSnapshot bit", HFILL }},
20748         { &hf_h245_partialPictureSnapshot,
20749                 { "partialPictureSnapshot", "h245.partialPictureSnapshot", FT_BOOLEAN, 8,
20750                 TFS(&tfs_partialPictureSnapshot_bit), 0x01, "The partialPictureSnapshot bit", HFILL }},
20751         { &hf_h245_videoSegmentTagging,
20752                 { "videoSegmentTagging", "h245.videoSegmentTagging", FT_BOOLEAN, 8,
20753                 TFS(&tfs_videoSegmentTagging_bit), 0x01, "The videoSegmentTagging bit", HFILL }},
20754         { &hf_h245_progressiveRefinement,
20755                 { "progressiveRefinement", "h245.progressiveRefinement", FT_BOOLEAN, 8,
20756                 TFS(&tfs_progressiveRefinement_bit), 0x01, "The progressiveRefinement bit", HFILL }},
20757         { &hf_h245_dynamicPictureResizingByFour,
20758                 { "dynamicPictureResizingByFour", "h245.dynamicPictureResizingByFour", FT_BOOLEAN, 8,
20759                 TFS(&tfs_dynamicPictureResizingByFour_bit), 0x01, "The dynamicPictureResizingByFour bit", HFILL }},
20760         { &hf_h245_dynamicPictureResizingSixteenthPel,
20761                 { "dynamicPictureResizingSixteenthPel", "h245.dynamicPictureResizingSixteenthPel", FT_BOOLEAN, 8,
20762                 TFS(&tfs_dynamicPictureResizingSixteenthPel_bit), 0x01, "The dynamicPictureResizingSixteenthPel bit", HFILL }},
20763         { &hf_h245_dynamicWarpingHalfPel,
20764                 { "dynamicWarpingHalfPel", "h245.dynamicWarpingHalfPel", FT_BOOLEAN, 8,
20765                 TFS(&tfs_dynamicWarpingHalfPel_bit), 0x01, "The dynamicWarpingHalfPel bit", HFILL }},
20766         { &hf_h245_dynamicWarpingSixteenthPel,
20767                 { "dynamicWarpingSixteenthPel", "h245.dynamicWarpingSixteenthPel", FT_BOOLEAN, 8,
20768                 TFS(&tfs_dynamicWarpingSixteenthPel_bit), 0x01, "The dynamicWarpingSixteenthPel bit", HFILL }},
20769         { &hf_h245_independentSegmentDecoding,
20770                 { "independentSegmentDecoding", "h245.independentSegmentDecoding", FT_BOOLEAN, 8,
20771                 TFS(&tfs_independentSegmentDecoding_bit), 0x01, "The independentSegmentDecoding bit", HFILL }},
20772         { &hf_h245_slicesInOrderNonRect,
20773                 { "slicesInOrderNonRect", "h245.slicesInOrderNonRect", FT_BOOLEAN, 8,
20774                 TFS(&tfs_slicesInOrderNonRect_bit), 0x01, "The slicesInOrderNonRect bit", HFILL }},
20775         { &hf_h245_slicesInOrderRect,
20776                 { "slicesInOrderRect", "h245.slicesInOrderRect", FT_BOOLEAN, 8,
20777                 TFS(&tfs_slicesInOrderRect_bit), 0x01, "The slicesInOrderRect bit", HFILL }},
20778         { &hf_h245_slicesNoOrderNonRect,
20779                 { "slicesNoOrderNonRect", "h245.slicesNoOrderNonRect", FT_BOOLEAN, 8,
20780                 TFS(&tfs_slicesNoOrderNonRect_bit), 0x01, "The slicesNoOrderNonRect bit", HFILL }},
20781         { &hf_h245_slicesNoOrderRect,
20782                 { "slicesNoOrderRect", "h245.slicesNoOrderRect", FT_BOOLEAN, 8,
20783                 TFS(&tfs_slicesNoOrderRect_bit), 0x01, "The slicesNoOrderRect bit", HFILL }},
20784         { &hf_h245_alternateInterVLCMode,
20785                 { "alternateInterVLCMode", "h245.alternateInterVLCMode", FT_BOOLEAN, 8,
20786                 TFS(&tfs_alternateInterVLCMode_bit), 0x01, "The alternateInterVLCMode bit", HFILL }},
20787         { &hf_h245_modifiedQuantizationMode,
20788                 { "modifiedQuantizationMode", "h245.modifiedQuantizationMode", FT_BOOLEAN, 8,
20789                 TFS(&tfs_modifiedQuantizationMode_bit), 0x01, "The modifiedQuantizationMode bit", HFILL }},
20790         { &hf_h245_reducedResolutionUpdate,
20791                 { "reducedResolutionUpdate", "h245.reducedResolutionUpdate", FT_BOOLEAN, 8,
20792                 TFS(&tfs_reducedResolutionUpdate_bit), 0x01, "The reducedResolutionUpdate bit", HFILL }},
20793         { &hf_h245_separateVideoBackChannel,
20794                 { "separateVideoBackChannel", "h245.separateVideoBackChannel", FT_BOOLEAN, 8,
20795                 TFS(&tfs_separateVideoBackChannel_bit), 0x01, "The separateVideoBackChannel bit", HFILL }},
20796         { &hf_h245_videoMux,
20797                 { "videoMux", "h245.videoMux", FT_BOOLEAN, 8,
20798                 TFS(&tfs_videoMux_bit), 0x01, "The videoMux bit", HFILL }},
20799         { &hf_h245_anyPixelAspectRatio,
20800                 { "anyPixelAspectRatio", "h245.anyPixelAspectRatio", FT_BOOLEAN, 8,
20801                 TFS(&tfs_anyPixelAspectRatio_bit), 0x01, "The anyPixelAspectRatio bit", HFILL }},
20802         { &hf_h245_referencePicSelect,
20803                 { "referencePicSelect", "h245.referencePicSelect", FT_BOOLEAN, 8,
20804                 TFS(&tfs_referencePicSelect_bit), 0x01, "The referencePicSelect bit", HFILL }},
20805         { &hf_h245_enhancedReferencePicSelect_bool,
20806                 { "enhancedReferencePicSelect_bool", "h245.enhancedReferencePicSelect_bool", FT_BOOLEAN, 8,
20807                 TFS(&tfs_enhancedReferencePicSelect_bool_bit), 0x01, "The enhancedReferencePicSelect_bool bit", HFILL }},
20808         { &hf_h245_dataPartitionedSlices,
20809                 { "dataPartitionedSlices", "h245.dataPartitionedSlices", FT_BOOLEAN, 8,
20810                 TFS(&tfs_dataPartitionedSlices_bit), 0x01, "The dataPartitionedSlices bit", HFILL }},
20811         { &hf_h245_fixedPointIDCT0,
20812                 { "fixedPointIDCT0", "h245.fixedPointIDCT0", FT_BOOLEAN, 8,
20813                 TFS(&tfs_fixedPointIDCT0_bit), 0x01, "The fixedPointIDCT0 bit", HFILL }},
20814         { &hf_h245_interlacedFields,
20815                 { "interlacedFields", "h245.interlacedFields", FT_BOOLEAN, 8,
20816                 TFS(&tfs_interlacedFields_bit), 0x01, "The interlacedFields bit", HFILL }},
20817         { &hf_h245_currentPictureHeaderRepetition,
20818                 { "currentPictureHeaderRepetition", "h245.currentPictureHeaderRepetition", FT_BOOLEAN, 8,
20819                 TFS(&tfs_currentPictureHeaderRepetition_bit), 0x01, "The currentPictureHeaderRepetition bit", HFILL }},
20820         { &hf_h245_previousPictureHeaderRepetition,
20821                 { "previousPictureHeaderRepetition", "h245.previousPictureHeaderRepetition", FT_BOOLEAN, 8,
20822                 TFS(&tfs_previousPictureHeaderRepetition_bit), 0x01, "The previousPictureHeaderRepetition bit", HFILL }},
20823         { &hf_h245_nextPictureHeaderRepetition,
20824                 { "nextPictureHeaderRepetition", "h245.nextPictureHeaderRepetition", FT_BOOLEAN, 8,
20825                 TFS(&tfs_nextPictureHeaderRepetition_bit), 0x01, "The nextPictureHeaderRepetition bit", HFILL }},
20826         { &hf_h245_pictureNumber_bool,
20827                 { "pictureNumber_bool", "h245.pictureNumber_bool", FT_BOOLEAN, 8,
20828                 TFS(&tfs_pictureNumber_bool_bit), 0x01, "The pictureNumber_bool bit", HFILL }},
20829         { &hf_h245_spareReferencePictures,
20830                 { "spareReferencePictures", "h245.spareReferencePictures", FT_BOOLEAN, 8,
20831                 TFS(&tfs_spareReferencePictures_bit), 0x01, "The spareReferencePictures bit", HFILL }},
20832         { &hf_h245_constrainedBitstream,
20833                 { "constrainedBitstream", "h245.constrainedBitstream", FT_BOOLEAN, 8,
20834                 TFS(&tfs_constrainedBitstream_bit), 0x01, "The constrainedBitstream bit", HFILL }},
20835         { &hf_h245_silenceSuppression,
20836                 { "silenceSuppression", "h245.silenceSuppression", FT_BOOLEAN, 8,
20837                 TFS(&tfs_silenceSuppression_bit), 0x01, "The silenceSuppression bit", HFILL }},
20838         { &hf_h245_annexA,
20839                 { "annexA", "h245.annexA", FT_BOOLEAN, 8,
20840                 TFS(&tfs_annexA_bit), 0x01, "The annexA bit", HFILL }},
20841         { &hf_h245_annexB,
20842                 { "annexB", "h245.annexB", FT_BOOLEAN, 8,
20843                 TFS(&tfs_annexB_bit), 0x01, "The annexB bit", HFILL }},
20844         { &hf_h245_annexD,
20845                 { "annexD", "h245.annexD", FT_BOOLEAN, 8,
20846                 TFS(&tfs_annexD_bit), 0x01, "The annexD bit", HFILL }},
20847         { &hf_h245_annexE,
20848                 { "annexE", "h245.annexE", FT_BOOLEAN, 8,
20849                 TFS(&tfs_annexE_bit), 0x01, "The annexE bit", HFILL }},
20850         { &hf_h245_annexF,
20851                 { "annexF", "h245.annexF", FT_BOOLEAN, 8,
20852                 TFS(&tfs_annexF_bit), 0x01, "The annexF bit", HFILL }},
20853         { &hf_h245_annexG,
20854                 { "annexG", "h245.annexG", FT_BOOLEAN, 8,
20855                 TFS(&tfs_annexG_bit), 0x01, "The annexG bit", HFILL }},
20856         { &hf_h245_annexH,
20857                 { "annexH", "h245.annexH", FT_BOOLEAN, 8,
20858                 TFS(&tfs_annexH_bit), 0x01, "The annexH bit", HFILL }},
20859         { &hf_h245_audioLayer1,
20860                 { "audioLayer1", "h245.audioLayer1", FT_BOOLEAN, 8,
20861                 TFS(&tfs_audioLayer1_bit), 0x01, "The audioLayer1 bit", HFILL }},
20862         { &hf_h245_audioLayer2,
20863                 { "audioLayer2", "h245.audioLayer2", FT_BOOLEAN, 8,
20864                 TFS(&tfs_audioLayer2_bit), 0x01, "The audioLayer2 bit", HFILL }},
20865         { &hf_h245_audioLayer3,
20866                 { "audioLayer3", "h245.audioLayer3", FT_BOOLEAN, 8,
20867                 TFS(&tfs_audioLayer3_bit), 0x01, "The audioLayer3 bit", HFILL }},
20868         { &hf_h245_audioSampling32k,
20869                 { "audioSampling32k", "h245.audioSampling32k", FT_BOOLEAN, 8,
20870                 TFS(&tfs_audioSampling32k_bit), 0x01, "The audioSampling32k bit", HFILL }},
20871         { &hf_h245_audioSampling44k1,
20872                 { "audioSampling44k1", "h245.audioSampling44k1", FT_BOOLEAN, 8,
20873                 TFS(&tfs_audioSampling44k1_bit), 0x01, "The audioSampling44k1 bit", HFILL }},
20874         { &hf_h245_audioSampling48k,
20875                 { "audioSampling48k", "h245.audioSampling48k", FT_BOOLEAN, 8,
20876                 TFS(&tfs_audioSampling48k_bit), 0x01, "The audioSampling48k bit", HFILL }},
20877         { &hf_h245_singleChannel,
20878                 { "singleChannel", "h245.singleChannel", FT_BOOLEAN, 8,
20879                 TFS(&tfs_singleChannel_bit), 0x01, "The singleChannel bit", HFILL }},
20880         { &hf_h245_twoChannels,
20881                 { "twoChannels", "h245.twoChannels", FT_BOOLEAN, 8,
20882                 TFS(&tfs_twoChannels_bit), 0x01, "The twoChannels bit", HFILL }},
20883         { &hf_h245_audioSampling16k,
20884                 { "audioSampling16k", "h245.audioSampling16k", FT_BOOLEAN, 8,
20885                 TFS(&tfs_audioSampling16k_bit), 0x01, "The audioSampling16k bit", HFILL }},
20886         { &hf_h245_audioSampling22k05,
20887                 { "audioSampling22k05", "h245.audioSampling22k05", FT_BOOLEAN, 8,
20888                 TFS(&tfs_audioSampling22k05_bit), 0x01, "The audioSampling22k05 bit", HFILL }},
20889         { &hf_h245_audioSampling24k,
20890                 { "audioSampling24k", "h245.audioSampling24k", FT_BOOLEAN, 8,
20891                 TFS(&tfs_audioSampling24k_bit), 0x01, "The audioSampling24k bit", HFILL }},
20892         { &hf_h245_threeChannels21,
20893                 { "threeChannels21", "h245.threeChannels21", FT_BOOLEAN, 8,
20894                 TFS(&tfs_threeChannels21_bit), 0x01, "The threeChannels21 bit", HFILL }},
20895         { &hf_h245_threeChannels30,
20896                 { "threeChannels30", "h245.threeChannels30", FT_BOOLEAN, 8,
20897                 TFS(&tfs_threeChannels30_bit), 0x01, "The threeChannels30 bit", HFILL }},
20898         { &hf_h245_fourChannels2020,
20899                 { "fourChannels2020", "h245.fourChannels2020", FT_BOOLEAN, 8,
20900                 TFS(&tfs_fourChannels2020_bit), 0x01, "The fourChannels2020 bit", HFILL }},
20901         { &hf_h245_fourChannels22,
20902                 { "fourChannels22", "h245.fourChannels22", FT_BOOLEAN, 8,
20903                 TFS(&tfs_fourChannels22_bit), 0x01, "The fourChannels22 bit", HFILL }},
20904         { &hf_h245_fourChannels31,
20905                 { "fourChannels31", "h245.fourChannels31", FT_BOOLEAN, 8,
20906                 TFS(&tfs_fourChannels31_bit), 0x01, "The fourChannels31 bit", HFILL }},
20907         { &hf_h245_fiveChannels3020,
20908                 { "fiveChannels3020", "h245.fiveChannels3020", FT_BOOLEAN, 8,
20909                 TFS(&tfs_fiveChannels3020_bit), 0x01, "The fiveChannels3020 bit", HFILL }},
20910         { &hf_h245_fiveChannels32,
20911                 { "fiveChannels32", "h245.fiveChannels32", FT_BOOLEAN, 8,
20912                 TFS(&tfs_fiveChannels32_bit), 0x01, "The fiveChannels32 bit", HFILL }},
20913         { &hf_h245_lowFrequencyEnhancement,
20914                 { "lowFrequencyEnhancement", "h245.lowFrequencyEnhancement", FT_BOOLEAN, 8,
20915                 TFS(&tfs_lowFrequencyEnhancement_bit), 0x01, "The lowFrequencyEnhancement bit", HFILL }},
20916         { &hf_h245_multilingual,
20917                 { "multilingual", "h245.multilingual", FT_BOOLEAN, 8,
20918                 TFS(&tfs_multilingual_bit), 0x01, "The multilingual bit", HFILL }},
20919         { &hf_h245_comfortNoise,
20920                 { "comfortNoise", "h245.comfortNoise", FT_BOOLEAN, 8,
20921                 TFS(&tfs_comfortNoise_bit), 0x01, "The comfortNoise bit", HFILL }},
20922         { &hf_h245_scrambled,
20923                 { "scrambled", "h245.scrambled", FT_BOOLEAN, 8,
20924                 TFS(&tfs_scrambled_bit), 0x01, "The scrambled bit", HFILL }},
20925         { &hf_h245_qcif_bool,
20926                 { "qcif_bool", "h245.qcif_bool", FT_BOOLEAN, 8,
20927                 TFS(&tfs_qcif_bool_bit), 0x01, "The qcif_bool bit", HFILL }},
20928         { &hf_h245_cif_bool,
20929                 { "cif_bool", "h245.cif_bool", FT_BOOLEAN, 8,
20930                 TFS(&tfs_cif_bool_bit), 0x01, "The cif_bool bit", HFILL }},
20931         { &hf_h245_ccir601Seq,
20932                 { "ccir601Seq", "h245.ccir601Seq", FT_BOOLEAN, 8,
20933                 TFS(&tfs_ccir601Seq_bit), 0x01, "The ccir601Seq bit", HFILL }},
20934         { &hf_h245_ccir601Prog,
20935                 { "ccir601Prog", "h245.ccir601Prog", FT_BOOLEAN, 8,
20936                 TFS(&tfs_ccir601Prog_bit), 0x01, "The ccir601Prog bit", HFILL }},
20937         { &hf_h245_hdtvSeq,
20938                 { "hdtvSeq", "h245.hdtvSeq", FT_BOOLEAN, 8,
20939                 TFS(&tfs_hdtvSeq_bit), 0x01, "The hdtvSeq bit", HFILL }},
20940         { &hf_h245_hdtvProg,
20941                 { "hdtvProg", "h245.hdtvProg", FT_BOOLEAN, 8,
20942                 TFS(&tfs_hdtvProg_bit), 0x01, "The hdtvProg bit", HFILL }},
20943         { &hf_h245_g3FacsMH200x100,
20944                 { "g3FacsMH200x100", "h245.g3FacsMH200x100", FT_BOOLEAN, 8,
20945                 TFS(&tfs_g3FacsMH200x100_bit), 0x01, "The g3FacsMH200x100 bit", HFILL }},
20946         { &hf_h245_g3FacsMH200x200,
20947                 { "g3FacsMH200x200", "h245.g3FacsMH200x200", FT_BOOLEAN, 8,
20948                 TFS(&tfs_g3FacsMH200x200_bit), 0x01, "The g3FacsMH200x200 bit", HFILL }},
20949         { &hf_h245_g4FacsMMR200x100,
20950                 { "g4FacsMMR200x100", "h245.g4FacsMMR200x100", FT_BOOLEAN, 8,
20951                 TFS(&tfs_g4FacsMMR200x100_bit), 0x01, "The g4FacsMMR200x100 bit", HFILL }},
20952         { &hf_h245_g4FacsMMR200x200,
20953                 { "g4FacsMMR200x200", "h245.g4FacsMMR200x200", FT_BOOLEAN, 8,
20954                 TFS(&tfs_g4FacsMMR200x200_bit), 0x01, "The g4FacsMMR200x200 bit", HFILL }},
20955         { &hf_h245_jbig200x200Seq,
20956                 { "jbig200x200Seq", "h245.jbig200x200Seq", FT_BOOLEAN, 8,
20957                 TFS(&tfs_jbig200x200Seq_bit), 0x01, "The jbig200x200Seq bit", HFILL }},
20958         { &hf_h245_jbig200x200Prog,
20959                 { "jbig200x200Prog", "h245.jbig200x200Prog", FT_BOOLEAN, 8,
20960                 TFS(&tfs_jbig200x200Prog_bit), 0x01, "The jbig200x200Prog bit", HFILL }},
20961         { &hf_h245_jbig300x300Seq,
20962                 { "jbig300x300Seq", "h245.jbig300x300Seq", FT_BOOLEAN, 8,
20963                 TFS(&tfs_jbig300x300Seq_bit), 0x01, "The jbig300x300Seq bit", HFILL }},
20964         { &hf_h245_jbig300x300Prog,
20965                 { "jbig300x300Prog", "h245.jbig300x300Prog", FT_BOOLEAN, 8,
20966                 TFS(&tfs_jbig300x300Prog_bit), 0x01, "The jbig300x300Prog bit", HFILL }},
20967         { &hf_h245_digPhotoLow,
20968                 { "digPhotoLow", "h245.digPhotoLow", FT_BOOLEAN, 8,
20969                 TFS(&tfs_digPhotoLow_bit), 0x01, "The digPhotoLow bit", HFILL }},
20970         { &hf_h245_digPhotoMedSeq,
20971                 { "digPhotoMedSeq", "h245.digPhotoMedSeq", FT_BOOLEAN, 8,
20972                 TFS(&tfs_digPhotoMedSeq_bit), 0x01, "The digPhotoMedSeq bit", HFILL }},
20973         { &hf_h245_digPhotoMedProg,
20974                 { "digPhotoMedProg", "h245.digPhotoMedProg", FT_BOOLEAN, 8,
20975                 TFS(&tfs_digPhotoMedProg_bit), 0x01, "The digPhotoMedProg bit", HFILL }},
20976         { &hf_h245_digPhotoHighSeq,
20977                 { "digPhotoHighSeq", "h245.digPhotoHighSeq", FT_BOOLEAN, 8,
20978                 TFS(&tfs_digPhotoHighSeq_bit), 0x01, "The digPhotoHighSeq bit", HFILL }},
20979         { &hf_h245_digPhotoHighProg,
20980                 { "digPhotoHighProg", "h245.digPhotoHighProg", FT_BOOLEAN, 8,
20981                 TFS(&tfs_digPhotoHighProg_bit), 0x01, "The digPhotoHighProg bit", HFILL }},
20982         { &hf_h245_fillBitRemoval,
20983                 { "fillBitRemoval", "h245.fillBitRemoval", FT_BOOLEAN, 8,
20984                 TFS(&tfs_fillBitRemoval_bit), 0x01, "The fillBitRemoval bit", HFILL }},
20985         { &hf_h245_transcodingJBIG,
20986                 { "transcodingJBIG", "h245.transcodingJBIG", FT_BOOLEAN, 8,
20987                 TFS(&tfs_transcodingJBIG_bit), 0x01, "The transcodingJBIG bit", HFILL }},
20988         { &hf_h245_transcodingMMR,
20989                 { "transcodingMMR", "h245.transcodingMMR", FT_BOOLEAN, 8,
20990                 TFS(&tfs_transcodingMMR_bit), 0x01, "The transcodingMMR bit", HFILL }},
20991         { &hf_h245_t38TCPBidirectionalMode,
20992                 { "t38TCPBidirectionalMode", "h245.t38TCPBidirectionalMode", FT_BOOLEAN, 8,
20993                 TFS(&tfs_t38TCPBidirectionalMode_bit), 0x01, "The t38TCPBidirectionalMode bit", HFILL }},
20994         { &hf_h245_chairControlCapability,
20995                 { "chairControlCapability", "h245.chairControlCapability", FT_BOOLEAN, 8,
20996                 TFS(&tfs_chairControlCapability_bit), 0x01, "The chairControlCapability bit", HFILL }},
20997         { &hf_h245_videoIndicateMixingCapability,
20998                 { "videoIndicateMixingCapability", "h245.videoIndicateMixingCapability", FT_BOOLEAN, 8,
20999                 TFS(&tfs_videoIndicateMixingCapability_bit), 0x01, "The videoIndicateMixingCapability bit", HFILL }},
21000         { &hf_h245_multipointVisualizationCapability,
21001                 { "multipointVisualizationCapability", "h245.multipointVisualizationCapability", FT_BOOLEAN, 8,
21002                 TFS(&tfs_multipointVisualizationCapability_bit), 0x01, "The multipointVisualizationCapability bit", HFILL }},
21003         { &hf_h245_controlOnMuxStream,
21004                 { "controlOnMuxStream", "h245.controlOnMuxStream", FT_BOOLEAN, 8,
21005                 TFS(&tfs_controlOnMuxStream_bit), 0x01, "The controlOnMuxStream bit", HFILL }},
21006         { &hf_h245_redundancyEncoding_bool,
21007                 { "redundancyEncoding_bool", "h245.redundancyEncoding_bool", FT_BOOLEAN, 8,
21008                 TFS(&tfs_redundancyEncoding_bool_bit), 0x01, "The redundancyEncoding_bool bit", HFILL }},
21009         { &hf_h245_separatePort,
21010                 { "separatePort", "h245.separatePort", FT_BOOLEAN, 8,
21011                 TFS(&tfs_separatePort_bit), 0x01, "The separatePort bit", HFILL }},
21012         { &hf_h245_samePort_bool,
21013                 { "samePort_bool", "h245.samePort_bool", FT_BOOLEAN, 8,
21014                 TFS(&tfs_samePort_bool_bit), 0x01, "The samePort_bool bit", HFILL }},
21015         { &hf_h245_associateConference,
21016                 { "associateConference", "h245.associateConference", FT_BOOLEAN, 8,
21017                 TFS(&tfs_associateConference_bit), 0x01, "The associateConference bit", HFILL }},
21018         { &hf_h245_audioHeaderPresent,
21019                 { "audioHeaderPresent", "h245.audioHeaderPresent", FT_BOOLEAN, 8,
21020                 TFS(&tfs_audioHeaderPresent_bit), 0x01, "The audioHeaderPresent bit", HFILL }},
21021         { &hf_h245_segmentableFlag,
21022                 { "segmentableFlag", "h245.segmentableFlag", FT_BOOLEAN, 8,
21023                 TFS(&tfs_segmentableFlag_bit), 0x01, "The segmentableFlag bit", HFILL }},
21024         { &hf_h245_alsduSplitting,
21025                 { "alsduSplitting", "h245.alsduSplitting", FT_BOOLEAN, 8,
21026                 TFS(&tfs_alsduSplitting_bit), 0x01, "The alsduSplitting bit", HFILL }},
21027         { &hf_h245_uIH,
21028                 { "uIH", "h245.uIH", FT_BOOLEAN, 8,
21029                 TFS(&tfs_uIH_bit), 0x01, "The uIH bit", HFILL }},
21030         { &hf_h245_loopbackTestProcedure,
21031                 { "loopbackTestProcedure", "h245.loopbackTestProcedure", FT_BOOLEAN, 8,
21032                 TFS(&tfs_loopbackTestProcedure_bit), 0x01, "The loopbackTestProcedure bit", HFILL }},
21033         { &hf_h245_mediaGuaranteedDelivery,
21034                 { "mediaGuaranteedDelivery", "h245.mediaGuaranteedDelivery", FT_BOOLEAN, 8,
21035                 TFS(&tfs_mediaGuaranteedDelivery_bit), 0x01, "The mediaGuaranteedDelivery bit", HFILL }},
21036         { &hf_h245_mediaControlGuaranteedDelivery,
21037                 { "mediaControlGuaranteedDelivery", "h245.mediaControlGuaranteedDelivery", FT_BOOLEAN, 8,
21038                 TFS(&tfs_mediaControlGuaranteedDelivery_bit), 0x01, "The mediaControlGuaranteedDelivery bit", HFILL }},
21039         { &hf_h245_flowControlToZero,
21040                 { "flowControlToZero", "h245.flowControlToZero", FT_BOOLEAN, 8,
21041                 TFS(&tfs_flowControlToZero_bit), 0x01, "The flowControlToZero bit", HFILL }},
21042         { &hf_h245_multiplexCapability_bool,
21043                 { "multiplexCapability_bool", "h245.multiplexCapability_bool", FT_BOOLEAN, 8,
21044                 TFS(&tfs_multiplexCapability_bool_bit), 0x01, "The multiplexCapability_bool bit", HFILL }},
21045         { &hf_h245_secureChannel,
21046                 { "secureChannel", "h245.secureChannel", FT_BOOLEAN, 8,
21047                 TFS(&tfs_secureChannel_bit), 0x01, "The secureChannel bit", HFILL }},
21048         { &hf_h245_sharedSecret,
21049                 { "sharedSecret", "h245.sharedSecret", FT_BOOLEAN, 8,
21050                 TFS(&tfs_sharedSecret_bit), 0x01, "The sharedSecret bit", HFILL }},
21051         { &hf_h245_certProtectedKey,
21052                 { "certProtectedKey", "h245.certProtectedKey", FT_BOOLEAN, 8,
21053                 TFS(&tfs_certProtectedKey_bit), 0x01, "The certProtectedKey bit", HFILL }},
21054         { &hf_h245_bitRateLockedToPCRClock,
21055                 { "bitRateLockedToPCRClock", "h245.bitRateLockedToPCRClock", FT_BOOLEAN, 8,
21056                 TFS(&tfs_bitRateLockedToPCRClock_bit), 0x01, "The bitRateLockedToPCRClock bit", HFILL }},
21057         { &hf_h245_bitRateLockedToNetworkClock,
21058                 { "bitRateLockedToNetworkClock", "h245.bitRateLockedToNetworkClock", FT_BOOLEAN, 8,
21059                 TFS(&tfs_bitRateLockedToNetworkClock_bit), 0x01, "The bitRateLockedToNetworkClock bit", HFILL }},
21060         { &hf_h245_IS11172_BitRate,
21061                 { "BitRate", "h245.IS11172_BitRate", FT_UINT32, BASE_DEC,
21062                 NULL, 0, "IS11172 BitRate in kbit/s", HFILL }},
21063         { &hf_h245_IS13818_BitRate,
21064                 { "BitRate", "h245.IS13818_BitRate", FT_UINT32, BASE_DEC,
21065                 NULL, 0, "IS13818 BitRate in kbit/s", HFILL }},
21066         { &hf_h245_ATM_BitRate,
21067                 { "BitRate", "h245.ATM_BitRate", FT_UINT32, BASE_DEC,
21068                 NULL, 0, "ATM BitRate in 64kbit/s units", HFILL }},
21069         { &hf_h245_t35CountryCode,
21070                 { "t35CountryCode", "h245.t35CountryCode", FT_UINT32, BASE_DEC,
21071                 VALS(T35CountryCode_vals), 0, "t35CountryCode value", HFILL }},
21072         { &hf_h245_t35Extension,
21073                 { "t35Extension", "h245.t35Extension", FT_UINT32, BASE_DEC,
21074                 NULL, 0, "t35Extension value", HFILL }},
21075         { &hf_h245_manufacturerCode,
21076                 { "manufacturerCode", "h245.manufacturerCode", FT_UINT32, BASE_DEC,
21077                 NULL, 0, "manufacturerCode value", HFILL }},
21078         { &hf_h245_terminalType,
21079                 { "terminalType", "h245.terminalType", FT_UINT32, BASE_DEC,
21080                 NULL, 0, "terminalType value", HFILL }},
21081         { &hf_h245_statusDeterminationNumber,
21082                 { "statusDeterminationNumber", "h245.statusDeterminationNumber", FT_UINT32, BASE_DEC,
21083                 NULL, 0, "statusDeterminationNumber value", HFILL }},
21084         { &hf_h245_CapabilityTableEntryNumber,
21085                 { "CapabilityTableEntryNumber", "h245.CapabilityTableEntryNumber", FT_UINT32, BASE_DEC,
21086                 NULL, 0, "CapabilityTableEntryNumber value", HFILL }},
21087         { &hf_h245_CapabilityDescriptorNumber,
21088                 { "CapabilityDescriptorNumber", "h245.CapabilityDescriptorNumber", FT_UINT32, BASE_DEC,
21089                 NULL, 0, "CapabilityDescriptorNumber value", HFILL }},
21090         { &hf_h245_h233IVResponseTime,
21091                 { "h233IVResponseTime", "h245.h233IVResponseTime", FT_UINT32, BASE_DEC,
21092                 NULL, 0, "h233IVResponseTime value", HFILL }},
21093         { &hf_h245_maxPendingReplacementFor,
21094                 { "maxPendingReplacementFor", "h245.maxPendingReplacementFor", FT_UINT32, BASE_DEC,
21095                 NULL, 0, "maxPendingReplacementFor value", HFILL }},
21096         { &hf_h245_numberOfVCs,
21097                 { "numberOfVCs", "h245.numberOfVCs", FT_UINT32, BASE_DEC,
21098                 NULL, 0, "numberOfVCs value", HFILL }},
21099         { &hf_h245_forwardMaximumSDUSize,
21100                 { "forwardMaximumSDUSize", "h245.forwardMaximumSDUSize", FT_UINT32, BASE_DEC,
21101                 NULL, 0, "forwardMaximumSDUSize value", HFILL }},
21102         { &hf_h245_backwardMaximumSDUSize,
21103                 { "backwardMaximumSDUSize", "h245.backwardMaximumSDUSize", FT_UINT32, BASE_DEC,
21104                 NULL, 0, "backwardMaximumSDUSize value", HFILL }},
21105         { &hf_h245_singleBitRate,
21106                 { "singleBitRate", "h245.singleBitRate", FT_UINT32, BASE_DEC,
21107                 NULL, 0, "singleBitRate value", HFILL }},
21108         { &hf_h245_lowerBitRate,
21109                 { "lowerBitRate", "h245.lowerBitRate", FT_UINT32, BASE_DEC,
21110                 NULL, 0, "lowerBitRate value", HFILL }},
21111         { &hf_h245_higherBitRate,
21112                 { "higherBitRate", "h245.higherBitRate", FT_UINT32, BASE_DEC,
21113                 NULL, 0, "higherBitRate value", HFILL }},
21114         { &hf_h245_maximumAl2SDUSize,
21115                 { "maximumAl2SDUSize", "h245.maximumAl2SDUSize", FT_UINT32, BASE_DEC,
21116                 NULL, 0, "maximumAl2SDUSize value", HFILL }},
21117         { &hf_h245_maximumAl3SDUSize,
21118                 { "maximumAl3SDUSize", "h245.maximumAl3SDUSize", FT_UINT32, BASE_DEC,
21119                 NULL, 0, "maximumAl3SDUSize value", HFILL }},
21120         { &hf_h245_maximumDelayJitter,
21121                 { "maximumDelayJitter", "h245.maximumDelayJitter", FT_UINT32, BASE_DEC,
21122                 NULL, 0, "maximumDelayJitter value", HFILL }},
21123         { &hf_h245_maximumNestingDepth,
21124                 { "maximumNestingDepth", "h245.maximumNestingDepth", FT_UINT32, BASE_DEC,
21125                 NULL, 0, "maximumNestingDepth value", HFILL }},
21126         { &hf_h245_maximumElementListSize,
21127                 { "maximumElementListSize", "h245.maximumElementListSize", FT_UINT32, BASE_DEC,
21128                 NULL, 0, "maximumElementListSize value", HFILL }},
21129         { &hf_h245_maximumSubElementListSize,
21130                 { "maximumSubElementListSize", "h245.maximumSubElementListSize", FT_UINT32, BASE_DEC,
21131                 NULL, 0, "maximumSubElementListSize value", HFILL }},
21132         { &hf_h245_h223bitRate,
21133                 { "h223bitRate", "h245.h223bitRate", FT_UINT32, BASE_DEC,
21134                 NULL, 0, "h223bitRate value", HFILL }},
21135         { &hf_h245_maximumSampleSize,
21136                 { "maximumSampleSize", "h245.maximumSampleSize", FT_UINT32, BASE_DEC,
21137                 NULL, 0, "maximumSampleSize value", HFILL }},
21138         { &hf_h245_maximumPayloadLength,
21139                 { "maximumPayloadLength", "h245.maximumPayloadLength", FT_UINT32, BASE_DEC,
21140                 NULL, 0, "maximumPayloadLength value", HFILL }},
21141         { &hf_h245_maximumAL1MPDUSize,
21142                 { "maximumAL1MPDUSize", "h245.maximumAL1MPDUSize", FT_UINT32, BASE_DEC,
21143                 NULL, 0, "maximumAL1MPDUSize value", HFILL }},
21144         { &hf_h245_maximumAL2MSDUSize,
21145                 { "maximumAL2MSDUSize", "h245.maximumAL2MSDUSize", FT_UINT32, BASE_DEC,
21146                 NULL, 0, "maximumAL2MSDUSize value", HFILL }},
21147         { &hf_h245_maximumAL3MSDUSize,
21148                 { "maximumAL3MSDUSize", "h245.maximumAL3MSDUSize", FT_UINT32, BASE_DEC,
21149                 NULL, 0, "maximumAL3MSDUSize value", HFILL }},
21150         { &hf_h245_numOfDLCS,
21151                 { "numOfDLCS", "h245.numOfDLCS", FT_UINT32, BASE_DEC,
21152                 NULL, 0, "numOfDLCS value", HFILL }},
21153         { &hf_h245_n401Capability,
21154                 { "n401Capability", "h245.n401Capability", FT_UINT32, BASE_DEC,
21155                 NULL, 0, "n401Capability value", HFILL }},
21156         { &hf_h245_maxWindowSizeCapability,
21157                 { "maxWindowSizeCapability", "h245.maxWindowSizeCapability", FT_UINT32, BASE_DEC,
21158                 NULL, 0, "maxWindowSizeCapability value", HFILL }},
21159         { &hf_h245_maximumAudioDelayJitter,
21160                 { "maximumAudioDelayJitter", "h245.maximumAudioDelayJitter", FT_UINT32, BASE_DEC,
21161                 NULL, 0, "maximumAudioDelayJitter value", HFILL }},
21162         { &hf_h245_tokenRate,
21163                 { "tokenRate", "h245.tokenRate", FT_UINT32, BASE_DEC,
21164                 NULL, 0, "tokenRate value", HFILL }},
21165         { &hf_h245_bucketSize,
21166                 { "bucketSize", "h245.bucketSize", FT_UINT32, BASE_DEC,
21167                 NULL, 0, "bucketSize value", HFILL }},
21168         { &hf_h245_peakRate,
21169                 { "peakRate", "h245.peakRate", FT_UINT32, BASE_DEC,
21170                 NULL, 0, "peakRate value", HFILL }},
21171         { &hf_h245_minPoliced,
21172                 { "minPoliced", "h245.minPoliced", FT_UINT32, BASE_DEC,
21173                 NULL, 0, "minPoliced value", HFILL }},
21174         { &hf_h245_maxPktSize,
21175                 { "maxPktSize", "h245.maxPktSize", FT_UINT32, BASE_DEC,
21176                 NULL, 0, "maxPktSize value", HFILL }},
21177         { &hf_h245_maxNTUSize,
21178                 { "maxNTUSize", "h245.maxNTUSize", FT_UINT32, BASE_DEC,
21179                 NULL, 0, "maxNTUSize value", HFILL }},
21180         { &hf_h245_numberOfThreads,
21181                 { "numberOfThreads", "h245.numberOfThreads", FT_UINT32, BASE_DEC,
21182                 NULL, 0, "numberOfThreads value", HFILL }},
21183         { &hf_h245_framesBetweenSyncPoints,
21184                 { "framesBetweenSyncPoints", "h245.framesBetweenSyncPoints", FT_UINT32, BASE_DEC,
21185                 NULL, 0, "framesBetweenSyncPoints value", HFILL }},
21186         { &hf_h245_threadNumber,
21187                 { "threadNumber", "h245.threadNumber", FT_UINT32, BASE_DEC,
21188                 NULL, 0, "threadNumber value", HFILL }},
21189         { &hf_h245_qcifMPI_1_4,
21190                 { "qcifMPI_1_4", "h245.qcifMPI_1_4", FT_UINT32, BASE_DEC,
21191                 NULL, 0, "qcifMPI_1_4 value", HFILL }},
21192         { &hf_h245_qcifMPI_1_32,
21193                 { "qcifMPI_1_32", "h245.qcifMPI_1_32", FT_UINT32, BASE_DEC,
21194                 NULL, 0, "qcifMPI_1_32 value", HFILL }},
21195         { &hf_h245_qcifMPI_1_2048,
21196                 { "qcifMPI_1_2048", "h245.qcifMPI_1_2048", FT_UINT32, BASE_DEC,
21197                 NULL, 0, "qcifMPI_1_2048 value", HFILL }},
21198         { &hf_h245_cifMPI_1_4,
21199                 { "cifMPI_1_4", "h245.cifMPI_1_4", FT_UINT32, BASE_DEC,
21200                 NULL, 0, "cifMPI_1_4 value", HFILL }},
21201         { &hf_h245_cifMPI_1_32,
21202                 { "cifMPI_1_32", "h245.cifMPI_1_32", FT_UINT32, BASE_DEC,
21203                 NULL, 0, "cifMPI_1_32 value", HFILL }},
21204         { &hf_h245_cifMPI_1_2048,
21205                 { "cifMPI_1_2048", "h245.cifMPI_1_2048", FT_UINT32, BASE_DEC,
21206                 NULL, 0, "cifMPI_1_2048 value", HFILL }},
21207         { &hf_h245_videoBitRate,
21208                 { "videoBitRate", "h245.videoBitRate", FT_UINT32, BASE_DEC,
21209                 NULL, 0, "videoBitRate value  (units 400 bit/s)", HFILL }},
21210         { &hf_h245_vbvBufferSize,
21211                 { "vbvBufferSize", "h245.vbvBufferSize", FT_UINT32, BASE_DEC,
21212                 NULL, 0, "vbvBufferSize value  (units 16384 bits)", HFILL }},
21213         { &hf_h245_samplesPerLine,
21214                 { "samplesPerLine", "h245.samplesPerLine", FT_UINT32, BASE_DEC,
21215                 NULL, 0, "samplesPerLine value", HFILL }},
21216         { &hf_h245_linesPerFrame,
21217                 { "linesPerFrame", "h245.linesPerFrame", FT_UINT32, BASE_DEC,
21218                 NULL, 0, "linesPerFrame value", HFILL }},
21219         { &hf_h245_framesPerSecond,
21220                 { "framesPerSecond", "h245.framesPerSecond", FT_UINT32, BASE_DEC,
21221                 NULL, 0, "framesPerSecond value", HFILL }},
21222         { &hf_h245_luminanceSampleRate,
21223                 { "luminanceSampleRate", "h245.luminanceSampleRate", FT_UINT32, BASE_DEC,
21224                 NULL, 0, "luminanceSampleRate value", HFILL }},
21225         { &hf_h245_sqcifMPI_1_32,
21226                 { "sqcifMPI_1_32", "h245.sqcifMPI_1_32", FT_UINT32, BASE_DEC,
21227                 NULL, 0, "sqcifMPI_1_32 value", HFILL }},
21228         { &hf_h245_sqcifMPI_1_2048,
21229                 { "sqcifMPI_1_2048", "h245.sqcifMPI_1_2048", FT_UINT32, BASE_DEC,
21230                 NULL, 0, "sqcifMPI_1_2048 value", HFILL }},
21231         { &hf_h245_cif4MPI_1_32,
21232                 { "cif4MPI_1_32", "h245.cif4MPI_1_32", FT_UINT32, BASE_DEC,
21233                 NULL, 0, "cif4MPI_1_32 value", HFILL }},
21234         { &hf_h245_cif4MPI_1_2048,
21235                 { "cif4MPI_1_2048", "h245.cif4MPI_1_2048", FT_UINT32, BASE_DEC,
21236                 NULL, 0, "cif4MPI_1_2048 value", HFILL }},
21237         { &hf_h245_cif16MPI_1_32,
21238                 { "cif16MPI_1_32", "h245.cif16MPI_1_32", FT_UINT32, BASE_DEC,
21239                 NULL, 0, "cif16MPI_1_32 value", HFILL }},
21240         { &hf_h245_cif16MPI_1_2048,
21241                 { "cif16MPI_1_2048", "h245.cif16MPI_1_2048", FT_UINT32, BASE_DEC,
21242                 NULL, 0, "cif16MPI_1_2048 value", HFILL }},
21243         { &hf_h245_maxBitRate_192400,
21244                 { "maxBitRate_192400", "h245.maxBitRate_192400", FT_UINT32, BASE_DEC,
21245                 NULL, 0, "maxBitRate_192400 value", HFILL }},
21246         { &hf_h245_hrd_B,
21247                 { "hrd_B", "h245.hrd_B", FT_UINT32, BASE_DEC,
21248                 NULL, 0, "hrd_B value", HFILL }},
21249         { &hf_h245_bppMaxKb,
21250                 { "bppMaxKb", "h245.bppMaxKb", FT_UINT32, BASE_DEC,
21251                 NULL, 0, "bppMaxKb value", HFILL }},
21252         { &hf_h245_slowSqcifMPI,
21253                 { "slowSqcifMPI", "h245.slowSqcifMPI", FT_UINT32, BASE_DEC,
21254                 NULL, 0, "slowSqcifMPI value", HFILL }},
21255         { &hf_h245_slowQcifMPI,
21256                 { "slowQcifMPI", "h245.slowQcifMPI", FT_UINT32, BASE_DEC,
21257                 NULL, 0, "slowQcifMPI value", HFILL }},
21258         { &hf_h245_slowCifMPI,
21259                 { "slowCifMPI", "h245.slowCifMPI", FT_UINT32, BASE_DEC,
21260                 NULL, 0, "slowCifMPI value", HFILL }},
21261         { &hf_h245_slowCif4MPI,
21262                 { "slowCif4MPI", "h245.slowCif4MPI", FT_UINT32, BASE_DEC,
21263                 NULL, 0, "slowCif4MPI value", HFILL }},
21264         { &hf_h245_slowCif16MPI,
21265                 { "slowCif16MPI", "h245.slowCif16MPI", FT_UINT32, BASE_DEC,
21266                 NULL, 0, "slowCif16MPI value", HFILL }},
21267         { &hf_h245_numberOfBPictures,
21268                 { "numberOfBPictures", "h245.numberOfBPictures", FT_UINT32, BASE_DEC,
21269                 NULL, 0, "numberOfBPictures value", HFILL }},
21270         { &hf_h245_presentationOrder,
21271                 { "presentationOrder", "h245.presentationOrder", FT_UINT32, BASE_DEC,
21272                 NULL, 0, "presentationOrder value", HFILL }},
21273         { &hf_h245_offset_x,
21274                 { "offset_x", "h245.offset_x", FT_UINT32, BASE_DEC,
21275                 NULL, 0, "offset_x value", HFILL }},
21276         { &hf_h245_offset_y,
21277                 { "offset_y", "h245.offset_y", FT_UINT32, BASE_DEC,
21278                 NULL, 0, "offset_y value", HFILL }},
21279         { &hf_h245_scale_x,
21280                 { "scale_x", "h245.scale_x", FT_UINT32, BASE_DEC,
21281                 NULL, 0, "scale_x value", HFILL }},
21282         { &hf_h245_scale_y,
21283                 { "scale_y", "h245.scale_y", FT_UINT32, BASE_DEC,
21284                 NULL, 0, "scale_y value", HFILL }},
21285         { &hf_h245_sqcifAdditionalPictureMemory,
21286                 { "sqcifAdditionalPictureMemory", "h245.sqcifAdditionalPictureMemory", FT_UINT32, BASE_DEC,
21287                 NULL, 0, "sqcifAdditionalPictureMemory value", HFILL }},
21288         { &hf_h245_qcifAdditionalPictureMemory,
21289                 { "qcifAdditionalPictureMemory", "h245.qcifAdditionalPictureMemory", FT_UINT32, BASE_DEC,
21290                 NULL, 0, "qcifAdditionalPictureMemory value", HFILL }},
21291         { &hf_h245_cifAdditionalPictureMemory,
21292                 { "cifAdditionalPictureMemory", "h245.cifAdditionalPictureMemory", FT_UINT32, BASE_DEC,
21293                 NULL, 0, "cifAdditionalPictureMemory value", HFILL }},
21294         { &hf_h245_cif4AdditionalPictureMemory,
21295                 { "cif4AdditionalPictureMemory", "h245.cif4AdditionalPictureMemory", FT_UINT32, BASE_DEC,
21296                 NULL, 0, "cif4AdditionalPictureMemory value", HFILL }},
21297         { &hf_h245_cif16AdditionalPictureMemory,
21298                 { "cif16AdditionalPictureMemory", "h245.cif16AdditionalPictureMemory", FT_UINT32, BASE_DEC,
21299                 NULL, 0, "cif16AdditionalPictureMemory value", HFILL }},
21300         { &hf_h245_bigCpfAdditionalPictureMemory,
21301                 { "bigCpfAdditionalPictureMemory", "h245.bigCpfAdditionalPictureMemory", FT_UINT32, BASE_DEC,
21302                 NULL, 0, "bigCpfAdditionalPictureMemory value", HFILL }},
21303         { &hf_h245_mpuHorizMBs,
21304                 { "mpuHorizMBs", "h245.mpuHorizMBs", FT_UINT32, BASE_DEC,
21305                 NULL, 0, "mpuHorizMBs value", HFILL }},
21306         { &hf_h245_mpuVertMBs,
21307                 { "mpuVertMBs", "h245.mpuVertMBs", FT_UINT32, BASE_DEC,
21308                 NULL, 0, "mpuVertMBs value", HFILL }},
21309         { &hf_h245_mpuTotalNumber,
21310                 { "mpuTotalNumber", "h245.mpuTotalNumber", FT_UINT32, BASE_DEC,
21311                 NULL, 0, "mpuTotalNumber value", HFILL }},
21312         { &hf_h245_clockConversionCode,
21313                 { "clockConversionCode", "h245.clockConversionCode", FT_UINT32, BASE_DEC,
21314                 NULL, 0, "clockConversionCode value", HFILL }},
21315         { &hf_h245_clockDivisor,
21316                 { "clockDivisor", "h245.clockDivisor", FT_UINT32, BASE_DEC,
21317                 NULL, 0, "clockDivisor value", HFILL }},
21318         { &hf_h245_maxCustomPictureWidth,
21319                 { "maxCustomPictureWidth", "h245.maxCustomPictureWidth", FT_UINT32, BASE_DEC,
21320                 NULL, 0, "maxCustomPictureWidth value", HFILL }},
21321         { &hf_h245_minCustomPictureWidth,
21322                 { "minCustomPictureWidth", "h245.minCustomPictureWidth", FT_UINT32, BASE_DEC,
21323                 NULL, 0, "minCustomPictureWidth value", HFILL }},
21324         { &hf_h245_minCustomPictureHeight,
21325                 { "minCustomPictureHeight", "h245.minCustomPictureHeight", FT_UINT32, BASE_DEC,
21326                 NULL, 0, "minCustomPictureHeight value", HFILL }},
21327         { &hf_h245_maxCustomPictureHeight,
21328                 { "maxCustomPictureHeight", "h245.maxCustomPictureHeight", FT_UINT32, BASE_DEC,
21329                 NULL, 0, "maxCustomPictureHeight value", HFILL }},
21330         { &hf_h245_standardMPI,
21331                 { "standardMPI", "h245.standardMPI", FT_UINT32, BASE_DEC,
21332                 NULL, 0, "standardMPI value", HFILL }},
21333         { &hf_h245_customMPI,
21334                 { "customMPI", "h245.customMPI", FT_UINT32, BASE_DEC,
21335                 NULL, 0, "customMPI value", HFILL }},
21336         { &hf_h245_width,
21337                 { "width", "h245.width", FT_UINT32, BASE_DEC,
21338                 NULL, 0, "width value", HFILL }},
21339         { &hf_h245_height,
21340                 { "height", "h245.height", FT_UINT32, BASE_DEC,
21341                 NULL, 0, "height value", HFILL }},
21342         { &hf_h245_pictureRate,
21343                 { "pictureRate", "h245.pictureRate", FT_UINT32, BASE_DEC,
21344                 NULL, 0, "pictureRate value", HFILL }},
21345         { &hf_h245_g711Alaw64k,
21346                 { "g711Alaw64k", "h245.g711Alaw64k", FT_UINT32, BASE_DEC,
21347                 NULL, 0, "g711Alaw64k value", HFILL }},
21348         { &hf_h245_g711Alaw56k,
21349                 { "g711Alaw56k", "h245.g711Alaw56k", FT_UINT32, BASE_DEC,
21350                 NULL, 0, "g711Alaw56k value", HFILL }},
21351         { &hf_h245_g711Ulaw64k,
21352                 { "g711Ulaw64k", "h245.g711Ulaw64k", FT_UINT32, BASE_DEC,
21353                 NULL, 0, "g711Ulaw64k value", HFILL }},
21354         { &hf_h245_g711Ulaw56k,
21355                 { "g711Ulaw56k", "h245.g711Ulaw56k", FT_UINT32, BASE_DEC,
21356                 NULL, 0, "g711Ulaw56k value", HFILL }},
21357         { &hf_h245_g722_64k,
21358                 { "g722_64k", "h245.g722_64k", FT_UINT32, BASE_DEC,
21359                 NULL, 0, "g722_64k value", HFILL }},
21360         { &hf_h245_g722_56k,
21361                 { "g722_56k", "h245.g722_56k", FT_UINT32, BASE_DEC,
21362                 NULL, 0, "g722_56k value", HFILL }},
21363         { &hf_h245_g722_48k,
21364                 { "g722_48k", "h245.g722_48k", FT_UINT32, BASE_DEC,
21365                 NULL, 0, "g722_48k value", HFILL }},
21366         { &hf_h245_maxAl_sduAudioFrames,
21367                 { "maxAl_sduAudioFrames", "h245.maxAl_sduAudioFrames", FT_UINT32, BASE_DEC,
21368                 NULL, 0, "maxAl_sduAudioFrames value", HFILL }},
21369         { &hf_h245_g728,
21370                 { "g728", "h245.g728", FT_UINT32, BASE_DEC,
21371                 NULL, 0, "g728 value", HFILL }},
21372         { &hf_h245_g729,
21373                 { "g729", "h245.g729", FT_UINT32, BASE_DEC,
21374                 NULL, 0, "g729 value", HFILL }},
21375         { &hf_h245_g729AnnexA,
21376                 { "g729AnnexA", "h245.g729AnnexA", FT_UINT32, BASE_DEC,
21377                 NULL, 0, "g729AnnexA value", HFILL }},
21378         { &hf_h245_g729wAnnexB,
21379                 { "g729wAnnexB", "h245.g729wAnnexB", FT_UINT32, BASE_DEC,
21380                 NULL, 0, "g729wAnnexB value", HFILL }},
21381         { &hf_h245_g729AnnexAwAnnexB,
21382                 { "g729AnnexAwAnnexB", "h245.g729AnnexAwAnnexB", FT_UINT32, BASE_DEC,
21383                 NULL, 0, "g729AnnexAwAnnexB value", HFILL }},
21384         { &hf_h245_audioUnit,
21385                 { "audioUnit", "h245.audioUnit", FT_UINT32, BASE_DEC,
21386                 NULL, 0, "audioUnit value", HFILL }},
21387         { &hf_h245_highRateMode0,
21388                 { "highRateMode0", "h245.highRateMode0", FT_UINT32, BASE_DEC,
21389                 NULL, 0, "highRateMode0 value", HFILL }},
21390         { &hf_h245_highRateMode1,
21391                 { "highRateMode1", "h245.highRateMode1", FT_UINT32, BASE_DEC,
21392                 NULL, 0, "highRateMode1 value", HFILL }},
21393         { &hf_h245_lowRateMode0,
21394                 { "lowRateMode0", "h245.lowRateMode0", FT_UINT32, BASE_DEC,
21395                 NULL, 0, "lowRateMode0 value", HFILL }},
21396         { &hf_h245_lowRateMode1,
21397                 { "lowRateMode1", "h245.lowRateMode1", FT_UINT32, BASE_DEC,
21398                 NULL, 0, "lowRateMode1 value", HFILL }},
21399         { &hf_h245_sidMode0,
21400                 { "sidMode0", "h245.sidMode0", FT_UINT32, BASE_DEC,
21401                 NULL, 0, "sidMode0 value", HFILL }},
21402         { &hf_h245_sidMode1,
21403                 { "sidMode1", "h245.sidMode1", FT_UINT32, BASE_DEC,
21404                 NULL, 0, "sidMode1 value", HFILL }},
21405         { &hf_h245_audioUnitSize,
21406                 { "audioUnitSize", "h245.audioUnitSize", FT_UINT32, BASE_DEC,
21407                 NULL, 0, "audioUnitSize value", HFILL }},
21408         { &hf_h245_maxBitRate_4294967295UL,
21409                 { "maxBitRate_4294967295UL", "h245.maxBitRate_4294967295UL", FT_UINT32, BASE_DEC,
21410                 NULL, 0, "maxBitRate value in units of 100bits/s", HFILL }},
21411         { &hf_h245_numberOfCodewords,
21412                 { "numberOfCodewords", "h245.numberOfCodewords", FT_UINT32, BASE_DEC,
21413                 NULL, 0, "numberOfCodewords value", HFILL }},
21414         { &hf_h245_maximumStringLength,
21415                 { "maximumStringLength", "h245.maximumStringLength", FT_UINT32, BASE_DEC,
21416                 NULL, 0, "maximumStringLength value", HFILL }},
21417         { &hf_h245_version,
21418                 { "version", "h245.version", FT_UINT32, BASE_DEC,
21419                 NULL, 0, "version value", HFILL }},
21420         { &hf_h245_standard_0_127,
21421                 { "standard_0_127", "h245.standard_0_127", FT_UINT32, BASE_DEC,
21422                 NULL, 0, "standard_0_127 value", HFILL }},
21423         { &hf_h245_booleanArray,
21424                 { "booleanArray", "h245.booleanArray", FT_UINT32, BASE_DEC,
21425                 NULL, 0, "booleanArray value", HFILL }},
21426         { &hf_h245_unsignedMin,
21427                 { "unsignedMin", "h245.unsignedMin", FT_UINT32, BASE_DEC,
21428                 NULL, 0, "unsignedMin value", HFILL }},
21429         { &hf_h245_unsignedMax,
21430                 { "unsignedMax", "h245.unsignedMax", FT_UINT32, BASE_DEC,
21431                 NULL, 0, "unsignedMax value", HFILL }},
21432         { &hf_h245_unsigned32Min,
21433                 { "unsigned32Min", "h245.unsigned32Min", FT_UINT32, BASE_DEC,
21434                 NULL, 0, "unsigned32Min value", HFILL }},
21435         { &hf_h245_unsigned32Max,
21436                 { "unsigned32Max", "h245.unsigned32Max", FT_UINT32, BASE_DEC,
21437                 NULL, 0, "unsigned32Max value", HFILL }},
21438         { &hf_h245_dynamicRTPPayloadType,
21439                 { "dynamicRTPPayloadType", "h245.dynamicRTPPayloadType", FT_UINT32, BASE_DEC,
21440                 NULL, 0, "dynamicRTPPayloadType value", HFILL }},
21441         { &hf_h245_portNumber,
21442                 { "portNumber", "h245.portNumber", FT_UINT32, BASE_DEC,
21443                 NULL, 0, "portNumber value", HFILL }},
21444         { &hf_h245_resourceID,
21445                 { "resourceID", "h245.resourceID", FT_UINT32, BASE_DEC,
21446                 NULL, 0, "resourceID value", HFILL }},
21447         { &hf_h245_subChannelID,
21448                 { "subChannelID", "h245.subChannelID", FT_UINT32, BASE_DEC,
21449                 NULL, 0, "subChannelID value", HFILL }},
21450         { &hf_h245_pcr_pid,
21451                 { "pcr_pid", "h245.pcr_pid", FT_UINT32, BASE_DEC,
21452                 NULL, 0, "pcr_pid value", HFILL }},
21453         { &hf_h245_controlFieldOctets,
21454                 { "controlFieldOctets", "h245.controlFieldOctets", FT_UINT32, BASE_DEC,
21455                 NULL, 0, "controlFieldOctets value", HFILL }},
21456         { &hf_h245_sendBufferSize,
21457                 { "sendBufferSize", "h245.sendBufferSize", FT_UINT32, BASE_DEC,
21458                 NULL, 0, "sendBufferSize value", HFILL }},
21459         { &hf_h245_rcpcCodeRate,
21460                 { "rcpcCodeRate", "h245.rcpcCodeRate", FT_UINT32, BASE_DEC,
21461                 NULL, 0, "rcpcCodeRate value", HFILL }},
21462         { &hf_h245_rsCodeCorrection,
21463                 { "rsCodeCorrection", "h245.rsCodeCorrection", FT_UINT32, BASE_DEC,
21464                 NULL, 0, "rsCodeCorrection value", HFILL }},
21465         { &hf_h245_finite_0_16,
21466                 { "finite_0_16", "h245.finite_0_16", FT_UINT32, BASE_DEC,
21467                 NULL, 0, "finite_0_16 value", HFILL }},
21468         { &hf_h245_windowSize,
21469                 { "windowSize", "h245.windowSize", FT_UINT32, BASE_DEC,
21470                 NULL, 0, "windowSize value", HFILL }},
21471         { &hf_h245_n401,
21472                 { "n401", "h245.n401", FT_UINT32, BASE_DEC,
21473                 NULL, 0, "n401 value", HFILL }},
21474         { &hf_h245_sessionID_0_255,
21475                 { "sessionID_0_255", "h245.sessionID_0_255", FT_UINT32, BASE_DEC,
21476                 NULL, 0, "sessionID_0_255 value", HFILL }},
21477         { &hf_h245_sessionID_1_255,
21478                 { "sessionID_1_255", "h245.sessionID_1_255", FT_UINT32, BASE_DEC,
21479                 NULL, 0, "sessionID_1_255 value", HFILL }},
21480         { &hf_h245_associatedSessionID,
21481                 { "associatedSessionID", "h245.associatedSessionID", FT_UINT32, BASE_DEC,
21482                 NULL, 0, "associatedSessionID value", HFILL }},
21483         { &hf_h245_payloadType,
21484                 { "payloadType", "h245.payloadType", FT_UINT32, BASE_DEC,
21485                 NULL, 0, "payloadType value", HFILL }},
21486         { &hf_h245_protectedSessionID,
21487                 { "protectedSessionID", "h245.protectedSessionID", FT_UINT32, BASE_DEC,
21488                 NULL, 0, "protectedSessionID value", HFILL }},
21489         { &hf_h245_protectedPayloadType,
21490                 { "protectedPayloadType", "h245.protectedPayloadType", FT_UINT32, BASE_DEC,
21491                 NULL, 0, "protectedPayloadType value", HFILL }},
21492         { &hf_h245_tsapIdentifier,
21493                 { "tsapIdentifier", "h245.tsapIdentifier", FT_UINT32, BASE_DEC,
21494                 NULL, 0, "tsapIdentifier value", HFILL }},
21495         { &hf_h245_synchFlag,
21496                 { "synchFlag", "h245.synchFlag", FT_UINT32, BASE_DEC,
21497                 NULL, 0, "synchFlag value", HFILL }},
21498         { &hf_h245_finite_1_65535,
21499                 { "finite_1_65535", "h245.finite_1_65535", FT_UINT32, BASE_DEC,
21500                 NULL, 0, "finite_1_65535 value", HFILL }},
21501         { &hf_h245_MultiplexTableEntryNumber,
21502                 { "MultiplexTableEntryNumber", "h245.MultiplexTableEntryNumber", FT_UINT32, BASE_DEC,
21503                 NULL, 0, "MultiplexTableEntryNumber value", HFILL }},
21504         { &hf_h245_dataModeBitRate,
21505                 { "dataModeBitRate", "h245.dataModeBitRate", FT_UINT32, BASE_DEC,
21506                 NULL, 0, "dataModeBitRate value", HFILL }},
21507         { &hf_h245_sessionDependency,
21508                 { "sessionDependency", "h245.sessionDependency", FT_UINT32, BASE_DEC,
21509                 NULL, 0, "sessionDependency value", HFILL }},
21510         { &hf_h245_sRandom,
21511                 { "sRandom", "h245.sRandom", FT_UINT32, BASE_DEC,
21512                 NULL, 0, "sRandom value", HFILL }},
21513         { &hf_h245_McuNumber,
21514                 { "McuNumber", "h245.McuNumber", FT_UINT32, BASE_DEC,
21515                 NULL, 0, "McuNumber value", HFILL }},
21516         { &hf_h245_TerminalNumber,
21517                 { "TerminalNumber", "h245.TerminalNumber", FT_UINT32, BASE_DEC,
21518                 NULL, 0, "TerminalNumber value", HFILL }},
21519         { &hf_h245_maxNumberOfAdditionalConnections,
21520                 { "maxNumberOfAdditionalConnections", "h245.maxNumberOfAdditionalConnections", FT_UINT32, BASE_DEC,
21521                 NULL, 0, "maxNumberOfAdditionalConnections value", HFILL }},
21522         { &hf_h245_requestedInterval,
21523                 { "requestedInterval", "h245.requestedInterval", FT_UINT32, BASE_DEC,
21524                 NULL, 0, "requestedInterval value", HFILL }},
21525         { &hf_h245_callAssociationNumber,
21526                 { "callAssociationNumber", "h245.callAssociationNumber", FT_UINT32, BASE_DEC,
21527                 NULL, 0, "callAssociationNumber value", HFILL }},
21528         { &hf_h245_currentInterval,
21529                 { "currentInterval", "h245.currentInterval", FT_UINT32, BASE_DEC,
21530                 NULL, 0, "currentInterval value", HFILL }},
21531         { &hf_h245_infoNotAvailable,
21532                 { "infoNotAvailable", "h245.infoNotAvailable", FT_UINT32, BASE_DEC,
21533                 NULL, 0, "infoNotAvailable value", HFILL }},
21534         { &hf_h245_channelTag,
21535                 { "channelTag", "h245.channelTag", FT_UINT32, BASE_DEC,
21536                 NULL, 0, "channelTag value", HFILL }},
21537         { &hf_h245_ConnectionIDsequenceNumber,
21538                 { "ConnectionIDsequenceNumber", "h245.ConnectionIDsequenceNumber", FT_UINT32, BASE_DEC,
21539                 NULL, 0, "ConnectionIDsequenceNumber value", HFILL }},
21540         { &hf_h245_MaximumBitRate,
21541                 { "MaximumBitRate", "h245.MaximumBitRate", FT_UINT32, BASE_DEC,
21542                 NULL, 0, "MaximumBitRate value", HFILL }},
21543         { &hf_h245_maximumBitRate_0_16777215,
21544                 { "maximumBitRate_0_16777215", "h245.maximumBitRate_0_16777215", FT_UINT32, BASE_DEC,
21545                 NULL, 0, "maximumBitRate_0_16777215 value", HFILL }},
21546         { &hf_h245_firstGOB_0_17,
21547                 { "firstGOB_0_17", "h245.firstGOB_0_17", FT_UINT32, BASE_DEC,
21548                 NULL, 0, "firstGOB_0_17 value", HFILL }},
21549         { &hf_h245_numberOfGOBs,
21550                 { "numberOfGOBs", "h245.numberOfGOBs", FT_UINT32, BASE_DEC,
21551                 NULL, 0, "numberOfGOBs value", HFILL }},
21552         { &hf_h245_videoTemporalSpatialTradeOff,
21553                 { "videoTemporalSpatialTradeOff", "h245.videoTemporalSpatialTradeOff", FT_UINT32, BASE_DEC,
21554                 NULL, 0, "videoTemporalSpatialTradeOff value", HFILL }},
21555         { &hf_h245_firstGOB_0_255,
21556                 { "firstGOB_0_255", "h245.firstGOB_0_255", FT_UINT32, BASE_DEC,
21557                 NULL, 0, "firstGOB_0_255 value", HFILL }},
21558         { &hf_h245_firstMB_1_8192,
21559                 { "firstMB_1_8192", "h245.firstMB_1_8192", FT_UINT32, BASE_DEC,
21560                 NULL, 0, "firstMB_1_8192 value", HFILL }},
21561         { &hf_h245_firstMB_1_9216,
21562                 { "firstMB_1_9216", "h245.firstMB_1_9216", FT_UINT32, BASE_DEC,
21563                 NULL, 0, "firstMB_1_9216 value", HFILL }},
21564         { &hf_h245_numberOfMBs_1_8192,
21565                 { "numberOfMBs_1_8192", "h245.numberOfMBs_1_8192", FT_UINT32, BASE_DEC,
21566                 NULL, 0, "numberOfMBs_1_8192 value", HFILL }},
21567         { &hf_h245_numberOfMBs_1_9216,
21568                 { "numberOfMBs_1_9216", "h245.numberOfMBs_1_9216", FT_UINT32, BASE_DEC,
21569                 NULL, 0, "numberOfMBs_1_9216 value", HFILL }},
21570         { &hf_h245_maxH223MUXPDUsize,
21571                 { "maxH223MUXPDUsize", "h245.maxH223MUXPDUsize", FT_UINT32, BASE_DEC,
21572                 NULL, 0, "maxH223MUXPDUsize value", HFILL }},
21573         { &hf_h245_temporalReference_0_1023,
21574                 { "temporalReference_0_1023", "h245.temporalReference_0_1023", FT_UINT32, BASE_DEC,
21575                 NULL, 0, "temporalReference_0_1023 value", HFILL }},
21576         { &hf_h245_temporalReference_0_255,
21577                 { "temporalReference_0_255", "h245.temporalReference_0_255", FT_UINT32, BASE_DEC,
21578                 NULL, 0, "temporalReference_0_255 value", HFILL }},
21579         { &hf_h245_pictureNumber,
21580                 { "pictureNumber", "h245.pictureNumber", FT_UINT32, BASE_DEC,
21581                 NULL, 0, "pictureNumber value", HFILL }},
21582         { &hf_h245_longTermPictureIndex,
21583                 { "longTermPictureIndex", "h245.longTermPictureIndex", FT_UINT32, BASE_DEC,
21584                 NULL, 0, "longTermPictureIndex value", HFILL }},
21585         { &hf_h245_sampleSize,
21586                 { "sampleSize", "h245.sampleSize", FT_UINT32, BASE_DEC,
21587                 NULL, 0, "sampleSize value", HFILL }},
21588         { &hf_h245_samplesPerFrame,
21589                 { "samplesPerFrame", "h245.samplesPerFrame", FT_UINT32, BASE_DEC,
21590                 NULL, 0, "samplesPerFrame value", HFILL }},
21591         { &hf_h245_sbeNumber,
21592                 { "sbeNumber", "h245.sbeNumber", FT_UINT32, BASE_DEC,
21593                 NULL, 0, "sbeNumber value", HFILL }},
21594         { &hf_h245_subPictureNumber,
21595                 { "subPictureNumber", "h245.subPictureNumber", FT_UINT32, BASE_DEC,
21596                 NULL, 0, "subPictureNumber value", HFILL }},
21597         { &hf_h245_compositionNumber,
21598                 { "compositionNumber", "h245.compositionNumber", FT_UINT32, BASE_DEC,
21599                 NULL, 0, "compositionNumber value", HFILL }},
21600         { &hf_h245_estimatedReceivedJitterMantissa,
21601                 { "estimatedReceivedJitterMantissa", "h245.estimatedReceivedJitterMantissa", FT_UINT32, BASE_DEC,
21602                 NULL, 0, "estimatedReceivedJitterMantissa value", HFILL }},
21603         { &hf_h245_estimatedReceivedJitterExponent,
21604                 { "estimatedReceivedJitterExponent", "h245.estimatedReceivedJitterExponent", FT_UINT32, BASE_DEC,
21605                 NULL, 0, "estimatedReceivedJitterExponent value", HFILL }},
21606         { &hf_h245_skippedFrameCount,
21607                 { "skippedFrameCount", "h245.skippedFrameCount", FT_UINT32, BASE_DEC,
21608                 NULL, 0, "skippedFrameCount value", HFILL }},
21609         { &hf_h245_additionalDecoderBuffer,
21610                 { "additionalDecoderBuffer", "h245.additionalDecoderBuffer", FT_UINT32, BASE_DEC,
21611                 NULL, 0, "additionalDecoderBuffer value", HFILL }},
21612         { &hf_h245_skew,
21613                 { "skew", "h245.skew", FT_UINT32, BASE_DEC,
21614                 NULL, 0, "skew value", HFILL }},
21615         { &hf_h245_maximumSkew,
21616                 { "maximumSkew", "h245.maximumSkew", FT_UINT32, BASE_DEC,
21617                 NULL, 0, "maximumSkew value", HFILL }},
21618         { &hf_h245_duration,
21619                 { "duration", "h245.duration", FT_UINT32, BASE_DEC,
21620                 NULL, 0, "duration value", HFILL }},
21621         { &hf_h245_timestamp,
21622                 { "timestamp", "h245.timestamp", FT_UINT32, BASE_DEC,
21623                 NULL, 0, "timestamp value", HFILL }},
21624         { &hf_h245_frame,
21625                 { "frame", "h245.frame", FT_UINT32, BASE_DEC,
21626                 NULL, 0, "frame", HFILL }},
21627         { &hf_h245_containedThread,
21628                 { "containedThread", "h245.containedThread", FT_UINT32, BASE_DEC,
21629                 NULL, 0, "containedThread value", HFILL }},
21630         { &hf_h245_t38FaxMaxDatagram,
21631                 { "t38FaxMaxDatagram", "h245.t38FaxMaxDatagram", FT_INT32, BASE_DEC,
21632                 NULL, 0, "t38FaxMaxDatagram value", HFILL }},
21633         { &hf_h245_t38FaxMaxBuffer,
21634                 { "t38FaxMaxBuffer", "h245.t38FaxMaxBuffer", FT_INT32, BASE_DEC,
21635                 NULL, 0, "t38FaxMaxBuffer value", HFILL }},
21636         { &hf_h245_expirationTime,
21637                 { "expirationTime", "h245.expirationTime", FT_UINT32, BASE_DEC,
21638                 NULL, 0, "expirationTime value", HFILL }},
21639         { &hf_h245_rfc_number,
21640                 { "RFC", "h245.rfc_number", FT_UINT32, BASE_DEC,
21641                 NULL, 0, "Number of the RFC where this can be found", HFILL }},
21642         { &hf_h245_object,
21643                 { "Object", "h245.object", FT_STRING, BASE_NONE,
21644                 NULL, 0, "Object Identifier", HFILL }},
21645         { &hf_h245_protocolIdentifier,
21646                 { "protocolIdentifier", "h245.protocolIdentifier", FT_STRING, BASE_NONE,
21647                 NULL, 0, "protocolIdentifier object", HFILL }},
21648         { &hf_h245_algorithm,
21649                 { "algorithm", "h245.algorithm", FT_STRING, BASE_NONE,
21650                 NULL, 0, "algorithm object", HFILL }},
21651         { &hf_h245_antiSpamAlgorithm,
21652                 { "antiSpamAlgorithm", "h245.antiSpamAlgorithm", FT_STRING, BASE_NONE,
21653                 NULL, 0, "antiSpamAlgorithm object", HFILL }},
21654         { &hf_h245_standard_object,
21655                 { "standard_object", "h245.standard_object", FT_STRING, BASE_NONE,
21656                 NULL, 0, "standard_object object", HFILL }},
21657         { &hf_h245_oid,
21658                 { "oid", "h245.oid", FT_STRING, BASE_NONE,
21659                 NULL, 0, "oid object", HFILL }},
21660         { &hf_h245_escrowID,
21661                 { "escrowID", "h245.escrowID", FT_STRING, BASE_NONE,
21662                 NULL, 0, "escrowID object", HFILL }},
21663         { &hf_h245_field,
21664                 { "field", "h245.field", FT_STRING, BASE_NONE,
21665                 NULL, 0, "field object", HFILL }},
21666         { &hf_h245_NonStandardParameterData,
21667                 { "data", "h245.NonStandardParameterData", FT_BYTES, BASE_HEX,
21668                 NULL, 0, "NonStandardParameterData", HFILL }},
21669         { &hf_h245_nlpidData,
21670                 { "nlpidData", "h245.nlpidData", FT_BYTES, BASE_HEX,
21671                 NULL, 0, "nlpidData octet string", HFILL }},
21672         { &hf_h245_nonCollapsingRaw,
21673                 { "nonCollapsingRaw", "h245.nonCollapsingRaw", FT_BYTES, BASE_HEX,
21674                 NULL, 0, "nonCollapsingRaw octet string", HFILL }},
21675         { &hf_h245_uuid,
21676                 { "uuid", "h245.uuid", FT_BYTES, BASE_HEX,
21677                 NULL, 0, "uuid octet string", HFILL }},
21678         { &hf_h245_octetString,
21679                 { "octetString", "h245.octetString", FT_BYTES, BASE_HEX,
21680                 NULL, 0, "octetString octet string", HFILL }},
21681         { &hf_h245_externalReference,
21682                 { "externalReference", "h245.externalReference", FT_BYTES, BASE_HEX,
21683                 NULL, 0, "externalReference octet string", HFILL }},
21684         { &hf_h245_nsapAddress,
21685                 { "nsapAddress", "h245.nsapAddress", FT_BYTES, BASE_HEX,
21686                 NULL, 0, "nsapAddress octet string", HFILL }},
21687         { &hf_h245_subaddress_1_20,
21688                 { "subaddress_1_20", "h245.subaddress_1_20", FT_BYTES, BASE_HEX,
21689                 NULL, 0, "subaddress_1_20 octet string", HFILL }},
21690         { &hf_h245_programDescriptors,
21691                 { "programDescriptors", "h245.programDescriptors", FT_BYTES, BASE_HEX,
21692                 NULL, 0, "programDescriptors octet string", HFILL }},
21693         { &hf_h245_streamDescriptors,
21694                 { "streamDescriptors", "h245.streamDescriptors", FT_BYTES, BASE_HEX,
21695                 NULL, 0, "streamDescriptors octet string", HFILL }},
21696         { &hf_h245_ipv4network,
21697                 { "ipv4network", "h245.ipv4network", FT_IPv4, BASE_NONE,
21698                 NULL, 0, "IPv4 Address", HFILL }},
21699         { &hf_h245_ipxNode,
21700                 { "ipxNode", "h245.ipxNode", FT_BYTES, BASE_HEX,
21701                 NULL, 0, "ipxNode octet string", HFILL }},
21702         { &hf_h245_ipxNetnum,
21703                 { "ipxNetnum", "h245.ipxNetnum", FT_BYTES, BASE_HEX,
21704                 NULL, 0, "ipxNetnum octet string", HFILL }},
21705         { &hf_h245_ipv6network,
21706                 { "ipv6network", "h245.ipv6network", FT_BYTES, BASE_HEX,
21707                 NULL, 0, "ipv6network octet string", HFILL }},
21708         { &hf_h245_netBios,
21709                 { "netBios", "h245.netBios", FT_BYTES, BASE_HEX,
21710                 NULL, 0, "netBios octet string", HFILL }},
21711         { &hf_h245_nsap,
21712                 { "nsap", "h245.nsap", FT_BYTES, BASE_HEX,
21713                 NULL, 0, "nsap octet string", HFILL }},
21714         { &hf_h245_h235Key,
21715                 { "h235Key", "h245.h235Key", FT_BYTES, BASE_HEX,
21716                 NULL, 0, "h235Key octet string", HFILL }},
21717         { &hf_h245_value,
21718                 { "value", "h245.value", FT_BYTES, BASE_HEX,
21719                 NULL, 0, "value octet string", HFILL }},
21720         { &hf_h245_certificateResponse,
21721                 { "certificateResponse", "h245.certificateResponse", FT_BYTES, BASE_HEX,
21722                 NULL, 0, "certificateResponse octet string", HFILL }},
21723         { &hf_h245_TerminalID,
21724                 { "TerminalID", "h245.TerminalID", FT_BYTES, BASE_HEX,
21725                 NULL, 0, "TerminalID octet string", HFILL }},
21726         { &hf_h245_ConferenceID,
21727                 { "ConferenceID", "h245.ConferenceID", FT_BYTES, BASE_HEX,
21728                 NULL, 0, "ConferenceID octet string", HFILL }},
21729         { &hf_h245_Password,
21730                 { "Password", "h245.Password", FT_BYTES, BASE_HEX,
21731                 NULL, 0, "Password octet string", HFILL }},
21732         { &hf_h245_encryptionSE,
21733                 { "encryptionSE", "h245.encryptionSE", FT_BYTES, BASE_HEX,
21734                 NULL, 0, "encryptionSE octet string", HFILL }},
21735         { &hf_h245_conferenceIdentifier,
21736                 { "conferenceIdentifier", "h245.conferenceIdentifier", FT_BYTES, BASE_HEX,
21737                 NULL, 0, "conferenceIdentifier octet string", HFILL }},
21738         { &hf_h245_returnedFunction,
21739                 { "returnedFunction", "h245.returnedFunction", FT_BYTES, BASE_HEX,
21740                 NULL, 0, "returnedFunction octet string", HFILL }},
21741         { &hf_h245_productNumber,
21742                 { "productNumber", "h245.productNumber", FT_BYTES, BASE_HEX,
21743                 NULL, 0, "productNumber octet string", HFILL }},
21744         { &hf_h245_versionNumber,
21745                 { "versionNumber", "h245.versionNumber", FT_BYTES, BASE_HEX,
21746                 NULL, 0, "versionNumber octet string", HFILL }},
21747         { &hf_h245_mediaDistributionCapability,
21748                 { "mediaDistributionCapability", "h245.mediaDistributionCapability_sequence_of", FT_NONE, BASE_NONE,
21749                 NULL, 0 , "mediaDistributionCapability sequence of", HFILL }},
21750         { &hf_h245_AlternativeCapabilitySet,
21751                 { "AlternativeCapabilitySet", "h245.AlternativeCapabilitySet", FT_NONE, BASE_NONE,
21752                 NULL, 0 , "AlternativeCapabilitySet sequence of", HFILL }},
21753         { &hf_h245_CapabilityTableEntryNumber_sequence_of,
21754                 { "CapabilityTableEntryNumber_sequence_of", "h245.CapabilityTableEntryNumber_sequence_of", FT_NONE, BASE_NONE,
21755                 NULL, 0 , "CapabilityTableEntryNumber_sequence_of sequence of", HFILL }},
21756         { &hf_h245_frameToThreadMapping_custom,
21757                 { "frameToThreadMapping_custom", "h245.frameToThreadMapping_custom", FT_NONE, BASE_NONE,
21758                 NULL, 0 , "frameToThreadMapping_custom sequence of", HFILL }},
21759         { &hf_h245_RedundancyEncodingCapability_sequence_of,
21760                 { "RedundancyEncodingCapability_sequence_of", "h245.RedundancyEncodingCapability_sequence_of", FT_NONE, BASE_NONE,
21761                 NULL, 0 , "RedundancyEncodingCapability_sequence_of sequence of", HFILL }},
21762         { &hf_h245_frameSequence,
21763                 { "frameSequence", "h245.frameSequence", FT_NONE, BASE_NONE,
21764                 NULL, 0 , "sequence of frames", HFILL }},
21765         { &hf_h245_escrowentry,
21766                 { "escrowentry", "h245.escrowentry", FT_NONE, BASE_NONE,
21767                 NULL, 0 , "escrowentry sequence of", HFILL }},
21768         { &hf_h245_elementList,
21769                 { "elementList", "h245.elementList", FT_NONE, BASE_NONE,
21770                 NULL, 0 , "elementList sequence of", HFILL }},
21771         { &hf_h245_subElementList,
21772                 { "subElementList", "h245.subElementList", FT_NONE, BASE_NONE,
21773                 NULL, 0 , "subElementList sequence of", HFILL }},
21774         { &hf_h245_requestedModes,
21775                 { "requestedModes", "h245.requestedModes", FT_NONE, BASE_NONE,
21776                 NULL, 0 , "requestedModes sequence of", HFILL }},
21777         { &hf_h245_CertSelectionCriteria,
21778                 { "CertSelectionCriteria", "h245.CertSelectionCriteria", FT_NONE, BASE_NONE,
21779                 NULL, 0 , "CertSelectionCriteria sequence of", HFILL }},
21780         { &hf_h245_capabilityTable,
21781                 { "capabilityTable", "h245.capabilityTable", FT_NONE, BASE_NONE,
21782                 NULL, 0, "capabilityTable set of", HFILL }},
21783         { &hf_h245_capabilityDescriptors,
21784                 { "capabilityDescriptors", "h245.capabilityDescriptors", FT_NONE, BASE_NONE,
21785                 NULL, 0, "capabilityDescriptors set of", HFILL }},
21786         { &hf_h245_simultaneousCapabilities,
21787                 { "simultaneousCapabilities", "h245.simultaneousCapabilities", FT_NONE, BASE_NONE,
21788                 NULL, 0, "simultaneousCapabilities set of", HFILL }},
21789         { &hf_h245_gatewayAddress,
21790                 { "gatewayAddress", "h245.gatewayAddress", FT_NONE, BASE_NONE,
21791                 NULL, 0, "gatewayAddress set of", HFILL }},
21792         { &hf_h245_snrEnhancement,
21793                 { "snrEnhancement", "h245.snrEnhancement", FT_NONE, BASE_NONE,
21794                 NULL, 0, "snrEnhancement set of", HFILL }},
21795         { &hf_h245_spatialEnhancement,
21796                 { "spatialEnhancement", "h245.spatialEnhancement", FT_NONE, BASE_NONE,
21797                 NULL, 0, "spatialEnhancement set of", HFILL }},
21798         { &hf_h245_bPictureEnhancement,
21799                 { "bPictureEnhancement", "h245.bPictureEnhancement", FT_NONE, BASE_NONE,
21800                 NULL, 0, "bPictureEnhancement set of", HFILL }},
21801         { &hf_h245_customPictureClockFrequency,
21802                 { "customPictureClockFrequency", "h245.customPictureClockFrequency", FT_NONE, BASE_NONE,
21803                 NULL, 0, "customPictureClockFrequency set of", HFILL }},
21804         { &hf_h245_customPictureFormat,
21805                 { "customPictureFormat", "h245.customPictureFormat", FT_NONE, BASE_NONE,
21806                 NULL, 0, "customPictureFormat set of", HFILL }},
21807         { &hf_h245_modeCombos,
21808                 { "modeCombos", "h245.modeCombos", FT_NONE, BASE_NONE,
21809                 NULL, 0, "modeCombos set of", HFILL }},
21810         { &hf_h245_customPCF,
21811                 { "customPCF", "h245.customPCF", FT_NONE, BASE_NONE,
21812                 NULL, 0, "customPCF set of", HFILL }},
21813         { &hf_h245_pixelAspectCode,
21814                 { "pixelAspectCode", "h245.pixelAspectCode", FT_NONE, BASE_NONE,
21815                 NULL, 0, "pixelAspectCode set of", HFILL }},
21816         { &hf_h245_extendedPAR,
21817                 { "extendedPAR", "h245.extendedPAR", FT_NONE, BASE_NONE,
21818                 NULL, 0, "extendedPAR set of", HFILL }},
21819         { &hf_h245_h263VideoCoupledModes,
21820                 { "h263VideoCoupledModes", "h245.h263VideoCoupledModes", FT_NONE, BASE_NONE,
21821                 NULL, 0, "h263VideoCoupledModes set of", HFILL }},
21822         { &hf_h245_capabilityOnMuxStream,
21823                 { "capabilityOnMuxStream", "h245.capabilityOnMuxStream", FT_NONE, BASE_NONE,
21824                 NULL, 0, "capabilityOnMuxStream set of", HFILL }},
21825         { &hf_h245_capabilities,
21826                 { "capabilities", "h245.capabilities", FT_NONE, BASE_NONE,
21827                 NULL, 0, "capabilities set of", HFILL }},
21828         { &hf_h245_multiplexEntryDescriptors,
21829                 { "multiplexEntryDescriptors", "h245.multiplexEntryDescriptors", FT_NONE, BASE_NONE,
21830                 NULL, 0, "multiplexEntryDescriptors set of", HFILL }},
21831         { &hf_h245_multiplexTableEntryNumber_set_of,
21832                 { "multiplexTableEntryNumber_set_of", "h245.multiplexTableEntryNumber_set_of", FT_NONE, BASE_NONE,
21833                 NULL, 0, "multiplexTableEntryNumber_set_of set of", HFILL }},
21834         { &hf_h245_VCCapability_set_of,
21835                 { "VCCapability_set_of", "h245.VCCapability_set_of", FT_NONE, BASE_NONE,
21836                 NULL, 0, "VCCapability_set_of set of", HFILL }},
21837         { &hf_h245_rejectionDescriptions,
21838                 { "rejectionDescriptions", "h245.rejectionDescriptions", FT_NONE, BASE_NONE,
21839                 NULL, 0, "rejectionDescriptions set of", HFILL }},
21840         { &hf_h245_entryNumbers,
21841                 { "entryNumbers", "h245.entryNumbers", FT_NONE, BASE_NONE,
21842                 NULL, 0, "entryNumbers set of", HFILL }},
21843         { &hf_h245_ModeDescription,
21844                 { "ModeDescription", "h245.ModeDescription", FT_NONE, BASE_NONE,
21845                 NULL, 0, "ModeDescription set of", HFILL }},
21846         { &hf_h245_communicationModeTable,
21847                 { "communicationModeTable", "h245.communicationModeTable", FT_NONE, BASE_NONE,
21848                 NULL, 0, "communicationModeTable set of", HFILL }},
21849         { &hf_h245_terminalListResponse,
21850                 { "terminalListResponse", "h245.terminalListResponse", FT_NONE, BASE_NONE,
21851                 NULL, 0, "terminalListResponse set of", HFILL }},
21852         { &hf_h245_differential,
21853                 { "differential", "h245.differential", FT_NONE, BASE_NONE,
21854                 NULL, 0, "differential set of", HFILL }},
21855         { &hf_h245_networkType,
21856                 { "networkType", "h245.networkType", FT_NONE, BASE_NONE,
21857                 NULL, 0, "networkType set of", HFILL }},
21858         { &hf_h245_capabilityTableEntryNumbers,
21859                 { "capabilityTableEntryNumbers", "h245.capabilityTableEntryNumbers", FT_NONE, BASE_NONE,
21860                 NULL, 0, "capabilityTableEntryNumbers set of", HFILL }},
21861         { &hf_h245_capabilityDescriptorNumbers,
21862                 { "capabilityDescriptorNumbers", "h245.capabilityDescriptorNumbers", FT_NONE, BASE_NONE,
21863                 NULL, 0, "capabilityDescriptorNumbers set of", HFILL }},
21864         { &hf_h245_qOSCapabilities,
21865                 { "qOSCapabilities", "h245.qOSCapabilities", FT_NONE, BASE_NONE,
21866                 NULL, 0 , "qOSCapabilities sequence of", HFILL }},
21867         { &hf_h245_EncryptionCapability,
21868                 { "EncryptionCapability", "h245.EncryptionCapability", FT_NONE, BASE_NONE,
21869                 NULL, 0 , "EncryptionCapability sequence of", HFILL }},
21870         { &hf_h245_containedThreads,
21871                 { "containedThreads", "h245.containedThreads", FT_NONE, BASE_NONE,
21872                 NULL, 0 , "containedThreads sequence of", HFILL }},
21873         { &hf_h245_mediaChannelCapabilities,
21874                 { "mediaChannelCapabilities", "h245.mediaChannelCapabilities", FT_NONE, BASE_NONE,
21875                 NULL, 0 , "mediaChannelCapabilities sequence of", HFILL }},
21876         { &hf_h245_rtpPayloadType_sequence_of,
21877                 { "rtpPayloadType_sequence_of", "h245.rtpPayloadType_sequence_of", FT_NONE, BASE_NONE,
21878                 NULL, 0 , "rtpPayloadType sequence of", HFILL }},
21879         { &hf_h245_centralizedData,
21880                 { "centralizedData", "h245.centralizedData_sequence_of", FT_NONE, BASE_NONE,
21881                 NULL, 0 , "centralizedData sequence of", HFILL }},
21882         { &hf_h245_distributedData,
21883                 { "distributedData", "h245.distributedData_sequence_of", FT_NONE, BASE_NONE,
21884                 NULL, 0 , "distributedData sequence of", HFILL }},
21885         { &hf_h245_nonStandardData,
21886                 { "nonStandardData", "h245.nonStandardData_sequence_of", FT_NONE, BASE_NONE,
21887                 NULL, 0 , "nonStandardData sequence of", HFILL }},
21888         { &hf_h245_collapsing,
21889                 { "collapsing", "h245.collapsing_sequence_of", FT_NONE, BASE_NONE,
21890                 NULL, 0 , "collapsing sequence of", HFILL }},
21891         { &hf_h245_nonCollapsing,
21892                 { "nonCollapsing", "h245.nonCollapsing_sequence_of", FT_NONE, BASE_NONE,
21893                 NULL, 0 , "nonCollapsing sequence of", HFILL }},
21894         { &hf_h245_supersedes,
21895                 { "supersedes", "h245.supersedes_sequence_of", FT_NONE, BASE_NONE,
21896                 NULL, 0 , "supersedes sequence of", HFILL }},
21897         { &hf_h245_genericParameter,
21898                 { "genericParameter", "h245.genericParameter_sequence_of", FT_NONE, BASE_NONE,
21899                 NULL, 0 , "genericParameter sequence of", HFILL }},
21900         { &hf_h245_secondary_REE,
21901                 { "secondary_REE", "h245.secondary_REE_sequence_of", FT_NONE, BASE_NONE,
21902                 NULL, 0 , "secondary_REE sequence of", HFILL }},
21903         { &hf_h245_elements_MPSE,
21904                 { "elements_MPSE", "h245.elements_MPSE_sequence_of", FT_NONE, BASE_NONE,
21905                 NULL, 0 , "elements_MPSE sequence of", HFILL }},
21906         { &hf_h245_secondary_REDTME,
21907                 { "secondary_REDTME", "h245.secondary_REDTME_sequence_of", FT_NONE, BASE_NONE,
21908                 NULL, 0 , "secondary_REDTME sequence of", HFILL }},
21909         { &hf_h245_elements_MPSEM,
21910                 { "elements_MPSEM", "h245.elements_MPSEM_sequence_of", FT_NONE, BASE_NONE,
21911                 NULL, 0 , "elements_MPSEM sequence of", HFILL }},
21912         { &hf_h245_TerminalInformationSO,
21913                 { "TerminalInformationSO", "h245.TerminalInformationSO_sequence_of", FT_NONE, BASE_NONE,
21914                 NULL, 0 , "TerminalInformationSO sequence of", HFILL }},
21915         { &hf_h245_lostPicture,
21916                 { "lostPicture", "h245.lostPicture_sequence_of", FT_NONE, BASE_NONE,
21917                 NULL, 0 , "lostPicture sequence of", HFILL }},
21918         { &hf_h245_recoveryReferencePicture,
21919                 { "recoveryReferencePicture", "h245.recoveryReferencePicture_sequence_of", FT_NONE, BASE_NONE,
21920                 NULL, 0 , "recoveryReferencePicture sequence of", HFILL }},
21921         { &hf_h245_iPSourceRouteAddress_route,
21922                 { "iPSourceRouteAddress_route", "h245.iPSourceRouteAddress_route", FT_NONE, BASE_NONE,
21923                 NULL, 0, "iPSourceRouteAddress_route sequence of", HFILL }},
21924         { &hf_h245_audioTelephoneEvent,
21925                 { "audioTelephoneEvent", "h245.audioTelephoneEvent", FT_STRING, FT_NONE,
21926                 NULL, 0, "audioTelephoneEvent string", HFILL }},
21927         { &hf_h245_alphanumeric,
21928                 { "alphanumeric", "h245.alphanumeric", FT_STRING, FT_NONE,
21929                 NULL, 0, "alphanumeric string", HFILL }},
21930         { &hf_h245_domainBased,
21931                 { "domainBased", "h245.domainBased", FT_STRING, FT_NONE,
21932                 NULL, 0, "String for domainBased", HFILL }},
21933         { &hf_h245_subAddress,
21934                 { "subAddress", "h245.subAddress", FT_STRING, FT_NONE,
21935                 NULL, 0, "String for subAddress", HFILL }},
21936         { &hf_h245_e164Address,
21937                 { "e164Address", "h245.e164Address", FT_STRING, FT_NONE,
21938                 NULL, 0, "String for e164Address", HFILL }},
21939         { &hf_h245_signalType,
21940                 { "signalType", "h245.signalType", FT_STRING, FT_NONE,
21941                 NULL, 0, "String for signalType", HFILL }},
21942         { &hf_h245_DialingInformationNumber_networkAddress,
21943                 { "networkAddress", "h245.DialingInformationNumber_networkAddress", FT_STRING, FT_NONE,
21944                 NULL, 0, "String for DialingInformationNumber_networkAddress", HFILL }},
21945         { &hf_h245_internationalNumber,
21946                 { "internationalNumber", "h245.internationalNumber", FT_STRING, FT_NONE,
21947                 NULL, 0, "String for internationalNumber", HFILL }},
21948         { &hf_h245_h221Manufacturer,
21949                 { "H.221 Manufacturer", "h245.h221Manufacturer", FT_UINT32, BASE_HEX,
21950                 VALS(H221ManufacturerCode_vals), 0, "H.221 Manufacturer", HFILL }},
21951         };
21952
21953         static gint *ett[] =
21954         {
21955                 &ett_h245,
21956                 &ett_h245_MultimediaSystemControlMessage,
21957                 &ett_h245_RequestMessage,
21958                 &ett_h245_ResponseMessage,
21959                 &ett_h245_IndicationMessage,
21960                 &ett_h245_CommandMessage,
21961                 &ett_h245_OpenLogicalChannelConfirm,
21962                 &ett_h245_EndSessionCommand,
21963                 &ett_h245_MobileMultilinkReconfigurationIndication,
21964                 &ett_h245_FlowControlIndication,
21965                 &ett_h245_UserInputIndication_extendedAlphanumeric,
21966                 &ett_h245_UserInputIndication_signalUpdate_rtp,
21967                 &ett_h245_UserInputIndication_signalUpdate,
21968                 &ett_h245_UserInputIndication_signal_rtp,
21969                 &ett_h245_UserInputIndication_signal,
21970                 &ett_h245_NewATMVCIndication_reverseParameters,
21971                 &ett_h245_NewATMVCIndication_aal_aal5,
21972                 &ett_h245_NewATMVCIndication_aal_aal1,
21973                 &ett_h245_NewATMVCIndication_aal,
21974                 &ett_h245_NewATMVCIndication,
21975                 &ett_h245_VendorIdentification,
21976                 &ett_h245_MCLocationIndication,
21977                 &ett_h245_H2250MaximumSkewIndication,
21978                 &ett_h245_H223SkewIndication,
21979                 &ett_h245_JitterIndication,
21980                 &ett_h245_MiscellaneousIndication_type_videoNotDecodedMBs,
21981                 &ett_h245_MiscellaneousIndication,
21982                 &ett_h245_VideoIndicateCompose,
21983                 &ett_h245_TerminalYouAreSeeingInSubPictureNumber,
21984                 &ett_h245_FunctionNotSupported,
21985                 &ett_h245_MobileMultilinkReconfigurationCommand,
21986                 &ett_h245_NewATMVCCommand_reverseParameters,
21987                 &ett_h245_NewATMVCCommand,
21988                 &ett_h245_NewATMVCCommand_aal_aal5,
21989                 &ett_h245_NewATMVCCommand_aal_aal1,
21990                 &ett_h245_EncryptionUpdateRequest,
21991                 &ett_h245_KeyProtectionMethod,
21992                 &ett_h245_MiscellaneousCommand_type_lostPartialPicture,
21993                 &ett_h245_MiscellaneousCommand_type_videoBadMBs,
21994                 &ett_h245_MiscellaneousCommand_type_progressiveRefinementStart,
21995                 &ett_h245_MiscellaneousCommand_type_videoFastUpdateMB,
21996                 &ett_h245_MiscellaneousCommand_type_videoFastUpdateGOB,
21997                 &ett_h245_MiscellaneousCommand,
21998                 &ett_h245_SubstituteConferenceIDCommand,
21999                 &ett_h245_FlowControlCommand,
22000                 &ett_h245_EncryptionCommand_encryptionAlgorithmID,
22001                 &ett_h245_SendTerminalCapabilitySet_specificRequest,
22002                 &ett_h245_LogicalChannelRateRelease,
22003                 &ett_h245_LogicalChannelRateReject,
22004                 &ett_h245_LogicalChannelRateAck,
22005                 &ett_h245_LogicalChannelRateRequest,
22006                 &ett_h245_ConnectionIdentifier,
22007                 &ett_h245_DialingInformationNumber,
22008                 &ett_h245_MultilinkIndication_excessiveError,
22009                 &ett_h245_MultilinkIndication_crcDesired,
22010                 &ett_h245_MultilinkResponse_maximumHeaderInterval,
22011                 &ett_h245_MultilinkResponse_removeConnection,
22012                 &ett_h245_MultilinkResponse_addConnection,
22013                 &ett_h245_MultilinkResponse_callInformation,
22014                 &ett_h245_MultilinkRequest_maximumHeaderInterval,
22015                 &ett_h245_MultilinkRequest_removeConnection,
22016                 &ett_h245_MultilinkRequest_addConnection,
22017                 &ett_h245_MultilinkRequest_callInformation,
22018                 &ett_h245_TerminalInformation,
22019                 &ett_h245_RequestAllTerminalIDsResponse,
22020                 &ett_h245_ConferenceResponse_terminalCertificateResponse,
22021                 &ett_h245_ConferenceResponse_chairTokenOwnerResponse,
22022                 &ett_h245_ConferenceResponse_extensionAddressResponse,
22023                 &ett_h245_ConferenceResponse_passwordResponse,
22024                 &ett_h245_ConferenceResponse_conferenceIDResponse,
22025                 &ett_h245_ConferenceResponse_terminalIDResponse,
22026                 &ett_h245_ConferenceResponse_mCterminalIDResponse,
22027                 &ett_h245_TerminalLabel,
22028                 &ett_h245_Criteria,
22029                 &ett_h245_ConferenceRequest_requestTerminalCertificate,
22030                 &ett_h245_CommunicationModeTableEntry,
22031                 &ett_h245_CommunicationModeRequest,
22032                 &ett_h245_CommunicationModeCommand,
22033                 &ett_h245_MaintenanceLoopOffCommand,
22034                 &ett_h245_MaintenanceLoopReject,
22035                 &ett_h245_MaintenanceLoopAck,
22036                 &ett_h245_MaintenanceLoopRequest,
22037                 &ett_h245_RoundTripDelayResponse,
22038                 &ett_h245_RoundTripDelayRequest,
22039                 &ett_h245_DataMode_application_t38fax,
22040                 &ett_h245_DataMode_application_nlpid,
22041                 &ett_h245_DataMode,
22042                 &ett_h245_VBDMode,
22043                 &ett_h245_G7231AnnexCMode_g723AnnexCAudioMode,
22044                 &ett_h245_G7231AnnexCMode,
22045                 &ett_h245_IS13818AudioMode,
22046                 &ett_h245_IS11172AudioMode,
22047                 &ett_h245_IS11172VideoMode,
22048                 &ett_h245_H263VideoMode,
22049                 &ett_h245_H262VideoMode,
22050                 &ett_h245_H261VideoMode,
22051                 &ett_h245_RedundancyEncodingMode,
22052                 &ett_h245_H2250ModeParameters,
22053                 &ett_h245_H223ModeParameters_adaptationLayerType_al3,
22054                 &ett_h245_H223ModeParameters,
22055                 &ett_h245_FECMode_rfc2733Mode_mode_separateStream_samePort,
22056                 &ett_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort,
22057                 &ett_h245_FECMode_rfc2733Mode,
22058                 &ett_h245_MultiplePayloadStreamElementMode,
22059                 &ett_h245_MultiplePayloadStreamMode,
22060                 &ett_h245_RedundancyEncodingDTModeElement,
22061                 &ett_h245_RedundancyEncodingDTMode,
22062                 &ett_h245_MultiplexedStreamModeParameters,
22063                 &ett_h245_H235Mode,
22064                 &ett_h245_ModeElement,
22065                 &ett_h245_RequestModeRelease,
22066                 &ett_h245_RequestModeReject,
22067                 &ett_h245_RequestModeAck,
22068                 &ett_h245_RequestMode,
22069                 &ett_h245_RequestMultiplexEntryRelease,
22070                 &ett_h245_RequestMultiplexEntryRejectionDescriptions,
22071                 &ett_h245_RequestMultiplexEntryReject,
22072                 &ett_h245_RequestMultiplexEntryAck,
22073                 &ett_h245_RequestMultiplexEntry,
22074                 &ett_h245_MultiplexEntrySendRelease,
22075                 &ett_h245_MultiplexEntryRejectionDescriptions,
22076                 &ett_h245_MultiplexEntrySendReject,
22077                 &ett_h245_MultiplexEntrySendAck,
22078                 &ett_h245_MultiplexElement,
22079                 &ett_h245_MultiplexEntryDescriptor,
22080                 &ett_h245_MultiplexEntrySend,
22081                 &ett_h245_RequestChannelCloseRelease,
22082                 &ett_h245_RequestChannelCloseReject,
22083                 &ett_h245_RequestChannelCloseAck,
22084                 &ett_h245_RequestChannelClose,
22085                 &ett_h245_CloseLogicalChannelAck,
22086                 &ett_h245_CloseLogicalChannel,
22087                 &ett_h245_H2250LogicalChannelAckParameters,
22088                 &ett_h245_OpenLogicalChannelReject,
22089                 &ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters,
22090                 &ett_h245_OpenLogicalChannelAck,
22091                 &ett_h245_EscrowData,
22092                 &ett_h245_EncryptionSync,
22093                 &ett_h245_MulticastAddress_iP6Address,
22094                 &ett_h245_MulticastAddress_iPAddress,
22095                 &ett_h245_UnicastAddress_iPSourceRouteAddress,
22096                 &ett_h245_UnicastAddress_iP6Address,
22097                 &ett_h245_UnicastAddress_iPXAddress,
22098                 &ett_h245_UnicastAddress_iPAddress,
22099                 &ett_h245_FECData_rfc2733_mode_separateStream_samePort,
22100                 &ett_h245_FECData_rfc2733_mode_separateStream_differentPort,
22101                 &ett_h245_FECData_rfc2733,
22102                 &ett_h245_MultiplePayloadStreamElement,
22103                 &ett_h245_MultiplePayloadStream,
22104                 &ett_h245_RedundancyEncodingElement,
22105                 &ett_h245_RedundancyEncoding_rtpRedundancyEncoding,
22106                 &ett_h245_RedundancyEncoding,
22107                 &ett_h245_RTPPayloadType,
22108                 &ett_h245_H2250LogicalChannelParameters,
22109                 &ett_h245_V76HDLCParameters,
22110                 &ett_h245_V76LogicalChannelParameters_mode_eRM,
22111                 &ett_h245_V76LogicalChannelParameters,
22112                 &ett_h245_H223AnnexCArqParameters,
22113                 &ett_h245_H223AL3MParameters,
22114                 &ett_h245_H223AL2MParameters,
22115                 &ett_h245_H223AL1MParameters,
22116                 &ett_h245_H223LogicalChannelParameters_adaptionLayerType_al3,
22117                 &ett_h245_H223LogicalChannelParameters,
22118                 &ett_h245_H222LogicalChannelParameters,
22119                 &ett_h245_MultiplexedStreamParameter,
22120                 &ett_h245_H235Media,
22121                 &ett_h245_V75Parameters,
22122                 &ett_h245_Q2931Address,
22123                 &ett_h245_NetworkAccessParameters,
22124                 &ett_h245_reverseLogicalChannelParameters,
22125                 &ett_h245_forwardLogicalChannelParameters,
22126                 &ett_h245_OpenLogicalChannel,
22127                 &ett_h245_FECCapability_rfc2733_separateStream,
22128                 &ett_h245_FECCapability_rfc2733,
22129                 &ett_h245_MultiplePayloadStreamCapability,
22130                 &ett_h245_NoPTAudioToneCapability,
22131                 &ett_h245_NoPTAudioTelephonyEventCapability,
22132                 &ett_h245_AudioToneCapability,
22133                 &ett_h245_AudioTelephonyEventCapability,
22134                 &ett_h245_MultiplexedStreamCapability,
22135                 &ett_h245_GenericParameter,
22136                 &ett_h245_GenericCapability,
22137                 &ett_h245_ConferenceCapability,
22138                 &ett_h245_IntegrityCapability,
22139                 &ett_h245_AuthenticationCapability,
22140                 &ett_h245_EncryptionAuthenticationAndIntegrity,
22141                 &ett_h245_T38FaxTcpOptions,
22142                 &ett_h245_T38FaxUdpOptions,
22143                 &ett_h245_T38FaxProfile,
22144                 &ett_h245_T84Profile_t84Restricted,
22145                 &ett_h245_V42bis,
22146                 &ett_h245_DataApplicationCapability_application_t38fax,
22147                 &ett_h245_DataApplicationCapability_application_nlpid,
22148                 &ett_h245_DataApplicationCapability_application_t84,
22149                 &ett_h245_DataApplicationCapability,
22150                 &ett_h245_VBDCapability,
22151                 &ett_h245_GSMAudioCapability,
22152                 &ett_h245_IS13818AudioCapability,
22153                 &ett_h245_IS11172AudioCapability,
22154                 &ett_h245_G7231AnnexCCapability_g723AnnexCAudioMode,
22155                 &ett_h245_G7231AnnexCCapability,
22156                 &ett_h245_G729Extensions,
22157                 &ett_h245_AudioCapability_g7231,
22158                 &ett_h245_IS11172VideoCapability,
22159                 &ett_h245_H263Version3Options,
22160                 &ett_h245_H263ModeComboFlags,
22161                 &ett_h245_H263VideoModeCombos,
22162                 &ett_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR,
22163                 &ett_h245_CustomPictureFormat_mPI_customPCF,
22164                 &ett_h245_CustomPictureFormat_mPI,
22165                 &ett_h245_CustomPictureFormat,
22166                 &ett_h245_CustomPictureClockFrequency,
22167                 &ett_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters,
22168                 &ett_h245_RefPictureSelection_enhancedReferencePicSelect,
22169                 &ett_h245_RefPictureSelection_additionalPictureMemory,
22170                 &ett_h245_RefPictureSelection,
22171                 &ett_h245_TransperencyParameters,
22172                 &ett_h245_H263Options,
22173                 &ett_h245_EnhancementOptions,
22174                 &ett_h245_BEnhancementParameters,
22175                 &ett_h245_EnhancementLayerInfo,
22176                 &ett_h245_H263VideoCapability,
22177                 &ett_h245_H262VideoCapability,
22178                 &ett_h245_H261VideoCapability,
22179                 &ett_h245_MediaDistributionCapability,
22180                 &ett_h245_MultipointCapability,
22181                 &ett_h245_RTPH263VideoRedundancyFrameMapping,
22182                 &ett_h245_RTPH263VideoRedundancyEncoding,
22183                 &ett_h245_RedundancyEncodingCapability,
22184                 &ett_h245_TransportCapability,
22185                 &ett_h245_MediaChannelCapability,
22186                 &ett_h245_MediaTransportType_AtmAAL5Compressed,
22187                 &ett_h245_QOSCapability,
22188                 &ett_h245_ATMParameters,
22189                 &ett_h245_RSVPParameters,
22190                 &ett_h245_MediaPacketizationCapability,
22191                 &ett_h245_H2250Capability_mcCapability,
22192                 &ett_h245_H2250Capability,
22193                 &ett_h245_V75Capability,
22194                 &ett_h245_V76Capability,
22195                 &ett_h245_H223AnnexCCapability,
22196                 &ett_h245_H223Capability_mobileMultilinkFrameCapability,
22197                 &ett_h245_H223Capability_mobileOperationTransmitCapability,
22198                 &ett_h245_H223Capability_h223MultiplexTableCapability_enhanced,
22199                 &ett_h245_H223Capability,
22200                 &ett_h245_VCCapability_aal1ViaGateway,
22201                 &ett_h245_VCCapability_availableBitRates_rangeOfBitRates,
22202                 &ett_h245_VCCapability_availableBitRates,
22203                 &ett_h245_VCCapability_aal5,
22204                 &ett_h245_VCCapability_aal1,
22205                 &ett_h245_VCCapability,
22206                 &ett_h245_H222Capability,
22207                 &ett_h245_H235SecurityCapability,
22208                 &ett_h245_Capability_h233EncryptionReceiveCapability,
22209                 &ett_h245_TerminalCapabilitySetRelease,
22210                 &ett_h245_TerminalCapabilitySetReject,
22211                 &ett_h245_TerminalCapabilitySetAck,
22212                 &ett_h245_CapabilityDescriptor,
22213                 &ett_h245_CapabilityTableEntry,
22214                 &ett_h245_TerminalCapabilitySet,
22215                 &ett_h245_MasterSlaveDeterminationRelease,
22216                 &ett_h245_MasterSlaveDeterminationReject,
22217                 &ett_h245_MasterSlaveDeterminationAck,
22218                 &ett_h245_MasterSlaveDetermination,
22219                 &ett_h245_h221NonStandard,
22220                 &ett_h245_NonStandardParameter,
22221                 &ett_h245_NonStandardMessage,
22222                 &ett_h245_FlowControlIndication_restriction,
22223                 &ett_h245_FlowControlIndication_scope,
22224                 &ett_h245_UserInputIndication_userInputSupportIndication,
22225                 &ett_h245_UserInputIndication,
22226                 &ett_h245_NewATMVCIndication_reverseParameters_multiplex,
22227                 &ett_h245_NewATMVCIndication_multiplex,
22228                 &ett_h245_NewATMVCIndication_aal_aal1_errorCorrection,
22229                 &ett_h245_NewATMVCIndication_aal_aal1_clockRecovery,
22230                 &ett_h245_JitterIndication_scope,
22231                 &ett_h245_MiscellaneousIndication_type,
22232                 &ett_h245_ConferenceIndication,
22233                 &ett_h245_FunctionNotSupported_cause,
22234                 &ett_h245_FunctionNotUnderstood,
22235                 &ett_h245_MobileMultilinkReconfigurationCommand_status,
22236                 &ett_h245_NewATMVCCommand_reverseParameters_multiplex,
22237                 &ett_h245_NewATMVCCommand_multiplex,
22238                 &ett_h245_NewATMVCCommand_aal_aal1_errorCorrection,
22239                 &ett_h245_NewATMVCCommand_aal_aal1_clockRecovery,
22240                 &ett_h245_NewATMVCCommand_aal,
22241                 &ett_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag,
22242                 &ett_h245_H223MultiplexReconfiguration_h223ModeChange,
22243                 &ett_h245_H223MultiplexReconfiguration,
22244                 &ett_h245_PictureReference,
22245                 &ett_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount,
22246                 &ett_h245_MiscellaneousCommand_type,
22247                 &ett_h245_ConferenceCommand,
22248                 &ett_h245_EndSessionCommand_gstnOptions,
22249                 &ett_h245_EndSessionCommand_isdnOptions,
22250                 &ett_h245_FlowControlCommand_restriction,
22251                 &ett_h245_FlowControlCommand_scope,
22252                 &ett_h245_EncryptionCommand,
22253                 &ett_h245_SendTerminalCapabilitySet,
22254                 &ett_h245_LogicalChannelRateRejectReason,
22255                 &ett_h245_DialingInformationNetworkType,
22256                 &ett_h245_DialingInformation,
22257                 &ett_h245_MultilinkIndication,
22258                 &ett_h245_MultilinkResponse_addConnection_responseCode_rejected,
22259                 &ett_h245_MultilinkResponse_addConnection_responseCode,
22260                 &ett_h245_MultilinkResponse,
22261                 &ett_h245_MultilinkRequest_maximumHeaderInterval_requestType,
22262                 &ett_h245_MultilinkRequest,
22263                 &ett_h245_RemoteMCResponse_reject,
22264                 &ett_h245_RemoteMCResponse,
22265                 &ett_h245_RemoteMCRequest,
22266                 &ett_h245_ConferenceResponse_sendThisSourceResponse,
22267                 &ett_h245_ConferenceResponse_makeTerminalBroadcasterResponse,
22268                 &ett_h245_ConferenceResponse_broadcastMyLogicalChannelResponse,
22269                 &ett_h245_ConferenceResponse_makeMeChairResponse,
22270                 &ett_h245_ConferenceResponse,
22271                 &ett_h245_ConferenceRequest,
22272                 &ett_h245_CommunicationModeTableEntry_dataType,
22273                 &ett_h245_CommunicationModeResponse,
22274                 &ett_h245_MaintenanceLoopReject_cause,
22275                 &ett_h245_MaintenanceLoopReject_type,
22276                 &ett_h245_MaintenanceLoopAck_type,
22277                 &ett_h245_MaintenanceLoopRequest_type,
22278                 &ett_h245_EncryptionMode,
22279                 &ett_h245_DataMode_application,
22280                 &ett_h245_IS13818AudioMode_multiChannelType,
22281                 &ett_h245_IS13818AudioMode_audioSampling,
22282                 &ett_h245_IS13818AudioMode_audioLayer,
22283                 &ett_h245_IS11172AudioMode_multichannelType,
22284                 &ett_h245_IS11172AudioMode_audioSampling,
22285                 &ett_h245_IS11172AudioMode_audioLayer,
22286                 &ett_h245_AudioMode_g7231,
22287                 &ett_h245_AudioMode,
22288                 &ett_h245_H263VideoMode_resolution,
22289                 &ett_h245_H262VideoMode_profileAndLevel,
22290                 &ett_h245_H261VideoMode_resolution,
22291                 &ett_h245_VideoMode,
22292                 &ett_h245_RedundancyEncodingMode_secondaryEncoding,
22293                 &ett_h245_V76ModeParameters,
22294                 &ett_h245_H223ModeParameters_adaptationLayerType,
22295                 &ett_h245_FECMode_rfc2733Mode_mode_separateStream,
22296                 &ett_h245_FECMode_rfc2733Mode_mode,
22297                 &ett_h245_FECMode,
22298                 &ett_h245_RedundancyEncodingDTModeElement_type,
22299                 &ett_h245_H235Mode_mediaMode,
22300                 &ett_h245_ModeElementType,
22301                 &ett_h245_RequestModeReject_cause,
22302                 &ett_h245_RequestMultiplexEntryRejectionDescriptions_cause,
22303                 &ett_h245_MultiplexEntryRejectionDescriptions_cause,
22304                 &ett_h245_MultiplexElement_repeatCount,
22305                 &ett_h245_MultiplexElement_type,
22306                 &ett_h245_RequestChannelCloseReject_cause,
22307                 &ett_h245_RequestChannelClose_reason,
22308                 &ett_h245_CloseLogicalChannel_reason,
22309                 &ett_h245_CloseLogicalChannel_source,
22310                 &ett_h245_OpenLogicalChannelReject_cause,
22311                 &ett_h245_forwardMultiplexAckParameters,
22312                 &ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters,
22313                 &ett_h245_MulticastAddress,
22314                 &ett_h245_UnicastAddress_iPSourceRouteAddress_routing,
22315                 &ett_h245_UnicastAddress,
22316                 &ett_h245_TransportAddress,
22317                 &ett_h245_FECData_rfc2733_mode_separateStream,
22318                 &ett_h245_FECData_rfc2733_mode,
22319                 &ett_h245_FECData,
22320                 &ett_h245_RTPPayloadType_payloadDescriptor,
22321                 &ett_h245_H2250LogicalChannelParameters_mediaPacketization,
22322                 &ett_h245_CRCLength,
22323                 &ett_h245_V76LogicalChannelParameters_mode_eRM_recovery,
22324                 &ett_h245_V76LogicalChannelParameters_mode,
22325                 &ett_h245_V76LogicalChannelParameters_suspendResume,
22326                 &ett_h245_H223AnnexCArqParameters_numberOfRetransmissions,
22327                 &ett_h245_H223AL3MParameters_arqType,
22328                 &ett_h245_H223AL3MParameters_crcLength,
22329                 &ett_h245_H223AL3MParameters_headerFormat,
22330                 &ett_h245_H223AL2MParameters_headerFEC,
22331                 &ett_h245_H223AL1MParameters_arqType,
22332                 &ett_h245_H223AL1MParameters_crcLength,
22333                 &ett_h245_H223AL1MParameters_headerFEC,
22334                 &ett_h245_H223AL1MParameters_transferMode,
22335                 &ett_h245_H223LogicalChannelParameters_adaptationLayerType,
22336                 &ett_h245_H235Media_mediaType,
22337                 &ett_h245_DataType,
22338                 &ett_h245_Q2931Address_address,
22339                 &ett_h245_NetworkAccessParameters_t120SetupProcedure,
22340                 &ett_h245_NetworkAccessParameters_networkAddress,
22341                 &ett_h245_NetworkAccessParameters_distribution,
22342                 &ett_h245_reverseLogicalChannelParameters_multiplexParameters,
22343                 &ett_h245_forwardLogicalChannelParameters_multiplexParameters,
22344                 &ett_h245_FECCapability,
22345                 &ett_h245_MultiplexFormat,
22346                 &ett_h245_ParameterValue,
22347                 &ett_h245_ParameterIdentifier,
22348                 &ett_h245_CapabilityIdentifier,
22349                 &ett_h245_UserInputCapability,
22350                 &ett_h245_MediaEncryptionAlgorithm,
22351                 &ett_h245_T38FaxUdpOptions_t38FaxUdpEC,
22352                 &ett_h245_T38FaxRateManagement,
22353                 &ett_h245_T84Profile,
22354                 &ett_h245_CompressionType,
22355                 &ett_h245_DataProtocolCapability_v76wCompression,
22356                 &ett_h245_DataProtocolCapability,
22357                 &ett_h245_DataApplicationCapability_application,
22358                 &ett_h245_AudioCapability,
22359                 &ett_h245_CustomPictureFormat_pixelAspectInformation,
22360                 &ett_h245_RefPictureSelection_videoBackChannelSend,
22361                 &ett_h245_VideoCapability,
22362                 &ett_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping,
22363                 &ett_h245_RedundancyEncodingMethod,
22364                 &ett_h245_MediaTransportType,
22365                 &ett_h245_QOSMode,
22366                 &ett_h245_H223Capability_h223MultiplexTableCapability,
22367                 &ett_h245_VCCapability_availableBitRates_type,
22368                 &ett_h245_MultiplexCapability,
22369                 &ett_h245_Capability,
22370                 &ett_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded,
22371                 &ett_h245_TerminalCapabilitySetReject_cause,
22372                 &ett_h245_MasterSlaveDeterminationReject_cause,
22373                 &ett_h245_MasterSlaveDeterminationAck_decision,
22374                 &ett_h245_RequestModeAck_response_decision,
22375                 &ett_h245_NonStandardIdentifier,
22376                 &ett_h245_mediaDistributionCapability,
22377                 &ett_h245_AlternativeCapabilitySet,
22378                 &ett_h245_CapabilityTableEntryNumber_sequence_of,
22379                 &ett_h245_frameToThreadMapping_custom,
22380                 &ett_h245_RedundancyEncodingCapability_sequence_of,
22381                 &ett_h245_frameSequence,
22382                 &ett_h245_EncryptionCapability,
22383                 &ett_h245_escrowentry,
22384                 &ett_h245_elementList,
22385                 &ett_h245_requestedModes,
22386                 &ett_h245_CertSelectionCriteria,
22387                 &ett_h245_capabilityTable,
22388                 &ett_h245_capabilityDescriptors,
22389                 &ett_h245_simultaneousCapabilities,
22390                 &ett_h245_gatewayAddress,
22391                 &ett_h245_snrEnhancement,
22392                 &ett_h245_spatialEnhancement,
22393                 &ett_h245_bPictureEnhancement,
22394                 &ett_h245_customPictureClockFrequency,
22395                 &ett_h245_customPictureFormat,
22396                 &ett_h245_modeCombos,
22397                 &ett_h245_customPCF,
22398                 &ett_h245_pixelAspectCode,
22399                 &ett_h245_extendedPAR,
22400                 &ett_h245_h263VideoCoupledModes,
22401                 &ett_h245_capabilityOnMuxStream,
22402                 &ett_h245_capabilities,
22403                 &ett_h245_multiplexEntryDescriptors,
22404                 &ett_h245_multiplexTableEntryNumber_set_of,
22405                 &ett_h245_VCCapability_set_of,
22406                 &ett_h245_rejectionDescriptions,
22407                 &ett_h245_entryNumbers,
22408                 &ett_h245_ModeDescription,
22409                 &ett_h245_communicationModeTable,
22410                 &ett_h245_terminalListResponse,
22411                 &ett_h245_differential,
22412                 &ett_h245_networkType,
22413                 &ett_h245_capabilityTableEntryNumbers,
22414                 &ett_h245_capabilityDescriptorNumbers,
22415                 &ett_h245_qOSCapabilities,
22416                 &ett_h245_subElementList,
22417                 &ett_h245_containedThreads,
22418                 &ett_h245_mediaChannelCapabilities,
22419                 &ett_h245_rtpPayloadType_sequence_of,
22420                 &ett_h245_centralizedData,
22421                 &ett_h245_distributedData,
22422                 &ett_h245_nonStandardData,
22423                 &ett_h245_collapsing,
22424                 &ett_h245_nonCollapsing,
22425                 &ett_h245_supersedes,
22426                 &ett_h245_genericParameter,
22427                 &ett_h245_secondary_REE,
22428                 &ett_h245_elements_MPSE,
22429                 &ett_h245_secondary_REDTME,
22430                 &ett_h245_elements_MPSEM,
22431                 &ett_h245_TerminalInformationSO,
22432                 &ett_h245_lostPicture,
22433                 &ett_h245_recoveryReferencePicture,
22434                 &ett_h245_iPSourceRouteAddress_route,
22435         };
22436         module_t *h245_module;
22437
22438         proto_h245 = proto_register_protocol("H245", "H245", "h245");
22439         proto_register_field_array(proto_h245, hf, array_length(hf));
22440         proto_register_subtree_array(ett, array_length(ett));
22441         h245_module = prefs_register_protocol(proto_h245, NULL);
22442         prefs_register_bool_preference(h245_module, "reassembly",
22443                 "Reassemble H.245 over TCP",
22444                 "Whether the dissector should reassemble H.245 PDUs spanning multiple TCP segments",
22445                 &h245_reassembly);
22446         prefs_register_bool_preference(h245_module, "shorttypes",
22447                 "Show short message types",
22448                 "Whether the dissector should show short names or the long names from the standard",
22449                 &h245_shorttypes);
22450         register_dissector("h245dg", dissect_h245_MultimediaSystemControlMessage, proto_h245);
22451         register_dissector("h245", dissect_h245, proto_h245);
22452
22453         nsp_object_dissector_table = register_dissector_table("h245.nsp.object", "H.245 NonStandardParameter (object)", FT_STRING, BASE_NONE);
22454         nsp_h221_dissector_table = register_dissector_table("h245.nsp.h221", "H.245 NonStandardParameter (h221)", FT_UINT32, BASE_HEX);
22455 }
22456
22457 void
22458 proto_reg_handoff_h245(void)
22459 {
22460         rtp_handle = find_dissector("rtp");
22461         rtcp_handle = find_dissector("rtcp");
22462
22463         h245_handle=create_dissector_handle(dissect_h245, proto_h245);
22464         dissector_add_handle("tcp.port", h245_handle);
22465         MultimediaSystemControlMessage_handle=create_dissector_handle(dissect_h245_MultimediaSystemControlMessage, proto_h245);
22466         dissector_add_handle("udp.port", MultimediaSystemControlMessage_handle);
22467 }