update to h245 to decode the county codes
[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  * $Id: packet-h245.c,v 1.32 2003/08/28 12:57:24 sahlberg Exp $
8  *
9  * Ethereal - Network traffic analyzer
10  * By Gerald Combs <gerald@ethereal.com>
11  * Copyright 1998 Gerald Combs
12  *
13  * This program is free software; you can redistribute it and/or
14  * modify it under the terms of the GNU General Public License
15  * as published by the Free Software Foundation; either version 2
16  * of the License, or (at your option) any later version.
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License
24  * along with this program; if not, write to the Free Software
25  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
26  */
27
28 #ifdef HAVE_CONFIG_H
29 # include "config.h"
30 #endif
31
32 #include <glib.h>
33 #include <adler32.h>
34 #include <epan/packet.h>
35 #include <epan/conversation.h>
36
37 #include <stdio.h>
38 #include <string.h>
39
40 #include "prefs.h"
41 #include "packet-tpkt.h"
42 #include "packet-per.h"
43
44 static dissector_handle_t rtp_handle=NULL;
45 static dissector_handle_t rtcp_handle=NULL;
46
47 static dissector_handle_t h245_handle;
48 static dissector_handle_t MultimediaSystemControlMessage_handle;
49
50 static int proto_h245 = -1;             /* h245 over tpkt */
51 static int hf_h245_rfc_number = -1;
52 static int hf_h245_pdu_type = -1;
53 static int hf_h245_DialingInformationNumber_networkAddress = -1;
54 static int hf_h245_signalType = -1;
55 static int hf_h245_e164Address = -1;
56 static int hf_h245_subAddress = -1;
57 static int hf_h245_domainBased = -1;
58 static int hf_h245_internationalNumber = -1;
59 static int hf_h245_IndicationMessage_type = -1;
60 static int hf_h245_RequestMessage_type = -1;
61 static int hf_h245_ResponseMessage_type = -1;
62 static int hf_h245_CommandMessage_type = -1;
63 static int hf_h245_PixelAspectCode = -1;
64 static int hf_h245_LogicalChannelNumber = -1;
65 static int hf_h245_SequenceNumber = -1;
66 static int hf_h245_EndSessionCommand_type = -1;
67 static int hf_h245_MobileMultilinkReconfigurationIndication = -1;
68 static int hf_h245_FlowControlIndication = -1;
69 static int hf_h245_UserInputIndication_extendedAlphanumeric = -1;
70 static int hf_h245_UserInputIndication_signalUpdate_rtp = -1;
71 static int hf_h245_UserInputIndication_signalUpdate = -1;
72 static int hf_h245_UserInputIndication_signal_rtp = -1;
73 static int hf_h245_UserInputIndication_signal = -1;
74 static int hf_h245_NewATMVCIndication_reverseParameters = -1;
75 static int hf_h245_NewATMVCIndication_aal_aal5 = -1;
76 static int hf_h245_NewATMVCIndication_aal_aal1 = -1;
77 static int hf_h245_NewATMVCIndication_aal = -1;
78 static int hf_h245_NewATMVCIndication = -1;
79 static int hf_h245_VendorIdentification = -1;
80 static int hf_h245_MCLocationIndication = -1;
81 static int hf_h245_H2250MaximumSkewIndication = -1;
82 static int hf_h245_H223SkewIndication = -1;
83 static int hf_h245_JitterIndication = -1;
84 static int hf_h245_MiscellaneousIndication_type_videoNotDecodedMBs = -1;
85 static int hf_h245_MiscellaneousIndication = -1;
86 static int hf_h245_VideoIndicateCompose = -1;
87 static int hf_h245_TerminalYouAreSeeingInSubPictureNumber = -1;
88 static int hf_h245_FunctionNotSupported = -1;
89 static int hf_h245_MobileMultilinkReconfigurationCommand = -1;
90 static int hf_h245_NewATMVCCommand_reverseParameters = -1;
91 static int hf_h245_NewATMVCCommand = -1;
92 static int hf_h245_NewATMVCCommand_aal_aal5 = -1;
93 static int hf_h245_NewATMVCCommand_aal_aal1 = -1;
94 static int hf_h245_EncryptionUpdateRequest = -1;
95 static int hf_h245_KeyProtectionMethod = -1;
96 static int hf_h245_MiscellaneousCommand_type_lostPartialPicture = -1;
97 static int hf_h245_MiscellaneousCommand_type_videoBadMBs = -1;
98 static int hf_h245_MiscellaneousCommand_type_progressiveRefinementStart = -1;
99 static int hf_h245_MiscellaneousCommand_type_videoFastUpdateMB = -1;
100 static int hf_h245_MiscellaneousCommand_type_videoFastUpdateGOB = -1;
101 static int hf_h245_MiscellaneousCommand = -1;
102 static int hf_h245_SubstituteConferenceIDCommand = -1;
103 static int hf_h245_FlowControlCommand = -1;
104 static int hf_h245_EncryptionCommand_encryptionAlgorithmID = -1;
105 static int hf_h245_SendTerminalCapabilitySet_specificRequest = -1;
106 static int hf_h245_LogicalChannelRateRelease = -1;
107 static int hf_h245_LogicalChannelRateReject = -1;
108 static int hf_h245_LogicalChannelRateAck = -1;
109 static int hf_h245_LogicalChannelRateRequest = -1;
110 static int hf_h245_ConnectionIdentifier = -1;
111 static int hf_h245_DialingInformationNumber = -1;
112 static int hf_h245_MultilinkIndication_excessiveError = -1;
113 static int hf_h245_MultilinkIndication_crcDesired = -1;
114 static int hf_h245_MultilinkResponse_maximumHeaderInterval = -1;
115 static int hf_h245_MultilinkResponse_removeConnection = -1;
116 static int hf_h245_MultilinkResponse_addConnection = -1;
117 static int hf_h245_MultilinkResponse_callInformation = -1;
118 static int hf_h245_MultilinkRequest_maximumHeaderInterval = -1;
119 static int hf_h245_MultilinkRequest_removeConnection = -1;
120 static int hf_h245_MultilinkRequest_addConnection = -1;
121 static int hf_h245_MultilinkRequest_callInformation = -1;
122 static int hf_h245_TerminalInformation = -1;
123 static int hf_h245_RequestAllTerminalIDsResponse = -1;
124 static int hf_h245_ConferenceResponse_terminalCertificateResponse = -1;
125 static int hf_h245_ConferenceResponse_chairTokenOwnerResponse = -1;
126 static int hf_h245_ConferenceResponse_extensionAddressResponse = -1;
127 static int hf_h245_ConferenceResponse_passwordResponse = -1;
128 static int hf_h245_ConferenceResponse_conferenceIDResponse = -1;
129 static int hf_h245_ConferenceResponse_terminalIDResponse = -1;
130 static int hf_h245_ConferenceResponse_mCterminalIDResponse = -1;
131 static int hf_h245_TerminalLabel = -1;
132 static int hf_h245_Criteria = -1;
133 static int hf_h245_ConferenceRequest_requestTerminalCertificate = -1;
134 static int hf_h245_CommunicationModeTableEntry = -1;
135 static int hf_h245_CommunicationModeRequest = -1;
136 static int hf_h245_CommunicationModeCommand = -1;
137 static int hf_h245_MaintenanceLoopOffCommand = -1;
138 static int hf_h245_MaintenanceLoopReject = -1;
139 static int hf_h245_MaintenanceLoopAck = -1;
140 static int hf_h245_MaintenanceLoopRequest = -1;
141 static int hf_h245_RoundTripDelayResponse = -1;
142 static int hf_h245_RoundTripDelayRequest = -1;
143 static int hf_h245_DataMode_application_t38fax = -1;
144 static int hf_h245_DataMode_application_nlpid = -1;
145 static int hf_h245_DataMode = -1;
146 static int hf_h245_VBDMode = -1;
147 static int hf_h245_G7231AnnexCMode_g723AnnexCAudioMode = -1;
148 static int hf_h245_G7231AnnexCMode = -1;
149 static int hf_h245_IS13818AudioMode = -1;
150 static int hf_h245_IS11172AudioMode = -1;
151 static int hf_h245_IS11172VideoMode = -1;
152 static int hf_h245_H263VideoMode = -1;
153 static int hf_h245_H262VideoMode = -1;
154 static int hf_h245_H261VideoMode = -1;
155 static int hf_h245_RedundancyEncodingMode = -1;
156 static int hf_h245_H2250ModeParameters = -1;
157 static int hf_h245_H223ModeParameters_adaptationLayerType_al3 = -1;
158 static int hf_h245_H223ModeParameters = -1;
159 static int hf_h245_FECMode_rfc2733Mode_mode_separateStream_samePort = -1;
160 static int hf_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort = -1;
161 static int hf_h245_FECMode_rfc2733Mode = -1;
162 static int hf_h245_MultiplePayloadStreamElementMode = -1;
163 static int hf_h245_MultiplePayloadStreamMode = -1;
164 static int hf_h245_RedundancyEncodingDTModeElement = -1;
165 static int hf_h245_RedundancyEncodingDTMode = -1;
166 static int hf_h245_MultiplexedStreamModeParameters = -1;
167 static int hf_h245_H235Mode = -1;
168 static int hf_h245_ModeElement = -1;
169 static int hf_h245_RequestModeRelease = -1;
170 static int hf_h245_RequestModeReject = -1;
171 static int hf_h245_RequestModeAck = -1;
172 static int hf_h245_RequestMode = -1;
173 static int hf_h245_RequestMultiplexEntryRelease = -1;
174 static int hf_h245_RequestMultiplexEntryRejectionDescriptions = -1;
175 static int hf_h245_RequestMultiplexEntryReject = -1;
176 static int hf_h245_RequestMultiplexEntryAck = -1;
177 static int hf_h245_RequestMultiplexEntry = -1;
178 static int hf_h245_MultiplexEntrySendRelease = -1;
179 static int hf_h245_MultiplexEntryRejectionDescriptions = -1;
180 static int hf_h245_MultiplexEntrySendReject = -1;
181 static int hf_h245_MultiplexEntrySendAck = -1;
182 static int hf_h245_MultiplexElement = -1;
183 static int hf_h245_MultiplexEntryDescriptor = -1;
184 static int hf_h245_MultiplexEntrySend = -1;
185 static int hf_h245_RequestChannelCloseRelease = -1;
186 static int hf_h245_RequestChannelCloseReject = -1;
187 static int hf_h245_RequestChannelCloseAck = -1;
188 static int hf_h245_RequestChannelClose = -1;
189 static int hf_h245_CloseLogicalChannelAck = -1;
190 static int hf_h245_CloseLogicalChannel = -1;
191 static int hf_h245_H2250LogicalChannelAckParameters = -1;
192 static int hf_h245_OpenLogicalChannelConfirm = -1;
193 static int hf_h245_OpenLogicalChannelReject = -1;
194 static int hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters = -1;
195 static int hf_h245_OpenLogicalChannelAck = -1;
196 static int hf_h245_EscrowData = -1;
197 static int hf_h245_EncryptionSync = -1;
198 static int hf_h245_MulticastAddress_iP6Address = -1;
199 static int hf_h245_MulticastAddress_iPAddress = -1;
200 static int hf_h245_UnicastAddress_iPSourceRouteAddress = -1;
201 static int hf_h245_UnicastAddress_iP6Address = -1;
202 static int hf_h245_UnicastAddress_iPXAddress = -1;
203 static int hf_h245_UnicastAddress_iPAddress = -1;
204 static int hf_h245_FECData_rfc2733_mode_separateStream_samePort = -1;
205 static int hf_h245_FECData_rfc2733_mode_separateStream_differentPort = -1;
206 static int hf_h245_FECData_rfc2733 = -1;
207 static int hf_h245_MultiplePayloadStreamElement = -1;
208 static int hf_h245_MultiplePayloadStream = -1;
209 static int hf_h245_RedundancyEncodingElement = -1;
210 static int hf_h245_RedundancyEncoding_rtpRedundancyEncoding = -1;
211 static int hf_h245_RedundancyEncoding = -1;
212 static int hf_h245_RTPPayloadType = -1;
213 static int hf_h245_H2250LogicalChannelParameters = -1;
214 static int hf_h245_V76HDLCParameters = -1;
215 static int hf_h245_V76LogicalChannelParameters_mode_eRM = -1;
216 static int hf_h245_V76LogicalChannelParameters = -1;
217 static int hf_h245_H223AnnexCArqParameters = -1;
218 static int hf_h245_H223AL3MParameters = -1;
219 static int hf_h245_H223AL2MParameters = -1;
220 static int hf_h245_H223AL1MParameters = -1;
221 static int hf_h245_H223LogicalChannelParameters_adaptionLayerType_al3 = -1;
222 static int hf_h245_H223LogicalChannelParameters = -1;
223 static int hf_h245_H222LogicalChannelParameters = -1;
224 static int hf_h245_MultiplexedStreamParameter = -1;
225 static int hf_h245_H235Media = -1;
226 static int hf_h245_V75Parameters = -1;
227 static int hf_h245_Q2931Address = -1;
228 static int hf_h245_NetworkAccessParameters = -1;
229 static int hf_h245_reverseLogicalChannelParameters = -1;
230 static int hf_h245_forwardLogicalChannelParameters = -1;
231 static int hf_h245_OpenLogicalChannel = -1;
232 static int hf_h245_FECCapability_rfc2733_separateStream = -1;
233 static int hf_h245_FECCapability_rfc2733 = -1;
234 static int hf_h245_MultiplePayloadStreamCapability = -1;
235 static int hf_h245_NoPTAudioToneCapability = -1;
236 static int hf_h245_NoPTAudioTelephonyEventCapability = -1;
237 static int hf_h245_AudioToneCapability = -1;
238 static int hf_h245_AudioTelephonyEventCapability = -1;
239 static int hf_h245_MultiplexedStreamCapability = -1;
240 static int hf_h245_GenericParameter = -1;
241 static int hf_h245_GenericCapability = -1;
242 static int hf_h245_ConferenceCapability = -1;
243 static int hf_h245_IntegrityCapability = -1;
244 static int hf_h245_AuthenticationCapability = -1;
245 static int hf_h245_EncryptionAuthenticationAndIntegrity = -1;
246 static int hf_h245_T38FaxTcpOptions = -1;
247 static int hf_h245_T38FaxUdpOptions = -1;
248 static int hf_h245_T38FaxProfile = -1;
249 static int hf_h245_T84Profile_t84Restricted = -1;
250 static int hf_h245_V42bis = -1;
251 static int hf_h245_DataApplicationCapability_application_t38fax = -1;
252 static int hf_h245_DataApplicationCapability_application_nlpid = -1;
253 static int hf_h245_DataApplicationCapability_application_t84 = -1;
254 static int hf_h245_DataApplicationCapability = -1;
255 static int hf_h245_VBDCapability = -1;
256 static int hf_h245_GSMAudioCapability = -1;
257 static int hf_h245_IS13818AudioCapability = -1;
258 static int hf_h245_IS11172AudioCapability = -1;
259 static int hf_h245_G7231AnnexCCapability_g723AnnexCAudioMode = -1;
260 static int hf_h245_G7231AnnexCCapability = -1;
261 static int hf_h245_G729Extensions = -1;
262 static int hf_h245_AudioCapability_g7231 = -1;
263 static int hf_h245_IS11172VideoCapability = -1;
264 static int hf_h245_H263Version3Options = -1;
265 static int hf_h245_H263ModeComboFlags = -1;
266 static int hf_h245_H263VideoModeCombos = -1;
267 static int hf_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR = -1;
268 static int hf_h245_CustomPictureFormat_mPI_customPCF = -1;
269 static int hf_h245_CustomPictureFormat_mPI = -1;
270 static int hf_h245_CustomPictureFormat = -1;
271 static int hf_h245_CustomPictureClockFrequency = -1;
272 static int hf_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters = -1;
273 static int hf_h245_RefPictureSelection_enhancedReferencePicSelect = -1;
274 static int hf_h245_RefPictureSelection_additionalPictureMemory = -1;
275 static int hf_h245_RefPictureSelection = -1;
276 static int hf_h245_TransperencyParameters = -1;
277 static int hf_h245_H263Options = -1;
278 static int hf_h245_EnhancementOptions = -1;
279 static int hf_h245_BEnhancementParameters = -1;
280 static int hf_h245_EnhancementLayerInfo = -1;
281 static int hf_h245_H263VideoCapability = -1;
282 static int hf_h245_H262VideoCapability = -1;
283 static int hf_h245_H261VideoCapability = -1;
284 static int hf_h245_MediaDistributionCapability = -1;
285 static int hf_h245_MultipointCapability = -1;
286 static int hf_h245_receiveMultipointCapability = -1;
287 static int hf_h245_transmitMultipointCapability = -1;
288 static int hf_h245_receiveAndTransmitMultipointCapability = -1;
289 static int hf_h245_RTPH263VideoRedundancyFrameMapping = -1;
290 static int hf_h245_RTPH263VideoRedundancyEncoding = -1;
291 static int hf_h245_RedundancyEncodingCapability = -1;
292 static int hf_h245_TransportCapability = -1;
293 static int hf_h245_MediaChannelCapability = -1;
294 static int hf_h245_MediaTransportType_AtmAAL5Compressed = -1;
295 static int hf_h245_QOSCapability = -1;
296 static int hf_h245_ATMParameters = -1;
297 static int hf_h245_RSVPParameters = -1;
298 static int hf_h245_MediaPacketizationCapability = -1;
299 static int hf_h245_H2250Capability_mcCapability = -1;
300 static int hf_h245_H2250Capability = -1;
301 static int hf_h245_V75Capability = -1;
302 static int hf_h245_V76Capability = -1;
303 static int hf_h245_H223AnnexCCapability = -1;
304 static int hf_h245_H223Capability_mobileMultilinkFrameCapability = -1;
305 static int hf_h245_H223Capability_mobileOperationTransmitCapability = -1;
306 static int hf_h245_H223Capability_h223MultiplexTableCapability_enhanced = -1;
307 static int hf_h245_H223Capability = -1;
308 static int hf_h245_VCCapability_aal1ViaGateway = -1;
309 static int hf_h245_VCCapability_availableBitRates_rangeOfBitRates = -1;
310 static int hf_h245_VCCapability_availableBitRates = -1;
311 static int hf_h245_VCCapability_aal5 = -1;
312 static int hf_h245_VCCapability_aal1 = -1;
313 static int hf_h245_VCCapability = -1;
314 static int hf_h245_H222Capability = -1;
315 static int hf_h245_H235SecurityCapability = -1;
316 static int hf_h245_Capability_h233EncryptionReceiveCapability = -1;
317 static int hf_h245_TerminalCapabilitySetRelease = -1;
318 static int hf_h245_TerminalCapabilitySetReject = -1;
319 static int hf_h245_TerminalCapabilitySetAck = -1;
320 static int hf_h245_CapabilityDescriptor = -1;
321 static int hf_h245_CapabilityTableEntry = -1;
322 static int hf_h245_TerminalCapabilitySet = -1;
323 static int hf_h245_MasterSlaveDeterminationRelease = -1;
324 static int hf_h245_MasterSlaveDeterminationReject = -1;
325 static int hf_h245_MasterSlaveDeterminationAck = -1;
326 static int hf_h245_MasterSlaveDetermination = -1;
327 static int hf_h245_h221NonStandard = -1;
328 static int hf_h245_NonStandardParameter = -1;
329 static int hf_h245_NonStandardMessage = -1;
330 static int hf_h245_FlowControlIndication_restriction = -1;
331 static int hf_h245_FlowControlIndication_scope = -1;
332 static int hf_h245_UserInputIndication_userInputSupportIndication = -1;
333 static int hf_h245_UserInputIndication = -1;
334 static int hf_h245_NewATMVCIndication_reverseParameters_multiplex = -1;
335 static int hf_h245_NewATMVCIndication_multiplex = -1;
336 static int hf_h245_NewATMVCIndication_aal_aal1_errorCorrection = -1;
337 static int hf_h245_NewATMVCIndication_aal_aal1_clockRecovery = -1;
338 static int hf_h245_JitterIndication_scope = -1;
339 static int hf_h245_MiscellaneousIndication_type = -1;
340 static int hf_h245_ConferenceIndication = -1;
341 static int hf_h245_FunctionNotSupported_cause = -1;
342 static int hf_h245_FunctionNotUnderstood = -1;
343 static int hf_h245_MobileMultilinkReconfigurationCommand_status = -1;
344 static int hf_h245_NewATMVCCommand_reverseParameters_multiplex = -1;
345 static int hf_h245_NewATMVCCommand_multiplex = -1;
346 static int hf_h245_NewATMVCCommand_aal_aal1_errorCorrection = -1;
347 static int hf_h245_NewATMVCCommand_aal_aal1_clockRecovery = -1;
348 static int hf_h245_NewATMVCCommand_aal = -1;
349 static int hf_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag = -1;
350 static int hf_h245_H223MultiplexReconfiguration_h223ModeChange = -1;
351 static int hf_h245_H223MultiplexReconfiguration = -1;
352 static int hf_h245_PictureReference = -1;
353 static int hf_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount = -1;
354 static int hf_h245_MiscellaneousCommand_type = -1;
355 static int hf_h245_ConferenceCommand = -1;
356 static int hf_h245_EndSessionCommand_gstnOptions = -1;
357 static int hf_h245_EndSessionCommand_isdnOptions = -1;
358 static int hf_h245_FlowControlCommand_restriction = -1;
359 static int hf_h245_FlowControlCommand_scope = -1;
360 static int hf_h245_EncryptionCommand = -1;
361 static int hf_h245_SendTerminalCapabilitySet = -1;
362 static int hf_h245_LogicalChannelRateRejectReason = -1;
363 static int hf_h245_DialingInformationNetworkType = -1;
364 static int hf_h245_DialingInformation = -1;
365 static int hf_h245_MultilinkIndication = -1;
366 static int hf_h245_MultilinkResponse_addConnection_responseCode_rejected = -1;
367 static int hf_h245_MultilinkResponse_addConnection_responseCode = -1;
368 static int hf_h245_MultilinkResponse = -1;
369 static int hf_h245_MultilinkRequest_maximumHeaderInterval_requestType = -1;
370 static int hf_h245_MultilinkRequest = -1;
371 static int hf_h245_RemoteMCResponse_reject = -1;
372 static int hf_h245_RemoteMCResponse = -1;
373 static int hf_h245_RemoteMCRequest = -1;
374 static int hf_h245_ConferenceResponse_sendThisSourceResponse = -1;
375 static int hf_h245_ConferenceResponse_makeTerminalBroadcasterResponse = -1;
376 static int hf_h245_ConferenceResponse_broadcastMyLogicalChannelResponse = -1;
377 static int hf_h245_ConferenceResponse_makeMeChairResponse = -1;
378 static int hf_h245_ConferenceResponse = -1;
379 static int hf_h245_ConferenceRequest = -1;
380 static int hf_h245_CommunicationModeTableEntry_dataType = -1;
381 static int hf_h245_CommunicationModeResponse = -1;
382 static int hf_h245_MaintenanceLoopReject_cause = -1;
383 static int hf_h245_MaintenanceLoopReject_type = -1;
384 static int hf_h245_MaintenanceLoopAck_type = -1;
385 static int hf_h245_MaintenanceLoopRequest_type = -1;
386 static int hf_h245_EncryptionMode = -1;
387 static int hf_h245_DataMode_application = -1;
388 static int hf_h245_IS13818AudioMode_multiChannelType = -1;
389 static int hf_h245_IS13818AudioMode_audioSampling = -1;
390 static int hf_h245_IS13818AudioMode_audioLayer = -1;
391 static int hf_h245_IS11172AudioMode_multichannelType = -1;
392 static int hf_h245_IS11172AudioMode_audioSampling = -1;
393 static int hf_h245_IS11172AudioMode_audioLayer = -1;
394 static int hf_h245_AudioMode_g7231 = -1;
395 static int hf_h245_AudioMode = -1;
396 static int hf_h245_H263VideoMode_resolution = -1;
397 static int hf_h245_H262VideoMode_profileAndLevel = -1;
398 static int hf_h245_H261VideoMode_resolution = -1;
399 static int hf_h245_VideoMode = -1;
400 static int hf_h245_RedundancyEncodingMode_secondaryEncoding = -1;
401 static int hf_h245_V76ModeParameters = -1;
402 static int hf_h245_H223ModeParameters_adaptationLayerType = -1;
403 static int hf_h245_FECMode_rfc2733Mode_mode_separateStream = -1;
404 static int hf_h245_FECMode_rfc2733Mode_mode = -1;
405 static int hf_h245_FECMode = -1;
406 static int hf_h245_RedundancyEncodingDTModeElement_type = -1;
407 static int hf_h245_H235Mode_mediaMode = -1;
408 static int hf_h245_ModeElementType = -1;
409 static int hf_h245_RequestModeReject_cause = -1;
410 static int hf_h245_RequestMultiplexEntryRejectionDescriptions_cause = -1;
411 static int hf_h245_MultiplexEntryRejectionDescriptions_cause = -1;
412 static int hf_h245_MultiplexElement_repeatCount = -1;
413 static int hf_h245_MultiplexElement_type = -1;
414 static int hf_h245_RequestChannelCloseReject_cause = -1;
415 static int hf_h245_RequestChannelClose_reason = -1;
416 static int hf_h245_CloseLogicalChannel_reason = -1;
417 static int hf_h245_CloseLogicalChannel_source = -1;
418 static int hf_h245_OpenLogicalChannelReject_cause = -1;
419 static int hf_h245_forwardMultiplexAckParameters = -1;
420 static int hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters = -1;
421 static int hf_h245_MulticastAddress = -1;
422 static int hf_h245_UnicastAddress_iPSourceRouteAddress_routing = -1;
423 static int hf_h245_UnicastAddress = -1;
424 static int hf_h245_mediaControlChannel = -1;
425 static int hf_h245_localAreaAddress = -1;
426 static int hf_h245_mediaChannel = -1;
427 static int hf_h245_signalAddress = -1;
428 static int hf_h245_FECData_rfc2733_mode_separateStream = -1;
429 static int hf_h245_FECData_rfc2733_mode = -1;
430 static int hf_h245_FECData = -1;
431 static int hf_h245_RTPPayloadType_payloadDescriptor = -1;
432 static int hf_h245_H2250LogicalChannelParameters_mediaPacketization = -1;
433 static int hf_h245_CRCLength = -1;
434 static int hf_h245_V76LogicalChannelParameters_mode_eRM_recovery = -1;
435 static int hf_h245_V76LogicalChannelParameters_mode = -1;
436 static int hf_h245_V76LogicalChannelParameters_suspendResume = -1;
437 static int hf_h245_H223AnnexCArqParameters_numberOfRetransmissions = -1;
438 static int hf_h245_H223AL3MParameters_arqType = -1;
439 static int hf_h245_H223AL3MParameters_crcLength = -1;
440 static int hf_h245_H223AL3MParameters_headerFormat = -1;
441 static int hf_h245_H223AL2MParameters_headerFEC = -1;
442 static int hf_h245_H223AL1MParameters_arqType = -1;
443 static int hf_h245_H223AL1MParameters_crcLength = -1;
444 static int hf_h245_H223AL1MParameters_headerFEC = -1;
445 static int hf_h245_H223AL1MParameters_transferMode = -1;
446 static int hf_h245_H223LogicalChannelParameters_adaptationLayerType = -1;
447 static int hf_h245_H235Media_mediaType = -1;
448 static int hf_h245_DataType = -1;
449 static int hf_h245_Q2931Address_address = -1;
450 static int hf_h245_NetworkAccessParameters_t120SetupProcedure = -1;
451 static int hf_h245_NetworkAccessParameters_networkAddress = -1;
452 static int hf_h245_NetworkAccessParameters_distribution = -1;
453 static int hf_h245_reverseLogicalChannelParameters_multiplexParameters = -1;
454 static int hf_h245_forwardLogicalChannelParameters_multiplexParameters = -1;
455 static int hf_h245_FECCapability = -1;
456 static int hf_h245_MultiplexFormat = -1;
457 static int hf_h245_ParameterValue = -1;
458 static int hf_h245_ParameterIdentifier = -1;
459 static int hf_h245_CapabilityIdentifier = -1;
460 static int hf_h245_UserInputCapability = -1;
461 static int hf_h245_MediaEncryptionAlgorithm = -1;
462 static int hf_h245_T38FaxUdpOptions_t38FaxUdpEC = -1;
463 static int hf_h245_T38FaxRateManagement = -1;
464 static int hf_h245_T84Profile = -1;
465 static int hf_h245_CompressionType = -1;
466 static int hf_h245_DataProtocolCapability_v76wCompression = -1;
467 static int hf_h245_DataProtocolCapability = -1;
468 static int hf_h245_DataApplicationCapability_application = -1;
469 static int hf_h245_AudioCapability = -1;
470 static int hf_h245_CustomPictureFormat_pixelAspectInformation = -1;
471 static int hf_h245_RefPictureSelection_videoBackChannelSend = -1;
472 static int hf_h245_VideoCapability = -1;
473 static int hf_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping = -1;
474 static int hf_h245_RedundancyEncodingMethod = -1;
475 static int hf_h245_MediaTransportType = -1;
476 static int hf_h245_QOSMode = -1;
477 static int hf_h245_H223Capability_h223MultiplexTableCapability = -1;
478 static int hf_h245_VCCapability_availableBitRates_type = -1;
479 static int hf_h245_MultiplexCapability = -1;
480 static int hf_h245_Capability = -1;
481 static int hf_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded = -1;
482 static int hf_h245_TerminalCapabilitySetReject_cause = -1;
483 static int hf_h245_MasterSlaveDeterminationReject_cause = -1;
484 static int hf_h245_MasterSlaveDeterminationAck_decision = -1;
485 static int hf_h245_RequestModeAck_response_decision = -1;
486 static int hf_h245_NonStandardIdentifier = -1;
487 static int hf_h245_h233EncryptionTransmitCapability = -1;
488 static int hf_h245_nullClockRecovery = -1;
489 static int hf_h245_srtsClockRecovery = -1;
490 static int hf_h245_adaptiveClockRecovery = -1;
491 static int hf_h245_nullErrorCorrection = -1;
492 static int hf_h245_longInterleaver = -1;
493 static int hf_h245_shortInterleaver = -1;
494 static int hf_h245_errorCorrectionOnly = -1;
495 static int hf_h245_structuredDataTransfer = -1;
496 static int hf_h245_partiallyFilledCells = -1;
497 static int hf_h245_transportStream = -1;
498 static int hf_h245_programStream = -1;
499 static int hf_h245_transportWithIframes = -1;
500 static int hf_h245_videoWithAL1 = -1;
501 static int hf_h245_videoWithAL2 = -1;
502 static int hf_h245_videoWithAL3 = -1;
503 static int hf_h245_audioWithAL1 = -1;
504 static int hf_h245_audioWithAL2 = -1;
505 static int hf_h245_audioWithAL3 = -1;
506 static int hf_h245_dataWithAL1 = -1;
507 static int hf_h245_dataWithAL2 = -1;
508 static int hf_h245_dataWithAL3 = -1;
509 static int hf_h245_maxMUXPDUSizeCapability = -1;
510 static int hf_h245_nsrpSupport = -1;
511 static int hf_h245_modeChangeCapability = -1;
512 static int hf_h245_h223AnnexA = -1;
513 static int hf_h245_h223AnnexADoubleFlag_bool = -1;
514 static int hf_h245_h223AnnexB = -1;
515 static int hf_h245_h223AnnexBwithHeader = -1;
516 static int hf_h245_videoWithAL1M = -1;
517 static int hf_h245_videoWithAL2M = -1;
518 static int hf_h245_videoWithAL3M = -1;
519 static int hf_h245_audioWithAL1M = -1;
520 static int hf_h245_audioWithAL2M = -1;
521 static int hf_h245_audioWithAL3M = -1;
522 static int hf_h245_dataWithAL1M = -1;
523 static int hf_h245_dataWithAL2M = -1;
524 static int hf_h245_dataWithAL3M = -1;
525 static int hf_h245_alpduInterleaving = -1;
526 static int hf_h245_rsCodeCapability = -1;
527 static int hf_h245_suspendResumeCapabilitywAddress = -1;
528 static int hf_h245_suspendResumeCapabilitywoAddress = -1;
529 static int hf_h245_rejCapability = -1;
530 static int hf_h245_sREJCapability = -1;
531 static int hf_h245_mREJCapability = -1;
532 static int hf_h245_crc8bitCapability = -1;
533 static int hf_h245_crc16bitCapability = -1;
534 static int hf_h245_crc32bitCapability = -1;
535 static int hf_h245_uihCapability = -1;
536 static int hf_h245_twoOctetAddressFieldCapability = -1;
537 static int hf_h245_loopBackTestCapability = -1;
538 static int hf_h245_audioHeader = -1;
539 static int hf_h245_centralizedConferenceMC = -1;
540 static int hf_h245_decentralizedConferenceMC = -1;
541 static int hf_h245_rtcpVideoControlCapability = -1;
542 static int hf_h245_logicalChannelSwitchingCapability = -1;
543 static int hf_h245_t120DynamicPortCapability = -1;
544 static int hf_h245_h261aVideoPacketization = -1;
545 static int hf_h245_atmUBR = -1;
546 static int hf_h245_atmrtVBR = -1;
547 static int hf_h245_atmnrtVBR = -1;
548 static int hf_h245_atmABR = -1;
549 static int hf_h245_atmCBR = -1;
550 static int hf_h245_variableDelta = -1;
551 static int hf_h245_multicastCapability = -1;
552 static int hf_h245_multiUniCastConference = -1;
553 static int hf_h245_centralizedControl = -1;
554 static int hf_h245_distributedControl = -1;
555 static int hf_h245_centralizedAudio = -1;
556 static int hf_h245_distributedAudio = -1;
557 static int hf_h245_centralizedVideo = -1;
558 static int hf_h245_distributedVideo = -1;
559 static int hf_h245_temporalSpatialTradeOffCapability = -1;
560 static int hf_h245_stillImageTransmission = -1;
561 static int hf_h245_videoBadMBsCap = -1;
562 static int hf_h245_profileAndLevelSPatML = -1;
563 static int hf_h245_profileAndLevelMPatLL = -1;
564 static int hf_h245_profileAndLevelMPatML = -1;
565 static int hf_h245_profileAndLevelMPatH14 = -1;
566 static int hf_h245_profileAndLevelMPatHL = -1;
567 static int hf_h245_profileAndLevelSNRatLL = -1;
568 static int hf_h245_profileAndLevelSNRatML = -1;
569 static int hf_h245_profileAndLevelSpatialatH14 = -1;
570 static int hf_h245_profileAndLevelHPatML = -1;
571 static int hf_h245_profileAndLevelHPatH14 = -1;
572 static int hf_h245_profileAndLevelHPatHL = -1;
573 static int hf_h245_unrestrictedVector = -1;
574 static int hf_h245_arithmeticCoding = -1;
575 static int hf_h245_advancedPrediction = -1;
576 static int hf_h245_pbFrames = -1;
577 static int hf_h245_errorCompensation = -1;
578 static int hf_h245_baseBitRateConstrained = -1;
579 static int hf_h245_advancedIntraCodingMode = -1;
580 static int hf_h245_deblockingFilterMode = -1;
581 static int hf_h245_improvedPBFramesMode = -1;
582 static int hf_h245_unlimitedMotionVectors = -1;
583 static int hf_h245_fullPictureFreeze = -1;
584 static int hf_h245_partialPictureFreezeAndRelease = -1;
585 static int hf_h245_resizingPartPicFreezeAndRelease = -1;
586 static int hf_h245_fullPictureSnapshot = -1;
587 static int hf_h245_partialPictureSnapshot = -1;
588 static int hf_h245_videoSegmentTagging = -1;
589 static int hf_h245_progressiveRefinement = -1;
590 static int hf_h245_dynamicPictureResizingByFour = -1;
591 static int hf_h245_dynamicPictureResizingSixteenthPel = -1;
592 static int hf_h245_dynamicWarpingHalfPel = -1;
593 static int hf_h245_dynamicWarpingSixteenthPel = -1;
594 static int hf_h245_independentSegmentDecoding = -1;
595 static int hf_h245_slicesInOrderNonRect = -1;
596 static int hf_h245_slicesInOrderRect = -1;
597 static int hf_h245_slicesNoOrderNonRect = -1;
598 static int hf_h245_slicesNoOrderRect = -1;
599 static int hf_h245_alternateInterVLCMode = -1;
600 static int hf_h245_modifiedQuantizationMode = -1;
601 static int hf_h245_reducedResolutionUpdate = -1;
602 static int hf_h245_separateVideoBackChannel = -1;
603 static int hf_h245_videoMux = -1;
604 static int hf_h245_anyPixelAspectRatio = -1;
605 static int hf_h245_referencePicSelect = -1;
606 static int hf_h245_enhancedReferencePicSelect_bool = -1;
607 static int hf_h245_dataPartitionedSlices = -1;
608 static int hf_h245_fixedPointIDCT0 = -1;
609 static int hf_h245_interlacedFields = -1;
610 static int hf_h245_currentPictureHeaderRepetition = -1;
611 static int hf_h245_previousPictureHeaderRepetition = -1;
612 static int hf_h245_nextPictureHeaderRepetition = -1;
613 static int hf_h245_pictureNumber_bool = -1;
614 static int hf_h245_spareReferencePictures = -1;
615 static int hf_h245_constrainedBitstream = -1;
616 static int hf_h245_silenceSuppression = -1;
617 static int hf_h245_annexA = -1;
618 static int hf_h245_annexB = -1;
619 static int hf_h245_annexD = -1;
620 static int hf_h245_annexE = -1;
621 static int hf_h245_annexF = -1;
622 static int hf_h245_annexG = -1;
623 static int hf_h245_annexH = -1;
624 static int hf_h245_audioLayer1 = -1;
625 static int hf_h245_audioLayer2 = -1;
626 static int hf_h245_audioLayer3 = -1;
627 static int hf_h245_audioSampling32k = -1;
628 static int hf_h245_audioSampling44k1 = -1;
629 static int hf_h245_audioSampling48k = -1;
630 static int hf_h245_singleChannel = -1;
631 static int hf_h245_twoChannels = -1;
632 static int hf_h245_audioSampling16k = -1;
633 static int hf_h245_audioSampling22k05 = -1;
634 static int hf_h245_audioSampling24k = -1;
635 static int hf_h245_threeChannels21 = -1;
636 static int hf_h245_threeChannels30 = -1;
637 static int hf_h245_fourChannels2020 = -1;
638 static int hf_h245_fourChannels22 = -1;
639 static int hf_h245_fourChannels31 = -1;
640 static int hf_h245_fiveChannels3020 = -1;
641 static int hf_h245_fiveChannels32 = -1;
642 static int hf_h245_lowFrequencyEnhancement = -1;
643 static int hf_h245_multilingual = -1;
644 static int hf_h245_comfortNoise = -1;
645 static int hf_h245_scrambled = -1;
646 static int hf_h245_qcif_bool = -1;
647 static int hf_h245_cif_bool = -1;
648 static int hf_h245_ccir601Seq = -1;
649 static int hf_h245_ccir601Prog = -1;
650 static int hf_h245_hdtvSeq = -1;
651 static int hf_h245_hdtvProg = -1;
652 static int hf_h245_g3FacsMH200x100 = -1;
653 static int hf_h245_g3FacsMH200x200 = -1;
654 static int hf_h245_g4FacsMMR200x100 = -1;
655 static int hf_h245_g4FacsMMR200x200 = -1;
656 static int hf_h245_jbig200x200Seq = -1;
657 static int hf_h245_jbig200x200Prog = -1;
658 static int hf_h245_jbig300x300Seq = -1;
659 static int hf_h245_jbig300x300Prog = -1;
660 static int hf_h245_digPhotoLow = -1;
661 static int hf_h245_digPhotoMedSeq = -1;
662 static int hf_h245_digPhotoMedProg = -1;
663 static int hf_h245_digPhotoHighSeq = -1;
664 static int hf_h245_digPhotoHighProg = -1;
665 static int hf_h245_fillBitRemoval = -1;
666 static int hf_h245_transcodingJBIG = -1;
667 static int hf_h245_transcodingMMR = -1;
668 static int hf_h245_t38TCPBidirectionalMode = -1;
669 static int hf_h245_chairControlCapability = -1;
670 static int hf_h245_videoIndicateMixingCapability = -1;
671 static int hf_h245_multipointVisualizationCapability = -1;
672 static int hf_h245_controlOnMuxStream = -1;
673 static int hf_h245_redundancyEncoding_bool = -1;
674 static int hf_h245_separatePort = -1;
675 static int hf_h245_samePort_bool = -1;
676 static int hf_h245_associateConference = -1;
677 static int hf_h245_audioHeaderPresent = -1;
678 static int hf_h245_segmentableFlag = -1;
679 static int hf_h245_alsduSplitting = -1;
680 static int hf_h245_uIH = -1;
681 static int hf_h245_loopbackTestProcedure = -1;
682 static int hf_h245_mediaGuaranteedDelivery = -1;
683 static int hf_h245_mediaControlGuaranteedDelivery = -1;
684 static int hf_h245_flowControlToZero = -1;
685 static int hf_h245_multiplexCapability_bool = -1;
686 static int hf_h245_secureChannel = -1;
687 static int hf_h245_sharedSecret = -1;
688 static int hf_h245_certProtectedKey = -1;
689 static int hf_h245_bitRateLockedToPCRClock = -1;
690 static int hf_h245_bitRateLockedToNetworkClock = -1;
691 static int hf_h245_IS11172_BitRate = -1;
692 static int hf_h245_IS13818_BitRate = -1;
693 static int hf_h245_ATM_BitRate = -1;
694 static int hf_h245_t35CountryCode = -1;
695 static int hf_h245_t35Extension = -1;
696 static int hf_h245_manufacturerCode = -1;
697 static int hf_h245_terminalType = -1;
698 static int hf_h245_statusDeterminationNumber = -1;
699 static int hf_h245_CapabilityTableEntryNumber = -1;
700 static int hf_h245_CapabilityDescriptorNumber = -1;
701 static int hf_h245_h233IVResponseTime = -1;
702 static int hf_h245_maxPendingReplacementFor = -1;
703 static int hf_h245_numberOfVCs = -1;
704 static int hf_h245_forwardMaximumSDUSize = -1;
705 static int hf_h245_backwardMaximumSDUSize = -1;
706 static int hf_h245_singleBitRate = -1;
707 static int hf_h245_lowerBitRate = -1;
708 static int hf_h245_higherBitRate = -1;
709 static int hf_h245_maximumAl2SDUSize = -1;
710 static int hf_h245_maximumAl3SDUSize = -1;
711 static int hf_h245_maximumDelayJitter = -1;
712 static int hf_h245_maximumNestingDepth = -1;
713 static int hf_h245_maximumElementListSize = -1;
714 static int hf_h245_maximumSubElementListSize = -1;
715 static int hf_h245_h223bitRate = -1;
716 static int hf_h245_maximumSampleSize = -1;
717 static int hf_h245_maximumPayloadLength = -1;
718 static int hf_h245_maximumAL1MPDUSize = -1;
719 static int hf_h245_maximumAL2MSDUSize = -1;
720 static int hf_h245_maximumAL3MSDUSize = -1;
721 static int hf_h245_numOfDLCS = -1;
722 static int hf_h245_n401Capability = -1;
723 static int hf_h245_maxWindowSizeCapability = -1;
724 static int hf_h245_maximumAudioDelayJitter = -1;
725 static int hf_h245_tokenRate = -1;
726 static int hf_h245_bucketSize = -1;
727 static int hf_h245_peakRate = -1;
728 static int hf_h245_minPoliced = -1;
729 static int hf_h245_maxPktSize = -1;
730 static int hf_h245_maxNTUSize = -1;
731 static int hf_h245_numberOfThreads = -1;
732 static int hf_h245_framesBetweenSyncPoints = -1;
733 static int hf_h245_threadNumber = -1;
734 static int hf_h245_qcifMPI_1_4 = -1;
735 static int hf_h245_qcifMPI_1_32 = -1;
736 static int hf_h245_qcifMPI_1_2048 = -1;
737 static int hf_h245_cifMPI_1_4 = -1;
738 static int hf_h245_cifMPI_1_32 = -1;
739 static int hf_h245_cifMPI_1_2048 = -1;
740 static int hf_h245_videoBitRate = -1;
741 static int hf_h245_vbvBufferSize = -1;
742 static int hf_h245_samplesPerLine = -1;
743 static int hf_h245_linesPerFrame = -1;
744 static int hf_h245_framesPerSecond = -1;
745 static int hf_h245_luminanceSampleRate = -1;
746 static int hf_h245_sqcifMPI_1_32 = -1;
747 static int hf_h245_sqcifMPI_1_2048 = -1;
748 static int hf_h245_cif4MPI_1_32 = -1;
749 static int hf_h245_cif4MPI_1_2048 = -1;
750 static int hf_h245_cif16MPI_1_32 = -1;
751 static int hf_h245_cif16MPI_1_2048 = -1;
752 static int hf_h245_maxBitRate_192400 = -1;
753 static int hf_h245_hrd_B = -1;
754 static int hf_h245_bppMaxKb = -1;
755 static int hf_h245_slowSqcifMPI = -1;
756 static int hf_h245_slowQcifMPI = -1;
757 static int hf_h245_slowCifMPI = -1;
758 static int hf_h245_slowCif4MPI = -1;
759 static int hf_h245_slowCif16MPI = -1;
760 static int hf_h245_numberOfBPictures = -1;
761 static int hf_h245_presentationOrder = -1;
762 static int hf_h245_offset_x = -1;
763 static int hf_h245_offset_y = -1;
764 static int hf_h245_scale_x = -1;
765 static int hf_h245_scale_y = -1;
766 static int hf_h245_sqcifAdditionalPictureMemory = -1;
767 static int hf_h245_qcifAdditionalPictureMemory = -1;
768 static int hf_h245_cifAdditionalPictureMemory = -1;
769 static int hf_h245_cif4AdditionalPictureMemory = -1;
770 static int hf_h245_cif16AdditionalPictureMemory = -1;
771 static int hf_h245_bigCpfAdditionalPictureMemory = -1;
772 static int hf_h245_mpuHorizMBs = -1;
773 static int hf_h245_mpuVertMBs = -1;
774 static int hf_h245_mpuTotalNumber = -1;
775 static int hf_h245_clockConversionCode = -1;
776 static int hf_h245_clockDivisor = -1;
777 static int hf_h245_maxCustomPictureWidth = -1;
778 static int hf_h245_minCustomPictureWidth = -1;
779 static int hf_h245_minCustomPictureHeight = -1;
780 static int hf_h245_maxCustomPictureHeight = -1;
781 static int hf_h245_standardMPI = -1;
782 static int hf_h245_customMPI = -1;
783 static int hf_h245_width = -1;
784 static int hf_h245_height = -1;
785 static int hf_h245_pictureRate = -1;
786 static int hf_h245_g711Alaw64k = -1;
787 static int hf_h245_g711Alaw56k = -1;
788 static int hf_h245_g711Ulaw64k = -1;
789 static int hf_h245_g711Ulaw56k = -1;
790 static int hf_h245_g722_64k = -1;
791 static int hf_h245_g722_56k = -1;
792 static int hf_h245_g722_48k = -1;
793 static int hf_h245_maxAl_sduAudioFrames = -1;
794 static int hf_h245_g728 = -1;
795 static int hf_h245_g729 = -1;
796 static int hf_h245_g729AnnexA = -1;
797 static int hf_h245_g729wAnnexB = -1;
798 static int hf_h245_g729AnnexAwAnnexB = -1;
799 static int hf_h245_audioUnit = -1;
800 static int hf_h245_highRateMode0 = -1;
801 static int hf_h245_highRateMode1 = -1;
802 static int hf_h245_lowRateMode0 = -1;
803 static int hf_h245_lowRateMode1 = -1;
804 static int hf_h245_sidMode0 = -1;
805 static int hf_h245_sidMode1 = -1;
806 static int hf_h245_audioUnitSize = -1;
807 static int hf_h245_maxBitRate_4294967295UL = -1;
808 static int hf_h245_numberOfCodewords = -1;
809 static int hf_h245_maximumStringLength = -1;
810 static int hf_h245_version = -1;
811 static int hf_h245_standard_0_127 = -1;
812 static int hf_h245_booleanArray = -1;
813 static int hf_h245_unsignedMin = -1;
814 static int hf_h245_unsignedMax = -1;
815 static int hf_h245_unsigned32Min = -1;
816 static int hf_h245_unsigned32Max = -1;
817 static int hf_h245_dynamicRTPPayloadType = -1;
818 static int hf_h245_portNumber = -1;
819 static int hf_h245_resourceID = -1;
820 static int hf_h245_subChannelID = -1;
821 static int hf_h245_pcr_pid = -1;
822 static int hf_h245_controlFieldOctets = -1;
823 static int hf_h245_sendBufferSize = -1;
824 static int hf_h245_rcpcCodeRate = -1;
825 static int hf_h245_rsCodeCorrection = -1;
826 static int hf_h245_finite_0_16 = -1;
827 static int hf_h245_windowSize = -1;
828 static int hf_h245_n401 = -1;
829 static int hf_h245_sessionID_0_255 = -1;
830 static int hf_h245_sessionID_1_255 = -1;
831 static int hf_h245_associatedSessionID = -1;
832 static int hf_h245_payloadType = -1;
833 static int hf_h245_protectedSessionID = -1;
834 static int hf_h245_protectedPayloadType = -1;
835 static int hf_h245_tsapIdentifier = -1;
836 static int hf_h245_synchFlag = -1;
837 static int hf_h245_finite_1_65535 = -1;
838 static int hf_h245_MultiplexTableEntryNumber = -1;
839 static int hf_h245_dataModeBitRate = -1;
840 static int hf_h245_sessionDependency = -1;
841 static int hf_h245_sRandom = -1;
842 static int hf_h245_McuNumber = -1;
843 static int hf_h245_TerminalNumber = -1;
844 static int hf_h245_maxNumberOfAdditionalConnections = -1;
845 static int hf_h245_requestedInterval = -1;
846 static int hf_h245_callAssociationNumber = -1;
847 static int hf_h245_currentInterval = -1;
848 static int hf_h245_infoNotAvailable = -1;
849 static int hf_h245_channelTag = -1;
850 static int hf_h245_ConnectionIDsequenceNumber = -1;
851 static int hf_h245_MaximumBitRate = -1;
852 static int hf_h245_maximumBitRate_0_16777215 = -1;
853 static int hf_h245_firstGOB_0_17 = -1;
854 static int hf_h245_numberOfGOBs = -1;
855 static int hf_h245_videoTemporalSpatialTradeOff = -1;
856 static int hf_h245_firstGOB_0_255 = -1;
857 static int hf_h245_firstMB_1_8192 = -1;
858 static int hf_h245_firstMB_1_9216 = -1;
859 static int hf_h245_numberOfMBs_1_8192 = -1;
860 static int hf_h245_numberOfMBs_1_9216 = -1;
861 static int hf_h245_maxH223MUXPDUsize = -1;
862 static int hf_h245_temporalReference_0_1023 = -1;
863 static int hf_h245_temporalReference_0_255 = -1;
864 static int hf_h245_pictureNumber = -1;
865 static int hf_h245_longTermPictureIndex = -1;
866 static int hf_h245_sampleSize = -1;
867 static int hf_h245_samplesPerFrame = -1;
868 static int hf_h245_sbeNumber = -1;
869 static int hf_h245_subPictureNumber = -1;
870 static int hf_h245_compositionNumber = -1;
871 static int hf_h245_estimatedReceivedJitterMantissa = -1;
872 static int hf_h245_estimatedReceivedJitterExponent = -1;
873 static int hf_h245_skippedFrameCount = -1;
874 static int hf_h245_additionalDecoderBuffer = -1;
875 static int hf_h245_skew = -1;
876 static int hf_h245_maximumSkew = -1;
877 static int hf_h245_duration = -1;
878 static int hf_h245_timestamp = -1;
879 static int hf_h245_frame = -1;
880 static int hf_h245_containedThread = -1;
881 static int hf_h245_t38FaxMaxBuffer = -1;
882 static int hf_h245_t38FaxMaxDatagram = -1;
883 static int hf_h245_expirationTime = -1;
884 static int hf_h245_object = -1;
885 static int hf_h245_protocolIdentifier = -1;
886 static int hf_h245_algorithm = -1;
887 static int hf_h245_antiSpamAlgorithm = -1;
888 static int hf_h245_standard_object = -1;
889 static int hf_h245_oid = -1;
890 static int hf_h245_escrowID = -1;
891 static int hf_h245_field = -1;
892 static int hf_h245_NonStandardParameterData = -1;
893 static int hf_h245_nlpidData = -1;
894 static int hf_h245_nonCollapsingRaw = -1;
895 static int hf_h245_uuid = -1;
896 static int hf_h245_octetString = -1;
897 static int hf_h245_externalReference = -1;
898 static int hf_h245_nsapAddress = -1;
899 static int hf_h245_subaddress_1_20 = -1;
900 static int hf_h245_programDescriptors = -1;
901 static int hf_h245_streamDescriptors = -1;
902 static int hf_h245_ipv4network = -1;
903 static int hf_h245_ipxNode = -1;
904 static int hf_h245_ipxNetnum = -1;
905 static int hf_h245_ipv6network = -1;
906 static int hf_h245_netBios = -1;
907 static int hf_h245_nsap = -1;
908 static int hf_h245_h235Key = -1;
909 static int hf_h245_value = -1;
910 static int hf_h245_certificateResponse = -1;
911 static int hf_h245_TerminalID = -1;
912 static int hf_h245_ConferenceID = -1;
913 static int hf_h245_Password = -1;
914 static int hf_h245_encryptionSE = -1;
915 static int hf_h245_conferenceIdentifier = -1;
916 static int hf_h245_returnedFunction = -1;
917 static int hf_h245_productNumber = -1;
918 static int hf_h245_versionNumber = -1;
919 static int hf_h245_mediaDistributionCapability = -1;
920 static int hf_h245_AlternativeCapabilitySet = -1;
921 static int hf_h245_frameToThreadMapping_custom = -1;
922 static int hf_h245_RedundancyEncodingCapability_sequence_of = -1;
923 static int hf_h245_frameSequence = -1;
924 static int hf_h245_EncryptionCapability = -1;
925 static int hf_h245_escrowentry = -1;
926 static int hf_h245_elementList = -1;
927 static int hf_h245_subElementList = -1;
928 static int hf_h245_requestedModes = -1;
929 static int hf_h245_CertSelectionCriteria = -1;
930 static int hf_h245_capabilityTable = -1;
931 static int hf_h245_capabilityDescriptors = -1;
932 static int hf_h245_simultaneousCapabilities = -1;
933 static int hf_h245_gatewayAddress = -1;
934 static int hf_h245_snrEnhancement = -1;
935 static int hf_h245_spatialEnhancement = -1;
936 static int hf_h245_bPictureEnhancement = -1;
937 static int hf_h245_customPictureClockFrequency = -1;
938 static int hf_h245_customPictureFormat = -1;
939 static int hf_h245_modeCombos = -1;
940 static int hf_h245_customPCF = -1;
941 static int hf_h245_pixelAspectCode = -1;
942 static int hf_h245_extendedPAR = -1;
943 static int hf_h245_h263VideoCoupledModes = -1;
944 static int hf_h245_capabilityOnMuxStream = -1;
945 static int hf_h245_capabilities = -1;
946 static int hf_h245_multiplexEntryDescriptors = -1;
947 static int hf_h245_multiplexTableEntryNumber_set_of = -1;
948 static int hf_h245_VCCapability_set_of = -1;
949 static int hf_h245_rejectionDescriptions = -1;
950 static int hf_h245_entryNumbers = -1;
951 static int hf_h245_ModeDescription = -1;
952 static int hf_h245_communicationModeTable = -1;
953 static int hf_h245_terminalListResponse = -1;
954 static int hf_h245_differential = -1;
955 static int hf_h245_networkType = -1;
956 static int hf_h245_capabilityTableEntryNumbers = -1;
957 static int hf_h245_capabilityDescriptorNumbers = -1;
958 static int hf_h245_qOSCapabilities = -1;
959 static int hf_h245_containedThreads = -1;
960 static int hf_h245_CapabilityTableEntryNumber_sequence_of = -1;
961 static int hf_h245_mediaChannelCapabilities = -1;
962 static int hf_h245_rtpPayloadType_sequence_of = -1;
963 static int hf_h245_centralizedData = -1;
964 static int hf_h245_distributedData = -1;
965 static int hf_h245_nonStandardData = -1;
966 static int hf_h245_collapsing = -1;
967 static int hf_h245_nonCollapsing = -1;
968 static int hf_h245_supersedes = -1;
969 static int hf_h245_genericParameter = -1;
970 static int hf_h245_secondary_REE = -1;
971 static int hf_h245_elements_MPSE = -1;
972 static int hf_h245_secondary_REDTME = -1;
973 static int hf_h245_elements_MPSEM = -1;
974 static int hf_h245_TerminalInformationSO = -1;
975 static int hf_h245_lostPicture = -1;
976 static int hf_h245_recoveryReferencePicture = -1;
977 static int hf_h245_iPSourceRouteAddress_route = -1;
978 static int hf_h245_audioTelephoneEvent = -1;
979 static int hf_h245_alphanumeric = -1;
980
981 static gint ett_h245 = -1;
982 static gint ett_h245_VCCapability_set_of = -1;
983 static gint ett_h245_MultimediaSystemControlMessage = -1;
984 static gint ett_h245_RequestMessage = -1;
985 static gint ett_h245_ResponseMessage = -1;
986 static gint ett_h245_IndicationMessage = -1;
987 static gint ett_h245_CommandMessage = -1;
988 static gint ett_h245_EndSessionCommand = -1;
989 static gint ett_h245_MobileMultilinkReconfigurationIndication = -1;
990 static gint ett_h245_FlowControlIndication = -1;
991 static gint ett_h245_UserInputIndication_extendedAlphanumeric = -1;
992 static gint ett_h245_UserInputIndication_signalUpdate_rtp = -1;
993 static gint ett_h245_UserInputIndication_signalUpdate = -1;
994 static gint ett_h245_UserInputIndication_signal_rtp = -1;
995 static gint ett_h245_UserInputIndication_signal = -1;
996 static gint ett_h245_NewATMVCIndication_reverseParameters = -1;
997 static gint ett_h245_NewATMVCIndication_aal_aal5 = -1;
998 static gint ett_h245_NewATMVCIndication_aal_aal1 = -1;
999 static gint ett_h245_NewATMVCIndication_aal = -1;
1000 static gint ett_h245_NewATMVCIndication = -1;
1001 static gint ett_h245_VendorIdentification = -1;
1002 static gint ett_h245_MCLocationIndication = -1;
1003 static gint ett_h245_H2250MaximumSkewIndication = -1;
1004 static gint ett_h245_H223SkewIndication = -1;
1005 static gint ett_h245_JitterIndication = -1;
1006 static gint ett_h245_AlternativeCapabilitySet = -1;
1007 static gint ett_h245_MiscellaneousIndication_type_videoNotDecodedMBs = -1;
1008 static gint ett_h245_MiscellaneousIndication = -1;
1009 static gint ett_h245_VideoIndicateCompose = -1;
1010 static gint ett_h245_TerminalYouAreSeeingInSubPictureNumber = -1;
1011 static gint ett_h245_FunctionNotSupported = -1;
1012 static gint ett_h245_MobileMultilinkReconfigurationCommand = -1;
1013 static gint ett_h245_NewATMVCCommand_reverseParameters = -1;
1014 static gint ett_h245_NewATMVCCommand = -1;
1015 static gint ett_h245_NewATMVCCommand_aal_aal5 = -1;
1016 static gint ett_h245_NewATMVCCommand_aal_aal1 = -1;
1017 static gint ett_h245_EncryptionUpdateRequest = -1;
1018 static gint ett_h245_KeyProtectionMethod = -1;
1019 static gint ett_h245_MiscellaneousCommand_type_lostPartialPicture = -1;
1020 static gint ett_h245_MiscellaneousCommand_type_videoBadMBs = -1;
1021 static gint ett_h245_MiscellaneousCommand_type_progressiveRefinementStart = -1;
1022 static gint ett_h245_MiscellaneousCommand_type_videoFastUpdateMB = -1;
1023 static gint ett_h245_MiscellaneousCommand_type_videoFastUpdateGOB = -1;
1024 static gint ett_h245_MiscellaneousCommand = -1;
1025 static gint ett_h245_SubstituteConferenceIDCommand = -1;
1026 static gint ett_h245_FlowControlCommand = -1;
1027 static gint ett_h245_EncryptionCommand_encryptionAlgorithmID = -1;
1028 static gint ett_h245_SendTerminalCapabilitySet_specificRequest = -1;
1029 static gint ett_h245_LogicalChannelRateRelease = -1;
1030 static gint ett_h245_LogicalChannelRateReject = -1;
1031 static gint ett_h245_LogicalChannelRateAck = -1;
1032 static gint ett_h245_LogicalChannelRateRequest = -1;
1033 static gint ett_h245_ConnectionIdentifier = -1;
1034 static gint ett_h245_DialingInformationNumber = -1;
1035 static gint ett_h245_MultilinkIndication_excessiveError = -1;
1036 static gint ett_h245_MultilinkIndication_crcDesired = -1;
1037 static gint ett_h245_MultilinkResponse_maximumHeaderInterval = -1;
1038 static gint ett_h245_MultilinkResponse_removeConnection = -1;
1039 static gint ett_h245_MultilinkResponse_addConnection = -1;
1040 static gint ett_h245_MultilinkResponse_callInformation = -1;
1041 static gint ett_h245_MultilinkRequest_maximumHeaderInterval = -1;
1042 static gint ett_h245_MultilinkRequest_removeConnection = -1;
1043 static gint ett_h245_MultilinkRequest_addConnection = -1;
1044 static gint ett_h245_MultilinkRequest_callInformation = -1;
1045 static gint ett_h245_TerminalInformation = -1;
1046 static gint ett_h245_RequestAllTerminalIDsResponse = -1;
1047 static gint ett_h245_ConferenceResponse_terminalCertificateResponse = -1;
1048 static gint ett_h245_ConferenceResponse_chairTokenOwnerResponse = -1;
1049 static gint ett_h245_ConferenceResponse_extensionAddressResponse = -1;
1050 static gint ett_h245_ConferenceResponse_passwordResponse = -1;
1051 static gint ett_h245_ConferenceResponse_conferenceIDResponse = -1;
1052 static gint ett_h245_ConferenceResponse_terminalIDResponse = -1;
1053 static gint ett_h245_ConferenceResponse_mCterminalIDResponse = -1;
1054 static gint ett_h245_TerminalLabel = -1;
1055 static gint ett_h245_Criteria = -1;
1056 static gint ett_h245_ConferenceRequest_requestTerminalCertificate = -1;
1057 static gint ett_h245_CommunicationModeTableEntry = -1;
1058 static gint ett_h245_CommunicationModeRequest = -1;
1059 static gint ett_h245_CommunicationModeCommand = -1;
1060 static gint ett_h245_MaintenanceLoopOffCommand = -1;
1061 static gint ett_h245_MaintenanceLoopReject = -1;
1062 static gint ett_h245_MaintenanceLoopAck = -1;
1063 static gint ett_h245_MaintenanceLoopRequest = -1;
1064 static gint ett_h245_RoundTripDelayResponse = -1;
1065 static gint ett_h245_RoundTripDelayRequest = -1;
1066 static gint ett_h245_DataMode_application_t38fax = -1;
1067 static gint ett_h245_DataMode_application_nlpid = -1;
1068 static gint ett_h245_DataMode = -1;
1069 static gint ett_h245_VBDMode = -1;
1070 static gint ett_h245_G7231AnnexCMode_g723AnnexCAudioMode = -1;
1071 static gint ett_h245_G7231AnnexCMode = -1;
1072 static gint ett_h245_IS13818AudioMode = -1;
1073 static gint ett_h245_IS11172AudioMode = -1;
1074 static gint ett_h245_IS11172VideoMode = -1;
1075 static gint ett_h245_H263VideoMode = -1;
1076 static gint ett_h245_H262VideoMode = -1;
1077 static gint ett_h245_H261VideoMode = -1;
1078 static gint ett_h245_RedundancyEncodingMode = -1;
1079 static gint ett_h245_H2250ModeParameters = -1;
1080 static gint ett_h245_H223ModeParameters_adaptationLayerType_al3 = -1;
1081 static gint ett_h245_H223ModeParameters = -1;
1082 static gint ett_h245_FECMode_rfc2733Mode_mode_separateStream_samePort = -1;
1083 static gint ett_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort = -1;
1084 static gint ett_h245_FECMode_rfc2733Mode = -1;
1085 static gint ett_h245_MultiplePayloadStreamElementMode = -1;
1086 static gint ett_h245_MultiplePayloadStreamMode = -1;
1087 static gint ett_h245_RedundancyEncodingDTModeElement = -1;
1088 static gint ett_h245_RedundancyEncodingDTMode = -1;
1089 static gint ett_h245_MultiplexedStreamModeParameters = -1;
1090 static gint ett_h245_H235Mode = -1;
1091 static gint ett_h245_ModeElement = -1;
1092 static gint ett_h245_RequestModeRelease = -1;
1093 static gint ett_h245_RequestModeReject = -1;
1094 static gint ett_h245_RequestModeAck = -1;
1095 static gint ett_h245_RequestMode = -1;
1096 static gint ett_h245_RequestMultiplexEntryRelease = -1;
1097 static gint ett_h245_RequestMultiplexEntryRejectionDescriptions = -1;
1098 static gint ett_h245_RequestMultiplexEntryReject = -1;
1099 static gint ett_h245_RequestMultiplexEntryAck = -1;
1100 static gint ett_h245_RequestMultiplexEntry = -1;
1101 static gint ett_h245_MultiplexEntrySendRelease = -1;
1102 static gint ett_h245_MultiplexEntryRejectionDescriptions = -1;
1103 static gint ett_h245_MultiplexEntrySendReject = -1;
1104 static gint ett_h245_MultiplexEntrySendAck = -1;
1105 static gint ett_h245_MultiplexElement = -1;
1106 static gint ett_h245_MultiplexEntryDescriptor = -1;
1107 static gint ett_h245_MultiplexEntrySend = -1;
1108 static gint ett_h245_RequestChannelCloseRelease = -1;
1109 static gint ett_h245_RequestChannelCloseReject = -1;
1110 static gint ett_h245_RequestChannelCloseAck = -1;
1111 static gint ett_h245_RequestChannelClose = -1;
1112 static gint ett_h245_CloseLogicalChannelAck = -1;
1113 static gint ett_h245_CloseLogicalChannel = -1;
1114 static gint ett_h245_H2250LogicalChannelAckParameters = -1;
1115 static gint ett_h245_OpenLogicalChannelConfirm = -1;
1116 static gint ett_h245_OpenLogicalChannelReject = -1;
1117 static gint ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters = -1;
1118 static gint ett_h245_OpenLogicalChannelAck = -1;
1119 static gint ett_h245_EscrowData = -1;
1120 static gint ett_h245_EncryptionSync = -1;
1121 static gint ett_h245_MulticastAddress_iP6Address = -1;
1122 static gint ett_h245_MulticastAddress_iPAddress = -1;
1123 static gint ett_h245_UnicastAddress_iPSourceRouteAddress = -1;
1124 static gint ett_h245_UnicastAddress_iP6Address = -1;
1125 static gint ett_h245_UnicastAddress_iPXAddress = -1;
1126 static gint ett_h245_UnicastAddress_iPAddress = -1;
1127 static gint ett_h245_FECData_rfc2733_mode_separateStream_samePort = -1;
1128 static gint ett_h245_FECData_rfc2733_mode_separateStream_differentPort = -1;
1129 static gint ett_h245_FECData_rfc2733 = -1;
1130 static gint ett_h245_MultiplePayloadStreamElement = -1;
1131 static gint ett_h245_MultiplePayloadStream = -1;
1132 static gint ett_h245_RedundancyEncodingElement = -1;
1133 static gint ett_h245_RedundancyEncoding_rtpRedundancyEncoding = -1;
1134 static gint ett_h245_RedundancyEncoding = -1;
1135 static gint ett_h245_RTPPayloadType = -1;
1136 static gint ett_h245_H2250LogicalChannelParameters = -1;
1137 static gint ett_h245_V76HDLCParameters = -1;
1138 static gint ett_h245_V76LogicalChannelParameters_mode_eRM = -1;
1139 static gint ett_h245_V76LogicalChannelParameters = -1;
1140 static gint ett_h245_H223AnnexCArqParameters = -1;
1141 static gint ett_h245_H223AL3MParameters = -1;
1142 static gint ett_h245_H223AL2MParameters = -1;
1143 static gint ett_h245_H223AL1MParameters = -1;
1144 static gint ett_h245_H223LogicalChannelParameters_adaptionLayerType_al3 = -1;
1145 static gint ett_h245_H223LogicalChannelParameters = -1;
1146 static gint ett_h245_H222LogicalChannelParameters = -1;
1147 static gint ett_h245_MultiplexedStreamParameter = -1;
1148 static gint ett_h245_H235Media = -1;
1149 static gint ett_h245_V75Parameters = -1;
1150 static gint ett_h245_Q2931Address = -1;
1151 static gint ett_h245_NetworkAccessParameters = -1;
1152 static gint ett_h245_reverseLogicalChannelParameters = -1;
1153 static gint ett_h245_forwardLogicalChannelParameters = -1;
1154 static gint ett_h245_OpenLogicalChannel = -1;
1155 static gint ett_h245_FECCapability_rfc2733_separateStream = -1;
1156 static gint ett_h245_FECCapability_rfc2733 = -1;
1157 static gint ett_h245_MultiplePayloadStreamCapability = -1;
1158 static gint ett_h245_NoPTAudioToneCapability = -1;
1159 static gint ett_h245_NoPTAudioTelephonyEventCapability = -1;
1160 static gint ett_h245_AudioToneCapability = -1;
1161 static gint ett_h245_AudioTelephonyEventCapability = -1;
1162 static gint ett_h245_MultiplexedStreamCapability = -1;
1163 static gint ett_h245_GenericParameter = -1;
1164 static gint ett_h245_GenericCapability = -1;
1165 static gint ett_h245_ConferenceCapability = -1;
1166 static gint ett_h245_IntegrityCapability = -1;
1167 static gint ett_h245_AuthenticationCapability = -1;
1168 static gint ett_h245_EncryptionAuthenticationAndIntegrity = -1;
1169 static gint ett_h245_T38FaxTcpOptions = -1;
1170 static gint ett_h245_T38FaxUdpOptions = -1;
1171 static gint ett_h245_T38FaxProfile = -1;
1172 static gint ett_h245_T84Profile_t84Restricted = -1;
1173 static gint ett_h245_V42bis = -1;
1174 static gint ett_h245_DataApplicationCapability_application_t38fax = -1;
1175 static gint ett_h245_DataApplicationCapability_application_nlpid = -1;
1176 static gint ett_h245_DataApplicationCapability_application_t84 = -1;
1177 static gint ett_h245_DataApplicationCapability = -1;
1178 static gint ett_h245_VBDCapability = -1;
1179 static gint ett_h245_GSMAudioCapability = -1;
1180 static gint ett_h245_IS13818AudioCapability = -1;
1181 static gint ett_h245_IS11172AudioCapability = -1;
1182 static gint ett_h245_G7231AnnexCCapability_g723AnnexCAudioMode = -1;
1183 static gint ett_h245_G7231AnnexCCapability = -1;
1184 static gint ett_h245_G729Extensions = -1;
1185 static gint ett_h245_AudioCapability_g7231 = -1;
1186 static gint ett_h245_IS11172VideoCapability = -1;
1187 static gint ett_h245_H263Version3Options = -1;
1188 static gint ett_h245_H263ModeComboFlags = -1;
1189 static gint ett_h245_H263VideoModeCombos = -1;
1190 static gint ett_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR = -1;
1191 static gint ett_h245_CustomPictureFormat_mPI_customPCF = -1;
1192 static gint ett_h245_CustomPictureFormat_mPI = -1;
1193 static gint ett_h245_CustomPictureFormat = -1;
1194 static gint ett_h245_CustomPictureClockFrequency = -1;
1195 static gint ett_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters = -1;
1196 static gint ett_h245_RefPictureSelection_enhancedReferencePicSelect = -1;
1197 static gint ett_h245_RefPictureSelection_additionalPictureMemory = -1;
1198 static gint ett_h245_RefPictureSelection = -1;
1199 static gint ett_h245_TransperencyParameters = -1;
1200 static gint ett_h245_H263Options = -1;
1201 static gint ett_h245_EnhancementOptions = -1;
1202 static gint ett_h245_BEnhancementParameters = -1;
1203 static gint ett_h245_EnhancementLayerInfo = -1;
1204 static gint ett_h245_H263VideoCapability = -1;
1205 static gint ett_h245_H262VideoCapability = -1;
1206 static gint ett_h245_H261VideoCapability = -1;
1207 static gint ett_h245_MediaDistributionCapability = -1;
1208 static gint ett_h245_MultipointCapability = -1;
1209 static gint ett_h245_RTPH263VideoRedundancyFrameMapping = -1;
1210 static gint ett_h245_RTPH263VideoRedundancyEncoding = -1;
1211 static gint ett_h245_RedundancyEncodingCapability = -1;
1212 static gint ett_h245_TransportCapability = -1;
1213 static gint ett_h245_MediaChannelCapability = -1;
1214 static gint ett_h245_MediaTransportType_AtmAAL5Compressed = -1;
1215 static gint ett_h245_QOSCapability = -1;
1216 static gint ett_h245_ATMParameters = -1;
1217 static gint ett_h245_RSVPParameters = -1;
1218 static gint ett_h245_MediaPacketizationCapability = -1;
1219 static gint ett_h245_H2250Capability_mcCapability = -1;
1220 static gint ett_h245_H2250Capability = -1;
1221 static gint ett_h245_V75Capability = -1;
1222 static gint ett_h245_V76Capability = -1;
1223 static gint ett_h245_H223AnnexCCapability = -1;
1224 static gint ett_h245_H223Capability_mobileMultilinkFrameCapability = -1;
1225 static gint ett_h245_H223Capability_mobileOperationTransmitCapability = -1;
1226 static gint ett_h245_H223Capability_h223MultiplexTableCapability_enhanced = -1;
1227 static gint ett_h245_H223Capability = -1;
1228 static gint ett_h245_VCCapability_aal1ViaGateway = -1;
1229 static gint ett_h245_VCCapability_availableBitRates_rangeOfBitRates = -1;
1230 static gint ett_h245_VCCapability_availableBitRates = -1;
1231 static gint ett_h245_VCCapability_aal5 = -1;
1232 static gint ett_h245_VCCapability_aal1 = -1;
1233 static gint ett_h245_VCCapability = -1;
1234 static gint ett_h245_H222Capability = -1;
1235 static gint ett_h245_H235SecurityCapability = -1;
1236 static gint ett_h245_Capability_h233EncryptionReceiveCapability = -1;
1237 static gint ett_h245_TerminalCapabilitySetRelease = -1;
1238 static gint ett_h245_TerminalCapabilitySetReject = -1;
1239 static gint ett_h245_TerminalCapabilitySetAck = -1;
1240 static gint ett_h245_CapabilityDescriptor = -1;
1241 static gint ett_h245_CapabilityTableEntry = -1;
1242 static gint ett_h245_TerminalCapabilitySet = -1;
1243 static gint ett_h245_MasterSlaveDeterminationRelease = -1;
1244 static gint ett_h245_MasterSlaveDeterminationReject = -1;
1245 static gint ett_h245_MasterSlaveDeterminationAck = -1;
1246 static gint ett_h245_MasterSlaveDetermination = -1;
1247 static gint ett_h245_h221NonStandard = -1;
1248 static gint ett_h245_NonStandardParameter = -1;
1249 static gint ett_h245_NonStandardMessage = -1;
1250 static gint ett_h245_FlowControlIndication_restriction = -1;
1251 static gint ett_h245_FlowControlIndication_scope = -1;
1252 static gint ett_h245_UserInputIndication_userInputSupportIndication = -1;
1253 static gint ett_h245_UserInputIndication = -1;
1254 static gint ett_h245_NewATMVCIndication_reverseParameters_multiplex = -1;
1255 static gint ett_h245_NewATMVCIndication_multiplex = -1;
1256 static gint ett_h245_NewATMVCIndication_aal_aal1_errorCorrection = -1;
1257 static gint ett_h245_NewATMVCIndication_aal_aal1_clockRecovery = -1;
1258 static gint ett_h245_JitterIndication_scope = -1;
1259 static gint ett_h245_MiscellaneousIndication_type = -1;
1260 static gint ett_h245_ConferenceIndication = -1;
1261 static gint ett_h245_FunctionNotSupported_cause = -1;
1262 static gint ett_h245_FunctionNotUnderstood = -1;
1263 static gint ett_h245_MobileMultilinkReconfigurationCommand_status = -1;
1264 static gint ett_h245_NewATMVCCommand_reverseParameters_multiplex = -1;
1265 static gint ett_h245_NewATMVCCommand_multiplex = -1;
1266 static gint ett_h245_NewATMVCCommand_aal_aal1_errorCorrection = -1;
1267 static gint ett_h245_NewATMVCCommand_aal_aal1_clockRecovery = -1;
1268 static gint ett_h245_NewATMVCCommand_aal = -1;
1269 static gint ett_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag = -1;
1270 static gint ett_h245_H223MultiplexReconfiguration_h223ModeChange = -1;
1271 static gint ett_h245_H223MultiplexReconfiguration = -1;
1272 static gint ett_h245_PictureReference = -1;
1273 static gint ett_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount = -1;
1274 static gint ett_h245_MiscellaneousCommand_type = -1;
1275 static gint ett_h245_ConferenceCommand = -1;
1276 static gint ett_h245_EndSessionCommand_gstnOptions = -1;
1277 static gint ett_h245_EndSessionCommand_isdnOptions = -1;
1278 static gint ett_h245_FlowControlCommand_restriction = -1;
1279 static gint ett_h245_FlowControlCommand_scope = -1;
1280 static gint ett_h245_EncryptionCommand = -1;
1281 static gint ett_h245_SendTerminalCapabilitySet = -1;
1282 static gint ett_h245_LogicalChannelRateRejectReason = -1;
1283 static gint ett_h245_DialingInformationNetworkType = -1;
1284 static gint ett_h245_DialingInformation = -1;
1285 static gint ett_h245_MultilinkIndication = -1;
1286 static gint ett_h245_MultilinkResponse_addConnection_responseCode_rejected = -1;
1287 static gint ett_h245_MultilinkResponse_addConnection_responseCode = -1;
1288 static gint ett_h245_MultilinkResponse = -1;
1289 static gint ett_h245_MultilinkRequest_maximumHeaderInterval_requestType = -1;
1290 static gint ett_h245_MultilinkRequest = -1;
1291 static gint ett_h245_RemoteMCResponse_reject = -1;
1292 static gint ett_h245_RemoteMCResponse = -1;
1293 static gint ett_h245_RemoteMCRequest = -1;
1294 static gint ett_h245_ConferenceResponse_sendThisSourceResponse = -1;
1295 static gint ett_h245_ConferenceResponse_makeTerminalBroadcasterResponse = -1;
1296 static gint ett_h245_ConferenceResponse_broadcastMyLogicalChannelResponse = -1;
1297 static gint ett_h245_ConferenceResponse_makeMeChairResponse = -1;
1298 static gint ett_h245_ConferenceResponse = -1;
1299 static gint ett_h245_ConferenceRequest = -1;
1300 static gint ett_h245_CommunicationModeTableEntry_dataType = -1;
1301 static gint ett_h245_CommunicationModeResponse = -1;
1302 static gint ett_h245_MaintenanceLoopReject_cause = -1;
1303 static gint ett_h245_MaintenanceLoopReject_type = -1;
1304 static gint ett_h245_MaintenanceLoopAck_type = -1;
1305 static gint ett_h245_MaintenanceLoopRequest_type = -1;
1306 static gint ett_h245_EncryptionMode = -1;
1307 static gint ett_h245_DataMode_application = -1;
1308 static gint ett_h245_IS13818AudioMode_multiChannelType = -1;
1309 static gint ett_h245_IS13818AudioMode_audioSampling = -1;
1310 static gint ett_h245_IS13818AudioMode_audioLayer = -1;
1311 static gint ett_h245_IS11172AudioMode_multichannelType = -1;
1312 static gint ett_h245_IS11172AudioMode_audioSampling = -1;
1313 static gint ett_h245_IS11172AudioMode_audioLayer = -1;
1314 static gint ett_h245_AudioMode_g7231 = -1;
1315 static gint ett_h245_AudioMode = -1;
1316 static gint ett_h245_H263VideoMode_resolution = -1;
1317 static gint ett_h245_H262VideoMode_profileAndLevel = -1;
1318 static gint ett_h245_H261VideoMode_resolution = -1;
1319 static gint ett_h245_VideoMode = -1;
1320 static gint ett_h245_RedundancyEncodingMode_secondaryEncoding = -1;
1321 static gint ett_h245_V76ModeParameters = -1;
1322 static gint ett_h245_H223ModeParameters_adaptationLayerType = -1;
1323 static gint ett_h245_FECMode_rfc2733Mode_mode_separateStream = -1;
1324 static gint ett_h245_FECMode_rfc2733Mode_mode = -1;
1325 static gint ett_h245_FECMode = -1;
1326 static gint ett_h245_RedundancyEncodingDTModeElement_type = -1;
1327 static gint ett_h245_H235Mode_mediaMode = -1;
1328 static gint ett_h245_ModeElementType = -1;
1329 static gint ett_h245_RequestModeReject_cause = -1;
1330 static gint ett_h245_RequestMultiplexEntryRejectionDescriptions_cause = -1;
1331 static gint ett_h245_MultiplexEntryRejectionDescriptions_cause = -1;
1332 static gint ett_h245_MultiplexElement_repeatCount = -1;
1333 static gint ett_h245_MultiplexElement_type = -1;
1334 static gint ett_h245_RequestChannelCloseReject_cause = -1;
1335 static gint ett_h245_RequestChannelClose_reason = -1;
1336 static gint ett_h245_CloseLogicalChannel_reason = -1;
1337 static gint ett_h245_CloseLogicalChannel_source = -1;
1338 static gint ett_h245_OpenLogicalChannelReject_cause = -1;
1339 static gint ett_h245_forwardMultiplexAckParameters = -1;
1340 static gint ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters = -1;
1341 static gint ett_h245_MulticastAddress = -1;
1342 static gint ett_h245_UnicastAddress_iPSourceRouteAddress_routing = -1;
1343 static gint ett_h245_UnicastAddress = -1;
1344 static gint ett_h245_TransportAddress = -1;
1345 static gint ett_h245_FECData_rfc2733_mode_separateStream = -1;
1346 static gint ett_h245_FECData_rfc2733_mode = -1;
1347 static gint ett_h245_FECData = -1;
1348 static gint ett_h245_RTPPayloadType_payloadDescriptor = -1;
1349 static gint ett_h245_H2250LogicalChannelParameters_mediaPacketization = -1;
1350 static gint ett_h245_CRCLength = -1;
1351 static gint ett_h245_V76LogicalChannelParameters_mode_eRM_recovery = -1;
1352 static gint ett_h245_V76LogicalChannelParameters_mode = -1;
1353 static gint ett_h245_V76LogicalChannelParameters_suspendResume = -1;
1354 static gint ett_h245_H223AnnexCArqParameters_numberOfRetransmissions = -1;
1355 static gint ett_h245_H223AL3MParameters_arqType = -1;
1356 static gint ett_h245_H223AL3MParameters_crcLength = -1;
1357 static gint ett_h245_H223AL3MParameters_headerFormat = -1;
1358 static gint ett_h245_H223AL2MParameters_headerFEC = -1;
1359 static gint ett_h245_H223AL1MParameters_arqType = -1;
1360 static gint ett_h245_H223AL1MParameters_crcLength = -1;
1361 static gint ett_h245_H223AL1MParameters_headerFEC = -1;
1362 static gint ett_h245_H223AL1MParameters_transferMode = -1;
1363 static gint ett_h245_H223LogicalChannelParameters_adaptationLayerType = -1;
1364 static gint ett_h245_H235Media_mediaType = -1;
1365 static gint ett_h245_DataType = -1;
1366 static gint ett_h245_Q2931Address_address = -1;
1367 static gint ett_h245_NetworkAccessParameters_t120SetupProcedure = -1;
1368 static gint ett_h245_NetworkAccessParameters_networkAddress = -1;
1369 static gint ett_h245_NetworkAccessParameters_distribution = -1;
1370 static gint ett_h245_reverseLogicalChannelParameters_multiplexParameters = -1;
1371 static gint ett_h245_forwardLogicalChannelParameters_multiplexParameters = -1;
1372 static gint ett_h245_FECCapability = -1;
1373 static gint ett_h245_MultiplexFormat = -1;
1374 static gint ett_h245_ParameterValue = -1;
1375 static gint ett_h245_ParameterIdentifier = -1;
1376 static gint ett_h245_CapabilityIdentifier = -1;
1377 static gint ett_h245_UserInputCapability = -1;
1378 static gint ett_h245_MediaEncryptionAlgorithm = -1;
1379 static gint ett_h245_T38FaxUdpOptions_t38FaxUdpEC = -1;
1380 static gint ett_h245_T38FaxRateManagement = -1;
1381 static gint ett_h245_T84Profile = -1;
1382 static gint ett_h245_CompressionType = -1;
1383 static gint ett_h245_DataProtocolCapability_v76wCompression = -1;
1384 static gint ett_h245_DataProtocolCapability = -1;
1385 static gint ett_h245_DataApplicationCapability_application = -1;
1386 static gint ett_h245_AudioCapability = -1;
1387 static gint ett_h245_CustomPictureFormat_pixelAspectInformation = -1;
1388 static gint ett_h245_RefPictureSelection_videoBackChannelSend = -1;
1389 static gint ett_h245_VideoCapability = -1;
1390 static gint ett_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping = -1;
1391 static gint ett_h245_RedundancyEncodingMethod = -1;
1392 static gint ett_h245_MediaTransportType = -1;
1393 static gint ett_h245_QOSMode = -1;
1394 static gint ett_h245_H223Capability_h223MultiplexTableCapability = -1;
1395 static gint ett_h245_VCCapability_availableBitRates_type = -1;
1396 static gint ett_h245_MultiplexCapability = -1;
1397 static gint ett_h245_Capability = -1;
1398 static gint ett_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded = -1;
1399 static gint ett_h245_TerminalCapabilitySetReject_cause = -1;
1400 static gint ett_h245_MasterSlaveDeterminationReject_cause = -1;
1401 static gint ett_h245_MasterSlaveDeterminationAck_decision = -1;
1402 static gint ett_h245_RequestModeAck_response_decision = -1;
1403 static gint ett_h245_NonStandardIdentifier = -1;
1404 static gint ett_h245_mediaDistributionCapability = -1;
1405 static gint ett_h245_frameToThreadMapping_custom = -1;
1406 static gint ett_h245_RedundancyEncodingCapability_sequence_of = -1;
1407 static gint ett_h245_frameSequence = -1;
1408 static gint ett_h245_EncryptionCapability = -1;
1409 static gint ett_h245_escrowentry = -1;
1410 static gint ett_h245_elementList = -1;
1411 static gint ett_h245_requestedModes = -1;
1412 static gint ett_h245_CertSelectionCriteria = -1;
1413 static gint ett_h245_capabilityTable = -1;
1414 static gint ett_h245_capabilityDescriptors = -1;
1415 static gint ett_h245_simultaneousCapabilities = -1;
1416 static gint ett_h245_gatewayAddress = -1;
1417 static gint ett_h245_snrEnhancement = -1;
1418 static gint ett_h245_spatialEnhancement = -1;
1419 static gint ett_h245_bPictureEnhancement = -1;
1420 static gint ett_h245_customPictureClockFrequency = -1;
1421 static gint ett_h245_customPictureFormat = -1;
1422 static gint ett_h245_modeCombos = -1;
1423 static gint ett_h245_customPCF = -1;
1424 static gint ett_h245_pixelAspectCode = -1;
1425 static gint ett_h245_extendedPAR = -1;
1426 static gint ett_h245_h263VideoCoupledModes = -1;
1427 static gint ett_h245_capabilityOnMuxStream = -1;
1428 static gint ett_h245_capabilities = -1;
1429 static gint ett_h245_multiplexEntryDescriptors = -1;
1430 static gint ett_h245_multiplexTableEntryNumber_set_of = -1;
1431 static gint ett_h245_rejectionDescriptions = -1;
1432 static gint ett_h245_entryNumbers = -1;
1433 static gint ett_h245_ModeDescription = -1;
1434 static gint ett_h245_communicationModeTable = -1;
1435 static gint ett_h245_terminalListResponse = -1;
1436 static gint ett_h245_differential = -1;
1437 static gint ett_h245_networkType = -1;
1438 static gint ett_h245_capabilityTableEntryNumbers = -1;
1439 static gint ett_h245_capabilityDescriptorNumbers = -1;
1440 static gint ett_h245_qOSCapabilities = -1;
1441 static gint ett_h245_subElementList = -1;
1442 static gint ett_h245_containedThreads = -1;
1443 static gint ett_h245_CapabilityTableEntryNumber_sequence_of = -1;
1444 static gint ett_h245_mediaChannelCapabilities = -1;
1445 static gint ett_h245_rtpPayloadType_sequence_of = -1;
1446 static gint ett_h245_centralizedData = -1;
1447 static gint ett_h245_distributedData = -1;
1448 static gint ett_h245_nonStandardData = -1;
1449 static gint ett_h245_collapsing = -1;
1450 static gint ett_h245_nonCollapsing = -1;
1451 static gint ett_h245_supersedes = -1;
1452 static gint ett_h245_genericParameter = -1;
1453 static gint ett_h245_secondary_REE = -1;
1454 static gint ett_h245_elements_MPSE = -1;
1455 static gint ett_h245_secondary_REDTME = -1;
1456 static gint ett_h245_elements_MPSEM = -1;
1457 static gint ett_h245_TerminalInformationSO = -1;
1458 static gint ett_h245_lostPicture = -1;
1459 static gint ett_h245_recoveryReferencePicture = -1;
1460 static gint ett_h245_iPSourceRouteAddress_route = -1;
1461
1462 static dissector_table_t nsp_object_dissector_table; 
1463 static dissector_table_t nsp_h221_dissector_table; 
1464
1465 static dissector_handle_t nsp_handle;
1466
1467 static guint32 ipv4_address;
1468 static guint32 ipv4_port;
1469 static char object[256];
1470 static guint32 t35CountryCode;
1471 static guint32 t35Extension;
1472 static guint32 manufacturerCode;
1473 static guint32 h221NonStandard;
1474
1475 static gboolean h245_reassembly = TRUE;
1476
1477 static int
1478 dissect_h245_NULL(tvbuff_t *tvb _U_, int offset, packet_info *pinfo _U_, proto_tree *tree _U_)
1479 {
1480         return offset;
1481 }
1482
1483
1484
1485
1486
1487
1488
1489
1490 static const value_string MasterSlaveDeterminationAck_decision_vals[] = {
1491         {  0, "master" },
1492         {  1, "slave" },
1493         {  0, NULL }
1494 };
1495 static per_choice_t MasterSlaveDeterminationAck_decision_choice[] = {
1496         {  0, "master", NO_EXTENSIONS, 
1497                 dissect_h245_NULL },
1498         {  1, "slave", NO_EXTENSIONS, 
1499                 dissect_h245_NULL },
1500         {  0, NULL, 0, NULL }
1501 };
1502 static int
1503 dissect_h245_MasterSlaveDeterminationAck_decision(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1504 {
1505         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDeterminationAck_decision, ett_h245_MasterSlaveDeterminationAck_decision, MasterSlaveDeterminationAck_decision_choice, "Decision", NULL);
1506
1507         return offset;
1508 }
1509
1510
1511
1512 static per_sequence_t MasterSlaveDeterminationAck_sequence[] = {
1513         { "decision", EXTENSION_ROOT, NOT_OPTIONAL, 
1514                 dissect_h245_MasterSlaveDeterminationAck_decision },
1515         { NULL, 0, 0, NULL }
1516 };
1517 static int
1518 dissect_h245_MasterSlaveDeterminationAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1519 {
1520         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDeterminationAck, ett_h245_MasterSlaveDeterminationAck, MasterSlaveDeterminationAck_sequence);
1521
1522         return offset;
1523 }
1524
1525
1526 static const value_string MasterSlaveDeterminationReject_cause_vals[] = {
1527         {  0, "identicalNumbers" },
1528         {  0, NULL }
1529 };
1530 static per_choice_t MasterSlaveDeterminationReject_cause_choice[] = {
1531         {  0, "identicalNumbers", EXTENSION_ROOT, 
1532                         dissect_h245_NULL },
1533         {  0, NULL, 0, NULL }
1534 };
1535 static int
1536 dissect_h245_MasterSlaveDeterminationReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1537 {
1538         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDeterminationReject_cause, ett_h245_MasterSlaveDeterminationReject_cause, MasterSlaveDeterminationReject_cause_choice, "Cause", NULL);
1539
1540         return offset;
1541 }
1542
1543
1544
1545 static per_sequence_t MasterSlaveDeterminationReject_sequence[] = {
1546         { "cause", EXTENSION_ROOT, NOT_OPTIONAL, 
1547                 dissect_h245_MasterSlaveDeterminationReject_cause },
1548         { NULL, 0, 0, NULL }
1549 };
1550 static int
1551 dissect_h245_MasterSlaveDeterminationReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1552 {
1553         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDeterminationReject, ett_h245_MasterSlaveDeterminationReject, MasterSlaveDeterminationReject_sequence);
1554
1555         return offset;
1556 }
1557
1558
1559
1560 static const value_string QOSMode_vals[] = {
1561         {  0, "guaranteedQOS" },
1562         {  1, "controlledLoad" },
1563         {  0, NULL }
1564 };
1565 static per_choice_t QOSMode_choice[] = {
1566         {  0, "guaranteedQOS", EXTENSION_ROOT, 
1567                         dissect_h245_NULL },
1568         {  1, "controlledLoad", EXTENSION_ROOT, 
1569                         dissect_h245_NULL },
1570         {  0, NULL, 0, NULL }
1571 };
1572 static int
1573 dissect_h245_QOSMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1574 {
1575         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_QOSMode, ett_h245_QOSMode, QOSMode_choice, "QOSMode", NULL);
1576
1577         return offset;
1578 }
1579
1580
1581
1582 static const value_string RefPictureSelection_videoBackChannelSend_vals[] = {
1583         {  0, "none" },
1584         {  1, "ackMessageOnly" },
1585         {  2, "nackMessageOnly" },
1586         {  3, "ackOrNackMessageOnly" },
1587         {  4, "ackAndNackMessage" },
1588         {  0, NULL }
1589 };
1590 static per_choice_t RefPictureSelection_videoBackChannelSend_choice[] = {
1591         {  0, "none", EXTENSION_ROOT, 
1592                         dissect_h245_NULL },
1593         {  1, "ackMessageOnly", EXTENSION_ROOT, 
1594                         dissect_h245_NULL },
1595         {  2, "nackMessageOnly", EXTENSION_ROOT, 
1596                         dissect_h245_NULL },
1597         {  3, "ackOrNackMessageOnly", EXTENSION_ROOT, 
1598                         dissect_h245_NULL },
1599         {  4, "ackAndNackMessage", EXTENSION_ROOT, 
1600                         dissect_h245_NULL },
1601         {  0, NULL, 0, NULL }
1602 };
1603 static int
1604 dissect_h245_RefPictureSelection_videoBackChannelSend(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1605 {
1606         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RefPictureSelection_videoBackChannelSend, ett_h245_RefPictureSelection_videoBackChannelSend, RefPictureSelection_videoBackChannelSend_choice, "videoBackChannelSend", NULL);
1607
1608         return offset;
1609 }
1610
1611
1612
1613 static const value_string T38FaxRateManagement_vals[] = {
1614         {  0, "localTCF" },
1615         {  1, "transferredTCF" },
1616         {  0, NULL }
1617 };
1618 static per_choice_t T38FaxRateManagement_choice[] = {
1619         {  0, "localTCF", EXTENSION_ROOT, 
1620                         dissect_h245_NULL },
1621         {  1, "transferredTCF", EXTENSION_ROOT, 
1622                         dissect_h245_NULL },
1623         {  0, NULL, 0, NULL }
1624 };
1625 static int
1626 dissect_h245_T38FaxRateManagement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1627 {
1628         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_T38FaxRateManagement, ett_h245_T38FaxRateManagement, T38FaxRateManagement_choice, "T38FaxRateManagement", NULL);
1629
1630         return offset;
1631 }
1632
1633
1634
1635 static const value_string T38FaxUdpOptions_t38FaxUdpEC_vals[] = {
1636         {  0, "t38UDPFEC" },
1637         {  1, "t38UDPRedundancy" },
1638         {  0, NULL }
1639 };
1640 static per_choice_t T38FaxUdpOptions_t38FaxUdpEC_choice[] = {
1641         {  0, "t38UDPFEC", EXTENSION_ROOT, 
1642                         dissect_h245_NULL },
1643         {  1, "t38UDPRedundancy", EXTENSION_ROOT, 
1644                         dissect_h245_NULL },
1645         {  0, NULL, 0, NULL }
1646 };
1647 static int
1648 dissect_h245_T38FaxUdpOptions_t38FaxUdpEC(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1649 {
1650         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_T38FaxUdpOptions_t38FaxUdpEC, ett_h245_T38FaxUdpOptions_t38FaxUdpEC, T38FaxUdpOptions_t38FaxUdpEC_choice, "t38FaxUdpEC", NULL);
1651
1652         return offset;
1653 }
1654
1655
1656
1657 static const value_string NetworkAccessParameters_distribution_vals[] = {
1658         {  0, "unicast" },
1659         {  1, "multicast" },
1660         {  0, NULL }
1661 };
1662 static per_choice_t NetworkAccessParameters_distribution_choice[] = {
1663         {  0, "unicast", EXTENSION_ROOT, 
1664                         dissect_h245_NULL },
1665         {  1, "multicast", EXTENSION_ROOT, 
1666                         dissect_h245_NULL },
1667         {  0, NULL, 0, NULL }
1668 };
1669 static int
1670 dissect_h245_NetworkAccessParameters_distribution(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1671 {
1672         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NetworkAccessParameters_distribution, ett_h245_NetworkAccessParameters_distribution, NetworkAccessParameters_distribution_choice, "Distribution", NULL);
1673
1674         return offset;
1675 }
1676
1677
1678
1679 static const value_string NetworkAccessParameters_t120SetupProcedure_vals[] = {
1680         {  0, "originateCall" },
1681         {  1, "waitForCall" },
1682         {  2, "issueQuery" },
1683         {  0, NULL }
1684 };
1685 static per_choice_t NetworkAccessParameters_t120SetupProcedure_choice[] = {
1686         {  0, "originateCall", EXTENSION_ROOT, 
1687                         dissect_h245_NULL },
1688         {  1, "waitForCall", EXTENSION_ROOT, 
1689                         dissect_h245_NULL },
1690         {  2, "issueQuery", EXTENSION_ROOT, 
1691                         dissect_h245_NULL },
1692         {  0, NULL, 0, NULL }
1693 };
1694 static int
1695 dissect_h245_NetworkAccessParameters_t120SetupProcedure(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1696 {
1697         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NetworkAccessParameters_t120SetupProcedure, ett_h245_NetworkAccessParameters_t120SetupProcedure, NetworkAccessParameters_t120SetupProcedure_choice, "t120SetupProcedure", NULL);
1698
1699         return offset;
1700 }
1701
1702
1703
1704 static const value_string H223AL1MParameters_transferMode_vals[] = {
1705         {  0, "framed" },
1706         {  1, "unframed" },
1707         {  0, NULL }
1708 };
1709 static per_choice_t H223AL1MParameters_transferMode_choice[] = {
1710         {  0, "framed", EXTENSION_ROOT, 
1711                         dissect_h245_NULL },
1712         {  1, "unframed", EXTENSION_ROOT, 
1713                         dissect_h245_NULL },
1714         {  0, NULL, 0, NULL }
1715 };
1716 static int
1717 dissect_h245_H223AL1MParameters_transferMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1718 {
1719         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL1MParameters_transferMode, ett_h245_H223AL1MParameters_transferMode, H223AL1MParameters_transferMode_choice, "transferMode", NULL);
1720
1721         return offset;
1722 }
1723
1724
1725
1726 static const value_string H223AL1MParameters_headerFEC_vals[] = {
1727         {  0, "sebch16-7" },
1728         {  1, "golay24-12" },
1729         {  0, NULL }
1730 };
1731 static per_choice_t H223AL1MParameters_headerFEC_choice[] = {
1732         {  0, "sebch16-7", EXTENSION_ROOT, 
1733                         dissect_h245_NULL },
1734         {  1, "golay24-12", EXTENSION_ROOT, 
1735                         dissect_h245_NULL },
1736         {  0, NULL, 0, NULL }
1737 };
1738 static int
1739 dissect_h245_H223AL1MParameters_headerFEC(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1740 {
1741         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL1MParameters_headerFEC, ett_h245_H223AL1MParameters_headerFEC, H223AL1MParameters_headerFEC_choice, "headerFEC", NULL);
1742
1743         return offset;
1744 }
1745
1746
1747
1748 static const value_string H223AL1MParameters_crcLength_vals[] = {
1749         {  0, "crc4bit" },
1750         {  1, "crc12bit" },
1751         {  2, "crc20bit" },
1752         {  3, "crc28bit" },
1753         {  4, "crc8bit" },
1754         {  5, "crc16bit" },
1755         {  6, "crc32bit" },
1756         {  7, "crcNotUsed" },
1757         {  0, NULL }
1758 };
1759 static per_choice_t H223AL1MParameters_crcLength_choice[] = {
1760         {  0, "crc4bit", EXTENSION_ROOT, 
1761                         dissect_h245_NULL },
1762         {  1, "crc12bit", EXTENSION_ROOT, 
1763                         dissect_h245_NULL },
1764         {  2, "crc20bit", EXTENSION_ROOT, 
1765                         dissect_h245_NULL },
1766         {  3, "crc28bit", EXTENSION_ROOT, 
1767                         dissect_h245_NULL },
1768         {  4, "crc8bit", NOT_EXTENSION_ROOT, 
1769                         dissect_h245_NULL },
1770         {  5, "crc16bit", NOT_EXTENSION_ROOT, 
1771                         dissect_h245_NULL },
1772         {  6, "crc32bit", NOT_EXTENSION_ROOT, 
1773                         dissect_h245_NULL },
1774         {  7, "crcNotUsed", NOT_EXTENSION_ROOT, 
1775                         dissect_h245_NULL },
1776         {  0, NULL, 0, NULL }
1777 };
1778 static int
1779 dissect_h245_H223AL1MParameters_crcLength(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1780 {
1781         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL1MParameters_crcLength, ett_h245_H223AL1MParameters_crcLength, H223AL1MParameters_crcLength_choice, "crcLength", NULL);
1782
1783         return offset;
1784 }
1785
1786
1787
1788 static const value_string H223AL2MParameters_headerFEC_vals[] = {
1789         {  0, "sebch16-5" },
1790         {  1, "golay24-12" },
1791         {  0, NULL }
1792 };
1793 static per_choice_t H223AL2MParameters_headerFEC_choice[] = {
1794         {  0, "sebch16-5", EXTENSION_ROOT, 
1795                         dissect_h245_NULL },
1796         {  1, "golay24-12", EXTENSION_ROOT, 
1797                         dissect_h245_NULL },
1798         {  0, NULL, 0, NULL }
1799 };
1800 static int
1801 dissect_h245_H223AL2MParameters_headerFEC(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1802 {
1803         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL2MParameters_headerFEC, ett_h245_H223AL2MParameters_headerFEC, H223AL2MParameters_headerFEC_choice, "headerFEC", NULL);
1804
1805         return offset;
1806 }
1807
1808
1809
1810
1811 static const value_string H223AL3MParameters_headerFormat_vals[] = {
1812         {  0, "sebch16-7" },
1813         {  1, "golay24-12" },
1814         {  0, NULL }
1815 };
1816 static per_choice_t H223AL3MParameters_headerFormat_choice[] = {
1817         {  0, "sebch16-7", EXTENSION_ROOT, 
1818                         dissect_h245_NULL },
1819         {  1, "golay24-12", EXTENSION_ROOT, 
1820                         dissect_h245_NULL },
1821         {  0, NULL, 0, NULL }
1822 };
1823 static int
1824 dissect_h245_H223AL3MParameters_headerFormat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1825 {
1826         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL3MParameters_headerFormat, ett_h245_H223AL3MParameters_headerFormat, H223AL3MParameters_headerFormat_choice, "headerFormat", NULL);
1827
1828         return offset;
1829 }
1830
1831
1832
1833
1834 static const value_string H223AL3MParameters_crcLength_vals[] = {
1835         {  0, "crc4bit" },
1836         {  1, "crc12bit" },
1837         {  2, "crc20bit" },
1838         {  3, "crc28bit" },
1839         {  4, "crc8bit" },
1840         {  5, "crc16bit" },
1841         {  6, "crc32bit" },
1842         {  7, "crcNotUsed" },
1843         {  0, NULL }
1844 };
1845 static per_choice_t H223AL3MParameters_crcLength_choice[] = {
1846         {  0, "crc4bit", EXTENSION_ROOT, 
1847                         dissect_h245_NULL },
1848         {  1, "crc12bit", EXTENSION_ROOT, 
1849                         dissect_h245_NULL },
1850         {  2, "crc20bit", EXTENSION_ROOT, 
1851                         dissect_h245_NULL },
1852         {  3, "crc28bit", EXTENSION_ROOT, 
1853                         dissect_h245_NULL },
1854         {  4, "crc8bit", NOT_EXTENSION_ROOT, 
1855                         dissect_h245_NULL },
1856         {  5, "crc16bit", NOT_EXTENSION_ROOT, 
1857                         dissect_h245_NULL },
1858         {  6, "crc32bit", NOT_EXTENSION_ROOT, 
1859                         dissect_h245_NULL },
1860         {  7, "crcNotUsed", NOT_EXTENSION_ROOT, 
1861                         dissect_h245_NULL },
1862         {  0, NULL, 0, NULL }
1863 };
1864 static int
1865 dissect_h245_H223AL3MParameters_crcLength(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1866 {
1867         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL3MParameters_crcLength, ett_h245_H223AL3MParameters_crcLength, H223AL3MParameters_crcLength_choice, "crcLength", NULL);
1868
1869         return offset;
1870 }
1871
1872
1873
1874
1875 static const value_string V76LogicalChannelParameters_suspendResume_vals[] = {
1876         {  0, "noSuspendResume" },
1877         {  1, "suspendResumewAddress" },
1878         {  2, "suspendResumewoAddress" },
1879         {  0, NULL }
1880 };
1881 static per_choice_t V76LogicalChannelParameters_suspendResume_choice[] = {
1882         {  0, "noSuspendResume", EXTENSION_ROOT, 
1883                         dissect_h245_NULL },
1884         {  1, "suspendResumewAddress", EXTENSION_ROOT, 
1885                         dissect_h245_NULL },
1886         {  2, "suspendResumewoAddress", EXTENSION_ROOT, 
1887                         dissect_h245_NULL },
1888         {  0, NULL, 0, NULL }
1889 };
1890 static int
1891 dissect_h245_V76LogicalChannelParameters_suspendResume(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1892 {
1893         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_V76LogicalChannelParameters_suspendResume, ett_h245_V76LogicalChannelParameters_suspendResume, V76LogicalChannelParameters_suspendResume_choice, "suspendResume", NULL);
1894
1895         return offset;
1896 }
1897
1898
1899
1900
1901 static const value_string V76LogicalChannelParameters_mode_eRM_recovery_vals[] = {
1902         {  0, "rej" },
1903         {  1, "sREJ" },
1904         {  2, "mSREJ" },
1905         {  0, NULL }
1906 };
1907 static per_choice_t V76LogicalChannelParameters_mode_eRM_recovery_choice[] = {
1908         {  0, "rej", EXTENSION_ROOT, 
1909                         dissect_h245_NULL },
1910         {  1, "sREJ", EXTENSION_ROOT, 
1911                         dissect_h245_NULL },
1912         {  2, "mSREJ", EXTENSION_ROOT, 
1913                         dissect_h245_NULL },
1914         {  0, NULL, 0, NULL }
1915 };
1916 static int
1917 dissect_h245_V76LogicalChannelParameters_mode_eRM_recovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1918 {
1919         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);
1920
1921         return offset;
1922 }
1923
1924
1925
1926
1927 static const value_string CRCLength_vals[] = {
1928         {  0, "crc8bit" },
1929         {  1, "crc16bit" },
1930         {  2, "crc32bit" },
1931         {  0, NULL }
1932 };
1933 static per_choice_t CRCLength_choice[] = {
1934         {  0, "crc8bit", EXTENSION_ROOT, 
1935                         dissect_h245_NULL },
1936         {  1, "crc16bit", EXTENSION_ROOT, 
1937                         dissect_h245_NULL },
1938         {  2, "crc32bit", EXTENSION_ROOT, 
1939                         dissect_h245_NULL },
1940         {  0, NULL, 0, NULL }
1941 };
1942 static int
1943 dissect_h245_CRCLength(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1944 {
1945         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CRCLength, ett_h245_CRCLength, CRCLength_choice, "CRCLength", NULL);
1946
1947         return offset;
1948 }
1949
1950
1951
1952
1953 static const value_string UnicastAddress_iPSourceRouteAddress_routing_vals[] = {
1954         {  0, "strict" },
1955         {  1, "loose" },
1956         {  0, NULL }
1957 };
1958 static per_choice_t UnicastAddress_iPSourceRouteAddress_routing_choice[] = {
1959         {  0, "strict", NO_EXTENSIONS, 
1960                         dissect_h245_NULL },
1961         {  1, "loose", NO_EXTENSIONS, 
1962                         dissect_h245_NULL },
1963         {  0, NULL, 0, NULL }
1964 };
1965 static int
1966 dissect_h245_UnicastAddress_iPSourceRouteAddress_routing(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1967 {
1968         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_UnicastAddress_iPSourceRouteAddress_routing, ett_h245_UnicastAddress_iPSourceRouteAddress_routing, UnicastAddress_iPSourceRouteAddress_routing_choice, "routing", NULL);
1969
1970         return offset;
1971 }
1972
1973
1974
1975
1976 static const value_string OpenLogicalChannelReject_cause_vals[] = {
1977         {  0, "unspecified" },
1978         {  1, "unsuitableReverseParameters" },
1979         {  2, "dataTypeNotSupported" },
1980         {  3, "dataTypeNotAvailable" },
1981         {  4, "unknownDataType" },
1982         {  5, "dataTypeALCombinationNotSupported" },
1983         {  6, "multicastChannelNotAllowed" },
1984         {  7, "insufficientBandwidth" },
1985         {  8, "separateStackEstablishmentFailed" },
1986         {  9, "invalidSessionID" },
1987         { 10, "masterSlaveConflict" },
1988         { 11, "waitForCommunicationMode" },
1989         { 12, "invalidDependentChannel" },
1990         { 13, "replacementForRejected" },
1991         {  0, NULL }
1992 };
1993 static per_choice_t OpenLogicalChannelReject_cause_choice[] = {
1994         {  0, "unspecified", EXTENSION_ROOT, 
1995                         dissect_h245_NULL },
1996         {  1, "unsuitableReverseParameters", EXTENSION_ROOT, 
1997                         dissect_h245_NULL },
1998         {  2, "dataTypeNotSupported", EXTENSION_ROOT, 
1999                         dissect_h245_NULL },
2000         {  3, "dataTypeNotAvailable", EXTENSION_ROOT, 
2001                         dissect_h245_NULL },
2002         {  4, "unknownDataType", EXTENSION_ROOT, 
2003                         dissect_h245_NULL },
2004         {  5, "dataTypeALCombinationNotSupported", EXTENSION_ROOT, 
2005                         dissect_h245_NULL },
2006         {  6, "multicastChannelNotAllowed", NOT_EXTENSION_ROOT, 
2007                         dissect_h245_NULL },
2008         {  7, "insufficientBandwidth", NOT_EXTENSION_ROOT, 
2009                         dissect_h245_NULL },
2010         {  8, "separateStackEstablishmentFailed", NOT_EXTENSION_ROOT, 
2011                         dissect_h245_NULL },
2012         {  9, "invalidSessionID", NOT_EXTENSION_ROOT, 
2013                         dissect_h245_NULL },
2014         { 10, "masterSlaveConflict", NOT_EXTENSION_ROOT, 
2015                         dissect_h245_NULL },
2016         { 11, "waitForCommunicationMode", NOT_EXTENSION_ROOT, 
2017                         dissect_h245_NULL },
2018         { 12, "invalidDependentChannel", NOT_EXTENSION_ROOT, 
2019                         dissect_h245_NULL },
2020         { 13, "replacementForRejected", NOT_EXTENSION_ROOT, 
2021                         dissect_h245_NULL },
2022         {  0, NULL, 0, NULL }
2023 };
2024 static int
2025 dissect_h245_OpenLogicalChannelReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2026 {
2027         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelReject_cause, ett_h245_OpenLogicalChannelReject_cause, OpenLogicalChannelReject_cause_choice, "cause", NULL);
2028
2029         return offset;
2030 }
2031
2032
2033
2034 static const value_string CloseLogicalChannel_source_vals[] = {
2035         {  0, "user" },
2036         {  1, "lcse" },
2037         {  0, NULL }
2038 };
2039 static per_choice_t CloseLogicalChannel_source_choice[] = {
2040         {  0, "user", NO_EXTENSIONS, 
2041                         dissect_h245_NULL },
2042         {  1, "lcse", NO_EXTENSIONS, 
2043                         dissect_h245_NULL },
2044         {  0, NULL, 0, NULL }
2045 };
2046 static int
2047 dissect_h245_CloseLogicalChannel_source(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2048 {
2049         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CloseLogicalChannel_source, ett_h245_CloseLogicalChannel_source, CloseLogicalChannel_source_choice, "source", NULL);
2050
2051         return offset;
2052 }
2053
2054
2055 static const value_string CloseLogicalChannel_reason_vals[] = {
2056         {  0, "unknown" },
2057         {  1, "reopen" },
2058         {  2, "reservationFailure" },
2059         {  0, NULL }
2060 };
2061 static per_choice_t CloseLogicalChannel_reason_choice[] = {
2062         {  0, "unknown", EXTENSION_ROOT, 
2063                         dissect_h245_NULL },
2064         {  1, "reopen", EXTENSION_ROOT, 
2065                         dissect_h245_NULL },
2066         {  2, "reservationFailure", EXTENSION_ROOT, 
2067                         dissect_h245_NULL },
2068         {  0, NULL, 0, NULL }
2069 };
2070 static int
2071 dissect_h245_CloseLogicalChannel_reason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2072 {
2073         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CloseLogicalChannel_reason, ett_h245_CloseLogicalChannel_reason, CloseLogicalChannel_reason_choice, "reason", NULL);
2074
2075         return offset;
2076 }
2077
2078
2079
2080 static const value_string RequestChannelClose_reason_vals[] = {
2081         {  0, "unknown" },
2082         {  1, "normal" },
2083         {  2, "reopen" },
2084         {  3, "reservationFailure" },
2085         {  0, NULL }
2086 };
2087 static per_choice_t RequestChannelClose_reason_choice[] = {
2088         {  0, "unknown", EXTENSION_ROOT, 
2089                         dissect_h245_NULL },
2090         {  1, "normal", EXTENSION_ROOT, 
2091                         dissect_h245_NULL },
2092         {  2, "reopen", EXTENSION_ROOT, 
2093                         dissect_h245_NULL },
2094         {  3, "reservationFailure", EXTENSION_ROOT, 
2095                         dissect_h245_NULL },
2096         {  0, NULL, 0, NULL }
2097 };
2098 static int
2099 dissect_h245_RequestChannelClose_reason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2100 {
2101         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestChannelClose_reason, ett_h245_RequestChannelClose_reason, RequestChannelClose_reason_choice, "reason", NULL);
2102
2103         return offset;
2104 }
2105
2106
2107
2108 static const value_string RequestChannelCloseReject_cause_vals[] = {
2109         {  0, "unspecified" },
2110         {  0, NULL }
2111 };
2112 static per_choice_t RequestChannelCloseReject_cause_choice[] = {
2113         {  0, "unspecified", EXTENSION_ROOT, 
2114                         dissect_h245_NULL },
2115         {  0, NULL, 0, NULL }
2116 };
2117 static int
2118 dissect_h245_RequestChannelCloseReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2119 {
2120         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestChannelCloseReject_cause, ett_h245_RequestChannelCloseReject_cause, RequestChannelCloseReject_cause_choice, "cause", NULL);
2121
2122         return offset;
2123 }
2124
2125
2126
2127
2128 static const value_string MultiplexEntryRejectionDescriptions_cause_vals[] = {
2129         {  0, "unspecifiedCause" },
2130         {  1, "descriptorTooComplex" },
2131         {  0, NULL }
2132 };
2133 static per_choice_t MultiplexEntryRejectionDescriptions_cause_choice[] = {
2134         {  0, "unspecifiedCause", EXTENSION_ROOT, 
2135                         dissect_h245_NULL },
2136         {  1, "descriptorTooComplex", EXTENSION_ROOT, 
2137                         dissect_h245_NULL },
2138         {  0, NULL, 0, NULL }
2139 };
2140 static int
2141 dissect_h245_MultiplexEntryRejectionDescriptions_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2142 {
2143         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultiplexEntryRejectionDescriptions_cause, ett_h245_MultiplexEntryRejectionDescriptions_cause, MultiplexEntryRejectionDescriptions_cause_choice, "cause", NULL);
2144
2145         return offset;
2146 }
2147
2148
2149
2150 static const value_string RequestMultiplexEntryRejectionDescriptions_cause_vals[] = {
2151         {  0, "unspecifiedCause" },
2152         {  0, NULL }
2153 };
2154 static per_choice_t RequestMultiplexEntryRejectionDescriptions_cause_choice[] = {
2155         {  0, "unspecifiedCause", EXTENSION_ROOT, 
2156                         dissect_h245_NULL },
2157         {  0, NULL, 0, NULL }
2158 };
2159 static int
2160 dissect_h245_RequestMultiplexEntryRejectionDescriptions_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2161 {
2162         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntryRejectionDescriptions_cause, ett_h245_RequestMultiplexEntryRejectionDescriptions_cause, RequestMultiplexEntryRejectionDescriptions_cause_choice, "cause", NULL);
2163
2164         return offset;
2165 }
2166
2167
2168
2169 static const value_string RequestModeReject_cause_vals[] = {
2170         {  0, "modeUnavailable" },
2171         {  1, "multipointConstraint" },
2172         {  2, "requestDenied" },
2173         {  0, NULL }
2174 };
2175 static per_choice_t RequestModeReject_cause_choice[] = {
2176         {  0, "modeUnavailable", EXTENSION_ROOT, 
2177                         dissect_h245_NULL },
2178         {  1, "multipointConstraint", EXTENSION_ROOT, 
2179                         dissect_h245_NULL },
2180         {  2, "requestDenied", EXTENSION_ROOT, 
2181                         dissect_h245_NULL },
2182         {  0, NULL, 0, NULL }
2183 };
2184 static int
2185 dissect_h245_RequestModeReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2186 {
2187         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestModeReject_cause, ett_h245_RequestModeReject_cause, RequestModeReject_cause_choice, "cause", NULL);
2188
2189         return offset;
2190 }
2191
2192
2193
2194
2195 static const value_string V76ModeParameters_vals[] = {
2196         {  0, "suspendResumewAddress" },
2197         {  1, "suspendResumewoAddress" },
2198         {  0, NULL }
2199 };
2200 static per_choice_t V76ModeParameters_choice[] = {
2201         {  0, "suspendResumewAddress", EXTENSION_ROOT, 
2202                         dissect_h245_NULL },
2203         {  1, "suspendResumewoAddress", EXTENSION_ROOT, 
2204                         dissect_h245_NULL },
2205         {  0, NULL, 0, NULL }
2206 };
2207 static int
2208 dissect_h245_V76ModeParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2209 {
2210         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_V76ModeParameters, ett_h245_V76ModeParameters, V76ModeParameters_choice, "V76ModeParameters", NULL);
2211
2212         return offset;
2213 }
2214
2215
2216
2217 static const value_string H262VideoMode_profileAndLevel_vals[] = {
2218         {  0, "profileAndLevel-SPatML" },
2219         {  1, "profileAndLevel-MPatLL" },
2220         {  2, "profileAndLevel-MPatML" },
2221         {  3, "profileAndLevel-MPatH-14" },
2222         {  4, "profileAndLevel-MPatHL" },
2223         {  5, "profileAndLevel-SNRatLL" },
2224         {  6, "profileAndLevel-SNRatML" },
2225         {  7, "profileAndLevel-SpatialH-14" },
2226         {  8, "profileAndLevel-HPatML" },
2227         {  9, "profileAndLevel-HPatH-14" },
2228         { 10, "profileAndLevel-HPatHL" },
2229         {  0, NULL }
2230 };
2231 static per_choice_t H262VideoMode_profileAndLevel_choice[] = {
2232         {  0, "profileAndLevel-SPatML", EXTENSION_ROOT, 
2233                         dissect_h245_NULL },
2234         {  1, "profileAndLevel-MPatLL", EXTENSION_ROOT, 
2235                         dissect_h245_NULL },
2236         {  2, "profileAndLevel-MPatML", EXTENSION_ROOT, 
2237                         dissect_h245_NULL },
2238         {  3, "profileAndLevel-MPatH-14", EXTENSION_ROOT, 
2239                         dissect_h245_NULL },
2240         {  4, "profileAndLevel-MPatHL", EXTENSION_ROOT, 
2241                         dissect_h245_NULL },
2242         {  5, "profileAndLevel-SNRatLL", EXTENSION_ROOT, 
2243                         dissect_h245_NULL },
2244         {  6, "profileAndLevel-SNRatML", EXTENSION_ROOT, 
2245                         dissect_h245_NULL },
2246         {  7, "profileAndLevel-SpatialH-14", EXTENSION_ROOT, 
2247                         dissect_h245_NULL },
2248         {  8, "profileAndLevel-HPatML", EXTENSION_ROOT, 
2249                         dissect_h245_NULL },
2250         {  9, "profileAndLevel-HPatH-14", EXTENSION_ROOT, 
2251                         dissect_h245_NULL },
2252         { 10, "profileAndLevel-HPatHL", EXTENSION_ROOT, 
2253                         dissect_h245_NULL },
2254         {  0, NULL, 0, NULL }
2255 };
2256 static int
2257 dissect_h245_H262VideoMode_profileAndLevel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2258 {
2259         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H262VideoMode_profileAndLevel, ett_h245_H262VideoMode_profileAndLevel, H262VideoMode_profileAndLevel_choice, "profileAndLevel", NULL);
2260
2261         return offset;
2262 }
2263
2264
2265
2266
2267 static const value_string H263VideoMode_resolution_vals[] = {
2268         {  0, "sqcif" },
2269         {  1, "qcif" },
2270         {  2, "cif" },
2271         {  3, "cif4" },
2272         {  4, "cif16" },
2273         {  5, "custom" },
2274         {  0, NULL }
2275 };
2276 static per_choice_t H263VideoMode_resolution_choice[] = {
2277         {  0, "sqcif", EXTENSION_ROOT, 
2278                         dissect_h245_NULL },
2279         {  1, "qcif", EXTENSION_ROOT, 
2280                         dissect_h245_NULL },
2281         {  2, "cif", EXTENSION_ROOT, 
2282                         dissect_h245_NULL },
2283         {  3, "cif4", EXTENSION_ROOT, 
2284                         dissect_h245_NULL },
2285         {  4, "cif16", EXTENSION_ROOT, 
2286                         dissect_h245_NULL },
2287         {  5, "custom", NOT_EXTENSION_ROOT, 
2288                         dissect_h245_NULL },
2289         {  0, NULL, 0, NULL }
2290 };
2291 static int
2292 dissect_h245_H263VideoMode_resolution(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2293 {
2294         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H263VideoMode_resolution, ett_h245_H263VideoMode_resolution, H263VideoMode_resolution_choice, "resolution", NULL);
2295
2296         return offset;
2297 }
2298
2299
2300 static const value_string AudioMode_g7231_vals[] = {
2301         {  0, "noSilenceSuppressionLowRate" },
2302         {  1, "noSilenceSuppressionHighRate" },
2303         {  2, "silenceSuppressionLowRate" },
2304         {  3, "silenceSuppressionHighRate" },
2305         {  0, NULL }
2306 };
2307 static per_choice_t AudioMode_g7231_choice[] = {
2308         {  0, "noSilenceSuppressionLowRate", NO_EXTENSIONS, 
2309                         dissect_h245_NULL },
2310         {  1, "noSilenceSuppressionHighRate", NO_EXTENSIONS, 
2311                         dissect_h245_NULL },
2312         {  2, "silenceSuppressionLowRate", NO_EXTENSIONS, 
2313                         dissect_h245_NULL },
2314         {  3, "silenceSuppressionHighRate", NO_EXTENSIONS, 
2315                         dissect_h245_NULL },
2316         {  0, NULL, 0, NULL }
2317 };
2318 static int
2319 dissect_h245_AudioMode_g7231(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2320 {
2321         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_AudioMode_g7231, ett_h245_AudioMode_g7231, AudioMode_g7231_choice, "g7231", NULL);
2322
2323         return offset;
2324 }
2325
2326
2327
2328 static const value_string IS11172AudioMode_audioLayer_vals[] = {
2329         {  0, "audioLayer1" },
2330         {  1, "audioLayer2" },
2331         {  2, "audioLayer3" },
2332         {  0, NULL }
2333 };
2334 static per_choice_t IS11172AudioMode_audioLayer_choice[] = {
2335         {  0, "audioLayer1", NO_EXTENSIONS, 
2336                         dissect_h245_NULL },
2337         {  1, "audioLayer2", NO_EXTENSIONS, 
2338                         dissect_h245_NULL },
2339         {  2, "audioLayer3", NO_EXTENSIONS, 
2340                         dissect_h245_NULL },
2341         {  0, NULL, 0, NULL }
2342 };
2343 static int
2344 dissect_h245_IS11172AudioMode_audioLayer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2345 {
2346         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS11172AudioMode_audioLayer, ett_h245_IS11172AudioMode_audioLayer, IS11172AudioMode_audioLayer_choice, "audioLayer", NULL);
2347
2348         return offset;
2349 }
2350
2351
2352
2353 static const value_string IS11172AudioMode_audioSampling_vals[] = {
2354         {  0, "audioSampling32k" },
2355         {  1, "audioSampling44k1" },
2356         {  2, "audioSampling48k" },
2357         {  0, NULL }
2358 };
2359 static per_choice_t IS11172AudioMode_audioSampling_choice[] = {
2360         {  0, "audioSampling32k", NO_EXTENSIONS, 
2361                         dissect_h245_NULL },
2362         {  1, "audioSampling44k1", NO_EXTENSIONS, 
2363                         dissect_h245_NULL },
2364         {  2, "audioSampling48k", NO_EXTENSIONS, 
2365                         dissect_h245_NULL },
2366         {  0, NULL, 0, NULL }
2367 };
2368 static int
2369 dissect_h245_IS11172AudioMode_audioSampling(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2370 {
2371         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS11172AudioMode_audioSampling, ett_h245_IS11172AudioMode_audioSampling, IS11172AudioMode_audioSampling_choice, "audioSampling", NULL);
2372
2373         return offset;
2374 }
2375
2376
2377
2378 static const value_string IS11172AudioMode_multichannelType_vals[] = {
2379         {  0, "singleChannel" },
2380         {  1, "twoChannelStereo" },
2381         {  2, "twoChannelDual" },
2382         {  0, NULL }
2383 };
2384 static per_choice_t IS11172AudioMode_multichannelType_choice[] = {
2385         {  0, "singleChannel", NO_EXTENSIONS, 
2386                         dissect_h245_NULL },
2387         {  1, "twoChannelStereo", NO_EXTENSIONS, 
2388                         dissect_h245_NULL },
2389         {  2, "twoChannelDual", NO_EXTENSIONS, 
2390                         dissect_h245_NULL },
2391         {  0, NULL, 0, NULL }
2392 };
2393 static int
2394 dissect_h245_IS11172AudioMode_multichannelType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2395 {
2396         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS11172AudioMode_multichannelType, ett_h245_IS11172AudioMode_multichannelType, IS11172AudioMode_multichannelType_choice, "multichannelType", NULL);
2397
2398         return offset;
2399 }
2400
2401
2402
2403
2404 static const value_string IS13818AudioMode_audioLayer_vals[] = {
2405         {  0, "audioLayer1" },
2406         {  1, "audioLayer2" },
2407         {  2, "audioLayer3" },
2408         {  0, NULL }
2409 };
2410 static per_choice_t IS13818AudioMode_audioLayer_choice[] = {
2411         {  0, "audioLayer1", NO_EXTENSIONS, 
2412                         dissect_h245_NULL },
2413         {  1, "audioLayer2", NO_EXTENSIONS, 
2414                         dissect_h245_NULL },
2415         {  2, "audioLayer3", NO_EXTENSIONS, 
2416                         dissect_h245_NULL },
2417         {  0, NULL, 0, NULL }
2418 };
2419 static int
2420 dissect_h245_IS13818AudioMode_audioLayer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2421 {
2422         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS13818AudioMode_audioLayer, ett_h245_IS13818AudioMode_audioLayer, IS13818AudioMode_audioLayer_choice, "audioLayer", NULL);
2423
2424         return offset;
2425 }
2426
2427
2428
2429
2430 static const value_string IS13818AudioMode_audioSampling_vals[] = {
2431         {  0, "audioSampling16k" },
2432         {  1, "audioSampling22k05" },
2433         {  2, "audioSampling24k" },
2434         {  3, "audioSampling32k" },
2435         {  4, "audioSampling44k1" },
2436         {  5, "audioSampling48k" },
2437         {  0, NULL }
2438 };
2439 static per_choice_t IS13818AudioMode_audioSampling_choice[] = {
2440         {  0, "audioSampling16k", NO_EXTENSIONS, 
2441                         dissect_h245_NULL },
2442         {  1, "audioSampling22k05", NO_EXTENSIONS, 
2443                         dissect_h245_NULL },
2444         {  2, "audioSampling24k", NO_EXTENSIONS, 
2445                         dissect_h245_NULL },
2446         {  3, "audioSampling32k", NO_EXTENSIONS, 
2447                         dissect_h245_NULL },
2448         {  4, "audioSampling44k1", NO_EXTENSIONS, 
2449                         dissect_h245_NULL },
2450         {  5, "audioSampling48k", NO_EXTENSIONS, 
2451                         dissect_h245_NULL },
2452         {  0, NULL, 0, NULL }
2453 };
2454 static int
2455 dissect_h245_IS13818AudioMode_audioSampling(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2456 {
2457         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS13818AudioMode_audioSampling, ett_h245_IS13818AudioMode_audioSampling, IS13818AudioMode_audioSampling_choice, "audioSampling", NULL);
2458
2459         return offset;
2460 }
2461
2462
2463
2464
2465 static const value_string IS13818AudioMode_multiChannelType_vals[] = {
2466         {  0, "singleChannel" },
2467         {  1, "twoChannelStereo" },
2468         {  2, "twoChannelDual" },
2469         {  3, "threeChannels2-1" },
2470         {  4, "threeChannels3-0" },
2471         {  5, "fourChannels2-0-2-0" },
2472         {  6, "fourChannels2-2" },
2473         {  7, "fourChannels3-1" },
2474         {  8, "fiveChannels3-0-2-0" },
2475         {  9, "fiveChannels3-2" },
2476         {  0, NULL }
2477 };
2478 static per_choice_t IS13818AudioMode_multiChannelType_choice[] = {
2479         {  0, "singleChannel", NO_EXTENSIONS, 
2480                         dissect_h245_NULL },
2481         {  1, "twoChannelStereo", NO_EXTENSIONS, 
2482                         dissect_h245_NULL },
2483         {  2, "twoChannelDual", NO_EXTENSIONS, 
2484                         dissect_h245_NULL },
2485         {  3, "threeChannels2-1", NO_EXTENSIONS, 
2486                         dissect_h245_NULL },
2487         {  4, "threeChannels3-0", NO_EXTENSIONS, 
2488                         dissect_h245_NULL },
2489         {  5, "fourChannels2-0-2-0", NO_EXTENSIONS, 
2490                         dissect_h245_NULL },
2491         {  6, "fourChannels2-2", NO_EXTENSIONS, 
2492                         dissect_h245_NULL },
2493         {  7, "fourChannels3-1", NO_EXTENSIONS, 
2494                         dissect_h245_NULL },
2495         {  8, "fiveChannels3-0-2-0", NO_EXTENSIONS, 
2496                         dissect_h245_NULL },
2497         {  9, "fiveChannels3-2", NO_EXTENSIONS, 
2498                         dissect_h245_NULL },
2499         {  0, NULL, 0, NULL }
2500 };
2501 static int
2502 dissect_h245_IS13818AudioMode_multiChannelType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2503 {
2504         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS13818AudioMode_multiChannelType, ett_h245_IS13818AudioMode_multiChannelType, IS13818AudioMode_multiChannelType_choice, "multiChannelType", NULL);
2505
2506         return offset;
2507 }
2508
2509
2510
2511
2512 static const value_string MaintenanceLoopReject_cause_vals[] = {
2513         {  0, "canNotPerformLoop" },
2514         {  0, NULL }
2515 };
2516 static per_choice_t MaintenanceLoopReject_cause_choice[] = {
2517         {  0, "canNotPerformLoop", EXTENSION_ROOT, 
2518                         dissect_h245_NULL },
2519         {  0, NULL, 0, NULL }
2520 };
2521 static int
2522 dissect_h245_MaintenanceLoopReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2523 {
2524         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopReject_cause, ett_h245_MaintenanceLoopReject_cause, MaintenanceLoopReject_cause_choice, "cause", NULL);
2525
2526         return offset;
2527 }
2528
2529
2530
2531
2532 static const value_string ConferenceResponse_makeMeChairResponse_vals[] = {
2533         {  0, "grantedChairToken" },
2534         {  1, "deniedChairToken" },
2535         {  0, NULL }
2536 };
2537 static per_choice_t ConferenceResponse_makeMeChairResponse_choice[] = {
2538         {  0, "grantedChairToken", EXTENSION_ROOT, 
2539                         dissect_h245_NULL },
2540         {  1, "deniedChairToken", EXTENSION_ROOT, 
2541                         dissect_h245_NULL },
2542         {  0, NULL, 0, NULL }
2543 };
2544 static int
2545 dissect_h245_ConferenceResponse_makeMeChairResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2546 {
2547         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_makeMeChairResponse, ett_h245_ConferenceResponse_makeMeChairResponse, ConferenceResponse_makeMeChairResponse_choice, "makeMeChairResponse", NULL);
2548
2549         return offset;
2550 }
2551
2552
2553
2554
2555 static const value_string ConferenceResponse_broadcastMyLogicalChannelResponse_vals[] = {
2556         {  0, "grantedBroadcastMyLogicalChannel" },
2557         {  1, "deniedBroadcastMyLogicalChannel" },
2558         {  0, NULL }
2559 };
2560 static per_choice_t ConferenceResponse_broadcastMyLogicalChannelResponse_choice[] = {
2561         {  0, "grantedBroadcastMyLogicalChannel", EXTENSION_ROOT, 
2562                         dissect_h245_NULL },
2563         {  1, "deniedBroadcastMyLogicalChannel", EXTENSION_ROOT, 
2564                         dissect_h245_NULL },
2565         {  0, NULL, 0, NULL }
2566 };
2567 static int
2568 dissect_h245_ConferenceResponse_broadcastMyLogicalChannelResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2569 {
2570         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_broadcastMyLogicalChannelResponse, ett_h245_ConferenceResponse_broadcastMyLogicalChannelResponse, ConferenceResponse_broadcastMyLogicalChannelResponse_choice, "broadcastMyLogicalChannelResponse", NULL);
2571
2572         return offset;
2573 }
2574
2575
2576
2577 static const value_string ConferenceResponse_makeTerminalBroadcasterResponse_vals[] = {
2578         {  0, "grantedMakeTerminalBroadcaster" },
2579         {  1, "deniedMakeTerminalBroadcaster" },
2580         {  0, NULL }
2581 };
2582 static per_choice_t ConferenceResponse_makeTerminalBroadcasterResponse_choice[] = {
2583         {  0, "grantedMakeTerminalBroadcaster", EXTENSION_ROOT, 
2584                         dissect_h245_NULL },
2585         {  1, "deniedMakeTerminalBroadcaster", EXTENSION_ROOT, 
2586                         dissect_h245_NULL },
2587         {  0, NULL, 0, NULL }
2588 };
2589 static int
2590 dissect_h245_ConferenceResponse_makeTerminalBroadcasterResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2591 {
2592         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_makeTerminalBroadcasterResponse, ett_h245_ConferenceResponse_makeTerminalBroadcasterResponse, ConferenceResponse_makeTerminalBroadcasterResponse_choice, "makeTerminalBroadcasterResponse", NULL);
2593
2594         return offset;
2595 }
2596
2597
2598
2599
2600 static const value_string ConferenceResponse_sendThisSourceResponse_vals[] = {
2601         {  0, "grantedSendThisSource" },
2602         {  1, "deniedSendThisSource" },
2603         {  0, NULL }
2604 };
2605 static per_choice_t ConferenceResponse_sendThisSourceResponse_choice[] = {
2606         {  0, "grantedSendThisSource", EXTENSION_ROOT, 
2607                         dissect_h245_NULL },
2608         {  1, "deniedSendThisSource", EXTENSION_ROOT, 
2609                         dissect_h245_NULL },
2610         {  0, NULL, 0, NULL }
2611 };
2612 static int
2613 dissect_h245_ConferenceResponse_sendThisSourceResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2614 {
2615         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_sendThisSourceResponse, ett_h245_ConferenceResponse_sendThisSourceResponse, ConferenceResponse_sendThisSourceResponse_choice, "sendThisSourceResponse", NULL);
2616
2617         return offset;
2618 }
2619
2620
2621
2622 static const value_string RemoteMCRequest_vals[] = {
2623         {  0, "masterActivate" },
2624         {  1, "slaveActivate" },
2625         {  2, "deActivate" },
2626         {  0, NULL }
2627 };
2628 static per_choice_t RemoteMCRequest_choice[] = {
2629         {  0, "masterActivate", EXTENSION_ROOT, 
2630                         dissect_h245_NULL },
2631         {  1, "slaveActivate", EXTENSION_ROOT, 
2632                         dissect_h245_NULL },
2633         {  2, "deActivate", EXTENSION_ROOT, 
2634                         dissect_h245_NULL },
2635         {  0, NULL, 0, NULL }
2636 };
2637 static int
2638 dissect_h245_RemoteMCRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2639 {
2640         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RemoteMCRequest, ett_h245_RemoteMCRequest, RemoteMCRequest_choice, "RemoteMCRequest", NULL);
2641
2642         return offset;
2643 }
2644
2645
2646
2647
2648 static const value_string RemoteMCResponse_reject_vals[] = {
2649         {  0, "unspecified" },
2650         {  1, "functionNotSupported" },
2651         {  0, NULL }
2652 };
2653 static per_choice_t RemoteMCResponse_reject_choice[] = {
2654         {  0, "unspecified", EXTENSION_ROOT, 
2655                         dissect_h245_NULL },
2656         {  1, "functionNotSupported", EXTENSION_ROOT, 
2657                         dissect_h245_NULL },
2658         {  0, NULL, 0, NULL }
2659 };
2660 static int
2661 dissect_h245_RemoteMCResponse_reject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2662 {
2663         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RemoteMCResponse_reject, ett_h245_RemoteMCResponse_reject, RemoteMCResponse_reject_choice, "reject", NULL);
2664
2665         return offset;
2666 }
2667
2668
2669
2670
2671 static const value_string RemoteMCResponse_vals[] = {
2672         {  0, "accept" },
2673         {  1, "reject" },
2674         {  0, NULL }
2675 };
2676 static per_choice_t RemoteMCResponse_choice[] = {
2677         {  0, "accept", EXTENSION_ROOT, 
2678                         dissect_h245_NULL },
2679         {  1, "reject", EXTENSION_ROOT, 
2680                         dissect_h245_RemoteMCResponse_reject },
2681         {  0, NULL, 0, NULL }
2682 };
2683 static int
2684 dissect_h245_RemoteMCResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2685 {
2686         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RemoteMCResponse, ett_h245_RemoteMCResponse, RemoteMCResponse_choice, "RemoteMCResponse", NULL);
2687
2688         return offset;
2689 }
2690
2691
2692
2693
2694 static const value_string MultilinkResponse_addConnection_responseCode_rejected_vals[] = {
2695         {  0, "connectionNotAvailable" },
2696         {  1, "userRejected" },
2697         {  0, NULL }
2698 };
2699 static per_choice_t MultilinkResponse_addConnection_responseCode_rejected_choice[] = {
2700         {  0, "connectionNotAvailable", EXTENSION_ROOT, 
2701                         dissect_h245_NULL },
2702         {  1, "userRejected", EXTENSION_ROOT, 
2703                         dissect_h245_NULL },
2704         {  0, NULL, 0, NULL }
2705 };
2706 static int
2707 dissect_h245_MultilinkResponse_addConnection_responseCode_rejected(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2708 {
2709         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);
2710
2711         return offset;
2712 }
2713
2714
2715
2716 static const value_string MultilinkResponse_addConnection_responseCode_vals[] = {
2717         {  0, "accepted" },
2718         {  1, "rejected" },
2719         {  0, NULL }
2720 };
2721 static per_choice_t MultilinkResponse_addConnection_responseCode_choice[] = {
2722         {  0, "accepted", EXTENSION_ROOT, 
2723                         dissect_h245_NULL },
2724         {  1, "rejected", EXTENSION_ROOT, 
2725                         dissect_h245_MultilinkResponse_addConnection_responseCode_rejected },
2726         {  0, NULL, 0, NULL }
2727 };
2728 static int
2729 dissect_h245_MultilinkResponse_addConnection_responseCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2730 {
2731         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse_addConnection_responseCode, ett_h245_MultilinkResponse_addConnection_responseCode, MultilinkResponse_addConnection_responseCode_choice, "responseCode", NULL);
2732
2733         return offset;
2734 }
2735
2736
2737
2738 static const value_string LogicalChannelRateRejectReason_vals[] = {
2739         {  0, "undefinedReason" },
2740         {  1, "insufficientResources" },
2741         {  0, NULL }
2742 };
2743 static per_choice_t LogicalChannelRateRejectReason_choice[] = {
2744         {  0, "undefinedReason", EXTENSION_ROOT, 
2745                         dissect_h245_NULL },
2746         {  1, "insufficientResources", EXTENSION_ROOT, 
2747                         dissect_h245_NULL },
2748         {  0, NULL, 0, NULL }
2749 };
2750 static int
2751 dissect_h245_LogicalChannelRateRejectReason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2752 {
2753         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_LogicalChannelRateRejectReason, ett_h245_LogicalChannelRateRejectReason, LogicalChannelRateRejectReason_choice, "LogicalChannelRateRejectReason", NULL);
2754
2755         return offset;
2756 }
2757
2758
2759
2760
2761 static const value_string EndSessionCommand_gstnOptions_vals[] = {
2762         {  0, "telephonyMode" },
2763         {  1, "v8bis" },
2764         {  2, "v34DSVD" },
2765         {  3, "v34DuplexFax" },
2766         {  4, "v34H324" },
2767         {  0, NULL }
2768 };
2769 static per_choice_t EndSessionCommand_gstnOptions_choice[] = {
2770         {  0, "telephonyMode", EXTENSION_ROOT, 
2771                         dissect_h245_NULL },
2772         {  1, "v8bis", EXTENSION_ROOT, 
2773                         dissect_h245_NULL },
2774         {  2, "v34DSVD", EXTENSION_ROOT, 
2775                         dissect_h245_NULL },
2776         {  3, "v34DuplexFax", EXTENSION_ROOT, 
2777                         dissect_h245_NULL },
2778         {  4, "v34H324", EXTENSION_ROOT, 
2779                         dissect_h245_NULL },
2780         {  0, NULL, 0, NULL }
2781 };
2782 static int
2783 dissect_h245_EndSessionCommand_gstnOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2784 {
2785         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_EndSessionCommand_gstnOptions, ett_h245_EndSessionCommand_gstnOptions, EndSessionCommand_gstnOptions_choice, "gstnOptions", NULL);
2786
2787         return offset;
2788 }
2789
2790
2791
2792
2793 static const value_string EndSessionCommand_isdnOptions_vals[] = {
2794         {  0, "telephonyMode" },
2795         {  1, "v140" },
2796         {  2, "terminalOnHold" },
2797         {  0, NULL }
2798 };
2799 static per_choice_t EndSessionCommand_isdnOptions_choice[] = {
2800         {  0, "telephonyMode", EXTENSION_ROOT, 
2801                         dissect_h245_NULL },
2802         {  1, "v140", EXTENSION_ROOT, 
2803                         dissect_h245_NULL },
2804         {  2, "terminalOnHold", EXTENSION_ROOT, 
2805                         dissect_h245_NULL },
2806         {  0, NULL, 0, NULL }
2807 };
2808 static int
2809 dissect_h245_EndSessionCommand_isdnOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2810 {
2811         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_EndSessionCommand_isdnOptions, ett_h245_EndSessionCommand_isdnOptions, EndSessionCommand_isdnOptions_choice, "isdnOptions", NULL);
2812
2813         return offset;
2814 }
2815
2816
2817
2818
2819 static const value_string MiscellaneousCommand_type_progressiveRefinementStart_repeatCount_vals[] = {
2820         {  0, "doOneProgression" },
2821         {  1, "doContinousProgressions" },
2822         {  2, "doOneIndependentProgression" },
2823         {  3, "doContinousIndependentProgressions" },
2824         {  0, NULL }
2825 };
2826 static per_choice_t MiscellaneousCommand_type_progressiveRefinementStart_repeatCount_choice[] = {
2827         {  0, "doOneProgression", EXTENSION_ROOT, 
2828                         dissect_h245_NULL },
2829         {  1, "doContinousProgressions", EXTENSION_ROOT, 
2830                         dissect_h245_NULL },
2831         {  2, "doOneIndependentProgression", EXTENSION_ROOT, 
2832                         dissect_h245_NULL },
2833         {  3, "doContinousIndependentProgressions", EXTENSION_ROOT, 
2834                         dissect_h245_NULL },
2835         {  0, NULL, 0, NULL }
2836 };
2837 static int
2838 dissect_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2839 {
2840         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);
2841
2842         return offset;
2843 }
2844
2845
2846
2847 static per_sequence_t MiscellaneousCommand_type_progressiveRefinementStart_sequence[] = {
2848         { "repeatCount", EXTENSION_ROOT, NOT_OPTIONAL, 
2849                 dissect_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount },
2850         { NULL, 0, 0, NULL }
2851 };
2852 static int
2853 dissect_h245_MiscellaneousCommand_type_progressiveRefinementStart(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2854 {
2855         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type_progressiveRefinementStart, ett_h245_MiscellaneousCommand_type_progressiveRefinementStart, MiscellaneousCommand_type_progressiveRefinementStart_sequence);
2856
2857         return offset;
2858 }
2859
2860
2861
2862
2863 static const value_string H223MultiplexReconfiguration_h223ModeChange_vals[] = {
2864         {  0, "toLevel0" },
2865         {  1, "toLevel1" },
2866         {  2, "toLevel2" },
2867         {  3, "toLevel2WithOptionalHeader" },
2868         {  0, NULL }
2869 };
2870 static per_choice_t H223MultiplexReconfiguration_h223ModeChange_choice[] = {
2871         {  0, "toLevel0", EXTENSION_ROOT, 
2872                         dissect_h245_NULL },
2873         {  1, "toLevel1", EXTENSION_ROOT, 
2874                         dissect_h245_NULL },
2875         {  2, "toLevel2", EXTENSION_ROOT, 
2876                         dissect_h245_NULL },
2877         {  3, "toLevel2WithOptionalHeader", EXTENSION_ROOT, 
2878                         dissect_h245_NULL },
2879         {  0, NULL, 0, NULL }
2880 };
2881 static int
2882 dissect_h245_H223MultiplexReconfiguration_h223ModeChange(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2883 {
2884         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223MultiplexReconfiguration_h223ModeChange, ett_h245_H223MultiplexReconfiguration_h223ModeChange, H223MultiplexReconfiguration_h223ModeChange_choice, "h223ModeChange", NULL);
2885
2886         return offset;
2887 }
2888
2889
2890
2891
2892 static const value_string H223MultiplexReconfiguration_h223AnnexADoubleFlag_vals[] = {
2893         {  0, "start" },
2894         {  1, "stop" },
2895         {  0, NULL }
2896 };
2897 static per_choice_t H223MultiplexReconfiguration_h223AnnexADoubleFlag_choice[] = {
2898         {  0, "start", EXTENSION_ROOT, 
2899                         dissect_h245_NULL },
2900         {  1, "stop", EXTENSION_ROOT, 
2901                         dissect_h245_NULL },
2902         {  0, NULL, 0, NULL }
2903 };
2904 static int
2905 dissect_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2906 {
2907         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag, ett_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag, H223MultiplexReconfiguration_h223AnnexADoubleFlag_choice, "h223AnnexADoubleFlag", NULL);
2908
2909         return offset;
2910 }
2911
2912
2913
2914
2915 static const value_string H223MultiplexReconfiguration_vals[] = {
2916         {  0, "h233ModeChange" },
2917         {  1, "h223AnnexADoubleFlag" },
2918         {  0, NULL }
2919 };
2920 static per_choice_t H223MultiplexReconfiguration_choice[] = {
2921         {  0, "h233ModeChange", EXTENSION_ROOT, 
2922                         dissect_h245_H223MultiplexReconfiguration_h223ModeChange },
2923         {  1, "h223AnnexADoubleFlag", EXTENSION_ROOT, 
2924                         dissect_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag },
2925         {  0, NULL, 0, NULL }
2926 };
2927 static int
2928 dissect_h245_H223MultiplexReconfiguration(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2929 {
2930         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223MultiplexReconfiguration, ett_h245_H223MultiplexReconfiguration, H223MultiplexReconfiguration_choice, "H223MultiplexReconfiguration", NULL);
2931
2932         return offset;
2933 }
2934
2935
2936
2937
2938 static const value_string NewATMVCCommand_aal_aal1_clockRecovery_vals[] = {
2939         {  0, "nullClockRecovery" },
2940         {  1, "srtsClockRecovery" },
2941         {  2, "adaptiveClockRecovery" },
2942         {  0, NULL }
2943 };
2944 static per_choice_t NewATMVCCommand_aal_aal1_clockRecovery_choice[] = {
2945         {  0, "nullClockRecovery", EXTENSION_ROOT, 
2946                         dissect_h245_NULL },
2947         {  1, "srtsClockRecovery", EXTENSION_ROOT, 
2948                         dissect_h245_NULL },
2949         {  2, "adaptiveClockRecovery", EXTENSION_ROOT, 
2950                         dissect_h245_NULL },
2951         {  0, NULL, 0, NULL }
2952 };
2953 static int
2954 dissect_h245_NewATMVCCommand_aal_aal1_clockRecovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2955 {
2956         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);
2957
2958         return offset;
2959 }
2960
2961
2962
2963
2964
2965 static const value_string NewATMVCCommand_aal_aal1_errorCorrection_vals[] = {
2966         {  0, "nullErrorCorrection" },
2967         {  1, "longInterleaver" },
2968         {  2, "shortInterleaver" },
2969         {  3, "errorCorrectionOnly" },
2970         {  0, NULL }
2971 };
2972 static per_choice_t NewATMVCCommand_aal_aal1_errorCorrection_choice[] = {
2973         {  0, "nullErrorCorrection", EXTENSION_ROOT, 
2974                         dissect_h245_NULL },
2975         {  1, "longInterleaver", EXTENSION_ROOT, 
2976                         dissect_h245_NULL },
2977         {  2, "shortInterleaver", EXTENSION_ROOT, 
2978                         dissect_h245_NULL },
2979         {  3, "errorCorrectionOnly", EXTENSION_ROOT, 
2980                         dissect_h245_NULL },
2981         {  0, NULL, 0, NULL }
2982 };
2983 static int
2984 dissect_h245_NewATMVCCommand_aal_aal1_errorCorrection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2985 {
2986         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);
2987
2988         return offset;
2989 }
2990
2991
2992
2993
2994 static const value_string NewATMVCCommand_multiplex_vals[] = {
2995         {  0, "noMultiplex" },
2996         {  1, "transportStream" },
2997         {  2, "programStream" },
2998         {  0, NULL }
2999 };
3000 static per_choice_t NewATMVCCommand_multiplex_choice[] = {
3001         {  0, "noMultiplex", EXTENSION_ROOT, 
3002                         dissect_h245_NULL },
3003         {  1, "transportStream", EXTENSION_ROOT, 
3004                         dissect_h245_NULL },
3005         {  2, "programStream", EXTENSION_ROOT, 
3006                         dissect_h245_NULL },
3007         {  0, NULL, 0, NULL }
3008 };
3009 static int
3010 dissect_h245_NewATMVCCommand_multiplex(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3011 {
3012         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_multiplex, ett_h245_NewATMVCCommand_multiplex, NewATMVCCommand_multiplex_choice, "multiplex", NULL);
3013
3014         return offset;
3015 }
3016
3017
3018
3019
3020 static const value_string NewATMVCCommand_reverseParameters_multiplex_vals[] = {
3021         {  0, "noMultiplex" },
3022         {  1, "transportStream" },
3023         {  2, "programStream" },
3024         {  0, NULL }
3025 };
3026 static per_choice_t NewATMVCCommand_reverseParameters_multiplex_choice[] = {
3027         {  0, "noMultiplex", EXTENSION_ROOT, 
3028                         dissect_h245_NULL },
3029         {  1, "transportStream", EXTENSION_ROOT, 
3030                         dissect_h245_NULL },
3031         {  2, "programStream", EXTENSION_ROOT, 
3032                         dissect_h245_NULL },
3033         {  0, NULL, 0, NULL }
3034 };
3035 static int
3036 dissect_h245_NewATMVCCommand_reverseParameters_multiplex(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3037 {
3038         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_reverseParameters_multiplex, ett_h245_NewATMVCCommand_reverseParameters_multiplex, NewATMVCCommand_reverseParameters_multiplex_choice, "multiplex", NULL);
3039
3040         return offset;
3041 }
3042
3043
3044
3045 static const value_string MobileMultilinkReconfigurationCommand_status_vals[] = {
3046         {  0, "synchronized" },
3047         {  1, "reconfiguration" },
3048         {  0, NULL }
3049 };
3050 static per_choice_t MobileMultilinkReconfigurationCommand_status_choice[] = {
3051         {  0, "synchronized", EXTENSION_ROOT, 
3052                         dissect_h245_NULL },
3053         {  1, "reconfiguration", EXTENSION_ROOT, 
3054                         dissect_h245_NULL },
3055         {  0, NULL, 0, NULL }
3056 };
3057 static int
3058 dissect_h245_MobileMultilinkReconfigurationCommand_status(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3059 {
3060         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MobileMultilinkReconfigurationCommand_status, ett_h245_MobileMultilinkReconfigurationCommand_status, MobileMultilinkReconfigurationCommand_status_choice, "status", NULL);
3061
3062         return offset;
3063 }
3064
3065
3066
3067
3068 static const value_string FunctionNotSupported_cause_vals[] = {
3069         {  0, "syntaxError" },
3070         {  1, "semanticError" },
3071         {  2, "unknownFunction" },
3072         {  0, NULL }
3073 };
3074 static per_choice_t FunctionNotSupported_cause_choice[] = {
3075         {  0, "syntaxError", EXTENSION_ROOT, 
3076                         dissect_h245_NULL },
3077         {  1, "semanticError", EXTENSION_ROOT, 
3078                         dissect_h245_NULL },
3079         {  2, "unknownFunction", EXTENSION_ROOT, 
3080                         dissect_h245_NULL },
3081         {  0, NULL, 0, NULL }
3082 };
3083 static int
3084 dissect_h245_FunctionNotSupported_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3085 {
3086         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FunctionNotSupported_cause, ett_h245_FunctionNotSupported_cause, FunctionNotSupported_cause_choice, "cause", NULL);
3087
3088         return offset;
3089 }
3090
3091
3092
3093
3094 static const value_string NewATMVCIndication_aal_aal1_clockRecovery_vals[] = {
3095         {  0, "nullClockRecovery" },
3096         {  1, "srtsClockRecovery" },
3097         {  2, "adaptiveClockRecovery" },
3098         {  0, NULL }
3099 };
3100 static per_choice_t NewATMVCIndication_aal_aal1_clockRecovery_choice[] = {
3101         {  0, "nullClockRecovery", EXTENSION_ROOT, 
3102                         dissect_h245_NULL },
3103         {  1, "srtsClockRecovery", EXTENSION_ROOT, 
3104                         dissect_h245_NULL },
3105         {  2, "adaptiveClockRecovery", EXTENSION_ROOT, 
3106                         dissect_h245_NULL },
3107         {  0, NULL, 0, NULL }
3108 };
3109 static int
3110 dissect_h245_NewATMVCIndication_aal_aal1_clockRecovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3111 {
3112         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);
3113
3114         return offset;
3115 }
3116
3117
3118
3119 static const value_string NewATMVCIndication_aal_aal1_errorCorrection_vals[] = {
3120         {  0, "nullErrorCorrection" },
3121         {  1, "longInterleaver" },
3122         {  2, "shortInterleaver" },
3123         {  3, "errorCorrectionOnly" },
3124         {  0, NULL }
3125 };
3126 static per_choice_t NewATMVCIndication_aal_aal1_errorCorrection_choice[] = {
3127         {  0, "nullErrorCorrection", EXTENSION_ROOT, 
3128                         dissect_h245_NULL },
3129         {  1, "longInterleaver", EXTENSION_ROOT, 
3130                         dissect_h245_NULL },
3131         {  2, "shortInterleaver", EXTENSION_ROOT, 
3132                         dissect_h245_NULL },
3133         {  3, "errorCorrectionOnly", EXTENSION_ROOT, 
3134                         dissect_h245_NULL },
3135         {  0, NULL, 0, NULL }
3136 };
3137 static int
3138 dissect_h245_NewATMVCIndication_aal_aal1_errorCorrection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3139 {
3140         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);
3141
3142         return offset;
3143 }
3144
3145
3146
3147
3148 static const value_string NewATMVCIndication_multiplex_vals[] = {
3149         {  0, "noMultiplex" },
3150         {  1, "transportStream" },
3151         {  2, "programStream" },
3152         {  0, NULL }
3153 };
3154 static per_choice_t NewATMVCIndication_multiplex_choice[] = {
3155         {  0, "noMultiplex", EXTENSION_ROOT, 
3156                         dissect_h245_NULL },
3157         {  1, "transportStream", EXTENSION_ROOT, 
3158                         dissect_h245_NULL },
3159         {  2, "programStream", EXTENSION_ROOT, 
3160                         dissect_h245_NULL },
3161         {  0, NULL, 0, NULL }
3162 };
3163 static int
3164 dissect_h245_NewATMVCIndication_multiplex(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3165 {
3166         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_multiplex, ett_h245_NewATMVCIndication_multiplex, NewATMVCIndication_multiplex_choice, "multiplex", NULL);
3167
3168         return offset;
3169 }
3170
3171
3172
3173
3174 static const value_string NewATMVCIndication_reverseParameters_multiplex_vals[] = {
3175         {  0, "noMultiplex" },
3176         {  1, "transportStream" },
3177         {  2, "programStream" },
3178         {  0, NULL }
3179 };
3180 static per_choice_t NewATMVCIndication_reverseParameters_multiplex_choice[] = {
3181         {  0, "noMultiplex", EXTENSION_ROOT, 
3182                         dissect_h245_NULL },
3183         {  1, "transportStream", EXTENSION_ROOT, 
3184                         dissect_h245_NULL },
3185         {  2, "programStream", EXTENSION_ROOT, 
3186                         dissect_h245_NULL },
3187         {  0, NULL, 0, NULL }
3188 };
3189 static int
3190 dissect_h245_NewATMVCIndication_reverseParameters_multiplex(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3191 {
3192         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_reverseParameters_multiplex, ett_h245_NewATMVCIndication_reverseParameters_multiplex, NewATMVCIndication_reverseParameters_multiplex_choice, "multiplex", NULL);
3193
3194         return offset;
3195 }
3196
3197
3198
3199 static int
3200 dissect_h245_LogicalChannelNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3201 {
3202         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
3203                 tree, hf_h245_LogicalChannelNumber, 1, 65535, 
3204                 NULL, NULL, FALSE);
3205         return offset;
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, 0, 65535, 
3213                 NULL, NULL, FALSE);
3214         return offset;
3215 }
3216
3217
3218 static int
3219 dissect_h245_SequenceNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3220 {
3221         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
3222                 tree, hf_h245_SequenceNumber, 0, 255, 
3223                 NULL, NULL, FALSE);
3224         return offset;
3225 }
3226
3227
3228
3229
3230 static const value_string MaintenanceLoopRequest_type_vals[] = {
3231         {  0, "systemLoop" },
3232         {  1, "mediaLoop" },
3233         {  2, "logicalChannelLoop" },
3234         {  0, NULL }
3235 };
3236 static per_choice_t MaintenanceLoopRequest_type_choice[] = {
3237         {  0, "systemLoop", EXTENSION_ROOT, 
3238                         dissect_h245_NULL },
3239         {  1, "mediaLoop", EXTENSION_ROOT, 
3240                         dissect_h245_LogicalChannelNumber },
3241         {  2, "logicalChannelLoop", EXTENSION_ROOT, 
3242                         dissect_h245_LogicalChannelNumber },
3243         {  0, NULL, 0, NULL }
3244 };
3245 static int
3246 dissect_h245_MaintenanceLoopRequest_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3247 {
3248         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopRequest_type, ett_h245_MaintenanceLoopRequest_type, MaintenanceLoopRequest_type_choice, "type", NULL);
3249
3250         return offset;
3251 }
3252
3253
3254
3255
3256 static const value_string MaintenanceLoopAck_type_vals[] = {
3257         {  0, "systemLoop" },
3258         {  1, "mediaLoop" },
3259         {  2, "logicalChannelLoop" },
3260         {  0, NULL }
3261 };
3262 static per_choice_t MaintenanceLoopAck_type_choice[] = {
3263         {  0, "systemLoop", EXTENSION_ROOT, 
3264                         dissect_h245_NULL },
3265         {  1, "mediaLoop", EXTENSION_ROOT, 
3266                         dissect_h245_LogicalChannelNumber },
3267         {  2, "logicalChannelLoop", EXTENSION_ROOT, 
3268                         dissect_h245_LogicalChannelNumber },
3269         {  0, NULL, 0, NULL }
3270 };
3271 static int
3272 dissect_h245_MaintenanceLoopAck_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3273 {
3274         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopAck_type, ett_h245_MaintenanceLoopAck_type, MaintenanceLoopAck_type_choice, "type", NULL);
3275
3276         return offset;
3277 }
3278
3279
3280
3281
3282 static const value_string MaintenanceLoopReject_type_vals[] = {
3283         {  0, "systemLoop" },
3284         {  1, "mediaLoop" },
3285         {  2, "logicalChannelLoop" },
3286         {  0, NULL }
3287 };
3288 static per_choice_t MaintenanceLoopReject_type_choice[] = {
3289         {  0, "systemLoop", EXTENSION_ROOT, 
3290                         dissect_h245_NULL },
3291         {  1, "mediaLoop", EXTENSION_ROOT, 
3292                         dissect_h245_LogicalChannelNumber },
3293         {  2, "logicalChannelLoop", EXTENSION_ROOT, 
3294                         dissect_h245_LogicalChannelNumber },
3295         {  0, NULL, 0, NULL }
3296 };
3297 static int
3298 dissect_h245_MaintenanceLoopReject_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3299 {
3300         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopReject_type, ett_h245_MaintenanceLoopReject_type, MaintenanceLoopReject_type_choice, "type", NULL);
3301
3302         return offset;
3303 }
3304
3305
3306
3307
3308 static per_sequence_t OpenLogicalChannelReject_sequence[] = {
3309         { "forwardLogicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3310                 dissect_h245_LogicalChannelNumber },
3311         { "cause", EXTENSION_ROOT, NOT_OPTIONAL, 
3312                 dissect_h245_OpenLogicalChannelReject_cause },
3313         { NULL, 0, 0, NULL }
3314 };
3315 static int
3316 dissect_h245_OpenLogicalChannelReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3317 {
3318         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelReject, ett_h245_OpenLogicalChannelReject, OpenLogicalChannelReject_sequence);
3319
3320         return offset;
3321 }
3322
3323
3324
3325
3326 static per_sequence_t CloseLogicalChannel_sequence[] = {
3327         { "forwardLogicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3328                 dissect_h245_LogicalChannelNumber },
3329         { "source", EXTENSION_ROOT, NOT_OPTIONAL, 
3330                 dissect_h245_CloseLogicalChannel_source },
3331         { "reason", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
3332                 dissect_h245_CloseLogicalChannel_reason },
3333         { NULL, 0, 0, NULL }
3334 };
3335 static int
3336 dissect_h245_CloseLogicalChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3337 {
3338         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CloseLogicalChannel, ett_h245_CloseLogicalChannel, CloseLogicalChannel_sequence);
3339
3340         return offset;
3341 }
3342
3343
3344
3345
3346 static per_sequence_t CloseLogicalChannelAck_sequence[] = {
3347         { "forwardLogicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3348                 dissect_h245_LogicalChannelNumber },
3349         { NULL, 0, 0, NULL }
3350 };
3351 static int
3352 dissect_h245_CloseLogicalChannelAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3353 {
3354         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CloseLogicalChannelAck, ett_h245_CloseLogicalChannelAck, CloseLogicalChannelAck_sequence);
3355
3356         return offset;
3357 }
3358
3359
3360
3361
3362 static per_sequence_t RequestChannelCloseAck_sequence[] = {
3363         { "forwardLogiclChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3364                 dissect_h245_LogicalChannelNumber },
3365         { NULL, 0, 0, NULL }
3366 };
3367 static int
3368 dissect_h245_RequestChannelCloseAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3369 {
3370         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestChannelCloseAck, ett_h245_RequestChannelCloseAck, RequestChannelCloseAck_sequence);
3371
3372         return offset;
3373 }
3374
3375
3376
3377
3378 static per_sequence_t RequestChannelCloseReject_sequence[] = {
3379         { "forwardLogicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3380                 dissect_h245_LogicalChannelNumber },
3381         { "cause", EXTENSION_ROOT, NOT_OPTIONAL, 
3382                 dissect_h245_RequestChannelCloseReject_cause },
3383         { NULL, 0, 0, NULL }
3384 };
3385 static int
3386 dissect_h245_RequestChannelCloseReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3387 {
3388         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestChannelCloseReject, ett_h245_RequestChannelCloseReject, RequestChannelCloseReject_sequence);
3389
3390         return offset;
3391 }
3392
3393
3394
3395
3396 static per_sequence_t RequestChannelCloseRelease_sequence[] = {
3397         { "forwardLogicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3398                 dissect_h245_LogicalChannelNumber },
3399         { NULL, 0, 0, NULL }
3400 };
3401 static int
3402 dissect_h245_RequestChannelCloseRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3403 {
3404         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestChannelCloseRelease, ett_h245_RequestChannelCloseRelease, RequestChannelCloseRelease_sequence);
3405
3406         return offset;
3407 }
3408
3409
3410
3411
3412
3413 static per_sequence_t MultiplexedStreamModeParameters_sequence[] = {
3414         { "logicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3415                 dissect_h245_LogicalChannelNumber },
3416         { NULL, 0, 0, NULL }
3417 };
3418 static int
3419 dissect_h245_MultiplexedStreamModeParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3420 {
3421         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexedStreamModeParameters, ett_h245_MultiplexedStreamModeParameters, MultiplexedStreamModeParameters_sequence);
3422
3423         return offset;
3424 }
3425
3426
3427
3428
3429 static per_sequence_t MaintenanceLoopRequest_sequence[] = {
3430         { "type", EXTENSION_ROOT, NOT_OPTIONAL, 
3431                 dissect_h245_MaintenanceLoopRequest_type },
3432         { NULL, 0, 0, NULL }
3433 };
3434 static int
3435 dissect_h245_MaintenanceLoopRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3436 {
3437         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopRequest, ett_h245_MaintenanceLoopRequest, MaintenanceLoopRequest_sequence);
3438
3439         return offset;
3440 }
3441
3442
3443
3444
3445 static per_sequence_t MaintenanceLoopAck_sequence[] = {
3446         { "type", EXTENSION_ROOT, NOT_OPTIONAL, 
3447                 dissect_h245_MaintenanceLoopAck_type },
3448         { NULL, 0, 0, NULL }
3449 };
3450 static int
3451 dissect_h245_MaintenanceLoopAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3452 {
3453         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopAck, ett_h245_MaintenanceLoopAck, MaintenanceLoopAck_sequence);
3454
3455         return offset;
3456 }
3457
3458
3459
3460 static per_sequence_t MaintenanceLoopReject_sequence[] = {
3461         { "type", EXTENSION_ROOT, NOT_OPTIONAL, 
3462                         dissect_h245_MaintenanceLoopReject_type },
3463         { "cause", EXTENSION_ROOT, NOT_OPTIONAL, 
3464                         dissect_h245_MaintenanceLoopReject_cause },
3465         { NULL, 0, 0, NULL }
3466 };
3467 static int
3468 dissect_h245_MaintenanceLoopReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3469 {
3470         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopReject, ett_h245_MaintenanceLoopReject, MaintenanceLoopReject_sequence);
3471
3472         return offset;
3473 }
3474
3475
3476
3477 static per_sequence_t UserInputIndication_signalUpdate_rtp_sequence[] = {
3478         { "logicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3479                         dissect_h245_LogicalChannelNumber },
3480         { NULL, 0, 0, NULL }
3481 };
3482 static int
3483 dissect_h245_UserInputIndication_signalUpdate_rtp(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3484 {
3485         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_signalUpdate_rtp, ett_h245_UserInputIndication_signalUpdate_rtp, UserInputIndication_signalUpdate_rtp_sequence);
3486
3487         return offset;
3488 }
3489
3490
3491
3492 static per_sequence_t OpenLogicalChannelConfirm_sequence[] = {
3493         { "forwardLogicalChannelNumber",        EXTENSION_ROOT, NOT_OPTIONAL, 
3494                         dissect_h245_LogicalChannelNumber },
3495         { NULL, 0, 0, NULL }
3496 };
3497 static int
3498 dissect_h245_OpenLogicalChannelConfirm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3499 {
3500         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelConfirm, ett_h245_OpenLogicalChannelConfirm, OpenLogicalChannelConfirm_sequence);
3501
3502         return offset;
3503 }
3504
3505
3506
3507 static per_sequence_t TerminalCapabilitySetAck_sequence[] = {
3508         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3509                 dissect_h245_SequenceNumber },
3510         { NULL, 0, 0, NULL }
3511 };
3512 static int
3513 dissect_h245_TerminalCapabilitySetAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3514 {
3515         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySetAck, ett_h245_TerminalCapabilitySetAck, TerminalCapabilitySetAck_sequence);
3516
3517         return offset;
3518 }
3519
3520
3521
3522 static per_sequence_t RequestModeReject_sequence[] = {
3523         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3524                 dissect_h245_SequenceNumber },
3525         { "cause", EXTENSION_ROOT, NOT_OPTIONAL, 
3526                 dissect_h245_RequestModeReject_cause },
3527         { NULL, 0, 0, NULL }
3528 };
3529 static int
3530 dissect_h245_RequestModeReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3531 {
3532         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestModeReject, ett_h245_RequestModeReject, RequestModeReject_sequence);
3533
3534         return offset;
3535 }
3536
3537
3538
3539
3540 static per_sequence_t RoundTripDelayRequest_sequence[] = {
3541         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3542                 dissect_h245_SequenceNumber },
3543         { NULL, 0, 0, NULL }
3544 };
3545 static int
3546 dissect_h245_RoundTripDelayRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3547 {
3548         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RoundTripDelayRequest, ett_h245_RoundTripDelayRequest, RoundTripDelayRequest_sequence);
3549
3550         return offset;
3551 }
3552
3553
3554
3555
3556 static per_sequence_t RoundTripDelayResponse_sequence[] = {
3557         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3558                 dissect_h245_SequenceNumber },
3559         { NULL, 0, 0, NULL }
3560 };
3561 static int
3562 dissect_h245_RoundTripDelayResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3563 {
3564         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RoundTripDelayResponse, ett_h245_RoundTripDelayResponse, RoundTripDelayResponse_sequence);
3565
3566         return offset;
3567 }
3568
3569
3570
3571 static per_sequence_t MultilinkResponse_addConnection_sequence[] = {
3572         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3573                 dissect_h245_SequenceNumber },
3574         { "responseCode", EXTENSION_ROOT, NOT_OPTIONAL, 
3575                 dissect_h245_MultilinkResponse_addConnection_responseCode },
3576         { NULL, 0, 0, NULL }
3577 };
3578 static int
3579 dissect_h245_MultilinkResponse_addConnection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3580 {
3581         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse_addConnection, ett_h245_MultilinkResponse_addConnection, MultilinkResponse_addConnection_sequence);
3582
3583         return offset;
3584 }
3585
3586
3587
3588
3589 static const true_false_string tfs_h233EncryptionTransmitCapability_bit = {
3590         "h233EncryptionTransmitCapability bit is SET",
3591         "h233EncryptionTransmitCapability bit is CLEAR"
3592 };
3593 static int
3594 dissect_h245_h233EncryptionTransmitCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3595 {
3596         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h233EncryptionTransmitCapability, NULL, NULL);
3597
3598         return offset;
3599 }
3600
3601
3602 static const true_false_string tfs_nullClockRecovery_bit = {
3603         "nullClockRecovery bit is SET",
3604         "nullClockRecovery bit is CLEAR"
3605 };
3606 static int
3607 dissect_h245_nullClockRecovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3608 {
3609         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_nullClockRecovery, NULL, NULL);
3610
3611         return offset;
3612 }
3613
3614
3615 static const true_false_string tfs_srtsClockRecovery_bit = {
3616         "srtsClockRecovery bit is SET",
3617         "srtsClockRecovery bit is CLEAR"
3618 };
3619 static int
3620 dissect_h245_srtsClockRecovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3621 {
3622         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_srtsClockRecovery, NULL, NULL);
3623
3624         return offset;
3625 }
3626
3627
3628
3629 static const true_false_string tfs_adaptiveClockRecovery_bit = {
3630         "adaptiveClockRecovery bit is SET",
3631         "adaptiveClockRecovery bit is CLEAR"
3632 };
3633 static int
3634 dissect_h245_adaptiveClockRecovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3635 {
3636         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_adaptiveClockRecovery, NULL, NULL);
3637
3638         return offset;
3639 }
3640
3641
3642
3643
3644 static const true_false_string tfs_nullErrorCorrection_bit = {
3645         "nullErrorCorrection bit is SET",
3646         "nullErrorCorrection bit is CLEAR"
3647 };
3648 static int
3649 dissect_h245_nullErrorCorrection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3650 {
3651         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_nullErrorCorrection, NULL, NULL);
3652
3653         return offset;
3654 }
3655
3656
3657
3658 static const true_false_string tfs_longInterleaver_bit = {
3659         "longInterleaver bit is SET",
3660         "longInterleaver bit is CLEAR"
3661 };
3662 static int
3663 dissect_h245_longInterleaver(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3664 {
3665         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_longInterleaver, NULL, NULL);
3666
3667         return offset;
3668 }
3669
3670
3671
3672 static const true_false_string tfs_shortInterleaver_bit = {
3673         "shortInterleaver bit is SET",
3674         "shortInterleaver bit is CLEAR"
3675 };
3676 static int
3677 dissect_h245_shortInterleaver(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3678 {
3679         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_shortInterleaver, NULL, NULL);
3680
3681         return offset;
3682 }
3683
3684
3685
3686 static const true_false_string tfs_errorCorrectionOnly_bit = {
3687         "errorCorrectionOnly bit is SET",
3688         "errorCorrectionOnly bit is CLEAR"
3689 };
3690 static int
3691 dissect_h245_errorCorrectionOnly(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3692 {
3693         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_errorCorrectionOnly, NULL, NULL);
3694
3695         return offset;
3696 }
3697
3698
3699
3700
3701
3702 static const true_false_string tfs_structuredDataTransfer_bit = {
3703         "structuredDataTransfer bit is SET",
3704         "structuredDataTransfer bit is CLEAR"
3705 };
3706 static int
3707 dissect_h245_structuredDataTransfer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3708 {
3709         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_structuredDataTransfer, NULL, NULL);
3710
3711         return offset;
3712 }
3713
3714
3715
3716
3717
3718 static const true_false_string tfs_partiallyFilledCells_bit = {
3719         "partiallyFilledCells bit is SET",
3720         "partiallyFilledCells bit is CLEAR"
3721 };
3722 static int
3723 dissect_h245_partiallyFilledCells(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3724 {
3725         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_partiallyFilledCells, NULL, NULL);
3726
3727         return offset;
3728 }
3729
3730
3731
3732
3733 static per_sequence_t VCCapability_aal1_sequence[] = {
3734         { "nullClockRecovery", EXTENSION_ROOT, NOT_OPTIONAL, 
3735                 dissect_h245_nullClockRecovery },
3736         { "srtsClockRecovery", EXTENSION_ROOT, NOT_OPTIONAL, 
3737                 dissect_h245_srtsClockRecovery },
3738         { "adaptiveClockRecovery", EXTENSION_ROOT, NOT_OPTIONAL, 
3739                 dissect_h245_adaptiveClockRecovery },
3740         { "nullErrorCorrection", EXTENSION_ROOT, NOT_OPTIONAL, 
3741                 dissect_h245_nullErrorCorrection },
3742         { "longInterleaver", EXTENSION_ROOT, NOT_OPTIONAL, 
3743                 dissect_h245_longInterleaver },
3744         { "shortInterleaver", EXTENSION_ROOT, NOT_OPTIONAL, 
3745                 dissect_h245_shortInterleaver },
3746         { "errorCorrectionOnly", EXTENSION_ROOT, NOT_OPTIONAL, 
3747                 dissect_h245_errorCorrectionOnly },
3748         { "structuredDataTransfer", EXTENSION_ROOT, NOT_OPTIONAL, 
3749                 dissect_h245_structuredDataTransfer },
3750         { "partiallyFilledCells", EXTENSION_ROOT, NOT_OPTIONAL, 
3751                 dissect_h245_partiallyFilledCells },
3752         { NULL, 0, 0, NULL }
3753 };
3754 static int
3755 dissect_h245_VCCapability_aal1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3756 {
3757         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability_aal1, ett_h245_VCCapability_aal1, VCCapability_aal1_sequence);
3758
3759         return offset;
3760 }
3761
3762
3763
3764
3765
3766 static per_sequence_t NewATMVCCommand_aal_aal1_sequence[] = {
3767         { "clockRecovery", EXTENSION_ROOT, NOT_OPTIONAL, 
3768                 dissect_h245_NewATMVCCommand_aal_aal1_clockRecovery },
3769         { "errorCorrection", EXTENSION_ROOT, NOT_OPTIONAL, 
3770                 dissect_h245_NewATMVCCommand_aal_aal1_errorCorrection },
3771         { "structuredDataTransfer", EXTENSION_ROOT, NOT_OPTIONAL, 
3772                 dissect_h245_structuredDataTransfer },
3773         { "partiallyFilledCells", EXTENSION_ROOT, NOT_OPTIONAL, 
3774                 dissect_h245_partiallyFilledCells },
3775         { NULL, 0, 0, NULL }
3776 };
3777 static int
3778 dissect_h245_NewATMVCCommand_aal_aal1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3779 {
3780         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_aal_aal1, ett_h245_NewATMVCCommand_aal_aal1, NewATMVCCommand_aal_aal1_sequence);
3781
3782         return offset;
3783 }
3784
3785
3786
3787 static per_sequence_t NewATMVCIndication_aal_aal1_sequence[] = {
3788         { "clockRecovery", EXTENSION_ROOT, NOT_OPTIONAL, 
3789                 dissect_h245_NewATMVCIndication_aal_aal1_clockRecovery },
3790         { "errorCorrection", EXTENSION_ROOT, NOT_OPTIONAL, 
3791                 dissect_h245_NewATMVCIndication_aal_aal1_errorCorrection },
3792         { "structuredDataTransfer", EXTENSION_ROOT, NOT_OPTIONAL, 
3793                 dissect_h245_structuredDataTransfer },
3794         { "partiallyFilledCells", EXTENSION_ROOT, NOT_OPTIONAL, 
3795                 dissect_h245_partiallyFilledCells },
3796         { NULL, 0, 0, NULL }
3797 };
3798 static int
3799 dissect_h245_NewATMVCIndication_aal_aal1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3800 {
3801         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_aal_aal1, ett_h245_NewATMVCIndication_aal_aal1, NewATMVCIndication_aal_aal1_sequence);
3802
3803         return offset;
3804 }
3805
3806
3807
3808
3809
3810 static const true_false_string tfs_transportStream_bit = {
3811         "transportStream bit is SET",
3812         "transportStream bit is CLEAR"
3813 };
3814 static int
3815 dissect_h245_transportStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3816 {
3817         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_transportStream, NULL, NULL);
3818
3819         return offset;
3820 }
3821
3822
3823
3824
3825
3826 static const true_false_string tfs_programStream_bit = {
3827         "programStream bit is SET",
3828         "programStream bit is CLEAR"
3829 };
3830 static int
3831 dissect_h245_programStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3832 {
3833         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_programStream, NULL, NULL);
3834
3835         return offset;
3836 }
3837
3838
3839
3840
3841
3842 static const true_false_string tfs_videoWithAL1_bit = {
3843         "videoWithAL1 bit is SET",
3844         "videoWithAL1 bit is CLEAR"
3845 };
3846 static int
3847 dissect_h245_videoWithAL1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3848 {
3849         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL1, NULL, NULL);
3850
3851         return offset;
3852 }
3853
3854
3855
3856
3857
3858 static const true_false_string tfs_videoWithAL2_bit = {
3859         "videoWithAL2 bit is SET",
3860         "videoWithAL2 bit is CLEAR"
3861 };
3862 static int
3863 dissect_h245_videoWithAL2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3864 {
3865         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL2, NULL, NULL);
3866
3867         return offset;
3868 }
3869
3870
3871
3872
3873
3874 static const true_false_string tfs_videoWithAL3_bit = {
3875         "videoWithAL3 bit is SET",
3876         "videoWithAL3 bit is CLEAR"
3877 };
3878 static int
3879 dissect_h245_videoWithAL3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3880 {
3881         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL3, NULL, NULL);
3882
3883         return offset;
3884 }
3885
3886
3887
3888
3889
3890 static const true_false_string tfs_audioWithAL1_bit = {
3891         "audioWithAL1 bit is SET",
3892         "audioWithAL1 bit is CLEAR"
3893 };
3894 static int
3895 dissect_h245_audioWithAL1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3896 {
3897         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL1, NULL, NULL);
3898
3899         return offset;
3900 }
3901
3902
3903
3904
3905
3906 static const true_false_string tfs_audioWithAL2_bit = {
3907         "audioWithAL2 bit is SET",
3908         "audioWithAL2 bit is CLEAR"
3909 };
3910 static int
3911 dissect_h245_audioWithAL2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3912 {
3913         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL2, NULL, NULL);
3914
3915         return offset;
3916 }
3917
3918
3919
3920
3921
3922 static const true_false_string tfs_audioWithAL3_bit = {
3923         "audioWithAL3 bit is SET",
3924         "audioWithAL3 bit is CLEAR"
3925 };
3926 static int
3927 dissect_h245_audioWithAL3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3928 {
3929         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL3, NULL, NULL);
3930
3931         return offset;
3932 }
3933
3934
3935
3936
3937
3938 static const true_false_string tfs_dataWithAL1_bit = {
3939         "dataWithAL1 bit is SET",
3940         "dataWithAL1 bit is CLEAR"
3941 };
3942 static int
3943 dissect_h245_dataWithAL1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3944 {
3945         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL1, NULL, NULL);
3946
3947         return offset;
3948 }
3949
3950
3951
3952
3953
3954 static const true_false_string tfs_dataWithAL2_bit = {
3955         "dataWithAL2 bit is SET",
3956         "dataWithAL2 bit is CLEAR"
3957 };
3958 static int
3959 dissect_h245_dataWithAL2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3960 {
3961         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL2, NULL, NULL);
3962
3963         return offset;
3964 }
3965
3966
3967
3968
3969
3970 static const true_false_string tfs_dataWithAL3_bit = {
3971         "dataWithAL3 bit is SET",
3972         "dataWithAL3 bit is CLEAR"
3973 };
3974 static int
3975 dissect_h245_dataWithAL3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3976 {
3977         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL3, NULL, NULL);
3978
3979         return offset;
3980 }
3981
3982
3983
3984 static const true_false_string tfs_maxMUXPDUSizeCapability_bit = {
3985         "maxMUXPDUSizeCapability bit is SET",
3986         "maxMUXPDUSizeCapability bit is CLEAR"
3987 };
3988 static int
3989 dissect_h245_maxMUXPDUSizeCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3990 {
3991         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_maxMUXPDUSizeCapability, NULL, NULL);
3992
3993         return offset;
3994 }
3995
3996
3997
3998
3999
4000
4001 static const true_false_string tfs_nsrpSupport_bit = {
4002         "nsrpSupport bit is SET",
4003         "nsrpSupport bit is CLEAR"
4004 };
4005 static int
4006 dissect_h245_nsrpSupport(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4007 {
4008         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_nsrpSupport, NULL, NULL);
4009
4010         return offset;
4011 }
4012
4013
4014
4015
4016
4017 static const true_false_string tfs_modeChangeCapability_bit = {
4018         "modeChangeCapability bit is SET",
4019         "modeChangeCapability bit is CLEAR"
4020 };
4021 static int
4022 dissect_h245_modeChangeCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4023 {
4024         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_modeChangeCapability, NULL, NULL);
4025
4026         return offset;
4027 }
4028
4029
4030
4031
4032
4033 static const true_false_string tfs_h223AnnexA_bit = {
4034         "h223AnnexA bit is SET",
4035         "h223AnnexA bit is CLEAR"
4036 };
4037 static int
4038 dissect_h245_h223AnnexA(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4039 {
4040         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h223AnnexA, NULL, NULL);
4041
4042         return offset;
4043 }
4044
4045
4046
4047
4048
4049
4050 static const true_false_string tfs_h223AnnexADoubleFlag_bool_bit = {
4051         "h223AnnexADoubleFlag_bool bit is SET",
4052         "h223AnnexADoubleFlag_bool bit is CLEAR"
4053 };
4054 static int
4055 dissect_h245_h223AnnexADoubleFlag_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4056 {
4057         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h223AnnexADoubleFlag_bool, NULL, NULL);
4058
4059         return offset;
4060 }
4061
4062
4063
4064
4065
4066 static const true_false_string tfs_h223AnnexB_bit = {
4067         "h223AnnexB bit is SET",
4068         "h223AnnexB bit is CLEAR"
4069 };
4070 static int
4071 dissect_h245_h223AnnexB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4072 {
4073         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h223AnnexB, NULL, NULL);
4074
4075         return offset;
4076 }
4077
4078
4079
4080
4081
4082 static const true_false_string tfs_h223AnnexBwithHeader_bit = {
4083         "h223AnnexBwithHeader bit is SET",
4084         "h223AnnexBwithHeader bit is CLEAR"
4085 };
4086 static int
4087 dissect_h245_h223AnnexBwithHeader(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4088 {
4089         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h223AnnexBwithHeader, NULL, NULL);
4090
4091         return offset;
4092 }
4093
4094
4095
4096 static per_sequence_t H223Capability_mobileOperationTransmitCapability_sequence[] = {
4097         { "modeChangeCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
4098                 dissect_h245_modeChangeCapability },
4099         { "h223AnnexA", EXTENSION_ROOT, NOT_OPTIONAL, 
4100                 dissect_h245_h223AnnexA },
4101         { "h223AnnexADoubleFlag", EXTENSION_ROOT, NOT_OPTIONAL, 
4102                 dissect_h245_h223AnnexADoubleFlag_bool },
4103         { "h223AnnexB", EXTENSION_ROOT, NOT_OPTIONAL,
4104                 dissect_h245_h223AnnexB },
4105         { "h223AnnexBwithHeader", EXTENSION_ROOT, NOT_OPTIONAL, 
4106                 dissect_h245_h223AnnexBwithHeader },
4107         { NULL, 0, 0, NULL }
4108 };
4109 static int
4110 dissect_h245_H223Capability_mobileOperationTransmitCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4111 {
4112         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223Capability_mobileOperationTransmitCapability, ett_h245_H223Capability_mobileOperationTransmitCapability, H223Capability_mobileOperationTransmitCapability_sequence);
4113
4114         return offset;
4115 }
4116
4117
4118
4119
4120
4121 static const true_false_string tfs_videoWithAL1M_bit = {
4122         "videoWithAL1M bit is SET",
4123         "videoWithAL1M bit is CLEAR"
4124 };
4125 static int
4126 dissect_h245_videoWithAL1M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4127 {
4128         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL1M, NULL, NULL);
4129
4130         return offset;
4131 }
4132
4133
4134
4135
4136 static const true_false_string tfs_videoWithAL2M_bit = {
4137         "videoWithAL2M bit is SET",
4138         "videoWithAL2M bit is CLEAR"
4139 };
4140 static int
4141 dissect_h245_videoWithAL2M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4142 {
4143         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL2M, NULL, NULL);
4144
4145         return offset;
4146 }
4147
4148
4149
4150
4151
4152 static const true_false_string tfs_videoWithAL3M_bit = {
4153         "videoWithAL3M bit is SET",
4154         "videoWithAL3M bit is CLEAR"
4155 };
4156 static int
4157 dissect_h245_videoWithAL3M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4158 {
4159         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL3M, NULL, NULL);
4160
4161         return offset;
4162 }
4163
4164
4165
4166
4167
4168 static const true_false_string tfs_audioWithAL1M_bit = {
4169         "audioWithAL1M bit is SET",
4170         "audioWithAL1M bit is CLEAR"
4171 };
4172 static int
4173 dissect_h245_audioWithAL1M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4174 {
4175         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL1M, NULL, NULL);
4176
4177         return offset;
4178 }
4179
4180
4181
4182
4183
4184 static const true_false_string tfs_audioWithAL2M_bit = {
4185         "audioWithAL2M bit is SET",
4186         "audioWithAL2M bit is CLEAR"
4187 };
4188 static int
4189 dissect_h245_audioWithAL2M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4190 {
4191         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL2M, NULL, NULL);
4192
4193         return offset;
4194 }
4195
4196
4197
4198
4199
4200 static const true_false_string tfs_audioWithAL3M_bit = {
4201         "audioWithAL3M bit is SET",
4202         "audioWithAL3M bit is CLEAR"
4203 };
4204 static int
4205 dissect_h245_audioWithAL3M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4206 {
4207         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL3M, NULL, NULL);
4208
4209         return offset;
4210 }
4211
4212
4213
4214
4215
4216 static const true_false_string tfs_dataWithAL1M_bit = {
4217         "dataWithAL1M bit is SET",
4218         "dataWithAL1M bit is CLEAR"
4219 };
4220 static int
4221 dissect_h245_dataWithAL1M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4222 {
4223         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL1M, NULL, NULL);
4224
4225         return offset;
4226 }
4227
4228
4229
4230
4231
4232 static const true_false_string tfs_dataWithAL2M_bit = {
4233         "dataWithAL2M bit is SET",
4234         "dataWithAL2M bit is CLEAR"
4235 };
4236 static int
4237 dissect_h245_dataWithAL2M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4238 {
4239         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL2M, NULL, NULL);
4240
4241         return offset;
4242 }
4243
4244
4245
4246
4247
4248 static const true_false_string tfs_dataWithAL3M_bit = {
4249         "dataWithAL3M bit is SET",
4250         "dataWithAL3M bit is CLEAR"
4251 };
4252 static int
4253 dissect_h245_dataWithAL3M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4254 {
4255         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL3M, NULL, NULL);
4256
4257         return offset;
4258 }
4259
4260
4261
4262
4263
4264 static const true_false_string tfs_alpduInterleaving_bit = {
4265         "alpduInterleaving bit is SET",
4266         "alpduInterleaving bit is CLEAR"
4267 };
4268 static int
4269 dissect_h245_alpduInterleaving(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4270 {
4271         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_alpduInterleaving, NULL, NULL);
4272
4273         return offset;
4274 }
4275
4276
4277
4278 static per_sequence_t H223AL2MParameters_sequence[] = {
4279         { "headerFEC", EXTENSION_ROOT, NOT_OPTIONAL, 
4280                 dissect_h245_H223AL2MParameters_headerFEC },
4281         { "alpduInterleaving", EXTENSION_ROOT, NOT_OPTIONAL, 
4282                 dissect_h245_alpduInterleaving },
4283         { NULL, 0, 0, NULL }
4284 };
4285 static int
4286 dissect_h245_H223AL2MParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4287 {
4288         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223AL2MParameters, ett_h245_H223AL2MParameters, H223AL2MParameters_sequence);
4289
4290         return offset;
4291 }
4292
4293
4294
4295
4296
4297 static const true_false_string tfs_rsCodeCapability_bit = {
4298         "rsCodeCapability bit is SET",
4299         "rsCodeCapability bit is CLEAR"
4300 };
4301 static int
4302 dissect_h245_rsCodeCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4303 {
4304         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_rsCodeCapability, NULL, NULL);
4305
4306         return offset;
4307 }
4308
4309
4310
4311
4312
4313 static const true_false_string tfs_suspendResumeCapabilitywAddress_bit = {
4314         "suspendResumeCapabilitywAddress bit is SET",
4315         "suspendResumeCapabilitywAddress bit is CLEAR"
4316 };
4317 static int
4318 dissect_h245_suspendResumeCapabilitywAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4319 {
4320         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_suspendResumeCapabilitywAddress, NULL, NULL);
4321
4322         return offset;
4323 }
4324
4325
4326
4327
4328
4329 static const true_false_string tfs_suspendResumeCapabilitywoAddress_bit = {
4330         "suspendResumeCapabilitywoAddress bit is SET",
4331         "suspendResumeCapabilitywoAddress bit is CLEAR"
4332 };
4333 static int
4334 dissect_h245_suspendResumeCapabilitywoAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4335 {
4336         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_suspendResumeCapabilitywoAddress, NULL, NULL);
4337
4338         return offset;
4339 }
4340
4341
4342
4343
4344
4345 static const true_false_string tfs_rejCapability_bit = {
4346         "rejCapability bit is SET",
4347         "rejCapability bit is CLEAR"
4348 };
4349 static int
4350 dissect_h245_rejCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4351 {
4352         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_rejCapability, NULL, NULL);
4353
4354         return offset;
4355 }
4356
4357
4358
4359
4360
4361 static const true_false_string tfs_sREJCapability_bit = {
4362         "sREJCapability bit is SET",
4363         "sREJCapability bit is CLEAR"
4364 };
4365 static int
4366 dissect_h245_sREJCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4367 {
4368         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_sREJCapability, NULL, NULL);
4369
4370         return offset;
4371 }
4372
4373
4374
4375
4376
4377
4378 static const true_false_string tfs_mREJCapability_bit = {
4379         "mREJCapability bit is SET",
4380         "mREJCapability bit is CLEAR"
4381 };
4382 static int
4383 dissect_h245_mREJCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4384 {
4385         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_mREJCapability, NULL, NULL);
4386
4387         return offset;
4388 }
4389
4390
4391
4392
4393
4394
4395 static const true_false_string tfs_crc8bitCapability_bit = {
4396         "crc8bitCapability bit is SET",
4397         "crc8bitCapability bit is CLEAR"
4398 };
4399 static int
4400 dissect_h245_crc8bitCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4401 {
4402         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_crc8bitCapability, NULL, NULL);
4403
4404         return offset;
4405 }
4406
4407
4408
4409
4410
4411 static const true_false_string tfs_crc16bitCapability_bit = {
4412         "crc16bitCapability bit is SET",
4413         "crc16bitCapability bit is CLEAR"
4414 };
4415 static int
4416 dissect_h245_crc16bitCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4417 {
4418         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_crc16bitCapability, NULL, NULL);
4419
4420         return offset;
4421 }
4422
4423
4424
4425
4426
4427
4428 static const true_false_string tfs_crc32bitCapability_bit = {
4429         "crc32bitCapability bit is SET",
4430         "crc32bitCapability bit is CLEAR"
4431 };
4432 static int
4433 dissect_h245_crc32bitCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4434 {
4435         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_crc32bitCapability, NULL, NULL);
4436
4437         return offset;
4438 }
4439
4440
4441
4442
4443
4444 static const true_false_string tfs_uihCapability_bit = {
4445         "uihCapability bit is SET",
4446         "uihCapability bit is CLEAR"
4447 };
4448 static int
4449 dissect_h245_uihCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4450 {
4451         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_uihCapability, NULL, NULL);
4452
4453         return offset;
4454 }
4455
4456
4457
4458
4459
4460 static const true_false_string tfs_twoOctetAddressFieldCapability_bit = {
4461         "twoOctetAddressFieldCapability bit is SET",
4462         "twoOctetAddressFieldCapability bit is CLEAR"
4463 };
4464 static int
4465 dissect_h245_twoOctetAddressFieldCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4466 {
4467         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_twoOctetAddressFieldCapability, NULL, NULL);
4468
4469         return offset;
4470 }
4471
4472
4473
4474
4475
4476 static const true_false_string tfs_loopBackTestCapability_bit = {
4477         "loopBackTestCapability bit is SET",
4478         "loopBackTestCapability bit is CLEAR"
4479 };
4480 static int
4481 dissect_h245_loopBackTestCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4482 {
4483         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_loopBackTestCapability, NULL, NULL);
4484
4485         return offset;
4486 }
4487
4488
4489
4490
4491
4492
4493 static const true_false_string tfs_audioHeader_bit = {
4494         "audioHeader bit is SET",
4495         "audioHeader bit is CLEAR"
4496 };
4497 static int
4498 dissect_h245_audioHeader(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4499 {
4500         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioHeader, NULL, NULL);
4501
4502         return offset;
4503 }
4504
4505
4506
4507 static per_sequence_t V75Capability_sequence[] = {
4508         { "audioHeader", EXTENSION_ROOT, NOT_OPTIONAL, 
4509                 dissect_h245_audioHeader },
4510         { NULL, 0, 0, NULL }
4511 };
4512 static int
4513 dissect_h245_V75Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4514 {
4515         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V75Capability, ett_h245_V75Capability, V75Capability_sequence);
4516
4517         return offset;
4518 }
4519
4520
4521
4522
4523
4524 static const true_false_string tfs_centralizedConferenceMC_bit = {
4525         "centralizedConferenceMC bit is SET",
4526         "centralizedConferenceMC bit is CLEAR"
4527 };
4528 static int
4529 dissect_h245_centralizedConferenceMC(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4530 {
4531         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_centralizedConferenceMC, NULL, NULL);
4532
4533         return offset;
4534 }
4535
4536
4537
4538
4539
4540 static const true_false_string tfs_decentralizedConferenceMC_bit = {
4541         "decentralizedConferenceMC bit is SET",
4542         "decentralizedConferenceMC bit is CLEAR"
4543 };
4544 static int
4545 dissect_h245_decentralizedConferenceMC(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4546 {
4547         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_decentralizedConferenceMC, NULL, NULL);
4548
4549         return offset;
4550 }
4551
4552
4553
4554
4555 static per_sequence_t H2250Capability_mcCapability_sequence[] = {
4556         { "centralizedConferenceMC", EXTENSION_ROOT, NOT_OPTIONAL, 
4557                 dissect_h245_centralizedConferenceMC },
4558         { "decentralizedConferenceMC", EXTENSION_ROOT, NOT_OPTIONAL,
4559                 dissect_h245_decentralizedConferenceMC },
4560         { NULL, 0, 0, NULL }
4561 };
4562 static int
4563 dissect_h245_H2250Capability_mcCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4564 {
4565         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250Capability_mcCapability, ett_h245_H2250Capability_mcCapability, H2250Capability_mcCapability_sequence);
4566
4567         return offset;
4568 }
4569
4570
4571
4572
4573
4574 static const true_false_string tfs_rtcpVideoControlCapability_bit = {
4575         "rtcpVideoControlCapability bit is SET",
4576         "rtcpVideoControlCapability bit is CLEAR"
4577 };
4578 static int
4579 dissect_h245_rtcpVideoControlCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4580 {
4581         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_rtcpVideoControlCapability, NULL, NULL);
4582
4583         return offset;
4584 }
4585
4586
4587
4588
4589
4590
4591 static const true_false_string tfs_logicalChannelSwitchingCapability_bit = {
4592         "logicalChannelSwitchingCapability bit is SET",
4593         "logicalChannelSwitchingCapability bit is CLEAR"
4594 };
4595 static int
4596 dissect_h245_logicalChannelSwitchingCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4597 {
4598         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_logicalChannelSwitchingCapability, NULL, NULL);
4599
4600         return offset;
4601 }
4602
4603
4604
4605
4606
4607 static const true_false_string tfs_t120DynamicPortCapability_bit = {
4608         "t120DynamicPortCapability bit is SET",
4609         "t120DynamicPortCapability bit is CLEAR"
4610 };
4611 static int
4612 dissect_h245_t120DynamicPortCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4613 {
4614         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_t120DynamicPortCapability, NULL, NULL);
4615
4616         return offset;
4617 }
4618
4619
4620
4621
4622
4623 static const true_false_string tfs_h261aVideoPacketization_bit = {
4624         "h261aVideoPacketization bit is SET",
4625         "h261aVideoPacketization bit is CLEAR"
4626 };
4627 static int
4628 dissect_h245_h261aVideoPacketization(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4629 {
4630         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h261aVideoPacketization, NULL, NULL);
4631
4632         return offset;
4633 }
4634
4635
4636
4637
4638
4639 static const true_false_string tfs_atmUBR_bit = {
4640         "atmUBR bit is SET",
4641         "atmUBR bit is CLEAR"
4642 };
4643 static int
4644 dissect_h245_atmUBR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4645 {
4646         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_atmUBR, NULL, NULL);
4647
4648         return offset;
4649 }
4650
4651
4652
4653
4654 static const true_false_string tfs_atmrtVBR_bit = {
4655         "atmrtVBR bit is SET",
4656         "atmrtVBR bit is CLEAR"
4657 };
4658 static int
4659 dissect_h245_atmrtVBR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4660 {
4661         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_atmrtVBR, NULL, NULL);
4662
4663         return offset;
4664 }
4665
4666
4667
4668
4669
4670 static const true_false_string tfs_atmnrtVBR_bit = {
4671         "atmnrtVBR bit is SET",
4672         "atmnrtVBR bit is CLEAR"
4673 };
4674 static int
4675 dissect_h245_atmnrtVBR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4676 {
4677         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_atmnrtVBR, NULL, NULL);
4678
4679         return offset;
4680 }
4681
4682
4683
4684
4685
4686 static const true_false_string tfs_atmABR_bit = {
4687         "atmABR bit is SET",
4688         "atmABR bit is CLEAR"
4689 };
4690 static int
4691 dissect_h245_atmABR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4692 {
4693         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_atmABR, NULL, NULL);
4694
4695         return offset;
4696 }
4697
4698
4699
4700
4701
4702
4703 static const true_false_string tfs_atmCBR_bit = {
4704         "atmCBR bit is SET",
4705         "atmCBR bit is CLEAR"
4706 };
4707 static int
4708 dissect_h245_atmCBR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4709 {
4710         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_atmCBR, NULL, NULL);
4711
4712         return offset;
4713 }
4714
4715
4716
4717
4718
4719 static const true_false_string tfs_variableDelta_bit = {
4720         "variableDelta bit is SET",
4721         "variableDelta bit is CLEAR"
4722 };
4723 static int
4724 dissect_h245_variableDelta(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4725 {
4726         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_variableDelta, NULL, NULL);
4727
4728         return offset;
4729 }
4730
4731
4732
4733 static per_sequence_t MediaTransportType_AtmAAL5Compressed_sequence[] = {
4734         { "variable-delta", EXTENSION_ROOT, NOT_OPTIONAL, 
4735                 dissect_h245_variableDelta },
4736         { NULL, 0, 0, NULL }
4737 };
4738 static int
4739 dissect_h245_MediaTransportType_AtmAAL5Compressed(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4740 {
4741         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MediaTransportType_AtmAAL5Compressed, ett_h245_MediaTransportType_AtmAAL5Compressed, MediaTransportType_AtmAAL5Compressed_sequence);
4742
4743         return offset;
4744 }
4745
4746
4747
4748
4749 static const value_string MediaTransportType_vals[] = {
4750         {  0, "ip-UDP" },
4751         {  1, "ip-TCP" },
4752         {  2, "atm-AAL5-UNIDIR" },
4753         {  3, "atm-AAL5-BIDIR" },
4754         {  4, "atm-AAL5-compressed" },
4755         {  0, NULL }
4756 };
4757 static per_choice_t MediaTransportType_choice[] = {
4758         {  0, "ip-UDP", EXTENSION_ROOT, 
4759                         dissect_h245_NULL },
4760         {  1, "ip-TCP", EXTENSION_ROOT, 
4761                         dissect_h245_NULL },
4762         {  2, "atm-AAL5-UNIDIR", EXTENSION_ROOT, 
4763                         dissect_h245_NULL },
4764         {  3, "atm-AAL5-BIDIR", EXTENSION_ROOT, 
4765                         dissect_h245_NULL },
4766         {  4, "atm-AAL5-compressed", NOT_EXTENSION_ROOT, 
4767                         dissect_h245_MediaTransportType_AtmAAL5Compressed },
4768         {  0, NULL, 0, NULL }
4769 };
4770 static int
4771 dissect_h245_MediaTransportType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4772 {
4773         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MediaTransportType, ett_h245_MediaTransportType, MediaTransportType_choice, "MediaTransportType", NULL);
4774
4775         return offset;
4776 }
4777
4778
4779
4780 static per_sequence_t MediaChannelCapability_sequence[] = {
4781         { "mediaTransport", EXTENSION_ROOT, OPTIONAL, 
4782                 dissect_h245_MediaTransportType },
4783         { NULL, 0, 0, NULL }
4784 };
4785 static int
4786 dissect_h245_MediaChannelCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4787 {
4788         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MediaChannelCapability, ett_h245_MediaChannelCapability, MediaChannelCapability_sequence);
4789
4790         return offset;
4791 }
4792
4793
4794
4795
4796
4797 static const true_false_string tfs_multicastCapability_bit = {
4798         "multicastCapability bit is SET",
4799         "multicastCapability bit is CLEAR"
4800 };
4801 static int
4802 dissect_h245_multicastCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4803 {
4804         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_multicastCapability, NULL, NULL);
4805
4806         return offset;
4807 }
4808
4809
4810
4811
4812
4813
4814 static const true_false_string tfs_multiUniCastConference_bit = {
4815         "multiUniCastConference bit is SET",
4816         "multiUniCastConference bit is CLEAR"
4817 };
4818 static int
4819 dissect_h245_multiUniCastConference(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4820 {
4821         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_multiUniCastConference, NULL, NULL);
4822
4823         return offset;
4824 }
4825
4826
4827
4828
4829
4830 static const true_false_string tfs_centralizedControl_bit = {
4831         "centralizedControl bit is SET",
4832         "centralizedControl bit is CLEAR"
4833 };
4834 static int
4835 dissect_h245_centralizedControl(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4836 {
4837         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_centralizedControl, NULL, NULL);
4838
4839         return offset;
4840 }
4841
4842
4843
4844
4845
4846 static const true_false_string tfs_distributedControl_bit = {
4847         "distributedControl bit is SET",
4848         "distributedControl bit is CLEAR"
4849 };
4850 static int
4851 dissect_h245_distributedControl(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4852 {
4853         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_distributedControl, NULL, NULL);
4854
4855         return offset;
4856 }
4857
4858
4859
4860
4861
4862 static const true_false_string tfs_centralizedAudio_bit = {
4863         "centralizedAudio bit is SET",
4864         "centralizedAudio bit is CLEAR"
4865 };
4866 static int
4867 dissect_h245_centralizedAudio(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4868 {
4869         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_centralizedAudio, NULL, NULL);
4870
4871         return offset;
4872 }
4873
4874
4875
4876
4877
4878 static const true_false_string tfs_distributedAudio_bit = {
4879         "distributedAudio bit is SET",
4880         "distributedAudio bit is CLEAR"
4881 };
4882 static int
4883 dissect_h245_distributedAudio(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4884 {
4885         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_distributedAudio, NULL, NULL);
4886
4887         return offset;
4888 }
4889
4890
4891
4892
4893
4894 static const true_false_string tfs_centralizedVideo_bit = {
4895         "centralizedVideo bit is SET",
4896         "centralizedVideo bit is CLEAR"
4897 };
4898 static int
4899 dissect_h245_centralizedVideo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4900 {
4901         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_centralizedVideo, NULL, NULL);
4902
4903         return offset;
4904 }
4905
4906
4907
4908
4909 static const true_false_string tfs_distributedVideo_bit = {
4910         "distributedVideo bit is SET",
4911         "distributedVideo bit is CLEAR"
4912 };
4913 static int
4914 dissect_h245_distributedVideo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4915 {
4916         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_distributedVideo, NULL, NULL);
4917
4918         return offset;
4919 }
4920
4921
4922
4923
4924
4925
4926 static const true_false_string tfs_temporalSpatialTradeOffCapability_bit = {
4927         "temporalSpatialTradeOffCapability bit is SET",
4928         "temporalSpatialTradeOffCapability bit is CLEAR"
4929 };
4930 static int
4931 dissect_h245_temporalSpatialTradeOffCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4932 {
4933         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_temporalSpatialTradeOffCapability, NULL, NULL);
4934
4935         return offset;
4936 }
4937
4938
4939
4940
4941
4942 static const true_false_string tfs_stillImageTransmission_bit = {
4943         "stillImageTransmission bit is SET",
4944         "stillImageTransmission bit is CLEAR"
4945 };
4946 static int
4947 dissect_h245_stillImageTransmission(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4948 {
4949         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_stillImageTransmission, NULL, NULL);
4950
4951         return offset;
4952 }
4953
4954
4955
4956
4957
4958 static const true_false_string tfs_videoBadMBsCap_bit = {
4959         "videoBadMBsCap bit is SET",
4960         "videoBadMBsCap bit is CLEAR"
4961 };
4962 static int
4963 dissect_h245_videoBadMBsCap(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4964 {
4965         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoBadMBsCap, NULL, NULL);
4966
4967         return offset;
4968 }
4969
4970
4971
4972
4973
4974 static const true_false_string tfs_profileAndLevelSPatML_bit = {
4975         "profileAndLevelSPatML bit is SET",
4976         "profileAndLevelSPatML bit is CLEAR"
4977 };
4978 static int
4979 dissect_h245_profileAndLevelSPatML(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4980 {
4981         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelSPatML, NULL, NULL);
4982
4983         return offset;
4984 }
4985
4986
4987
4988
4989
4990 static const true_false_string tfs_profileAndLevelMPatLL_bit = {
4991         "profileAndLevelMPatLL bit is SET",
4992         "profileAndLevelMPatLL bit is CLEAR"
4993 };
4994 static int
4995 dissect_h245_profileAndLevelMPatLL(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4996 {
4997         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelMPatLL, NULL, NULL);
4998
4999         return offset;
5000 }
5001
5002
5003
5004
5005
5006 static const true_false_string tfs_profileAndLevelMPatML_bit = {
5007         "profileAndLevelMPatML bit is SET",
5008         "profileAndLevelMPatML bit is CLEAR"
5009 };
5010 static int
5011 dissect_h245_profileAndLevelMPatML(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5012 {
5013         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelMPatML, NULL, NULL);
5014
5015         return offset;
5016 }
5017
5018
5019
5020
5021
5022 static const true_false_string tfs_profileAndLevelMPatH14_bit = {
5023         "profileAndLevelMPatH14 bit is SET",
5024         "profileAndLevelMPatH14 bit is CLEAR"
5025 };
5026 static int
5027 dissect_h245_profileAndLevelMPatH14(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5028 {
5029         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelMPatH14, NULL, NULL);
5030
5031         return offset;
5032 }
5033
5034
5035
5036
5037
5038 static const true_false_string tfs_profileAndLevelMPatHL_bit = {
5039         "profileAndLevelMPatHL bit is SET",
5040         "profileAndLevelMPatHL bit is CLEAR"
5041 };
5042 static int
5043 dissect_h245_profileAndLevelMPatHL(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5044 {
5045         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelMPatHL, NULL, NULL);
5046
5047         return offset;
5048 }
5049
5050
5051
5052
5053
5054 static const true_false_string tfs_profileAndLevelSNRatLL_bit = {
5055         "profileAndLevelSNRatLL bit is SET",
5056         "profileAndLevelSNRatLL bit is CLEAR"
5057 };
5058 static int
5059 dissect_h245_profileAndLevelSNRatLL(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5060 {
5061         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelSNRatLL, NULL, NULL);
5062
5063         return offset;
5064 }
5065
5066
5067
5068
5069
5070 static const true_false_string tfs_profileAndLevelSNRatML_bit = {
5071         "profileAndLevelSNRatML bit is SET",
5072         "profileAndLevelSNRatML bit is CLEAR"
5073 };
5074 static int
5075 dissect_h245_profileAndLevelSNRatML(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5076 {
5077         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelSNRatML, NULL, NULL);
5078
5079         return offset;
5080 }
5081
5082
5083
5084
5085
5086 static const true_false_string tfs_profileAndLevelSpatialatH14_bit = {
5087         "profileAndLevelSpatialatH14 bit is SET",
5088         "profileAndLevelSpatialatH14 bit is CLEAR"
5089 };
5090 static int
5091 dissect_h245_profileAndLevelSpatialatH14(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5092 {
5093         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelSpatialatH14, NULL, NULL);
5094
5095         return offset;
5096 }
5097
5098
5099
5100
5101
5102 static const true_false_string tfs_profileAndLevelHPatML_bit = {
5103         "profileAndLevelHPatML bit is SET",
5104         "profileAndLevelHPatML bit is CLEAR"
5105 };
5106 static int
5107 dissect_h245_profileAndLevelHPatML(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5108 {
5109         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelHPatML, NULL, NULL);
5110
5111         return offset;
5112 }
5113
5114
5115
5116
5117 static const true_false_string tfs_profileAndLevelHPatH14_bit = {
5118         "profileAndLevelHPatH14 bit is SET",
5119         "profileAndLevelHPatH14 bit is CLEAR"
5120 };
5121 static int
5122 dissect_h245_profileAndLevelHPatH14(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5123 {
5124         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelHPatH14, NULL, NULL);
5125
5126         return offset;
5127 }
5128
5129
5130
5131
5132
5133 static const true_false_string tfs_profileAndLevelHPatHL_bit = {
5134         "profileAndLevelHPatHL bit is SET",
5135         "profileAndLevelHPatHL bit is CLEAR"
5136 };
5137 static int
5138 dissect_h245_profileAndLevelHPatHL(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5139 {
5140         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelHPatHL, NULL, NULL);
5141
5142         return offset;
5143 }
5144
5145
5146
5147
5148
5149 static const true_false_string tfs_unrestrictedVector_bit = {
5150         "unrestrictedVector bit is SET",
5151         "unrestrictedVector bit is CLEAR"
5152 };
5153 static int
5154 dissect_h245_unrestrictedVector(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5155 {
5156         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_unrestrictedVector, NULL, NULL);
5157
5158         return offset;
5159 }
5160
5161
5162
5163
5164
5165 static const true_false_string tfs_arithmeticCoding_bit = {
5166         "arithmeticCoding bit is SET",
5167         "arithmeticCoding bit is CLEAR"
5168 };
5169 static int
5170 dissect_h245_arithmeticCoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5171 {
5172         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_arithmeticCoding, NULL, NULL);
5173
5174         return offset;
5175 }
5176
5177
5178
5179
5180
5181 static const true_false_string tfs_advancedPrediction_bit = {
5182         "advancedPrediction bit is SET",
5183         "advancedPrediction bit is CLEAR"
5184 };
5185 static int
5186 dissect_h245_advancedPrediction(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5187 {
5188         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_advancedPrediction, NULL, NULL);
5189
5190         return offset;
5191 }
5192
5193
5194
5195
5196
5197 static const true_false_string tfs_pbFrames_bit = {
5198         "pbFrames bit is SET",
5199         "pbFrames bit is CLEAR"
5200 };
5201 static int
5202 dissect_h245_pbFrames(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5203 {
5204         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_pbFrames, NULL, NULL);
5205
5206         return offset;
5207 }
5208
5209
5210
5211
5212
5213 static const true_false_string tfs_errorCompensation_bit = {
5214         "errorCompensation bit is SET",
5215         "errorCompensation bit is CLEAR"
5216 };
5217 static int
5218 dissect_h245_errorCompensation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5219 {
5220         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_errorCompensation, NULL, NULL);
5221
5222         return offset;
5223 }
5224
5225
5226
5227
5228
5229
5230 static const true_false_string tfs_baseBitRateConstrained_bit = {
5231         "baseBitRateConstrained bit is SET",
5232         "baseBitRateConstrained bit is CLEAR"
5233 };
5234 static int
5235 dissect_h245_baseBitRateConstrained(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5236 {
5237         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_baseBitRateConstrained, NULL, NULL);
5238
5239         return offset;
5240 }
5241
5242
5243
5244
5245
5246 static const true_false_string tfs_advancedIntraCodingMode_bit = {
5247         "advancedIntraCodingMode bit is SET",
5248         "advancedIntraCodingMode bit is CLEAR"
5249 };
5250 static int
5251 dissect_h245_advancedIntraCodingMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5252 {
5253         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_advancedIntraCodingMode, NULL, NULL);
5254
5255         return offset;
5256 }
5257
5258
5259
5260
5261 static const true_false_string tfs_deblockingFilterMode_bit = {
5262         "deblockingFilterMode bit is SET",
5263         "deblockingFilterMode bit is CLEAR"
5264 };
5265 static int
5266 dissect_h245_deblockingFilterMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5267 {
5268         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_deblockingFilterMode, NULL, NULL);
5269
5270         return offset;
5271 }
5272
5273
5274
5275
5276
5277 static const true_false_string tfs_improvedPBFramesMode_bit = {
5278         "improvedPBFramesMode bit is SET",
5279         "improvedPBFramesMode bit is CLEAR"
5280 };
5281 static int
5282 dissect_h245_improvedPBFramesMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5283 {
5284         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_improvedPBFramesMode, NULL, NULL);
5285
5286         return offset;
5287 }
5288
5289
5290
5291
5292 static const true_false_string tfs_unlimitedMotionVectors_bit = {
5293         "unlimitedMotionVectors bit is SET",
5294         "unlimitedMotionVectors bit is CLEAR"
5295 };
5296 static int
5297 dissect_h245_unlimitedMotionVectors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5298 {
5299         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_unlimitedMotionVectors, NULL, NULL);
5300
5301         return offset;
5302 }
5303
5304
5305
5306
5307
5308 static const true_false_string tfs_fullPictureFreeze_bit = {
5309         "fullPictureFreeze bit is SET",
5310         "fullPictureFreeze bit is CLEAR"
5311 };
5312 static int
5313 dissect_h245_fullPictureFreeze(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5314 {
5315         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fullPictureFreeze, NULL, NULL);
5316
5317         return offset;
5318 }
5319
5320
5321
5322
5323
5324 static const true_false_string tfs_partialPictureFreezeAndRelease_bit = {
5325         "partialPictureFreezeAndRelease bit is SET",
5326         "partialPictureFreezeAndRelease bit is CLEAR"
5327 };
5328 static int
5329 dissect_h245_partialPictureFreezeAndRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5330 {
5331         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_partialPictureFreezeAndRelease, NULL, NULL);
5332
5333         return offset;
5334 }
5335
5336
5337
5338
5339 static const true_false_string tfs_resizingPartPicFreezeAndRelease_bit = {
5340         "resizingPartPicFreezeAndRelease bit is SET",
5341         "resizingPartPicFreezeAndRelease bit is CLEAR"
5342 };
5343 static int
5344 dissect_h245_resizingPartPicFreezeAndRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5345 {
5346         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_resizingPartPicFreezeAndRelease, NULL, NULL);
5347
5348         return offset;
5349 }
5350
5351
5352
5353
5354 static const true_false_string tfs_fullPictureSnapshot_bit = {
5355         "fullPictureSnapshot bit is SET",
5356         "fullPictureSnapshot bit is CLEAR"
5357 };
5358 static int
5359 dissect_h245_fullPictureSnapshot(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5360 {
5361         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fullPictureSnapshot, NULL, NULL);
5362
5363         return offset;
5364 }
5365
5366
5367
5368
5369
5370 static const true_false_string tfs_partialPictureSnapshot_bit = {
5371         "partialPictureSnapshot bit is SET",
5372         "partialPictureSnapshot bit is CLEAR"
5373 };
5374 static int
5375 dissect_h245_partialPictureSnapshot(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5376 {
5377         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_partialPictureSnapshot, NULL, NULL);
5378
5379         return offset;
5380 }
5381
5382
5383
5384
5385 static const true_false_string tfs_videoSegmentTagging_bit = {
5386         "videoSegmentTagging bit is SET",
5387         "videoSegmentTagging bit is CLEAR"
5388 };
5389 static int
5390 dissect_h245_videoSegmentTagging(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5391 {
5392         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoSegmentTagging, NULL, NULL);
5393
5394         return offset;
5395 }
5396
5397
5398
5399
5400
5401 static const true_false_string tfs_progressiveRefinement_bit = {
5402         "progressiveRefinement bit is SET",
5403         "progressiveRefinement bit is CLEAR"
5404 };
5405 static int
5406 dissect_h245_progressiveRefinement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5407 {
5408         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_progressiveRefinement, NULL, NULL);
5409
5410         return offset;
5411 }
5412
5413
5414
5415
5416
5417 static const true_false_string tfs_dynamicPictureResizingByFour_bit = {
5418         "dynamicPictureResizingByFour bit is SET",
5419         "dynamicPictureResizingByFour bit is CLEAR"
5420 };
5421 static int
5422 dissect_h245_dynamicPictureResizingByFour(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5423 {
5424         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dynamicPictureResizingByFour, NULL, NULL);
5425
5426         return offset;
5427 }
5428
5429
5430
5431
5432 static const true_false_string tfs_dynamicPictureResizingSixteenthPel_bit = {
5433         "dynamicPictureResizingSixteenthPel bit is SET",
5434         "dynamicPictureResizingSixteenthPel bit is CLEAR"
5435 };
5436 static int
5437 dissect_h245_dynamicPictureResizingSixteenthPel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5438 {
5439         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dynamicPictureResizingSixteenthPel, NULL, NULL);
5440
5441         return offset;
5442 }
5443
5444
5445
5446
5447
5448 static const true_false_string tfs_dynamicWarpingHalfPel_bit = {
5449         "dynamicWarpingHalfPel bit is SET",
5450         "dynamicWarpingHalfPel bit is CLEAR"
5451 };
5452 static int
5453 dissect_h245_dynamicWarpingHalfPel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5454 {
5455         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dynamicWarpingHalfPel, NULL, NULL);
5456
5457         return offset;
5458 }
5459
5460
5461
5462
5463
5464 static const true_false_string tfs_dynamicWarpingSixteenthPel_bit = {
5465         "dynamicWarpingSixteenthPel bit is SET",
5466         "dynamicWarpingSixteenthPel bit is CLEAR"
5467 };
5468 static int
5469 dissect_h245_dynamicWarpingSixteenthPel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5470 {
5471         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dynamicWarpingSixteenthPel, NULL, NULL);
5472
5473         return offset;
5474 }
5475
5476
5477
5478
5479
5480 static const true_false_string tfs_independentSegmentDecoding_bit = {
5481         "independentSegmentDecoding bit is SET",
5482         "independentSegmentDecoding bit is CLEAR"
5483 };
5484 static int
5485 dissect_h245_independentSegmentDecoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5486 {
5487         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_independentSegmentDecoding, NULL, NULL);
5488
5489         return offset;
5490 }
5491
5492
5493
5494
5495
5496 static const true_false_string tfs_slicesInOrderNonRect_bit = {
5497         "slicesInOrderNonRect bit is SET",
5498         "slicesInOrderNonRect bit is CLEAR"
5499 };
5500 static int
5501 dissect_h245_slicesInOrderNonRect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5502 {
5503         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_slicesInOrderNonRect, NULL, NULL);
5504
5505         return offset;
5506 }
5507
5508
5509
5510
5511
5512 static const true_false_string tfs_slicesInOrderRect_bit = {
5513         "slicesInOrderRect bit is SET",
5514         "slicesInOrderRect bit is CLEAR"
5515 };
5516 static int
5517 dissect_h245_slicesInOrderRect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5518 {
5519         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_slicesInOrderRect, NULL, NULL);
5520
5521         return offset;
5522 }
5523
5524
5525
5526
5527
5528 static const true_false_string tfs_slicesNoOrderNonRect_bit = {
5529         "slicesNoOrderNonRect bit is SET",
5530         "slicesNoOrderNonRect bit is CLEAR"
5531 };
5532 static int
5533 dissect_h245_slicesNoOrderNonRect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5534 {
5535         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_slicesNoOrderNonRect, NULL, NULL);
5536
5537         return offset;
5538 }
5539
5540
5541
5542
5543
5544 static const true_false_string tfs_slicesNoOrderRect_bit = {
5545         "slicesNoOrderRect bit is SET",
5546         "slicesNoOrderRect bit is CLEAR"
5547 };
5548 static int
5549 dissect_h245_slicesNoOrderRect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5550 {
5551         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_slicesNoOrderRect, NULL, NULL);
5552
5553         return offset;
5554 }
5555
5556
5557
5558
5559
5560 static const true_false_string tfs_alternateInterVLCMode_bit = {
5561         "alternateInterVLCMode bit is SET",
5562         "alternateInterVLCMode bit is CLEAR"
5563 };
5564 static int
5565 dissect_h245_alternateInterVLCMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5566 {
5567         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_alternateInterVLCMode, NULL, NULL);
5568
5569         return offset;
5570 }
5571
5572
5573
5574
5575
5576 static const true_false_string tfs_modifiedQuantizationMode_bit = {
5577         "modifiedQuantizationMode bit is SET",
5578         "modifiedQuantizationMode bit is CLEAR"
5579 };
5580 static int
5581 dissect_h245_modifiedQuantizationMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5582 {
5583         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_modifiedQuantizationMode, NULL, NULL);
5584
5585         return offset;
5586 }
5587
5588
5589
5590
5591
5592 static const true_false_string tfs_reducedResolutionUpdate_bit = {
5593         "reducedResolutionUpdate bit is SET",
5594         "reducedResolutionUpdate bit is CLEAR"
5595 };
5596 static int
5597 dissect_h245_reducedResolutionUpdate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5598 {
5599         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_reducedResolutionUpdate, NULL, NULL);
5600
5601         return offset;
5602 }
5603
5604
5605
5606
5607
5608 static const true_false_string tfs_separateVideoBackChannel_bit = {
5609         "separateVideoBackChannel bit is SET",
5610         "separateVideoBackChannel bit is CLEAR"
5611 };
5612 static int
5613 dissect_h245_separateVideoBackChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5614 {
5615         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_separateVideoBackChannel, NULL, NULL);
5616
5617         return offset;
5618 }
5619
5620
5621
5622
5623
5624 static const true_false_string tfs_videoMux_bit = {
5625         "videoMux bit is SET",
5626         "videoMux bit is CLEAR"
5627 };
5628 static int
5629 dissect_h245_videoMux(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5630 {
5631         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoMux, NULL, NULL);
5632
5633         return offset;
5634 }
5635
5636
5637
5638
5639
5640 static const true_false_string tfs_anyPixelAspectRatio_bit = {
5641         "anyPixelAspectRatio bit is SET",
5642         "anyPixelAspectRatio bit is CLEAR"
5643 };
5644 static int
5645 dissect_h245_anyPixelAspectRatio(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5646 {
5647         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_anyPixelAspectRatio, NULL, NULL);
5648
5649         return offset;
5650 }
5651
5652
5653
5654
5655
5656 static const true_false_string tfs_referencePicSelect_bit = {
5657         "referencePicSelect bit is SET",
5658         "referencePicSelect bit is CLEAR"
5659 };
5660 static int
5661 dissect_h245_referencePicSelect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5662 {
5663         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_referencePicSelect, NULL, NULL);
5664
5665         return offset;
5666 }
5667
5668
5669
5670
5671
5672 static const true_false_string tfs_enhancedReferencePicSelect_bool_bit = {
5673         "enhancedReferencePicSelect_bool bit is SET",
5674         "enhancedReferencePicSelect_bool bit is CLEAR"
5675 };
5676 static int
5677 dissect_h245_enhancedReferencePicSelect_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5678 {
5679         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_enhancedReferencePicSelect_bool, NULL, NULL);
5680
5681         return offset;
5682 }
5683
5684
5685
5686
5687
5688 static const true_false_string tfs_dataPartitionedSlices_bit = {
5689         "dataPartitionedSlices bit is SET",
5690         "dataPartitionedSlices bit is CLEAR"
5691 };
5692 static int
5693 dissect_h245_dataPartitionedSlices(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5694 {
5695         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataPartitionedSlices, NULL, NULL);
5696
5697         return offset;
5698 }
5699
5700
5701
5702
5703
5704 static const true_false_string tfs_fixedPointIDCT0_bit = {
5705         "fixedPointIDCT0 bit is SET",
5706         "fixedPointIDCT0 bit is CLEAR"
5707 };
5708 static int
5709 dissect_h245_fixedPointIDCT0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5710 {
5711         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fixedPointIDCT0, NULL, NULL);
5712
5713         return offset;
5714 }
5715
5716
5717
5718
5719
5720 static const true_false_string tfs_interlacedFields_bit = {
5721         "interlacedFields bit is SET",
5722         "interlacedFields bit is CLEAR"
5723 };
5724 static int
5725 dissect_h245_interlacedFields(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5726 {
5727         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_interlacedFields, NULL, NULL);
5728
5729         return offset;
5730 }
5731
5732
5733
5734
5735
5736 static const true_false_string tfs_currentPictureHeaderRepetition_bit = {
5737         "currentPictureHeaderRepetition bit is SET",
5738         "currentPictureHeaderRepetition bit is CLEAR"
5739 };
5740 static int
5741 dissect_h245_currentPictureHeaderRepetition(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5742 {
5743         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_currentPictureHeaderRepetition, NULL, NULL);
5744
5745         return offset;
5746 }
5747
5748
5749
5750
5751
5752 static const true_false_string tfs_previousPictureHeaderRepetition_bit = {
5753         "previousPictureHeaderRepetition bit is SET",
5754         "previousPictureHeaderRepetition bit is CLEAR"
5755 };
5756 static int
5757 dissect_h245_previousPictureHeaderRepetition(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5758 {
5759         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_previousPictureHeaderRepetition, NULL, NULL);
5760
5761         return offset;
5762 }
5763
5764
5765
5766
5767
5768 static const true_false_string tfs_nextPictureHeaderRepetition_bit = {
5769         "nextPictureHeaderRepetition bit is SET",
5770         "nextPictureHeaderRepetition bit is CLEAR"
5771 };
5772 static int
5773 dissect_h245_nextPictureHeaderRepetition(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5774 {
5775         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_nextPictureHeaderRepetition, NULL, NULL);
5776
5777         return offset;
5778 }
5779
5780
5781
5782
5783
5784 static const true_false_string tfs_pictureNumber_bool_bit = {
5785         "pictureNumber_bool bit is SET",
5786         "pictureNumber_bool bit is CLEAR"
5787 };
5788 static int
5789 dissect_h245_pictureNumber_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5790 {
5791         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_pictureNumber_bool, NULL, NULL);
5792
5793         return offset;
5794 }
5795
5796
5797
5798
5799
5800 static const true_false_string tfs_spareReferencePictures_bit = {
5801         "spareReferencePictures bit is SET",
5802         "spareReferencePictures bit is CLEAR"
5803 };
5804 static int
5805 dissect_h245_spareReferencePictures(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5806 {
5807         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_spareReferencePictures, NULL, NULL);
5808
5809         return offset;
5810 }
5811
5812
5813
5814 static per_sequence_t H263Version3Options_sequence[] = {
5815         { "dataPartitionedSlices", EXTENSION_ROOT, NOT_OPTIONAL, 
5816                 dissect_h245_dataPartitionedSlices },
5817         { "fixedPointIDCTO", EXTENSION_ROOT, NOT_OPTIONAL,
5818                 dissect_h245_fixedPointIDCT0 },
5819         { "interlacedFields", EXTENSION_ROOT, NOT_OPTIONAL, 
5820                 dissect_h245_interlacedFields},
5821         { "currentPictureHeaderRepetition", EXTENSION_ROOT, NOT_OPTIONAL, 
5822                 dissect_h245_currentPictureHeaderRepetition },
5823         { "previousPictureHeaderRepetition", EXTENSION_ROOT, NOT_OPTIONAL, 
5824                 dissect_h245_previousPictureHeaderRepetition },
5825         { "nextPictureHeaderRepetition", EXTENSION_ROOT, NOT_OPTIONAL, 
5826                 dissect_h245_nextPictureHeaderRepetition },
5827         { "pictureNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
5828                 dissect_h245_pictureNumber_bool },
5829         { "spareReferencePictures", EXTENSION_ROOT, NOT_OPTIONAL, 
5830                 dissect_h245_spareReferencePictures },
5831         { NULL, 0, 0, NULL }
5832 };
5833 static int
5834 dissect_h245_H263Version3Options(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5835 {
5836         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263Version3Options, ett_h245_H263Version3Options, H263Version3Options_sequence);
5837
5838         return offset;
5839 }
5840
5841
5842
5843
5844
5845 static per_sequence_t H263ModeComboFlags_sequence[] = {
5846         { "unrestrictedVector", EXTENSION_ROOT, NOT_OPTIONAL, 
5847                 dissect_h245_unrestrictedVector },
5848         { "arithmeticCoding", EXTENSION_ROOT, NOT_OPTIONAL, 
5849                 dissect_h245_arithmeticCoding },
5850         { "advancedPrediction", EXTENSION_ROOT, NOT_OPTIONAL, 
5851                 dissect_h245_advancedPrediction },
5852         { "pbFrames", EXTENSION_ROOT, NOT_OPTIONAL, 
5853                 dissect_h245_pbFrames },
5854         { "advancedIntraCodingMode", EXTENSION_ROOT, NOT_OPTIONAL, 
5855                 dissect_h245_advancedIntraCodingMode },
5856         { "deblockingFilterMode", EXTENSION_ROOT, NOT_OPTIONAL, 
5857                 dissect_h245_deblockingFilterMode },
5858         { "unlimitedMotionVectors", EXTENSION_ROOT, NOT_OPTIONAL, 
5859                 dissect_h245_unlimitedMotionVectors },
5860         { "slicesInOrder-NonRect", EXTENSION_ROOT, NOT_OPTIONAL, 
5861                 dissect_h245_slicesInOrderNonRect },
5862         { "slicesInOrder-Rect", EXTENSION_ROOT, NOT_OPTIONAL, 
5863                 dissect_h245_slicesInOrderRect },
5864         { "slicesNoOrder-NonRect", EXTENSION_ROOT, NOT_OPTIONAL,
5865                 dissect_h245_slicesNoOrderNonRect },
5866         { "slicesNoOrder-Rect", EXTENSION_ROOT, NOT_OPTIONAL, 
5867                 dissect_h245_slicesNoOrderRect },
5868         { "improvedPBFramesMode", EXTENSION_ROOT, NOT_OPTIONAL, 
5869                 dissect_h245_improvedPBFramesMode },
5870         { "referencePicSelect", EXTENSION_ROOT, NOT_OPTIONAL, 
5871                 dissect_h245_referencePicSelect },
5872         { "dynamicPictureResizingByFour", EXTENSION_ROOT, NOT_OPTIONAL, 
5873                 dissect_h245_dynamicPictureResizingByFour },
5874         { "dynamicPictureResizingSixteenthPel", EXTENSION_ROOT, NOT_OPTIONAL,
5875                 dissect_h245_dynamicPictureResizingSixteenthPel },
5876         { "dynamicWarpingHalfPel", EXTENSION_ROOT, NOT_OPTIONAL,
5877                 dissect_h245_dynamicWarpingHalfPel },
5878         { "dynamicWarpingSixteenthPel", EXTENSION_ROOT, NOT_OPTIONAL,
5879                 dissect_h245_dynamicWarpingSixteenthPel },
5880         { "reducedResolutionUpdate", EXTENSION_ROOT, NOT_OPTIONAL, 
5881                 dissect_h245_reducedResolutionUpdate },
5882         { "independentSegmentDecoding", EXTENSION_ROOT, NOT_OPTIONAL, 
5883                 dissect_h245_independentSegmentDecoding },
5884         { "alternateInterVLCMode", EXTENSION_ROOT, NOT_OPTIONAL, 
5885                 dissect_h245_alternateInterVLCMode },
5886         { "modifiedQuantizationMode", EXTENSION_ROOT, NOT_OPTIONAL,
5887                 dissect_h245_modifiedQuantizationMode },
5888         { "enhancedReferencePicSelect", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
5889                 dissect_h245_enhancedReferencePicSelect_bool },
5890         { "h263Version3Options", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
5891                 dissect_h245_H263Version3Options },
5892         { NULL, 0, 0, NULL }
5893 };
5894 static int
5895 dissect_h245_H263ModeComboFlags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5896 {
5897         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263ModeComboFlags, ett_h245_H263ModeComboFlags, H263ModeComboFlags_sequence);
5898
5899         return offset;
5900 }
5901
5902
5903
5904
5905
5906 static const true_false_string tfs_constrainedBitstream_bit = {
5907         "constrainedBitstream bit is SET",
5908         "constrainedBitstream bit is CLEAR"
5909 };
5910 static int
5911 dissect_h245_constrainedBitstream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5912 {
5913         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_constrainedBitstream, NULL, NULL);
5914
5915         return offset;
5916 }
5917
5918
5919
5920
5921
5922 static const true_false_string tfs_silenceSuppression_bit = {
5923         "silenceSuppression bit is SET",
5924         "silenceSuppression bit is CLEAR"
5925 };
5926 static int
5927 dissect_h245_silenceSuppression(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5928 {
5929         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_silenceSuppression, NULL, NULL);
5930
5931         return offset;
5932 }
5933
5934
5935
5936
5937
5938 static const true_false_string tfs_annexA_bit = {
5939         "annexA bit is SET",
5940         "annexA bit is CLEAR"
5941 };
5942 static int
5943 dissect_h245_annexA(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5944 {
5945         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexA, NULL, NULL);
5946
5947         return offset;
5948 }
5949
5950
5951
5952
5953
5954 static const true_false_string tfs_annexB_bit = {
5955         "annexB bit is SET",
5956         "annexB bit is CLEAR"
5957 };
5958 static int
5959 dissect_h245_annexB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5960 {
5961         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexB, NULL, NULL);
5962
5963         return offset;
5964 }
5965
5966
5967
5968
5969
5970 static const true_false_string tfs_annexD_bit = {
5971         "annexD bit is SET",
5972         "annexD bit is CLEAR"
5973 };
5974 static int
5975 dissect_h245_annexD(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5976 {
5977         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexD, NULL, NULL);
5978
5979         return offset;
5980 }
5981
5982
5983
5984
5985
5986 static const true_false_string tfs_annexE_bit = {
5987         "annexE bit is SET",
5988         "annexE bit is CLEAR"
5989 };
5990 static int
5991 dissect_h245_annexE(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5992 {
5993         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexE, NULL, NULL);
5994
5995         return offset;
5996 }
5997
5998
5999
6000
6001
6002 static const true_false_string tfs_annexF_bit = {
6003         "annexF bit is SET",
6004         "annexF bit is CLEAR"
6005 };
6006 static int
6007 dissect_h245_annexF(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6008 {
6009         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexF, NULL, NULL);
6010
6011         return offset;
6012 }
6013
6014
6015
6016
6017
6018 static const true_false_string tfs_annexG_bit = {
6019         "annexG bit is SET",
6020         "annexG bit is CLEAR"
6021 };
6022 static int
6023 dissect_h245_annexG(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6024 {
6025         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexG, NULL, NULL);
6026
6027         return offset;
6028 }
6029
6030
6031
6032
6033
6034 static const true_false_string tfs_annexH_bit = {
6035         "annexH bit is SET",
6036         "annexH bit is CLEAR"
6037 };
6038 static int
6039 dissect_h245_annexH(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6040 {
6041         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexH, NULL, NULL);
6042
6043         return offset;
6044 }
6045
6046
6047
6048
6049
6050 static const true_false_string tfs_audioLayer1_bit = {
6051         "audioLayer1 bit is SET",
6052         "audioLayer1 bit is CLEAR"
6053 };
6054 static int
6055 dissect_h245_audioLayer1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6056 {
6057         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioLayer1, NULL, NULL);
6058
6059         return offset;
6060 }
6061
6062
6063
6064
6065
6066 static const true_false_string tfs_audioLayer2_bit = {
6067         "audioLayer2 bit is SET",
6068         "audioLayer2 bit is CLEAR"
6069 };
6070 static int
6071 dissect_h245_audioLayer2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6072 {
6073         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioLayer2, NULL, NULL);
6074
6075         return offset;
6076 }
6077
6078
6079
6080
6081
6082 static const true_false_string tfs_audioLayer3_bit = {
6083         "audioLayer3 bit is SET",
6084         "audioLayer3 bit is CLEAR"
6085 };
6086 static int
6087 dissect_h245_audioLayer3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6088 {
6089         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioLayer3, NULL, NULL);
6090
6091         return offset;
6092 }
6093
6094
6095
6096
6097
6098 static const true_false_string tfs_audioSampling32k_bit = {
6099         "audioSampling32k bit is SET",
6100         "audioSampling32k bit is CLEAR"
6101 };
6102 static int
6103 dissect_h245_audioSampling32k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6104 {
6105         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling32k, NULL, NULL);
6106
6107         return offset;
6108 }
6109
6110
6111
6112
6113
6114 static const true_false_string tfs_audioSampling44k1_bit = {
6115         "audioSampling44k1 bit is SET",
6116         "audioSampling44k1 bit is CLEAR"
6117 };
6118 static int
6119 dissect_h245_audioSampling44k1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6120 {
6121         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling44k1, NULL, NULL);
6122
6123         return offset;
6124 }
6125
6126
6127
6128
6129
6130 static const true_false_string tfs_audioSampling48k_bit = {
6131         "audioSampling48k bit is SET",
6132         "audioSampling48k bit is CLEAR"
6133 };
6134 static int
6135 dissect_h245_audioSampling48k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6136 {
6137         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling48k, NULL, NULL);
6138
6139         return offset;
6140 }
6141
6142
6143
6144
6145
6146 static const true_false_string tfs_singleChannel_bit = {
6147         "singleChannel bit is SET",
6148         "singleChannel bit is CLEAR"
6149 };
6150 static int
6151 dissect_h245_singleChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6152 {
6153         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_singleChannel, NULL, NULL);
6154
6155         return offset;
6156 }
6157
6158
6159
6160
6161
6162 static const true_false_string tfs_twoChannels_bit = {
6163         "twoChannels bit is SET",
6164         "twoChannels bit is CLEAR"
6165 };
6166 static int
6167 dissect_h245_twoChannels(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6168 {
6169         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_twoChannels, NULL, NULL);
6170
6171         return offset;
6172 }
6173
6174
6175
6176
6177
6178 static const true_false_string tfs_audioSampling16k_bit = {
6179         "audioSampling16k bit is SET",
6180         "audioSampling16k bit is CLEAR"
6181 };
6182 static int
6183 dissect_h245_audioSampling16k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6184 {
6185         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling16k, NULL, NULL);
6186
6187         return offset;
6188 }
6189
6190
6191
6192
6193
6194 static const true_false_string tfs_audioSampling22k05_bit = {
6195         "audioSampling22k05 bit is SET",
6196         "audioSampling22k05 bit is CLEAR"
6197 };
6198 static int
6199 dissect_h245_audioSampling22k05(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6200 {
6201         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling22k05, NULL, NULL);
6202
6203         return offset;
6204 }
6205
6206
6207
6208
6209
6210 static const true_false_string tfs_audioSampling24k_bit = {
6211         "audioSampling24k bit is SET",
6212         "audioSampling24k bit is CLEAR"
6213 };
6214 static int
6215 dissect_h245_audioSampling24k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6216 {
6217         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling24k, NULL, NULL);
6218
6219         return offset;
6220 }
6221
6222
6223
6224
6225
6226 static const true_false_string tfs_threeChannels21_bit = {
6227         "threeChannels21 bit is SET",
6228         "threeChannels21 bit is CLEAR"
6229 };
6230 static int
6231 dissect_h245_threeChannels21(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6232 {
6233         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_threeChannels21, NULL, NULL);
6234
6235         return offset;
6236 }
6237
6238
6239
6240
6241
6242 static const true_false_string tfs_threeChannels30_bit = {
6243         "threeChannels30 bit is SET",
6244         "threeChannels30 bit is CLEAR"
6245 };
6246 static int
6247 dissect_h245_threeChannels30(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6248 {
6249         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_threeChannels30, NULL, NULL);
6250
6251         return offset;
6252 }
6253
6254
6255
6256
6257
6258 static const true_false_string tfs_fourChannels2020_bit = {
6259         "fourChannels2020 bit is SET",
6260         "fourChannels2020 bit is CLEAR"
6261 };
6262 static int
6263 dissect_h245_fourChannels2020(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6264 {
6265         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fourChannels2020, NULL, NULL);
6266
6267         return offset;
6268 }
6269
6270
6271
6272
6273
6274 static const true_false_string tfs_fourChannels22_bit = {
6275         "fourChannels22 bit is SET",
6276         "fourChannels22 bit is CLEAR"
6277 };
6278 static int
6279 dissect_h245_fourChannels22(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6280 {
6281         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fourChannels22, NULL, NULL);
6282
6283         return offset;
6284 }
6285
6286
6287
6288
6289
6290 static const true_false_string tfs_fourChannels31_bit = {
6291         "fourChannels31 bit is SET",
6292         "fourChannels31 bit is CLEAR"
6293 };
6294 static int
6295 dissect_h245_fourChannels31(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6296 {
6297         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fourChannels31, NULL, NULL);
6298
6299         return offset;
6300 }
6301
6302
6303
6304
6305
6306 static const true_false_string tfs_fiveChannels3020_bit = {
6307         "fiveChannels3020 bit is SET",
6308         "fiveChannels3020 bit is CLEAR"
6309 };
6310 static int
6311 dissect_h245_fiveChannels3020(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6312 {
6313         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fiveChannels3020, NULL, NULL);
6314
6315         return offset;
6316 }
6317
6318
6319
6320
6321
6322 static const true_false_string tfs_fiveChannels32_bit = {
6323         "fiveChannels32 bit is SET",
6324         "fiveChannels32 bit is CLEAR"
6325 };
6326 static int
6327 dissect_h245_fiveChannels32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6328 {
6329         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fiveChannels32, NULL, NULL);
6330
6331         return offset;
6332 }
6333
6334
6335
6336
6337
6338 static const true_false_string tfs_lowFrequencyEnhancement_bit = {
6339         "lowFrequencyEnhancement bit is SET",
6340         "lowFrequencyEnhancement bit is CLEAR"
6341 };
6342 static int
6343 dissect_h245_lowFrequencyEnhancement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6344 {
6345         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_lowFrequencyEnhancement, NULL, NULL);
6346
6347         return offset;
6348 }
6349
6350
6351
6352
6353
6354 static const true_false_string tfs_multilingual_bit = {
6355         "multilingual bit is SET",
6356         "multilingual bit is CLEAR"
6357 };
6358 static int
6359 dissect_h245_multilingual(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6360 {
6361         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_multilingual, NULL, NULL);
6362
6363         return offset;
6364 }
6365
6366
6367
6368
6369
6370 static const true_false_string tfs_comfortNoise_bit = {
6371         "comfortNoise bit is SET",
6372         "comfortNoise bit is CLEAR"
6373 };
6374 static int
6375 dissect_h245_comfortNoise(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6376 {
6377         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_comfortNoise, NULL, NULL);
6378
6379         return offset;
6380 }
6381
6382
6383
6384
6385 static const true_false_string tfs_scrambled_bit = {
6386         "scrambled bit is SET",
6387         "scrambled bit is CLEAR"
6388 };
6389 static int
6390 dissect_h245_scrambled(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6391 {
6392         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_scrambled, NULL, NULL);
6393
6394         return offset;
6395 }
6396
6397
6398
6399
6400
6401 static const true_false_string tfs_qcif_bool_bit = {
6402         "qcif_bool bit is SET",
6403         "qcif_bool bit is CLEAR"
6404 };
6405 static int
6406 dissect_h245_qcif_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6407 {
6408         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_qcif_bool, NULL, NULL);
6409
6410         return offset;
6411 }
6412
6413
6414
6415
6416
6417 static const true_false_string tfs_cif_bool_bit = {
6418         "cif_bool bit is SET",
6419         "cif_bool bit is CLEAR"
6420 };
6421 static int
6422 dissect_h245_cif_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6423 {
6424         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_cif_bool, NULL, NULL);
6425
6426         return offset;
6427 }
6428
6429
6430
6431
6432
6433 static const true_false_string tfs_ccir601Seq_bit = {
6434         "ccir601Seq bit is SET",
6435         "ccir601Seq bit is CLEAR"
6436 };
6437 static int
6438 dissect_h245_ccir601Seq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6439 {
6440         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_ccir601Seq, NULL, NULL);
6441
6442         return offset;
6443 }
6444
6445
6446
6447
6448
6449 static const true_false_string tfs_ccir601Prog_bit = {
6450         "ccir601Prog bit is SET",
6451         "ccir601Prog bit is CLEAR"
6452 };
6453 static int
6454 dissect_h245_ccir601Prog(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6455 {
6456         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_ccir601Prog, NULL, NULL);
6457
6458         return offset;
6459 }
6460
6461
6462
6463
6464
6465 static const true_false_string tfs_hdtvSeq_bit = {
6466         "hdtvSeq bit is SET",
6467         "hdtvSeq bit is CLEAR"
6468 };
6469 static int
6470 dissect_h245_hdtvSeq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6471 {
6472         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_hdtvSeq, NULL, NULL);
6473
6474         return offset;
6475 }
6476
6477
6478
6479
6480
6481 static const true_false_string tfs_hdtvProg_bit = {
6482         "hdtvProg bit is SET",
6483         "hdtvProg bit is CLEAR"
6484 };
6485 static int
6486 dissect_h245_hdtvProg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6487 {
6488         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_hdtvProg, NULL, NULL);
6489
6490         return offset;
6491 }
6492
6493
6494
6495
6496
6497 static const true_false_string tfs_g3FacsMH200x100_bit = {
6498         "g3FacsMH200x100 bit is SET",
6499         "g3FacsMH200x100 bit is CLEAR"
6500 };
6501 static int
6502 dissect_h245_g3FacsMH200x100(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6503 {
6504         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_g3FacsMH200x100, NULL, NULL);
6505
6506         return offset;
6507 }
6508
6509
6510
6511
6512
6513
6514 static const true_false_string tfs_g3FacsMH200x200_bit = {
6515         "g3FacsMH200x200 bit is SET",
6516         "g3FacsMH200x200 bit is CLEAR"
6517 };
6518 static int
6519 dissect_h245_g3FacsMH200x200(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6520 {
6521         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_g3FacsMH200x200, NULL, NULL);
6522
6523         return offset;
6524 }
6525
6526
6527
6528
6529
6530 static const true_false_string tfs_g4FacsMMR200x100_bit = {
6531         "g4FacsMMR200x100 bit is SET",
6532         "g4FacsMMR200x100 bit is CLEAR"
6533 };
6534 static int
6535 dissect_h245_g4FacsMMR200x100(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6536 {
6537         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_g4FacsMMR200x100, NULL, NULL);
6538
6539         return offset;
6540 }
6541
6542
6543
6544
6545
6546 static const true_false_string tfs_g4FacsMMR200x200_bit = {
6547         "g4FacsMMR200x200 bit is SET",
6548         "g4FacsMMR200x200 bit is CLEAR"
6549 };
6550 static int
6551 dissect_h245_g4FacsMMR200x200(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6552 {
6553         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_g4FacsMMR200x200, NULL, NULL);
6554
6555         return offset;
6556 }
6557
6558
6559
6560
6561
6562
6563
6564 static const true_false_string tfs_jbig200x200Seq_bit = {
6565         "jbig200x200Seq bit is SET",
6566         "jbig200x200Seq bit is CLEAR"
6567 };
6568 static int
6569 dissect_h245_jbig200x200Seq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6570 {
6571         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_jbig200x200Seq, NULL, NULL);
6572
6573         return offset;
6574 }
6575
6576
6577
6578
6579
6580 static const true_false_string tfs_jbig200x200Prog_bit = {
6581         "jbig200x200Prog bit is SET",
6582         "jbig200x200Prog bit is CLEAR"
6583 };
6584 static int
6585 dissect_h245_jbig200x200Prog(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6586 {
6587         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_jbig200x200Prog, NULL, NULL);
6588
6589         return offset;
6590 }
6591
6592
6593
6594
6595
6596 static const true_false_string tfs_jbig300x300Seq_bit = {
6597         "jbig300x300Seq bit is SET",
6598         "jbig300x300Seq bit is CLEAR"
6599 };
6600 static int
6601 dissect_h245_jbig300x300Seq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6602 {
6603         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_jbig300x300Seq, NULL, NULL);
6604
6605         return offset;
6606 }
6607
6608
6609
6610
6611
6612 static const true_false_string tfs_jbig300x300Prog_bit = {
6613         "jbig300x300Prog bit is SET",
6614         "jbig300x300Prog bit is CLEAR"
6615 };
6616 static int
6617 dissect_h245_jbig300x300Prog(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6618 {
6619         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_jbig300x300Prog, NULL, NULL);
6620
6621         return offset;
6622 }
6623
6624
6625
6626
6627
6628 static const true_false_string tfs_digPhotoLow_bit = {
6629         "digPhotoLow bit is SET",
6630         "digPhotoLow bit is CLEAR"
6631 };
6632 static int
6633 dissect_h245_digPhotoLow(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6634 {
6635         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_digPhotoLow, NULL, NULL);
6636
6637         return offset;
6638 }
6639
6640
6641
6642
6643
6644 static const true_false_string tfs_digPhotoMedSeq_bit = {
6645         "digPhotoMedSeq bit is SET",
6646         "digPhotoMedSeq bit is CLEAR"
6647 };
6648 static int
6649 dissect_h245_digPhotoMedSeq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6650 {
6651         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_digPhotoMedSeq, NULL, NULL);
6652
6653         return offset;
6654 }
6655
6656
6657
6658
6659
6660 static const true_false_string tfs_digPhotoMedProg_bit = {
6661         "digPhotoMedProg bit is SET",
6662         "digPhotoMedProg bit is CLEAR"
6663 };
6664 static int
6665 dissect_h245_digPhotoMedProg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6666 {
6667         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_digPhotoMedProg, NULL, NULL);
6668
6669         return offset;
6670 }
6671
6672
6673
6674
6675
6676 static const true_false_string tfs_digPhotoHighSeq_bit = {
6677         "digPhotoHighSeq bit is SET",
6678         "digPhotoHighSeq bit is CLEAR"
6679 };
6680 static int
6681 dissect_h245_digPhotoHighSeq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6682 {
6683         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_digPhotoHighSeq, NULL, NULL);
6684
6685         return offset;
6686 }
6687
6688
6689
6690
6691
6692 static const true_false_string tfs_digPhotoHighProg_bit = {
6693         "digPhotoHighProg bit is SET",
6694         "digPhotoHighProg bit is CLEAR"
6695 };
6696 static int
6697 dissect_h245_digPhotoHighProg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6698 {
6699         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_digPhotoHighProg, NULL, NULL);
6700
6701         return offset;
6702 }
6703
6704
6705
6706
6707 static per_sequence_t T84Profile_t84Restricted_sequence[] = {
6708         { "qcif", EXTENSION_ROOT, NOT_OPTIONAL, 
6709                 dissect_h245_qcif_bool },
6710         { "cif", EXTENSION_ROOT, NOT_OPTIONAL,
6711                 dissect_h245_cif_bool },
6712         { "ccir601Seq", EXTENSION_ROOT, NOT_OPTIONAL,
6713                 dissect_h245_ccir601Seq },
6714         { "ccir601Prog", EXTENSION_ROOT, NOT_OPTIONAL, 
6715                 dissect_h245_ccir601Prog },
6716         { "hdtvSeq", EXTENSION_ROOT, NOT_OPTIONAL, 
6717                 dissect_h245_hdtvSeq },
6718         { "hdtvProg", EXTENSION_ROOT, NOT_OPTIONAL, 
6719                 dissect_h245_hdtvProg },
6720         { "g3FacsMH200x100", EXTENSION_ROOT, NOT_OPTIONAL, 
6721                 dissect_h245_g3FacsMH200x100 },
6722         { "g3FacsMH200x200", EXTENSION_ROOT, NOT_OPTIONAL, 
6723                 dissect_h245_g3FacsMH200x200 },
6724         { "g4FacsMMR200x100", EXTENSION_ROOT, NOT_OPTIONAL, 
6725                 dissect_h245_g4FacsMMR200x100 },
6726         { "g4FacsMMR200x200", EXTENSION_ROOT, NOT_OPTIONAL, 
6727                 dissect_h245_g4FacsMMR200x200 },
6728         { "jbig200x200Seq", EXTENSION_ROOT, NOT_OPTIONAL, 
6729                 dissect_h245_jbig200x200Seq },
6730         { "jbig200x200Prog", EXTENSION_ROOT, NOT_OPTIONAL, 
6731                 dissect_h245_jbig200x200Prog },
6732         { "jbig300x300Seq", EXTENSION_ROOT, NOT_OPTIONAL, 
6733                 dissect_h245_jbig300x300Seq },
6734         { "jbig300x300Prog", EXTENSION_ROOT, NOT_OPTIONAL, 
6735                 dissect_h245_jbig300x300Prog },
6736         { "digPhotoLow", EXTENSION_ROOT, NOT_OPTIONAL, 
6737                 dissect_h245_digPhotoLow },
6738         { "digPhotoMedSeq", EXTENSION_ROOT, NOT_OPTIONAL, 
6739                 dissect_h245_digPhotoMedSeq },
6740         { "digPhotoMedProg", EXTENSION_ROOT, NOT_OPTIONAL, 
6741                 dissect_h245_digPhotoMedProg },
6742         { "digPhotoHighSeq", EXTENSION_ROOT, NOT_OPTIONAL, 
6743                 dissect_h245_digPhotoHighSeq },
6744         { "digPhotoHighProg", EXTENSION_ROOT, NOT_OPTIONAL, 
6745                 dissect_h245_digPhotoHighProg },
6746         { NULL, 0, 0, NULL }
6747 };
6748 static int
6749 dissect_h245_T84Profile_t84Restricted(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6750 {
6751         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_T84Profile_t84Restricted, ett_h245_T84Profile_t84Restricted, T84Profile_t84Restricted_sequence);
6752
6753         return offset;
6754 }
6755
6756
6757
6758
6759 static const value_string T84Profile_vals[] = {
6760         {  0, "t84Unrestricted" },
6761         {  1, "t84Restricted" },
6762         {  0, NULL }
6763 };
6764 static per_choice_t T84Profile_choice[] = {
6765         {  0, "t84Unrestricted", NO_EXTENSIONS, 
6766                         dissect_h245_NULL },
6767         {  1, "t84Restricted", NO_EXTENSIONS, 
6768                         dissect_h245_T84Profile_t84Restricted },
6769         {  0, NULL, 0, NULL }
6770 };
6771 static int
6772 dissect_h245_T84Profile(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6773 {
6774         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_T84Profile, ett_h245_T84Profile, T84Profile_choice, "T84Profile", NULL);
6775
6776         return offset;
6777 }
6778
6779
6780
6781
6782
6783 static const true_false_string tfs_fillBitRemoval_bit = {
6784         "fillBitRemoval bit is SET",
6785         "fillBitRemoval bit is CLEAR"
6786 };
6787 static int
6788 dissect_h245_fillBitRemoval(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6789 {
6790         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fillBitRemoval, NULL, NULL);
6791
6792         return offset;
6793 }
6794
6795
6796
6797
6798
6799 static const true_false_string tfs_transcodingJBIG_bit = {
6800         "transcodingJBIG bit is SET",
6801         "transcodingJBIG bit is CLEAR"
6802 };
6803 static int
6804 dissect_h245_transcodingJBIG(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6805 {
6806         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_transcodingJBIG, NULL, NULL);
6807
6808         return offset;
6809 }
6810
6811
6812
6813
6814
6815 static const true_false_string tfs_transcodingMMR_bit = {
6816         "transcodingMMR bit is SET",
6817         "transcodingMMR bit is CLEAR"
6818 };
6819 static int
6820 dissect_h245_transcodingMMR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6821 {
6822         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_transcodingMMR, NULL, NULL);
6823
6824         return offset;
6825 }
6826
6827
6828
6829
6830
6831 static const true_false_string tfs_t38TCPBidirectionalMode_bit = {
6832         "t38TCPBidirectionalMode bit is SET",
6833         "t38TCPBidirectionalMode bit is CLEAR"
6834 };
6835 static int
6836 dissect_h245_t38TCPBidirectionalMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6837 {
6838         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_t38TCPBidirectionalMode, NULL, NULL);
6839
6840         return offset;
6841 }
6842
6843
6844
6845 static per_sequence_t T38FaxTcpOptions_sequence[] = {
6846         { "t38TCPBidirectionalMode", EXTENSION_ROOT, NOT_OPTIONAL,
6847                 dissect_h245_t38TCPBidirectionalMode },
6848         { NULL, 0, 0, NULL }
6849 };
6850 static int
6851 dissect_h245_T38FaxTcpOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6852 {
6853         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_T38FaxTcpOptions, ett_h245_T38FaxTcpOptions, T38FaxTcpOptions_sequence);
6854
6855         return offset;
6856 }
6857
6858
6859
6860
6861
6862 static const true_false_string tfs_chairControlCapability_bit = {
6863         "chairControlCapability bit is SET",
6864         "chairControlCapability bit is CLEAR"
6865 };
6866 static int
6867 dissect_h245_chairControlCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6868 {
6869         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_chairControlCapability, NULL, NULL);
6870
6871         return offset;
6872 }
6873
6874
6875
6876
6877
6878
6879 static const true_false_string tfs_videoIndicateMixingCapability_bit = {
6880         "videoIndicateMixingCapability bit is SET",
6881         "videoIndicateMixingCapability bit is CLEAR"
6882 };
6883 static int
6884 dissect_h245_videoIndicateMixingCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6885 {
6886         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoIndicateMixingCapability, NULL, NULL);
6887
6888         return offset;
6889 }
6890
6891
6892
6893
6894
6895 static const true_false_string tfs_multipointVisualizationCapability_bit = {
6896         "multipointVisualizationCapability bit is SET",
6897         "multipointVisualizationCapability bit is CLEAR"
6898 };
6899 static int
6900 dissect_h245_multipointVisualizationCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6901 {
6902         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_multipointVisualizationCapability, NULL, NULL);
6903
6904         return offset;
6905 }
6906
6907
6908
6909
6910
6911 static const true_false_string tfs_controlOnMuxStream_bit = {
6912         "controlOnMuxStream bit is SET",
6913         "controlOnMuxStream bit is CLEAR"
6914 };
6915 static int
6916 dissect_h245_controlOnMuxStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6917 {
6918         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_controlOnMuxStream, NULL, NULL);
6919
6920         return offset;
6921 }
6922
6923
6924
6925
6926
6927 static const true_false_string tfs_redundancyEncoding_bool_bit = {
6928         "redundancyEncoding_bool bit is SET",
6929         "redundancyEncoding_bool bit is CLEAR"
6930 };
6931 static int
6932 dissect_h245_redundancyEncoding_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6933 {
6934         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_redundancyEncoding_bool, NULL, NULL);
6935
6936         return offset;
6937 }
6938
6939
6940
6941
6942
6943 static const true_false_string tfs_separatePort_bit = {
6944         "separatePort bit is SET",
6945         "separatePort bit is CLEAR"
6946 };
6947 static int
6948 dissect_h245_separatePort(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6949 {
6950         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_separatePort, NULL, NULL);
6951
6952         return offset;
6953 }
6954
6955
6956
6957
6958
6959 static const true_false_string tfs_samePort_bool_bit = {
6960         "samePort_bool bit is SET",
6961         "samePort_bool bit is CLEAR"
6962 };
6963 static int
6964 dissect_h245_samePort_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6965 {
6966         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_samePort_bool, NULL, NULL);
6967
6968         return offset;
6969 }
6970
6971
6972
6973
6974 static per_sequence_t FECCapability_rfc2733_separateStream_sequence[] = {
6975         { "separatePort", EXTENSION_ROOT, NOT_OPTIONAL, 
6976                 dissect_h245_separatePort },
6977         { "samePort", EXTENSION_ROOT, NOT_OPTIONAL, 
6978                 dissect_h245_samePort_bool },
6979         { NULL, 0, 0, NULL }
6980 };
6981 static int
6982 dissect_h245_FECCapability_rfc2733_separateStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6983 {
6984         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FECCapability_rfc2733_separateStream, ett_h245_FECCapability_rfc2733_separateStream, FECCapability_rfc2733_separateStream_sequence);
6985
6986         return offset;
6987 }
6988
6989
6990
6991 static per_sequence_t FECCapability_rfc2733_sequence[] = {
6992         { "redundancyEncoding", EXTENSION_ROOT, NOT_OPTIONAL, 
6993                 dissect_h245_redundancyEncoding_bool },
6994         { "separateStream", EXTENSION_ROOT, NOT_OPTIONAL, 
6995                 dissect_h245_FECCapability_rfc2733_separateStream },
6996         { NULL, 0, 0, NULL }
6997 };
6998 static int
6999 dissect_h245_FECCapability_rfc2733(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7000 {
7001         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FECCapability_rfc2733, ett_h245_FECCapability_rfc2733, FECCapability_rfc2733_sequence);
7002
7003         return offset;
7004 }
7005
7006
7007
7008
7009 static const value_string FECCapability_vals[] = {
7010         {  0, "rfc2733" },
7011         {  0, NULL }
7012 };
7013 static per_choice_t FECCapability_choice[] = {
7014         {  0, "rfc2733", EXTENSION_ROOT, 
7015                 dissect_h245_FECCapability_rfc2733 },
7016         {  0, NULL, 0, NULL }
7017 };
7018 static int
7019 dissect_h245_FECCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7020 {
7021         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FECCapability, ett_h245_FECCapability, FECCapability_choice, "FECCapability", NULL);
7022
7023         return offset;
7024 }
7025
7026
7027
7028
7029 static const true_false_string tfs_associateConference_bit = {
7030         "associateConference bit is SET",
7031         "associateConference bit is CLEAR"
7032 };
7033 static int
7034 dissect_h245_associateConference(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7035 {
7036         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_associateConference, NULL, NULL);
7037
7038         return offset;
7039 }
7040
7041
7042
7043
7044
7045 static const true_false_string tfs_audioHeaderPresent_bit = {
7046         "audioHeaderPresent bit is SET",
7047         "audioHeaderPresent bit is CLEAR"
7048 };
7049 static int
7050 dissect_h245_audioHeaderPresent(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7051 {
7052         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioHeaderPresent, NULL, NULL);
7053
7054         return offset;
7055 }
7056
7057
7058
7059
7060 static per_sequence_t V75Parameters_sequence[] = {
7061         { "audioHeaderPresent", EXTENSION_ROOT, NOT_OPTIONAL,
7062                 dissect_h245_audioHeaderPresent },
7063         { NULL, 0, 0, NULL }
7064 };
7065 static int
7066 dissect_h245_V75Parameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7067 {
7068         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V75Parameters, ett_h245_V75Parameters, V75Parameters_sequence);
7069
7070         return offset;
7071 }
7072
7073
7074
7075
7076
7077
7078 static const true_false_string tfs_segmentableFlag_bit = {
7079         "segmentableFlag bit is SET",
7080         "segmentableFlag bit is CLEAR"
7081 };
7082 static int
7083 dissect_h245_segmentableFlag(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7084 {
7085         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_segmentableFlag, NULL, NULL);
7086
7087         return offset;
7088 }
7089
7090
7091
7092
7093
7094 static const true_false_string tfs_alsduSplitting_bit = {
7095         "alsduSplitting bit is SET",
7096         "alsduSplitting bit is CLEAR"
7097 };
7098 static int
7099 dissect_h245_alsduSplitting(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7100 {
7101         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_alsduSplitting, NULL, NULL);
7102
7103         return offset;
7104 }
7105
7106
7107
7108
7109
7110 static const true_false_string tfs_uIH_bit = {
7111         "uIH bit is SET",
7112         "uIH bit is CLEAR"
7113 };
7114 static int
7115 dissect_h245_uIH(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7116 {
7117         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_uIH, NULL, NULL);
7118
7119         return offset;
7120 }
7121
7122
7123
7124
7125
7126
7127 static const true_false_string tfs_loopbackTestProcedure_bit = {
7128         "loopbackTestProcedure bit is SET",
7129         "loopbackTestProcedure bit is CLEAR"
7130 };
7131 static int
7132 dissect_h245_loopbackTestProcedure(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7133 {
7134         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_loopbackTestProcedure, NULL, NULL);
7135
7136         return offset;
7137 }
7138
7139
7140
7141
7142
7143
7144 static const true_false_string tfs_mediaGuaranteedDelivery_bit = {
7145         "mediaGuaranteedDelivery bit is SET",
7146         "mediaGuaranteedDelivery bit is CLEAR"
7147 };
7148 static int
7149 dissect_h245_mediaGuaranteedDelivery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7150 {
7151         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_mediaGuaranteedDelivery, NULL, NULL);
7152
7153         return offset;
7154 }
7155
7156
7157
7158
7159
7160
7161 static const true_false_string tfs_mediaControlGuaranteedDelivery_bit = {
7162         "mediaControlGuaranteedDelivery bit is SET",
7163         "mediaControlGuaranteedDelivery bit is CLEAR"
7164 };
7165 static int
7166 dissect_h245_mediaControlGuaranteedDelivery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7167 {
7168         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_mediaControlGuaranteedDelivery, NULL, NULL);
7169
7170         return offset;
7171 }
7172
7173
7174
7175
7176
7177
7178 static const true_false_string tfs_flowControlToZero_bit = {
7179         "flowControlToZero bit is SET",
7180         "flowControlToZero bit is CLEAR"
7181 };
7182 static int
7183 dissect_h245_flowControlToZero(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7184 {
7185         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_flowControlToZero, NULL, NULL);
7186
7187         return offset;
7188 }
7189
7190
7191
7192
7193
7194
7195 static const true_false_string tfs_multiplexCapability_bool_bit = {
7196         "multiplexCapability_bool bit is SET",
7197         "multiplexCapability_bool bit is CLEAR"
7198 };
7199 static int
7200 dissect_h245_multiplexCapability_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7201 {
7202         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_multiplexCapability_bool, NULL, NULL);
7203
7204         return offset;
7205 }
7206
7207
7208
7209
7210
7211 static const true_false_string tfs_secureChannel_bit = {
7212         "secureChannel bit is SET",
7213         "secureChannel bit is CLEAR"
7214 };
7215 static int
7216 dissect_h245_secureChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7217 {
7218         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_secureChannel, NULL, NULL);
7219
7220         return offset;
7221 }
7222
7223
7224
7225
7226
7227 static const true_false_string tfs_sharedSecret_bit = {
7228         "sharedSecret bit is SET",
7229         "sharedSecret bit is CLEAR"
7230 };
7231 static int
7232 dissect_h245_sharedSecret(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7233 {
7234         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_sharedSecret, NULL, NULL);
7235
7236         return offset;
7237 }
7238
7239
7240
7241
7242
7243 static const true_false_string tfs_certProtectedKey_bit = {
7244         "certProtectedKey bit is SET",
7245         "certProtectedKey bit is CLEAR"
7246 };
7247 static int
7248 dissect_h245_certProtectedKey(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7249 {
7250         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_certProtectedKey, NULL, NULL);
7251
7252         return offset;
7253 }
7254
7255
7256
7257 static per_sequence_t KeyProtectionMethod_sequence[] = {
7258         { "secureChannel", EXTENSION_ROOT, NOT_OPTIONAL, 
7259                 dissect_h245_secureChannel },
7260         { "sharedSecret", EXTENSION_ROOT, NOT_OPTIONAL, 
7261                 dissect_h245_sharedSecret },
7262         { "certProtectedKey", EXTENSION_ROOT, NOT_OPTIONAL,
7263                 dissect_h245_certProtectedKey },
7264         { NULL, 0, 0, NULL }
7265 };
7266 static int
7267 dissect_h245_KeyProtectionMethod(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7268 {
7269         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_KeyProtectionMethod, ett_h245_KeyProtectionMethod, KeyProtectionMethod_sequence);
7270
7271         return offset;
7272 }
7273
7274
7275
7276 static per_sequence_t EncryptionUpdateRequest_sequence[] = {
7277         { "keyProtectionMethod", EXTENSION_ROOT, OPTIONAL,
7278                 dissect_h245_KeyProtectionMethod },
7279         { NULL, 0, 0, NULL }
7280 };
7281 static int
7282 dissect_h245_EncryptionUpdateRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7283 {
7284         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EncryptionUpdateRequest, ett_h245_EncryptionUpdateRequest, EncryptionUpdateRequest_sequence);
7285
7286         return offset;
7287 }
7288
7289
7290
7291
7292
7293 static const true_false_string tfs_bitRateLockedToPCRClock_bit = {
7294         "bitRateLockedToPCRClock bit is SET",
7295         "bitRateLockedToPCRClock bit is CLEAR"
7296 };
7297 static int
7298 dissect_h245_bitRateLockedToPCRClock(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7299 {
7300         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_bitRateLockedToPCRClock, NULL, NULL);
7301
7302         return offset;
7303 }
7304
7305
7306
7307
7308
7309
7310 static const true_false_string tfs_bitRateLockedToNetworkClock_bit = {
7311         "bitRateLockedToNetworkClock bit is SET",
7312         "bitRateLockedToNetworkClock bit is CLEAR"
7313 };
7314 static int
7315 dissect_h245_bitRateLockedToNetworkClock(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7316 {
7317         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_bitRateLockedToNetworkClock, NULL, NULL);
7318
7319         return offset;
7320 }
7321
7322
7323
7324 static int
7325 dissect_h245_IS11172_BitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7326 {
7327         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7328                 tree, hf_h245_IS11172_BitRate, 1, 448, 
7329                 NULL, NULL, FALSE);
7330         
7331         return offset;
7332 }
7333
7334
7335
7336
7337 static int
7338 dissect_h245_IS13818_BitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7339 {
7340         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7341                 tree, hf_h245_IS13818_BitRate, 1, 1130, 
7342                 NULL, NULL, FALSE);
7343         
7344         return offset;
7345 }
7346
7347
7348
7349 static per_sequence_t IS11172AudioCapability_sequence[] = {
7350         { "audioLayer1", EXTENSION_ROOT, NOT_OPTIONAL,
7351                 dissect_h245_audioLayer1 },
7352         { "audioLayer2", EXTENSION_ROOT, NOT_OPTIONAL,
7353                 dissect_h245_audioLayer2 },
7354         { "audioLayer3", EXTENSION_ROOT, NOT_OPTIONAL, 
7355                 dissect_h245_audioLayer3 },
7356         { "audioSampling32k", EXTENSION_ROOT, NOT_OPTIONAL,
7357                 dissect_h245_audioSampling32k },
7358         { "audioSampling44k1", EXTENSION_ROOT, NOT_OPTIONAL, 
7359                 dissect_h245_audioSampling44k1 },
7360         { "audioSampling48k", EXTENSION_ROOT, NOT_OPTIONAL,
7361                 dissect_h245_audioSampling48k },
7362         { "singleChannel", EXTENSION_ROOT, NOT_OPTIONAL, 
7363                 dissect_h245_singleChannel },
7364         { "twoChannels", EXTENSION_ROOT, NOT_OPTIONAL, 
7365                 dissect_h245_twoChannels },
7366         { "bitRate", EXTENSION_ROOT, NOT_OPTIONAL, 
7367                 dissect_h245_IS11172_BitRate },
7368         { NULL, 0, 0, NULL }
7369 };
7370 static int
7371 dissect_h245_IS11172AudioCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7372 {
7373         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS11172AudioCapability, ett_h245_IS11172AudioCapability, IS11172AudioCapability_sequence);
7374
7375         return offset;
7376 }
7377
7378
7379
7380 static per_sequence_t IS11172AudioMode_sequence[] = {
7381         { "audioLayer", EXTENSION_ROOT, NOT_OPTIONAL, 
7382                 dissect_h245_IS11172AudioMode_audioLayer },
7383         { "audioSampling", EXTENSION_ROOT, NOT_OPTIONAL, 
7384                 dissect_h245_IS11172AudioMode_audioSampling },
7385         { "multichannelType", EXTENSION_ROOT, NOT_OPTIONAL, 
7386                 dissect_h245_IS11172AudioMode_multichannelType },
7387         { "bitRate", EXTENSION_ROOT, NOT_OPTIONAL, 
7388                 dissect_h245_IS11172_BitRate },
7389         { NULL, 0, 0, NULL }
7390 };
7391 static int
7392 dissect_h245_IS11172AudioMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7393 {
7394         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS11172AudioMode, ett_h245_IS11172AudioMode, IS11172AudioMode_sequence);
7395
7396         return offset;
7397 }
7398
7399
7400
7401 static per_sequence_t IS13818AudioMode_sequence[] = {
7402         { "audioLayer", EXTENSION_ROOT, NOT_OPTIONAL, 
7403                         dissect_h245_IS13818AudioMode_audioLayer },
7404         { "audioSampling", EXTENSION_ROOT, NOT_OPTIONAL, 
7405                         dissect_h245_IS13818AudioMode_audioSampling },
7406         { "multiChannelType", EXTENSION_ROOT, NOT_OPTIONAL, 
7407                         dissect_h245_IS13818AudioMode_multiChannelType },
7408         { "lowFrequencyEnhancement", EXTENSION_ROOT, NOT_OPTIONAL, 
7409                         dissect_h245_lowFrequencyEnhancement },
7410         { "multilingual", EXTENSION_ROOT, NOT_OPTIONAL,
7411                         dissect_h245_multilingual },
7412         { "bitRate", EXTENSION_ROOT, NOT_OPTIONAL, 
7413                         dissect_h245_IS13818_BitRate },
7414         { NULL, 0, 0, NULL }
7415 };
7416 static int
7417 dissect_h245_IS13818AudioMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7418 {
7419         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS13818AudioMode, ett_h245_IS13818AudioMode, IS13818AudioMode_sequence);
7420
7421         return offset;
7422 }
7423
7424
7425
7426
7427 static per_sequence_t IS13818AudioCapability_sequence[] = {
7428         { "audioLayer1", EXTENSION_ROOT, NOT_OPTIONAL,
7429                 dissect_h245_audioLayer1 },
7430         { "audioLayer2", EXTENSION_ROOT, NOT_OPTIONAL, 
7431                 dissect_h245_audioLayer2 },
7432         { "audioLayer3", EXTENSION_ROOT, NOT_OPTIONAL, 
7433                 dissect_h245_audioLayer3 },
7434         { "audioSampling16k", EXTENSION_ROOT, NOT_OPTIONAL, 
7435                 dissect_h245_audioSampling16k },
7436         { "audioSampling22k05", EXTENSION_ROOT, NOT_OPTIONAL,
7437                 dissect_h245_audioSampling22k05 },
7438         { "audioSampling24k", EXTENSION_ROOT, NOT_OPTIONAL,
7439                 dissect_h245_audioSampling24k },
7440         { "audioSampling32k", EXTENSION_ROOT, NOT_OPTIONAL, 
7441                 dissect_h245_audioSampling32k },
7442         { "audioSampling44k1", EXTENSION_ROOT, NOT_OPTIONAL, 
7443                 dissect_h245_audioSampling44k1 },
7444         { "audioSampling48k", EXTENSION_ROOT, NOT_OPTIONAL,
7445                 dissect_h245_audioSampling48k },
7446         { "singleChannel", EXTENSION_ROOT, NOT_OPTIONAL, 
7447                 dissect_h245_singleChannel },
7448         { "twoChannels", EXTENSION_ROOT, NOT_OPTIONAL, 
7449                 dissect_h245_twoChannels },
7450         { "threeChannels2-1", EXTENSION_ROOT, NOT_OPTIONAL, 
7451                 dissect_h245_threeChannels21 },
7452         { "threeChannels3-0", EXTENSION_ROOT, NOT_OPTIONAL, 
7453                 dissect_h245_threeChannels30 },
7454         { "fourChannels2-0-2-0", EXTENSION_ROOT, NOT_OPTIONAL,
7455                 dissect_h245_fourChannels2020 },
7456         { "fourChannels2-2", EXTENSION_ROOT, NOT_OPTIONAL, 
7457                 dissect_h245_fourChannels22 },
7458         { "fourChannels3-1", EXTENSION_ROOT, NOT_OPTIONAL, 
7459                 dissect_h245_fourChannels31 },
7460         { "fiveChannels3-0-2-0", EXTENSION_ROOT, NOT_OPTIONAL,
7461                 dissect_h245_fiveChannels3020 },
7462         { "fiveChannels3-2", EXTENSION_ROOT, NOT_OPTIONAL, 
7463                 dissect_h245_fiveChannels32 },
7464         { "lowFrequencyEnhancement", EXTENSION_ROOT, NOT_OPTIONAL, 
7465                 dissect_h245_lowFrequencyEnhancement },
7466         { "multilingual", EXTENSION_ROOT, NOT_OPTIONAL, 
7467                 dissect_h245_multilingual },
7468         { "bitRate", EXTENSION_ROOT, NOT_OPTIONAL,
7469                 dissect_h245_IS13818_BitRate },
7470         { NULL, 0, 0, NULL }
7471 };
7472 static int
7473 dissect_h245_IS13818AudioCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7474 {
7475         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS13818AudioCapability, ett_h245_IS13818AudioCapability, IS13818AudioCapability_sequence);
7476
7477         return offset;
7478 }
7479
7480
7481
7482
7483 static int
7484 dissect_h245_ATM_BitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7485 {
7486         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7487                 tree, hf_h245_ATM_BitRate, 1, 65535, 
7488                 NULL, NULL, FALSE);
7489         
7490         return offset;
7491 }
7492
7493
7494
7495
7496 static per_sequence_t NewATMVCIndication_reverseParameters_sequence[] = {
7497         { "bitRate", EXTENSION_ROOT, NOT_OPTIONAL, 
7498                 dissect_h245_ATM_BitRate },
7499         { "bitRateLockedToPCRClock", EXTENSION_ROOT, NOT_OPTIONAL, 
7500                 dissect_h245_bitRateLockedToPCRClock },
7501         { "bitRateLockedToNetworkClock", EXTENSION_ROOT, NOT_OPTIONAL, 
7502                 dissect_h245_bitRateLockedToNetworkClock },
7503         { "multiplex", EXTENSION_ROOT, NOT_OPTIONAL, 
7504                 dissect_h245_NewATMVCIndication_reverseParameters_multiplex },
7505         { NULL, 0, 0, NULL }
7506 };
7507 static int
7508 dissect_h245_NewATMVCIndication_reverseParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7509 {
7510         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_reverseParameters, ett_h245_NewATMVCIndication_reverseParameters, NewATMVCIndication_reverseParameters_sequence);
7511
7512         return offset;
7513 }
7514
7515
7516
7517 static per_sequence_t NewATMVCCommand_reverseParameters_sequence[] = {
7518         { "bitRate", EXTENSION_ROOT, NOT_OPTIONAL,
7519                 dissect_h245_ATM_BitRate },
7520         { "bitRateLockedToPCRClock", EXTENSION_ROOT, NOT_OPTIONAL, 
7521                 dissect_h245_bitRateLockedToPCRClock },
7522         { "bitRateLockedToNetworkClock", EXTENSION_ROOT, NOT_OPTIONAL,
7523                 dissect_h245_bitRateLockedToNetworkClock },
7524         { "multiplex", EXTENSION_ROOT, NOT_OPTIONAL, 
7525                 dissect_h245_NewATMVCCommand_reverseParameters_multiplex },
7526         { NULL, 0, 0, NULL }
7527 };
7528 static int
7529 dissect_h245_NewATMVCCommand_reverseParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7530 {
7531         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_reverseParameters, ett_h245_NewATMVCCommand_reverseParameters, NewATMVCCommand_reverseParameters_sequence);
7532
7533         return offset;
7534 }
7535
7536 /*Recommendation T.35 (02/2000) 3  */
7537
7538 static const value_string T35_country_code__vals[] = {
7539         { 0x00, "Japan"},
7540         { 0x01, "Albania"},
7541         { 0x02, "Algeria"},
7542         { 0x03, "American Samoa"},
7543         { 0x04, "Germany (Federal Republic of)"},
7544         { 0x05, "Anguilla"},
7545         { 0x06, "Antigua and Barbuda"},
7546         { 0x07, "Argentina"},
7547         { 0x08, "Ascension (see S. Helena)"},
7548         { 0x09, "Australia"},
7549         { 0x0a, "Austria"},
7550         { 0x0b, "Bahamas"},
7551         { 0x0c, "Bahrain"},
7552         { 0x0d, "Bangladesh"},
7553         { 0x0e, "Barbados"},
7554         { 0x0f, "Belgium"},
7555         { 0x10, "Belize"},
7556         { 0x11, "Benin (Republic of)"},
7557         { 0x12, "Bermudas"},
7558         { 0x13, "Bhutan (Kingdom of)"},
7559         { 0x14, "Bolivia"},
7560         { 0x15, "Botswana"},
7561         { 0x16, "Brazil"},
7562         { 0x17, "British Antarctic Territory"},
7563         { 0x18, "British Indian Ocean Territory"},
7564         { 0x19, "British Virgin Islands"},
7565         { 0x1a, "Brunei Darussalam"},
7566         { 0x1b, "Bulgaria"},
7567         { 0x1c, "Myanmar (Union of)"},
7568         { 0x1d, "Burundi"},
7569         { 0x1e, "Byelorussia"},
7570         { 0x1f, "Cameroon"},
7571         { 0x20, "Canada"},
7572         { 0x21, "Cape Verde"},
7573         { 0x22, "Cayman Islands"},
7574         { 0x23, "Central African Republic"},
7575         { 0x24, "Chad"},
7576         { 0x25, "Chile"},
7577         { 0x26, "China"},
7578         { 0x27, "Colombia"},
7579         { 0x28, "Comoros"},
7580         { 0x29, "Congo"},
7581         { 0x2a, "Cook Islands"},
7582         { 0x2b, "Costa Rica"},
7583         { 0x2c, "Cuba"},
7584         { 0x2d, "Cyprus"},
7585         { 0x2e, "Czech and Slovak Federal Republic"},
7586         { 0x2f, "Cambodia"},
7587         { 0x30, "Democratic People's Republic of Korea"},
7588         { 0x31, "Denmark"},
7589         { 0x32, "Djibouti"},
7590         { 0x33, "Dominican Republic"},
7591         { 0x34, "Dominica"},
7592         { 0x35, "Ecuador"},
7593         { 0x36, "Egypt"},
7594         { 0x37, "El Salvador"},
7595         { 0x38, "Equatorial Guinea"},
7596         { 0x39, "Ethiopia"},
7597         { 0x3a, "Falkland Islands"},
7598         { 0x3b, "Fiji"},
7599         { 0x3c, "Finland"},
7600         { 0x3d, "France"},
7601         { 0x3e, "French Polynesia"},
7602         { 0x3f, "French Southern and Antarctic Lands"},
7603         { 0x40, "Gabon"},
7604         { 0x41, "Gambia"},
7605         { 0x42, "Germany (Federal Republic of)"},
7606         { 0x43, "Angola"},
7607         { 0x44, "Ghana"},
7608         { 0x45, "Gibraltar"},
7609         { 0x46, "Greece"},
7610         { 0x47, "Grenada"},
7611         { 0x48, "Guam"},
7612         { 0x49, "Guatemala"},
7613         { 0x4a, "Guernsey"},
7614         { 0x4b, "Guinea"},
7615         { 0x4c, "Guinea-Bissau"},
7616         { 0x4d, "Guayana"},
7617         { 0x4e, "Haiti"},
7618         { 0x4f, "Honduras"},
7619         { 0x50, "Hongkong"},
7620         { 0x51, "Hungary (Republic of)"},
7621         { 0x52, "Iceland"},
7622         { 0x53, "India"},
7623         { 0x54, "Indonesia"},
7624         { 0x55, "Iran (Islamic Republic of)"},
7625         { 0x56, "Iraq"},
7626         { 0x57, "Ireland"},
7627         { 0x58, "Israel"},
7628         { 0x59, "Italy"},
7629         { 0x5a, "Cte d'Ivoire"},
7630         { 0x5b, "Jamaica"},
7631         { 0x5c, "Afghanistan"},
7632         { 0x5d, "Jersey"},
7633         { 0x5e, "Jordan"},
7634         { 0x5f, "Kenya"},
7635         { 0x60, "Kiribati"},
7636         { 0x61, "Korea (Republic of)"},
7637         { 0x62, "Kuwait"},
7638         { 0x63, "Lao (People's Democratic Republic)"},
7639         { 0x64, "Lebanon"},
7640         { 0x65, "Lesotho"},
7641         { 0x66, "Liberia"},
7642         { 0x67, "Libya"},
7643         { 0x68, "Liechtenstein"},
7644         { 0x69, "Luxembourg"},
7645         { 0x6a, "Macau"},
7646         { 0x6b, "Madagascar"},
7647         { 0x6c, "Malaysia"},
7648         { 0x6d, "Malawi"},
7649         { 0x6e, "Maldives"},
7650         { 0x6f, "Mali"},
7651         { 0x70, "Malta"},
7652         { 0x71, "Mauritania"},
7653         { 0x72, "Mauritius"},
7654         { 0x73, "Mexico"},
7655         { 0x74, "Monaco"},
7656         { 0x75, "Mongolia"},
7657         { 0x76, "Montserrat"},
7658         { 0x77, "Morocco"},
7659         { 0x78, "Mozambique"},
7660         { 0x79, "Nauru"},
7661         { 0x7a, "Nepal"},
7662         { 0x7b, "Netherlands"},
7663         { 0x7c, "Netherlands Antilles"},
7664         { 0x7d, "New Caledonia"},
7665         { 0x7e, "New Zealand"},
7666         { 0x7f, "Nicaragua"},
7667         { 0x80, "Niger"},
7668         { 0x81, "Nigeria"},
7669         { 0x82, "Norway"},
7670         { 0x83, "Oman"},
7671         { 0x84, "Pakistan"},
7672         { 0x85, "Panama"},
7673         { 0x86, "Papua New Guinea"},
7674         { 0x87, "Paraguay"},
7675         { 0x88, "Peru"},
7676         { 0x89, "Philippines"},
7677         { 0x8a, "Poland (Republic of)"},
7678         { 0x8b, "Portugal"},
7679         { 0x8c, "Puerto Rico"},
7680         { 0x8d, "Qatar"},
7681         { 0x8e, "Romania"},
7682         { 0x8f, "Rwanda"},
7683         { 0x90, "Saint Kitts and Nevis"},
7684         { 0x91, "Saint Croix"},
7685         { 0x92, "Saint Helena and Ascension"},
7686         { 0x93, "Saint Lucia"},
7687         { 0x94, "San Marino"},
7688         { 0x95, "Saint Thomas"},
7689         { 0x96, "Sao Tom�and Principe"},
7690         { 0x97, "Saint Vincent and the Grenadines"},
7691         { 0x98, "Saudi Arabia"},
7692         { 0x99, "Senegal"},
7693         { 0x9a, "Seychelles"},
7694         { 0x9b, "Sierra Leone"},
7695         { 0x9c, "Singapore"},
7696         { 0x9d, "Solomon Islands"},
7697         { 0x9e, "Somalia"},
7698         { 0x9f, "South Africa"},
7699         { 0xa0, "Spain"},
7700         { 0xa1, "Sri Lanka"},
7701         { 0xa2, "Sudan"},
7702         { 0xa3, "Suriname"},
7703         { 0xa4, "Swaziland"},
7704         { 0xa5, "Sweden"},
7705         { 0xa6, "Switzerland"},
7706         { 0xa7, "Syria"},
7707         { 0xa8, "Tanzania"},
7708         { 0xa9, "Thailand"},
7709         { 0xaa, "Togo"},
7710         { 0xab, "Tonga"},
7711         { 0xac, "Trinidad and Tobago"},
7712         { 0xad, "Tunisia"},
7713         { 0xae, "Turkey"},
7714         { 0xaf, "Turks and Caicos Islands"},
7715         { 0xb0, "Tuvalu"},
7716         { 0xb1, "Uganda"},
7717         { 0xb2, "Ukraine"},
7718         { 0xb3, "United Arab Emirates"},
7719         { 0xb4, "United Kingdom"},
7720         { 0xb5, "United States"},
7721         { 0xb6, "Burkina Faso"},
7722         { 0xb7, "Uruguay"},
7723         { 0xb8, "U.S.S.R."},
7724         { 0xb9, "Vanuatu"},
7725         { 0xba, "Vatican City State"},
7726         { 0xbb, "Venezuela"},
7727         { 0xbc, "Viet Nam"},
7728         { 0xbd, "Wallis and Futuna"},
7729         { 0xbe, "Western Samoa"},
7730         { 0xbf, "Yemen (Republic of)"},
7731         { 0xc0, "Yemen (Republic of)"},
7732         { 0xc1, "Yugoslavia"},
7733         { 0xc2, "Zaire"},
7734         { 0xc3, "Zambia"},
7735         { 0xc4, "Zimbabwe"},
7736         {  0, NULL }
7737 };
7738
7739
7740 static int
7741 dissect_h245_t35CountryCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7742 {
7743         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7744                 tree, hf_h245_t35CountryCode, 0, 255,
7745                 &t35CountryCode, NULL, FALSE);
7746
7747         return offset;
7748 }
7749
7750
7751 static int
7752 dissect_h245_t35Extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7753 {
7754         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7755                 tree, hf_h245_t35Extension, 0, 255,
7756                 &t35Extension, NULL, FALSE);
7757
7758         return offset;
7759 }
7760
7761
7762
7763 static int
7764 dissect_h245_manufacturerCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7765 {
7766         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7767                 tree, hf_h245_manufacturerCode, 0, 65535,
7768                 &manufacturerCode, NULL, FALSE);
7769
7770         return offset;
7771 }
7772
7773
7774
7775
7776 static per_sequence_t h221NonStandard_sequence[] = {
7777         { "t35CountryCode", NO_EXTENSIONS, NOT_OPTIONAL,
7778                 dissect_h245_t35CountryCode },
7779         { "t35Extension", NO_EXTENSIONS, NOT_OPTIONAL, 
7780                 dissect_h245_t35Extension },
7781         { "manufacturerCode", NO_EXTENSIONS, NOT_OPTIONAL,
7782                 dissect_h245_manufacturerCode },
7783         { NULL, 0, 0, NULL }
7784 };
7785 int
7786 dissect_h245_h221NonStandard(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7787 {
7788         t35CountryCode = 0;
7789         t35Extension = 0;
7790         manufacturerCode = 0;
7791
7792         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_h221NonStandard, ett_h245_h221NonStandard, h221NonStandard_sequence);
7793
7794         h221NonStandard = ((t35CountryCode * 256) + t35Extension) * 65536 + manufacturerCode;
7795
7796         return offset;
7797 }
7798
7799
7800
7801 static int
7802 dissect_h245_terminalType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7803 {
7804         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7805                 tree, hf_h245_terminalType, 0, 255,
7806                 NULL, NULL, FALSE);
7807
7808         return offset;
7809 }
7810
7811
7812
7813
7814 static int
7815 dissect_h245_statusDeterminationNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7816 {
7817         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7818                 tree, hf_h245_statusDeterminationNumber, 0, 16777215,
7819                 NULL, NULL, FALSE);
7820
7821         return offset;
7822 }
7823
7824
7825
7826 static per_sequence_t MasterSlaveDetermination_sequence[] = {
7827         { "terminalType", EXTENSION_ROOT, NOT_OPTIONAL,
7828                 dissect_h245_terminalType },
7829         { "statusDeterminationNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
7830                 dissect_h245_statusDeterminationNumber },
7831         { NULL, 0, 0, NULL }
7832 };
7833 static int
7834 dissect_h245_MasterSlaveDetermination(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7835 {
7836         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDetermination, ett_h245_MasterSlaveDetermination, MasterSlaveDetermination_sequence);
7837
7838         return offset;
7839 }
7840
7841
7842
7843
7844 static int
7845 dissect_h245_CapabilityTableEntryNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7846 {
7847         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7848                 tree, hf_h245_CapabilityTableEntryNumber, 1, 65535,
7849                 NULL, NULL, FALSE);
7850
7851         return offset;
7852 }
7853
7854
7855
7856 static const value_string TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded_vals[] = {
7857         {  0, "highestEntryNumberProcessed" },
7858         {  1, "noneProcessed" },
7859         {  0, NULL }
7860 };
7861 static per_choice_t TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded_choice[] = {
7862         {  0, "highestEntryNumberProcessed", NO_EXTENSIONS,
7863                         dissect_h245_CapabilityTableEntryNumber },
7864         {  1, "noneProcessed", NO_EXTENSIONS, 
7865                         dissect_h245_NULL },
7866         {  0, NULL, 0, NULL }
7867 };
7868 static int
7869 dissect_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7870 {
7871         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded, ett_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded, TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded_choice, "tableEntryCapacityExceeded", NULL);
7872
7873         return offset;
7874 }
7875
7876
7877
7878
7879
7880 static const value_string TerminalCapabilitySetReject_cause_vals[] = {
7881         {  0, "unspecified" },
7882         {  1, "undefinedTableEntryUsed" },
7883         {  2, "descriptorCapacityExceeded" },
7884         {  3, "tableEntryCapacityExceeded" },
7885         {  0, NULL }
7886 };
7887 static per_choice_t TerminalCapabilitySetReject_cause_choice[] = {
7888         {  0, "unspecified", EXTENSION_ROOT, 
7889                         dissect_h245_NULL },
7890         {  1, "undefinedTableEntryUsed", EXTENSION_ROOT, 
7891                         dissect_h245_NULL },
7892         {  2, "descriptorCapacityExceeded", EXTENSION_ROOT, 
7893                         dissect_h245_NULL },
7894         {  3, "tableEntryCapacityExceeded", EXTENSION_ROOT, 
7895                         dissect_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded },
7896         {  0, NULL, 0, NULL }
7897 };
7898 static int
7899 dissect_h245_TerminalCapabilitySetReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7900 {
7901         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySetReject_cause, ett_h245_TerminalCapabilitySetReject_cause, TerminalCapabilitySetReject_cause_choice, "cause", NULL);
7902
7903         return offset;
7904 }
7905
7906
7907
7908 static per_sequence_t TerminalCapabilitySetReject_sequence[] = {
7909         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
7910                         dissect_h245_SequenceNumber },
7911         { "cause", EXTENSION_ROOT, NOT_OPTIONAL, 
7912                         dissect_h245_TerminalCapabilitySetReject_cause },
7913         { NULL, 0, 0, NULL }
7914 };
7915 static int
7916 dissect_h245_TerminalCapabilitySetReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7917 {
7918         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySetReject, ett_h245_TerminalCapabilitySetReject, TerminalCapabilitySetReject_sequence);
7919
7920         return offset;
7921 }
7922
7923
7924
7925
7926
7927 static int
7928 dissect_h245_CapabilityDescriptorNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7929 {
7930         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7931                 tree, hf_h245_CapabilityDescriptorNumber, 0, 255,
7932                 NULL, NULL, FALSE);
7933
7934         return offset;
7935 }
7936
7937
7938
7939
7940 static int
7941 dissect_h245_h233IVResponseTime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7942 {
7943         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7944                 tree, hf_h245_h233IVResponseTime, 0, 255,
7945                 NULL, NULL, FALSE);
7946
7947         return offset;
7948 }
7949
7950
7951
7952
7953 static per_sequence_t Capability_h233EncryptionReceiveCapability_sequence[] = {
7954         { "h233IVResponseTime", EXTENSION_ROOT, NOT_OPTIONAL, 
7955                         dissect_h245_h233IVResponseTime },
7956         { NULL, 0, 0, NULL }
7957 };
7958 static int
7959 dissect_h245_Capability_h233EncryptionReceiveCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7960 {
7961         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_Capability_h233EncryptionReceiveCapability, ett_h245_Capability_h233EncryptionReceiveCapability, Capability_h233EncryptionReceiveCapability_sequence);
7962
7963         return offset;
7964 }
7965
7966
7967
7968
7969
7970 static int
7971 dissect_h245_maxPendingReplacementFor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7972 {
7973         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7974                 tree, hf_h245_maxPendingReplacementFor, 0, 255,
7975                 NULL, NULL, FALSE);
7976
7977         return offset;
7978 }
7979
7980
7981
7982
7983 static int
7984 dissect_h245_numberOfVCs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7985 {
7986         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7987                 tree, hf_h245_numberOfVCs, 1, 256,
7988                 NULL, NULL, FALSE);
7989
7990         return offset;
7991 }
7992
7993
7994
7995
7996
7997 static int
7998 dissect_h245_forwardMaximumSDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7999 {
8000         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8001                 tree, hf_h245_forwardMaximumSDUSize, 0, 65535,
8002                 NULL, NULL, FALSE);
8003
8004         return offset;
8005 }
8006
8007
8008
8009
8010 static int
8011 dissect_h245_backwardMaximumSDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8012 {
8013         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8014                 tree, hf_h245_backwardMaximumSDUSize, 0, 65535,
8015                 NULL, NULL, FALSE);
8016
8017         return offset;
8018 }
8019
8020
8021
8022
8023
8024 static per_sequence_t VCCapability_aal5_sequence[] = {
8025         { "forwardMaximumSDUSize", EXTENSION_ROOT, NOT_OPTIONAL, 
8026                 dissect_h245_forwardMaximumSDUSize },
8027         { "backwardMaximumSDUSize", EXTENSION_ROOT, NOT_OPTIONAL,
8028                 dissect_h245_backwardMaximumSDUSize },
8029         { NULL, 0, 0, NULL }
8030 };
8031 static int
8032 dissect_h245_VCCapability_aal5(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8033 {
8034         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability_aal5, ett_h245_VCCapability_aal5, VCCapability_aal5_sequence);
8035
8036         return offset;
8037 }
8038
8039
8040
8041 static per_sequence_t NewATMVCCommand_aal_aal5_sequence[] = {
8042         { "forwardMaximumSDUSize", EXTENSION_ROOT, NOT_OPTIONAL, 
8043                 dissect_h245_forwardMaximumSDUSize},
8044         { "backwardMaximumSDUSize", EXTENSION_ROOT, NOT_OPTIONAL,
8045                 dissect_h245_backwardMaximumSDUSize },
8046         { NULL, 0, 0, NULL }
8047 };
8048 static int
8049 dissect_h245_NewATMVCCommand_aal_aal5(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8050 {
8051         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_aal_aal5, ett_h245_NewATMVCCommand_aal_aal5, NewATMVCCommand_aal_aal5_sequence);
8052
8053         return offset;
8054 }
8055
8056
8057
8058
8059
8060 static const value_string NewATMVCCommand_aal_vals[] = {
8061         {  0, "aal1" },
8062         {  1, "aal5" },
8063         {  0, NULL }
8064 };
8065 static per_choice_t NewATMVCCommand_aal_choice[] = {
8066         {  0, "aal1", EXTENSION_ROOT, 
8067                 dissect_h245_NewATMVCCommand_aal_aal1 },
8068         {  1, "aal5", EXTENSION_ROOT, 
8069                 dissect_h245_NewATMVCCommand_aal_aal5 },
8070         {  0, NULL, 0, NULL }
8071 };
8072 static int
8073 dissect_h245_NewATMVCCommand_aal(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8074 {
8075         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_aal, ett_h245_NewATMVCCommand_aal, NewATMVCCommand_aal_choice, "aal", NULL);
8076
8077         return offset;
8078 }
8079
8080
8081
8082
8083 static per_sequence_t NewATMVCIndication_aal_aal5_sequence[] = {
8084         { "forwardMaximumSDUSize", EXTENSION_ROOT, NOT_OPTIONAL, 
8085                 dissect_h245_forwardMaximumSDUSize },
8086         { "backwardMaximumSDUSize", EXTENSION_ROOT, NOT_OPTIONAL,
8087                 dissect_h245_backwardMaximumSDUSize },
8088         { NULL, 0, 0, NULL }
8089 };
8090 static int
8091 dissect_h245_NewATMVCIndication_aal_aal5(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8092 {
8093         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_aal_aal5, ett_h245_NewATMVCIndication_aal_aal5, NewATMVCIndication_aal_aal5_sequence);
8094
8095         return offset;
8096 }
8097
8098
8099
8100
8101 static const value_string NewATMVCIndication_aal_vals[] = {
8102         {  0, "aal1" },
8103         {  1, "aal5" },
8104         {  0, NULL }
8105 };
8106 static per_choice_t NewATMVCIndication_aal_choice[] = {
8107         {  0, "aal1", EXTENSION_ROOT, 
8108                 dissect_h245_NewATMVCIndication_aal_aal1 },
8109         {  1, "aal5", EXTENSION_ROOT,
8110                 dissect_h245_NewATMVCIndication_aal_aal5 },
8111         {  0, NULL, 0, NULL }
8112 };
8113 static int
8114 dissect_h245_NewATMVCIndication_aal(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8115 {
8116         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_aal, ett_h245_NewATMVCIndication_aal, NewATMVCIndication_aal_choice, "aal", NULL);
8117
8118         return offset;
8119 }
8120
8121
8122
8123
8124 static int
8125 dissect_h245_singleBitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8126 {
8127         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8128                 tree, hf_h245_singleBitRate, 1, 65535,
8129                 NULL, NULL, FALSE);
8130
8131         return offset;
8132 }
8133
8134
8135
8136
8137 static int
8138 dissect_h245_lowerBitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8139 {
8140         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8141                 tree, hf_h245_lowerBitRate, 1, 65535,
8142                 NULL, NULL, FALSE);
8143
8144         return offset;
8145 }
8146
8147
8148
8149 static int
8150 dissect_h245_higherBitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8151 {
8152         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8153                 tree, hf_h245_higherBitRate, 1, 65535,
8154                 NULL, NULL, FALSE);
8155
8156         return offset;
8157 }
8158
8159
8160
8161
8162
8163 static per_sequence_t VCCapability_availableBitRates_rangeOfBitRates_sequence[] = {
8164         { "lowerBitRate", NO_EXTENSIONS, NOT_OPTIONAL, 
8165                         dissect_h245_lowerBitRate },
8166         { "higherBitRate", NO_EXTENSIONS, NOT_OPTIONAL, 
8167                         dissect_h245_higherBitRate },
8168         { NULL, 0, 0, NULL }
8169 };
8170 static int
8171 dissect_h245_VCCapability_availableBitRates_rangeOfBitRates(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8172 {
8173         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability_availableBitRates_rangeOfBitRates, ett_h245_VCCapability_availableBitRates_rangeOfBitRates, VCCapability_availableBitRates_rangeOfBitRates_sequence);
8174
8175         return offset;
8176 }
8177
8178
8179
8180
8181 static const value_string VCCapability_availableBitRates_type_vals[] = {
8182         {  0, "singleBitRate" },
8183         {  1, "rangeOfBitRates" },
8184         {  0, NULL }
8185 };
8186 static per_choice_t VCCapability_availableBitRates_type_choice[] = {
8187         {  0, "singleBitRate", NO_EXTENSIONS, 
8188                         dissect_h245_singleBitRate },
8189         {  1, "rangeOfBitRates", NO_EXTENSIONS,
8190                         dissect_h245_VCCapability_availableBitRates_rangeOfBitRates },
8191         {  0, NULL, 0, NULL }
8192 };
8193 static int
8194 dissect_h245_VCCapability_availableBitRates_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8195 {
8196         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_VCCapability_availableBitRates_type, ett_h245_VCCapability_availableBitRates_type, VCCapability_availableBitRates_type_choice, "type", NULL);
8197
8198         return offset;
8199 }
8200
8201
8202
8203 static int
8204 dissect_h245_maximumAl2SDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8205 {
8206         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8207                 tree, hf_h245_maximumAl2SDUSize, 0, 65535,
8208                 NULL, NULL, FALSE);
8209
8210         return offset;
8211 }
8212
8213
8214
8215
8216 static int
8217 dissect_h245_maximumAl3SDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8218 {
8219         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8220                 tree, hf_h245_maximumAl3SDUSize, 0, 65535,
8221                 NULL, NULL, FALSE);
8222
8223         return offset;
8224 }
8225
8226
8227
8228
8229 static int
8230 dissect_h245_maximumDelayJitter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8231 {
8232         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8233                 tree, hf_h245_maximumDelayJitter, 0, 1023,
8234                 NULL, NULL, FALSE);
8235
8236         return offset;
8237 }
8238
8239
8240
8241 static int
8242 dissect_h245_maximumNestingDepth(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8243 {
8244         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8245                 tree, hf_h245_maximumNestingDepth, 1, 15,
8246                 NULL, NULL, FALSE);
8247
8248         return offset;
8249 }
8250
8251
8252
8253 static int
8254 dissect_h245_maximumElementListSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8255 {
8256         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8257                 tree, hf_h245_maximumElementListSize, 2, 255,
8258                 NULL, NULL, FALSE);
8259
8260         return offset;
8261 }
8262
8263
8264
8265 static int
8266 dissect_h245_maximumSubElementListSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8267 {
8268         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8269                 tree, hf_h245_maximumSubElementListSize, 2, 255,
8270                 NULL, NULL, FALSE);
8271
8272         return offset;
8273 }
8274
8275
8276
8277 static per_sequence_t H223Capability_h223MultiplexTableCapability_enhanced_sequence[] = {
8278         { "maximumNestingDepth", EXTENSION_ROOT, NOT_OPTIONAL,
8279                         dissect_h245_maximumNestingDepth },
8280         { "maximumElementListSize", EXTENSION_ROOT, NOT_OPTIONAL,
8281                         dissect_h245_maximumElementListSize },
8282         { "maximumSubElementListSize", EXTENSION_ROOT, NOT_OPTIONAL,
8283                         dissect_h245_maximumSubElementListSize },
8284         { NULL, 0, 0, NULL }
8285 };
8286 static int
8287 dissect_h245_H223Capability_h223MultiplexTableCapability_enhanced(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8288 {
8289         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223Capability_h223MultiplexTableCapability_enhanced, ett_h245_H223Capability_h223MultiplexTableCapability_enhanced, H223Capability_h223MultiplexTableCapability_enhanced_sequence);
8290
8291         return offset;
8292 }
8293
8294
8295
8296
8297 static const value_string H223Capability_h223MultiplexTableCapability_vals[] = {
8298         {  0, "basic" },
8299         {  1, "enhanced" },
8300         {  0, NULL }
8301 };
8302 static per_choice_t H223Capability_h223MultiplexTableCapability_choice[] = {
8303         {  0, "basic", NO_EXTENSIONS, 
8304                         dissect_h245_NULL },
8305         {  1, "enhanced", NO_EXTENSIONS,
8306                         dissect_h245_H223Capability_h223MultiplexTableCapability_enhanced },
8307         {  0, NULL, 0, NULL }
8308 };
8309 static int
8310 dissect_h245_H223Capability_h223MultiplexTableCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8311 {
8312         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223Capability_h223MultiplexTableCapability, ett_h245_H223Capability_h223MultiplexTableCapability, H223Capability_h223MultiplexTableCapability_choice, "h223MultiplexTableCapability", NULL);
8313
8314         return offset;
8315 }
8316
8317
8318
8319
8320 static int
8321 dissect_h245_h223bitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8322 {
8323         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8324                 tree, hf_h245_h223bitRate, 1, 19200,
8325                 NULL, NULL, FALSE);
8326
8327         return offset;
8328 }
8329
8330
8331
8332
8333 static int
8334 dissect_h245_maximumSampleSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8335 {
8336         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8337                 tree, hf_h245_maximumSampleSize, 1, 255,
8338                 NULL, NULL, FALSE);
8339
8340         return offset;
8341 }
8342
8343
8344
8345
8346 static int
8347 dissect_h245_maximumPayloadLength(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8348 {
8349         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8350                 tree, hf_h245_maximumPayloadLength, 1, 65025,
8351                 NULL, NULL, FALSE);
8352
8353         return offset;
8354 }
8355
8356
8357
8358
8359 static per_sequence_t H223Capability_mobileMultilinkFrameCapability_sequence[] = {
8360         { "maximumSampleSize", EXTENSION_ROOT, NOT_OPTIONAL, 
8361                         dissect_h245_maximumSampleSize },
8362         { "maximumPayloadLength", EXTENSION_ROOT, NOT_OPTIONAL, 
8363                         dissect_h245_maximumPayloadLength },
8364         { NULL, 0, 0, NULL }
8365 };
8366 static int
8367 dissect_h245_H223Capability_mobileMultilinkFrameCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8368 {
8369         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223Capability_mobileMultilinkFrameCapability, ett_h245_H223Capability_mobileMultilinkFrameCapability, H223Capability_mobileMultilinkFrameCapability_sequence);
8370
8371         return offset;
8372 }
8373
8374
8375
8376
8377 static int
8378 dissect_h245_maximumAL1MPDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8379 {
8380         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8381                 tree, hf_h245_maximumAL1MPDUSize, 0, 65535,
8382                 NULL, NULL, FALSE);
8383
8384         return offset;
8385 }
8386
8387
8388
8389
8390 static int
8391 dissect_h245_maximumAL2MSDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8392 {
8393         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8394                 tree, hf_h245_maximumAL2MSDUSize, 0, 65535,
8395                 NULL, NULL, FALSE);
8396
8397         return offset;
8398 }
8399
8400
8401
8402
8403 static int
8404 dissect_h245_maximumAL3MSDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8405 {
8406         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8407                 tree, hf_h245_maximumAL3MSDUSize, 0, 65535,
8408                 NULL, NULL, FALSE);
8409
8410         return offset;
8411 }
8412
8413
8414
8415
8416
8417 static per_sequence_t H223AnnexCCapability_sequence[] = {
8418         { "videoWithAL1M", EXTENSION_ROOT, NOT_OPTIONAL, 
8419                 dissect_h245_videoWithAL1M },
8420         { "videoWithAL2M", EXTENSION_ROOT, NOT_OPTIONAL, 
8421                 dissect_h245_videoWithAL2M },
8422         { "videoWithAL3M", EXTENSION_ROOT, NOT_OPTIONAL, 
8423                 dissect_h245_videoWithAL3M },
8424         { "audioWithAL1M", EXTENSION_ROOT, NOT_OPTIONAL, 
8425                 dissect_h245_audioWithAL1M },
8426         { "audioWithAL2M", EXTENSION_ROOT, NOT_OPTIONAL, 
8427                 dissect_h245_audioWithAL2M },
8428         { "audioWithAL3M", EXTENSION_ROOT, NOT_OPTIONAL, 
8429                 dissect_h245_audioWithAL3M },
8430         { "dataWithAL1M", EXTENSION_ROOT, NOT_OPTIONAL, 
8431                 dissect_h245_dataWithAL1M },
8432         { "dataWithAL2M", EXTENSION_ROOT, NOT_OPTIONAL, 
8433                 dissect_h245_dataWithAL2M },
8434         { "dataWithAL3M", EXTENSION_ROOT, NOT_OPTIONAL, 
8435                 dissect_h245_dataWithAL3M },
8436         { "alpduInterleaving", EXTENSION_ROOT, NOT_OPTIONAL, 
8437                 dissect_h245_alpduInterleaving },
8438         { "maximumAL1MPDUSize", EXTENSION_ROOT, NOT_OPTIONAL,
8439                 dissect_h245_maximumAL1MPDUSize },
8440         { "maximumAL2MSDUSize", EXTENSION_ROOT, NOT_OPTIONAL,
8441                 dissect_h245_maximumAL2MSDUSize },
8442         { "maximumAL3MSDUSize", EXTENSION_ROOT, NOT_OPTIONAL,
8443                 dissect_h245_maximumAL3MSDUSize },
8444         { "rsCodeCapability", NOT_EXTENSION_ROOT, OPTIONAL, 
8445                 dissect_h245_rsCodeCapability },
8446         { NULL, 0, 0, NULL }
8447 };
8448 static int
8449 dissect_h245_H223AnnexCCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8450 {
8451         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223AnnexCCapability, ett_h245_H223AnnexCCapability, H223AnnexCCapability_sequence);
8452
8453         return offset;
8454 }
8455
8456
8457
8458 static const true_false_string tfs_transportWithIframes_bit = {
8459         "transportWithIframes bit is SET",
8460         "transportWithIframes bit is CLEAR"
8461 };
8462 static int
8463 dissect_h245_transportWithIframes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8464 {
8465         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_transportWithIframes, NULL, NULL);
8466
8467         return offset;
8468 }
8469
8470
8471 static per_sequence_t H223Capability_sequence[] = {
8472         { "transportWithIframes", EXTENSION_ROOT, NOT_OPTIONAL,
8473                 dissect_h245_transportWithIframes },
8474         { "videoWithAL1", EXTENSION_ROOT, NOT_OPTIONAL, 
8475                 dissect_h245_videoWithAL1 },
8476         { "videoWithAL2", EXTENSION_ROOT, NOT_OPTIONAL, 
8477                 dissect_h245_videoWithAL2 },
8478         { "videoWithAL3", EXTENSION_ROOT, NOT_OPTIONAL, 
8479                 dissect_h245_videoWithAL3 },
8480         { "audioWithAL1", EXTENSION_ROOT, NOT_OPTIONAL,
8481                 dissect_h245_audioWithAL1 },
8482         { "audioWithAL2", EXTENSION_ROOT, NOT_OPTIONAL, 
8483                 dissect_h245_audioWithAL2 },
8484         { "audioWithAL3", EXTENSION_ROOT, NOT_OPTIONAL, 
8485                 dissect_h245_audioWithAL3 },
8486         { "dataWithAL1", EXTENSION_ROOT, NOT_OPTIONAL, 
8487                 dissect_h245_dataWithAL1 },
8488         { "dataWithAL2", EXTENSION_ROOT, NOT_OPTIONAL, 
8489                 dissect_h245_dataWithAL2 },
8490         { "dataWithAL3", EXTENSION_ROOT, NOT_OPTIONAL, 
8491                 dissect_h245_dataWithAL3 },
8492         { "maximumAL2SDUSize", EXTENSION_ROOT, NOT_OPTIONAL, 
8493                 dissect_h245_maximumAl2SDUSize },
8494         { "maximumAL3SDUSize", EXTENSION_ROOT, NOT_OPTIONAL, 
8495                 dissect_h245_maximumAl3SDUSize },
8496         { "maximumDelayJitter", EXTENSION_ROOT, NOT_OPTIONAL, 
8497                 dissect_h245_maximumDelayJitter },
8498         { "h223MultiplexTableCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
8499                 dissect_h245_H223Capability_h223MultiplexTableCapability },
8500         { "maxMUXPDUSizeCapability", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
8501                 dissect_h245_maxMUXPDUSizeCapability },
8502         { "nsrpSupport", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
8503                 dissect_h245_nsrpSupport },
8504         { "mobileOperationTransmitCapability", NOT_EXTENSION_ROOT, OPTIONAL,
8505                 dissect_h245_H223Capability_mobileOperationTransmitCapability },
8506         { "h223AnnexCCapability", NOT_EXTENSION_ROOT, OPTIONAL,
8507                 dissect_h245_H223AnnexCCapability },
8508         { "bitRate", NOT_EXTENSION_ROOT, OPTIONAL,
8509                 dissect_h245_h223bitRate },
8510         { "mobileMultilinkFrameCapability", NOT_EXTENSION_ROOT, OPTIONAL,
8511                 dissect_h245_H223Capability_mobileMultilinkFrameCapability },
8512         { NULL, 0, 0, NULL }
8513 };
8514 static int
8515 dissect_h245_H223Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8516 {
8517         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223Capability, ett_h245_H223Capability, H223Capability_sequence);
8518
8519         return offset;
8520 }
8521
8522
8523
8524
8525 static int
8526 dissect_h245_numOfDLCS(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8527 {
8528         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8529                 tree, hf_h245_numOfDLCS, 2, 8191,
8530                 NULL, NULL, FALSE);
8531
8532         return offset;
8533 }
8534
8535
8536
8537
8538 static int
8539 dissect_h245_n401Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8540 {
8541         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8542                 tree, hf_h245_n401Capability, 1, 4095,
8543                 NULL, NULL, FALSE);
8544
8545         return offset;
8546 }
8547
8548
8549
8550
8551 static int
8552 dissect_h245_maxWindowSizeCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8553 {
8554         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8555                 tree, hf_h245_maxWindowSizeCapability, 1, 127,
8556                 NULL, NULL, FALSE);
8557
8558         return offset;
8559 }
8560
8561
8562
8563
8564 static per_sequence_t V76Capability_sequence[] = {
8565         { "suspendResumeCapabilitywAddress", EXTENSION_ROOT, NOT_OPTIONAL, 
8566                 dissect_h245_suspendResumeCapabilitywAddress },
8567         { "suspendResumeCapabilitywoAddress", EXTENSION_ROOT, NOT_OPTIONAL, 
8568                 dissect_h245_suspendResumeCapabilitywoAddress },
8569         { "rejCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
8570                 dissect_h245_rejCapability },
8571         { "sREJCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
8572                 dissect_h245_sREJCapability },
8573         { "mREJCapability", EXTENSION_ROOT, NOT_OPTIONAL,
8574                 dissect_h245_mREJCapability },
8575         { "crc8bitCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
8576                 dissect_h245_crc8bitCapability },
8577         { "crc16bitCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
8578                 dissect_h245_crc16bitCapability },
8579         { "crc32bitCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
8580                 dissect_h245_crc32bitCapability },
8581         { "uihCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
8582                 dissect_h245_uihCapability },
8583         { "numOfDLCS", EXTENSION_ROOT, NOT_OPTIONAL,
8584                 dissect_h245_numOfDLCS },
8585         { "twoOctetAddressFieldCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
8586                 dissect_h245_twoOctetAddressFieldCapability },
8587         { "loopBackTestCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
8588                 dissect_h245_loopBackTestCapability },
8589         { "n401Capability", EXTENSION_ROOT, NOT_OPTIONAL,
8590                 dissect_h245_n401Capability },
8591         { "maxWindowSizeCapability", EXTENSION_ROOT, NOT_OPTIONAL,
8592                 dissect_h245_maxWindowSizeCapability },
8593         { "v75Capability", EXTENSION_ROOT, NOT_OPTIONAL, 
8594                 dissect_h245_V75Capability },
8595         { NULL, 0, 0, NULL }
8596 };
8597 static int
8598 dissect_h245_V76Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8599 {
8600         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V76Capability, ett_h245_V76Capability, V76Capability_sequence);
8601
8602         return offset;
8603 }
8604
8605
8606
8607
8608 static int
8609 dissect_h245_maximumAudioDelayJitter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8610 {
8611         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8612                 tree, hf_h245_maximumAudioDelayJitter, 0, 1023,
8613                 NULL, NULL, FALSE);
8614
8615         return offset;
8616 }
8617
8618
8619
8620
8621 static int
8622 dissect_h245_tokenRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8623 {
8624         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8625                 tree, hf_h245_tokenRate, 1, 4294967295UL,
8626                 NULL, NULL, FALSE);
8627
8628         return offset;
8629 }
8630
8631
8632
8633
8634 static int
8635 dissect_h245_bucketSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8636 {
8637         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8638                 tree, hf_h245_bucketSize, 1, 4294967295UL,
8639                 NULL, NULL, FALSE);
8640
8641         return offset;
8642 }
8643
8644
8645
8646
8647 static int
8648 dissect_h245_peakRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8649 {
8650         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8651                 tree, hf_h245_peakRate, 1, 4294967295UL,
8652                 NULL, NULL, FALSE);
8653
8654         return offset;
8655 }
8656
8657
8658
8659 static int
8660 dissect_h245_minPoliced(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8661 {
8662         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8663                 tree, hf_h245_minPoliced, 1, 4294967295UL,
8664                 NULL, NULL, FALSE);
8665
8666         return offset;
8667 }
8668
8669
8670
8671
8672 static int
8673 dissect_h245_maxPktSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8674 {
8675         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8676                 tree, hf_h245_maxPktSize, 1, 4294967295UL,
8677                 NULL, NULL, FALSE);
8678
8679         return offset;
8680 }
8681
8682
8683
8684 static per_sequence_t RSVPParameters_sequence[] = {
8685         { "qosMode", EXTENSION_ROOT, OPTIONAL, 
8686                         dissect_h245_QOSMode },
8687         { "tokenRate", EXTENSION_ROOT, OPTIONAL, 
8688                         dissect_h245_tokenRate },
8689         { "bucketSize", EXTENSION_ROOT, OPTIONAL, 
8690                         dissect_h245_bucketSize },
8691         { "peakRate", EXTENSION_ROOT, OPTIONAL,
8692                         dissect_h245_peakRate },
8693         { "minPoliced", EXTENSION_ROOT, OPTIONAL,
8694                         dissect_h245_minPoliced },
8695         { "maxPktSize", EXTENSION_ROOT, OPTIONAL,
8696                         dissect_h245_maxPktSize },
8697         { NULL, 0, 0, NULL }
8698 };
8699 static int
8700 dissect_h245_RSVPParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8701 {
8702         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RSVPParameters, ett_h245_RSVPParameters, RSVPParameters_sequence);
8703
8704         return offset;
8705 }
8706
8707
8708
8709
8710 static int
8711 dissect_h245_maxNTUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8712 {
8713         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8714                 tree, hf_h245_maxNTUSize, 0, 65535,
8715                 NULL, NULL, FALSE);
8716
8717         return offset;
8718 }
8719
8720
8721
8722 static per_sequence_t ATMParameters_sequence[] = {
8723         { "maxNTUSize", EXTENSION_ROOT, NOT_OPTIONAL,
8724                 dissect_h245_maxNTUSize },
8725         { "atmUBR", EXTENSION_ROOT, NOT_OPTIONAL, 
8726                 dissect_h245_atmUBR },
8727         { "atmrtVBR", EXTENSION_ROOT, NOT_OPTIONAL, 
8728                 dissect_h245_atmrtVBR },
8729         { "atmnrtVBR", EXTENSION_ROOT, NOT_OPTIONAL, 
8730                 dissect_h245_atmnrtVBR },
8731         { "atmABR", EXTENSION_ROOT, NOT_OPTIONAL, 
8732                 dissect_h245_atmABR },
8733         { "atmCBR", EXTENSION_ROOT, NOT_OPTIONAL, 
8734                 dissect_h245_atmCBR },
8735         { NULL, 0, 0, NULL }
8736 };
8737 static int
8738 dissect_h245_ATMParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8739 {
8740         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ATMParameters, ett_h245_ATMParameters, ATMParameters_sequence);
8741
8742         return offset;
8743 }
8744
8745
8746
8747
8748 static int
8749 dissect_h245_numberOfThreads(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8750 {
8751         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8752                 tree, hf_h245_numberOfThreads, 1, 16,
8753                 NULL, NULL, FALSE);
8754
8755         return offset;
8756 }
8757
8758
8759
8760 static int
8761 dissect_h245_framesBetweenSyncPoints(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_framesBetweenSyncPoints, 1, 256,
8765                 NULL, NULL, FALSE);
8766
8767         return offset;
8768 }
8769
8770
8771
8772 static int
8773 dissect_h245_threadNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8774 {
8775         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8776                 tree, hf_h245_threadNumber, 0, 15,
8777                 NULL, NULL, FALSE);
8778
8779         return offset;
8780 }
8781
8782
8783
8784
8785 static int
8786 dissect_h245_qcifMPI_1_4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8787 {
8788         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8789                 tree, hf_h245_qcifMPI_1_4, 1, 4,
8790                 NULL, NULL, FALSE);
8791
8792         return offset;
8793 }
8794
8795
8796
8797
8798 static int
8799 dissect_h245_qcifMPI_1_32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8800 {
8801         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8802                 tree, hf_h245_qcifMPI_1_32, 1, 32,
8803                 NULL, NULL, FALSE);
8804
8805         return offset;
8806 }
8807
8808
8809
8810
8811
8812
8813 static int
8814 dissect_h245_qcifMPI_1_2048(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8815 {
8816         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8817                 tree, hf_h245_qcifMPI_1_2048, 1, 2048,
8818                 NULL, NULL, FALSE);
8819
8820         return offset;
8821 }
8822
8823
8824
8825
8826 static int
8827 dissect_h245_cifMPI_1_4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8828 {
8829         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8830                 tree, hf_h245_cifMPI_1_4, 1, 4,
8831                 NULL, NULL, FALSE);
8832
8833         return offset;
8834 }
8835
8836
8837
8838 static int
8839 dissect_h245_cifMPI_1_32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8840 {
8841         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8842                 tree, hf_h245_cifMPI_1_32, 1, 32,
8843                 NULL, NULL, FALSE);
8844
8845         return offset;
8846 }
8847
8848
8849
8850 static int
8851 dissect_h245_cifMPI_1_2048(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8852 {
8853         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8854                 tree, hf_h245_cifMPI_1_2048, 1, 2048,
8855                 NULL, NULL, FALSE);
8856
8857         return offset;
8858 }
8859
8860
8861
8862
8863
8864 static per_sequence_t H261VideoCapability_sequence[] = {
8865         { "qcifMPI", EXTENSION_ROOT, OPTIONAL,
8866                 dissect_h245_qcifMPI_1_4 },
8867         { "cifMPI", EXTENSION_ROOT, OPTIONAL,
8868                 dissect_h245_cifMPI_1_4 },
8869         { "temporalSpatialTradeOffCapability", EXTENSION_ROOT, NOT_OPTIONAL,
8870                 dissect_h245_temporalSpatialTradeOffCapability },
8871         { "maxBitRate", EXTENSION_ROOT, NOT_OPTIONAL,
8872                 dissect_h245_h223bitRate },
8873         { "stillImageTransmission", EXTENSION_ROOT, NOT_OPTIONAL, 
8874                 dissect_h245_stillImageTransmission },
8875         { "videoBadMBsCap", NOT_EXTENSION_ROOT, NOT_OPTIONAL,
8876                 dissect_h245_videoBadMBsCap },
8877         { NULL, 0, 0, NULL }
8878 };
8879 static int
8880 dissect_h245_H261VideoCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8881 {
8882         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H261VideoCapability, ett_h245_H261VideoCapability, H261VideoCapability_sequence);
8883
8884         return offset;
8885 }
8886
8887
8888
8889
8890 static int
8891 dissect_h245_videoBitRate(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_videoBitRate, 0, 1073741823,
8895                 NULL, NULL, FALSE);
8896
8897         return offset;
8898 }
8899
8900
8901
8902
8903 static int
8904 dissect_h245_vbvBufferSize(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_vbvBufferSize, 0, 262143,
8908                 NULL, NULL, FALSE);
8909
8910         return offset;
8911 }
8912
8913
8914
8915
8916
8917 static int
8918 dissect_h245_samplesPerLine(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8919 {
8920         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8921                 tree, hf_h245_samplesPerLine, 0, 16383,
8922                 NULL, NULL, FALSE);
8923
8924         return offset;
8925 }
8926
8927
8928
8929
8930
8931 static int
8932 dissect_h245_linesPerFrame(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8933 {
8934         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8935                 tree, hf_h245_linesPerFrame, 0, 16383,
8936                 NULL, NULL, FALSE);
8937
8938         return offset;
8939 }
8940
8941
8942
8943
8944
8945 static int
8946 dissect_h245_framesPerSecond(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8947 {
8948         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8949                 tree, hf_h245_framesPerSecond, 0, 15,
8950                 NULL, NULL, FALSE);
8951
8952         return offset;
8953 }
8954
8955
8956
8957
8958 static int
8959 dissect_h245_luminanceSampleRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8960 {
8961         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8962                 tree, hf_h245_luminanceSampleRate, 0, 4294967295UL,
8963                 NULL, NULL, FALSE);
8964
8965         return offset;
8966 }
8967
8968
8969
8970
8971 static per_sequence_t H262VideoCapability_sequence[] = {
8972         { "profileAndLevel-SPatML", EXTENSION_ROOT, NOT_OPTIONAL,
8973                 dissect_h245_profileAndLevelSPatML },
8974         { "profileAndLevel-MPatLL", EXTENSION_ROOT, NOT_OPTIONAL, 
8975                 dissect_h245_profileAndLevelMPatLL },
8976         { "profileAndLevel-MPatML", EXTENSION_ROOT, NOT_OPTIONAL,
8977                 dissect_h245_profileAndLevelMPatML },
8978         { "profileAndLevel-MPatH-14", EXTENSION_ROOT, NOT_OPTIONAL, 
8979                 dissect_h245_profileAndLevelMPatH14 },
8980         { "profileAndLevel-MPatHL", EXTENSION_ROOT, NOT_OPTIONAL, 
8981                 dissect_h245_profileAndLevelMPatHL },
8982         { "profileAndLevel-SNRatLL", EXTENSION_ROOT, NOT_OPTIONAL, 
8983                 dissect_h245_profileAndLevelSNRatLL },
8984         { "profileAndLevel-SNRatML", EXTENSION_ROOT, NOT_OPTIONAL, 
8985                 dissect_h245_profileAndLevelSNRatML },
8986         { "profileAndLevel-SpatialatH-14", EXTENSION_ROOT, NOT_OPTIONAL, 
8987                 dissect_h245_profileAndLevelSpatialatH14 },
8988         { "profileAndLevel-HPatML", EXTENSION_ROOT, NOT_OPTIONAL,
8989                 dissect_h245_profileAndLevelHPatML },
8990         { "profileAndLevel-HPatH-14", EXTENSION_ROOT, NOT_OPTIONAL, 
8991                 dissect_h245_profileAndLevelHPatH14 },
8992         { "profileAndLevel-HPatHL", EXTENSION_ROOT, NOT_OPTIONAL, 
8993                 dissect_h245_profileAndLevelHPatHL },
8994         { "videoBitRate", EXTENSION_ROOT, OPTIONAL,
8995                 dissect_h245_videoBitRate },
8996         { "vbvBufferSize", EXTENSION_ROOT, OPTIONAL, 
8997                 dissect_h245_vbvBufferSize },
8998         { "samplesPerLine", EXTENSION_ROOT, OPTIONAL,
8999                 dissect_h245_samplesPerLine },
9000         { "linesPerFrame", EXTENSION_ROOT, OPTIONAL,
9001                 dissect_h245_linesPerFrame },
9002         { "framesPerSecond", EXTENSION_ROOT, OPTIONAL,
9003                 dissect_h245_framesPerSecond },
9004         { "luminanceSampleRate", EXTENSION_ROOT, OPTIONAL,
9005                 dissect_h245_luminanceSampleRate },
9006         { "videoBadMBsCap", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
9007                 dissect_h245_videoBadMBsCap },
9008         { NULL, 0, 0, NULL }
9009 };
9010 static int
9011 dissect_h245_H262VideoCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9012 {
9013         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H262VideoCapability, ett_h245_H262VideoCapability, H262VideoCapability_sequence);
9014
9015         return offset;
9016 }
9017
9018
9019
9020
9021
9022 static per_sequence_t H262VideoMode_sequence[] = {
9023         { "profileAndLevel", EXTENSION_ROOT, NOT_OPTIONAL, 
9024                 dissect_h245_H262VideoMode_profileAndLevel },
9025         { "videoBitRate", EXTENSION_ROOT, OPTIONAL,
9026                 dissect_h245_videoBitRate },
9027         { "vbvBufferSize", EXTENSION_ROOT, OPTIONAL, 
9028                 dissect_h245_vbvBufferSize },
9029         { "samplesPerLine", EXTENSION_ROOT, OPTIONAL,
9030                 dissect_h245_samplesPerLine },
9031         { "linesPerFrame", EXTENSION_ROOT, OPTIONAL,
9032                 dissect_h245_linesPerFrame },
9033         { "framesPerSecond", EXTENSION_ROOT, OPTIONAL,
9034                 dissect_h245_framesPerSecond },
9035         { "luminanceSampleRate", EXTENSION_ROOT, OPTIONAL,
9036                 dissect_h245_luminanceSampleRate },
9037         { NULL, 0, 0, NULL }
9038 };
9039 static int
9040 dissect_h245_H262VideoMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9041 {
9042         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H262VideoMode, ett_h245_H262VideoMode, H262VideoMode_sequence);
9043
9044         return offset;
9045 }
9046
9047
9048
9049
9050 static int
9051 dissect_h245_sqcifMPI_1_32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9052 {
9053         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9054                 tree, hf_h245_sqcifMPI_1_32, 1, 32,
9055                 NULL, NULL, FALSE);
9056
9057         return offset;
9058 }
9059
9060
9061
9062 static int
9063 dissect_h245_sqcifMPI_1_2048(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9064 {
9065         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9066                 tree, hf_h245_sqcifMPI_1_2048, 1, 2048,
9067                 NULL, NULL, FALSE);
9068
9069         return offset;
9070 }
9071
9072
9073
9074
9075 static int
9076 dissect_h245_cif4MPI_1_32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9077 {
9078         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9079                 tree, hf_h245_cif4MPI_1_32, 1, 32,
9080                 NULL, NULL, FALSE);
9081
9082         return offset;
9083 }
9084
9085
9086
9087
9088 static int
9089 dissect_h245_cif4MPI_1_2048(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9090 {
9091         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9092                 tree, hf_h245_cif4MPI_1_2048, 1, 2048,
9093                 NULL, NULL, FALSE);
9094
9095         return offset;
9096 }
9097
9098
9099
9100
9101 static int
9102 dissect_h245_cif16MPI_1_32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9103 {
9104         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9105                 tree, hf_h245_cif16MPI_1_32, 1, 32,
9106                 NULL, NULL, FALSE);
9107
9108         return offset;
9109 }
9110
9111
9112
9113
9114 static int
9115 dissect_h245_cif16MPI_1_2048(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9116 {
9117         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9118                 tree, hf_h245_cif16MPI_1_2048, 1, 2048,
9119                 NULL, NULL, FALSE);
9120
9121         return offset;
9122 }
9123
9124
9125
9126 static int
9127 dissect_h245_maxBitRate_192400(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9128 {
9129         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9130                 tree, hf_h245_maxBitRate_192400, 1, 192400,
9131                 NULL, NULL, FALSE);
9132
9133         return offset;
9134 }
9135
9136
9137
9138
9139
9140 static int
9141 dissect_h245_hrd_B(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9142 {
9143         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9144                 tree, hf_h245_hrd_B, 0, 524287,
9145                 NULL, NULL, FALSE);
9146
9147         return offset;
9148 }
9149
9150
9151
9152
9153 static int
9154 dissect_h245_bppMaxKb(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9155 {
9156         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9157                 tree, hf_h245_bppMaxKb, 0, 65535,
9158                 NULL, NULL, FALSE);
9159
9160         return offset;
9161 }
9162
9163
9164
9165
9166 static int
9167 dissect_h245_slowSqcifMPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9168 {
9169         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9170                 tree, hf_h245_slowSqcifMPI, 1, 3600,
9171                 NULL, NULL, FALSE);
9172
9173         return offset;
9174 }
9175
9176
9177
9178
9179 static int
9180 dissect_h245_slowQcifMPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9181 {
9182         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9183                 tree, hf_h245_slowQcifMPI, 1, 3600,
9184                 NULL, NULL, FALSE);
9185
9186         return offset;
9187 }
9188
9189
9190
9191 static int
9192 dissect_h245_slowCifMPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9193 {
9194         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9195                 tree, hf_h245_slowCifMPI, 1, 3600,
9196                 NULL, NULL, FALSE);
9197
9198         return offset;
9199 }
9200
9201
9202
9203
9204 static int
9205 dissect_h245_slowCif4MPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9206 {
9207         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9208                 tree, hf_h245_slowCif4MPI, 1, 3600,
9209                 NULL, NULL, FALSE);
9210
9211         return offset;
9212 }
9213
9214
9215
9216
9217 static int
9218 dissect_h245_slowCif16MPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9219 {
9220         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9221                 tree, hf_h245_slowCif16MPI, 1, 3600,
9222                 NULL, NULL, FALSE);
9223
9224         return offset;
9225 }
9226
9227
9228
9229
9230
9231 static int
9232 dissect_h245_numberOfBPictures(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9233 {
9234         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9235                 tree, hf_h245_numberOfBPictures, 1, 64,
9236                 NULL, NULL, FALSE);
9237
9238         return offset;
9239 }
9240
9241
9242
9243
9244 static int
9245 dissect_h245_presentationOrder(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9246 {
9247         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9248                 tree, hf_h245_presentationOrder, 1, 256,
9249                 NULL, NULL, FALSE);
9250
9251         return offset;
9252 }
9253
9254
9255
9256
9257 static int
9258 dissect_h245_offset_x(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9259 {
9260         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9261                 tree, hf_h245_offset_x, -262144, 262143,
9262                 NULL, NULL, FALSE);
9263
9264         return offset;
9265 }
9266
9267
9268
9269
9270
9271 static int
9272 dissect_h245_offset_y(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9273 {
9274         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9275                 tree, hf_h245_offset_y, -262144, 262143,
9276                 NULL, NULL, FALSE);
9277
9278         return offset;
9279 }
9280
9281
9282
9283
9284
9285 static int
9286 dissect_h245_scale_x(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9287 {
9288         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9289                 tree, hf_h245_scale_x, 1, 255,
9290                 NULL, NULL, FALSE);
9291
9292         return offset;
9293 }
9294
9295
9296
9297 static int
9298 dissect_h245_scale_y(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9299 {
9300         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9301                 tree, hf_h245_scale_y, 1, 255,
9302                 NULL, NULL, FALSE);
9303
9304         return offset;
9305 }
9306
9307
9308
9309
9310 static per_sequence_t TransperencyParameters_sequence[] = {
9311         { "presentationOrder", EXTENSION_ROOT, NOT_OPTIONAL,
9312                 dissect_h245_presentationOrder },
9313         { "offset-x", EXTENSION_ROOT, NOT_OPTIONAL,
9314                 dissect_h245_offset_x },
9315         { "offset-y", EXTENSION_ROOT, NOT_OPTIONAL,
9316                 dissect_h245_offset_y },
9317         { "scale-x", EXTENSION_ROOT, NOT_OPTIONAL,
9318                 dissect_h245_scale_x },
9319         { "scale-y", EXTENSION_ROOT, NOT_OPTIONAL,
9320                 dissect_h245_scale_y },
9321         { NULL, 0, 0, NULL }
9322 };
9323 static int
9324 dissect_h245_TransperencyParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9325 {
9326         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TransperencyParameters, ett_h245_TransperencyParameters, TransperencyParameters_sequence);
9327
9328         return offset;
9329 }
9330
9331
9332
9333
9334 static int
9335 dissect_h245_sqcifAdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9336 {
9337         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9338                 tree, hf_h245_sqcifAdditionalPictureMemory, 1, 256,
9339                 NULL, NULL, FALSE);
9340
9341         return offset;
9342 }
9343
9344
9345
9346
9347 static int
9348 dissect_h245_qcifAdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9349 {
9350         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9351                 tree, hf_h245_qcifAdditionalPictureMemory, 1, 256,
9352                 NULL, NULL, FALSE);
9353
9354         return offset;
9355 }
9356
9357
9358
9359
9360 static int
9361 dissect_h245_cifAdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9362 {
9363         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9364                 tree, hf_h245_cifAdditionalPictureMemory, 1, 256,
9365                 NULL, NULL, FALSE);
9366
9367         return offset;
9368 }
9369
9370
9371
9372
9373 static int
9374 dissect_h245_cif4AdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9375 {
9376         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9377                 tree, hf_h245_cif4AdditionalPictureMemory, 1, 256,
9378                 NULL, NULL, FALSE);
9379
9380         return offset;
9381 }
9382
9383
9384
9385 static int
9386 dissect_h245_cif16AdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9387 {
9388         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9389                 tree, hf_h245_cif16AdditionalPictureMemory, 1, 256,
9390                 NULL, NULL, FALSE);
9391
9392         return offset;
9393 }
9394
9395
9396
9397 static int
9398 dissect_h245_bigCpfAdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9399 {
9400         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9401                 tree, hf_h245_bigCpfAdditionalPictureMemory, 1, 256,
9402                 NULL, NULL, FALSE);
9403
9404         return offset;
9405 }
9406
9407
9408
9409
9410 static per_sequence_t RefPictureSelection_additionalPictureMemory_sequence[] = {
9411         { "sqcifAdditionalPictureMemory", EXTENSION_ROOT, OPTIONAL,
9412                 dissect_h245_sqcifAdditionalPictureMemory },
9413         { "qcifAdditionalPictureMemory", EXTENSION_ROOT, OPTIONAL,
9414                 dissect_h245_qcifAdditionalPictureMemory },
9415         { "cifAdditionalPictureMemory", EXTENSION_ROOT, OPTIONAL,
9416                 dissect_h245_cifAdditionalPictureMemory },
9417         { "cif4AdditionalPictureMemory", EXTENSION_ROOT, OPTIONAL,
9418                 dissect_h245_cif4AdditionalPictureMemory },
9419         { "cif16AdditionalPictureMemory", EXTENSION_ROOT, OPTIONAL,
9420                 dissect_h245_cif16AdditionalPictureMemory },
9421         { "bigCpfAdditionalPictureMemory", EXTENSION_ROOT, OPTIONAL,
9422                 dissect_h245_bigCpfAdditionalPictureMemory},
9423         { NULL, 0, 0, NULL }
9424 };
9425 static int
9426 dissect_h245_RefPictureSelection_additionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9427 {
9428         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RefPictureSelection_additionalPictureMemory, ett_h245_RefPictureSelection_additionalPictureMemory, RefPictureSelection_additionalPictureMemory_sequence);
9429
9430         return offset;
9431 }
9432
9433
9434
9435
9436 static int
9437 dissect_h245_mpuHorizMBs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9438 {
9439         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9440                 tree, hf_h245_mpuHorizMBs, 1, 128,
9441                 NULL, NULL, FALSE);
9442
9443         return offset;
9444 }
9445
9446
9447
9448
9449 static int
9450 dissect_h245_mpuVertMBs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9451 {
9452         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9453                 tree, hf_h245_mpuVertMBs, 1, 72,
9454                 NULL, NULL, FALSE);
9455
9456         return offset;
9457 }
9458
9459
9460
9461
9462 static int
9463 dissect_h245_mpuTotalNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9464 {
9465         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9466                 tree, hf_h245_mpuTotalNumber, 1, 65536,
9467                 NULL, NULL, FALSE);
9468
9469         return offset;
9470 }
9471
9472
9473
9474 static per_sequence_t RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters_sequence[] = {
9475         { "mpuHorizMBs", EXTENSION_ROOT, NOT_OPTIONAL,
9476                 dissect_h245_mpuHorizMBs },
9477         { "mpuVertMBs", EXTENSION_ROOT, NOT_OPTIONAL,
9478                 dissect_h245_mpuVertMBs},
9479         { "mpuTotalNumber", EXTENSION_ROOT, NOT_OPTIONAL,
9480                 dissect_h245_mpuTotalNumber},
9481         { NULL, 0, 0, NULL }
9482 };
9483 static int
9484 dissect_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9485 {
9486         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters, ett_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters, RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters_sequence);
9487
9488         return offset;
9489 }
9490
9491
9492
9493
9494
9495
9496 static per_sequence_t RefPictureSelection_enhancedReferencePicSelect_sequence[] = {
9497         { "subPictureRemovalParameters", EXTENSION_ROOT, OPTIONAL,
9498                 dissect_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters },
9499         { NULL, 0, 0, NULL }
9500 };
9501 static int
9502 dissect_h245_RefPictureSelection_enhancedReferencePicSelect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9503 {
9504         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RefPictureSelection_enhancedReferencePicSelect, ett_h245_RefPictureSelection_enhancedReferencePicSelect, RefPictureSelection_enhancedReferencePicSelect_sequence);
9505
9506         return offset;
9507 }
9508
9509
9510
9511
9512
9513 static per_sequence_t RefPictureSelection_sequence[] = {
9514         { "additionalPictureMemory", EXTENSION_ROOT, OPTIONAL,
9515                 dissect_h245_RefPictureSelection_additionalPictureMemory },
9516         { "videoMux", EXTENSION_ROOT, NOT_OPTIONAL, 
9517                 dissect_h245_videoMux },
9518         { "videoBackChannelSend", EXTENSION_ROOT, NOT_OPTIONAL, 
9519                 dissect_h245_RefPictureSelection_videoBackChannelSend },
9520         { "enhancedReferencePicSelect", NOT_EXTENSION_ROOT, NOT_OPTIONAL,
9521                 dissect_h245_RefPictureSelection_enhancedReferencePicSelect },
9522         { NULL, 0, 0, NULL }
9523 };
9524 static int
9525 dissect_h245_RefPictureSelection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9526 {
9527         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RefPictureSelection, ett_h245_RefPictureSelection, RefPictureSelection_sequence);
9528
9529         return offset;
9530 }
9531
9532
9533
9534 static int
9535 dissect_h245_clockConversionCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9536 {
9537         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9538                 tree, hf_h245_clockConversionCode, 1000, 1001,
9539                 NULL, NULL, FALSE);
9540
9541         return offset;
9542 }
9543
9544
9545
9546
9547 static int
9548 dissect_h245_clockDivisor(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_clockDivisor, 1, 127,
9552                 NULL, NULL, FALSE);
9553
9554         return offset;
9555 }
9556
9557
9558
9559
9560 static per_sequence_t CustomPictureClockFrequency_sequence[] = {
9561         { "clockConversionCode", EXTENSION_ROOT, NOT_OPTIONAL,
9562                 dissect_h245_clockConversionCode },
9563         { "clockDivisor", EXTENSION_ROOT, NOT_OPTIONAL,
9564                 dissect_h245_clockDivisor },
9565         { "sqcifMPI", EXTENSION_ROOT, OPTIONAL,
9566                 dissect_h245_sqcifMPI_1_2048 },
9567         { "qcifMPI", EXTENSION_ROOT, OPTIONAL,
9568                 dissect_h245_qcifMPI_1_2048 },
9569         { "cifMPI", EXTENSION_ROOT, OPTIONAL,
9570                 dissect_h245_cifMPI_1_2048 },
9571         { "cif4MPI", EXTENSION_ROOT, OPTIONAL,
9572                 dissect_h245_cif4MPI_1_2048 },
9573         { "cif16MPI", EXTENSION_ROOT, OPTIONAL,
9574                 dissect_h245_cif16MPI_1_2048 },
9575         { NULL, 0, 0, NULL }
9576 };
9577 static int
9578 dissect_h245_CustomPictureClockFrequency(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9579 {
9580         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CustomPictureClockFrequency, ett_h245_CustomPictureClockFrequency, CustomPictureClockFrequency_sequence);
9581
9582         return offset;
9583 }
9584
9585
9586
9587
9588 static int
9589 dissect_h245_maxCustomPictureWidth(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9590 {
9591         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9592                 tree, hf_h245_maxCustomPictureWidth, 1, 2048,
9593                 NULL, NULL, FALSE);
9594
9595         return offset;
9596 }
9597
9598
9599 static int
9600 dissect_h245_minCustomPictureWidth(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9601 {
9602         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9603                 tree, hf_h245_minCustomPictureWidth, 1, 2048,
9604                 NULL, NULL, FALSE);
9605
9606         return offset;
9607 }
9608
9609
9610
9611
9612 static int
9613 dissect_h245_minCustomPictureHeight(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9614 {
9615         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9616                 tree, hf_h245_minCustomPictureHeight, 1, 2048,
9617                 NULL, NULL, FALSE);
9618
9619         return offset;
9620 }
9621
9622
9623 static int
9624 dissect_h245_maxCustomPictureHeight(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9625 {
9626         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9627                 tree, hf_h245_maxCustomPictureHeight, 1, 2048,
9628                 NULL, NULL, FALSE);
9629
9630         return offset;
9631 }
9632
9633
9634
9635
9636
9637 static int
9638 dissect_h245_standardMPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9639 {
9640         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9641                 tree, hf_h245_standardMPI, 1, 31,
9642                 NULL, NULL, FALSE);
9643
9644         return offset;
9645 }
9646
9647
9648
9649
9650 static int
9651 dissect_h245_customMPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9652 {
9653         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9654                 tree, hf_h245_customMPI, 1, 2048,
9655                 NULL, NULL, FALSE);
9656
9657         return offset;
9658 }
9659
9660
9661
9662
9663 static per_sequence_t CustomPictureFormat_mPI_customPCF_sequence[] = {
9664         { "clockConversionCode", EXTENSION_ROOT, NOT_OPTIONAL,
9665                 dissect_h245_clockConversionCode },
9666         { "clockDivisor", EXTENSION_ROOT, NOT_OPTIONAL,
9667                 dissect_h245_clockDivisor },
9668         { "customMPI", EXTENSION_ROOT, NOT_OPTIONAL,
9669                 dissect_h245_customMPI },
9670         { NULL, 0, 0, NULL }
9671 };
9672 static int
9673 dissect_h245_CustomPictureFormat_mPI_customPCF(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9674 {
9675         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CustomPictureFormat_mPI_customPCF, ett_h245_CustomPictureFormat_mPI_customPCF, CustomPictureFormat_mPI_customPCF_sequence);
9676
9677         return offset;
9678 }
9679
9680
9681
9682 static int dissect_h245_customPCF(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
9683
9684 static per_sequence_t CustomPictureFormat_mPI_sequence[] = {
9685         { "standardMPI", EXTENSION_ROOT, OPTIONAL, 
9686                 dissect_h245_standardMPI},
9687         { "customPCF", EXTENSION_ROOT, OPTIONAL,
9688                 dissect_h245_customPCF },
9689         { NULL, 0, 0, NULL }
9690 };
9691 static int
9692 dissect_h245_CustomPictureFormat_mPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9693 {
9694         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CustomPictureFormat_mPI, ett_h245_CustomPictureFormat_mPI, CustomPictureFormat_mPI_sequence);
9695
9696         return offset;
9697 }
9698
9699
9700
9701
9702 static int
9703 dissect_h245_width(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9704 {
9705         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9706                 tree, hf_h245_width, 1, 255,
9707                 NULL, NULL, FALSE);
9708
9709         return offset;
9710 }
9711
9712
9713
9714 static int
9715 dissect_h245_height(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9716 {
9717         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9718                 tree, hf_h245_height, 1, 255,
9719                 NULL, NULL, FALSE);
9720
9721         return offset;
9722 }
9723
9724
9725
9726
9727 static per_sequence_t CustomPictureFormat_pixelAspectInformation_extendedPAR_sequence[] = {
9728         { "width", EXTENSION_ROOT, NOT_OPTIONAL,
9729                 dissect_h245_width },
9730         { "height", EXTENSION_ROOT, NOT_OPTIONAL,
9731                 dissect_h245_height},
9732         { NULL, 0, 0, NULL }
9733 };
9734 static int
9735 dissect_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9736 {
9737         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR, ett_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR, CustomPictureFormat_pixelAspectInformation_extendedPAR_sequence);
9738
9739         return offset;
9740 }
9741
9742
9743
9744
9745 static int
9746 dissect_h245_pictureRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9747 {
9748         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9749                 tree, hf_h245_pictureRate, 0, 15,
9750                 NULL, NULL, FALSE);
9751
9752         return offset;
9753 }
9754
9755
9756
9757
9758 static per_sequence_t IS11172VideoMode_sequence[] = {
9759         { "constrainedBitstream", EXTENSION_ROOT, NOT_OPTIONAL, 
9760                 dissect_h245_constrainedBitstream },
9761         { "videoBitRate", EXTENSION_ROOT, OPTIONAL,
9762                 dissect_h245_videoBitRate },
9763         { "vbvBufferSize", EXTENSION_ROOT, OPTIONAL, 
9764                 dissect_h245_vbvBufferSize },
9765         { "samplesPerLine", EXTENSION_ROOT, OPTIONAL,
9766                 dissect_h245_samplesPerLine },
9767         { "linesPerFrame", EXTENSION_ROOT, OPTIONAL,
9768                 dissect_h245_linesPerFrame },
9769         { "pictureRate", EXTENSION_ROOT, OPTIONAL, 
9770                 dissect_h245_pictureRate},
9771         { "luminanceSampleRate", EXTENSION_ROOT, OPTIONAL,
9772                 dissect_h245_luminanceSampleRate },
9773         { NULL, 0, 0, NULL }
9774 };
9775 static int
9776 dissect_h245_IS11172VideoMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9777 {
9778         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS11172VideoMode, ett_h245_IS11172VideoMode, IS11172VideoMode_sequence);
9779
9780         return offset;
9781 }
9782
9783
9784
9785 static per_sequence_t IS11172VideoCapability_sequence[] = {
9786         { "constrainedBitstream", EXTENSION_ROOT, NOT_OPTIONAL,
9787                 dissect_h245_constrainedBitstream },
9788         { "videoBitRate", EXTENSION_ROOT, OPTIONAL, 
9789                 dissect_h245_videoBitRate },
9790         { "vbvBufferSize", EXTENSION_ROOT, OPTIONAL, 
9791                 dissect_h245_vbvBufferSize },
9792         { "samplesPerLine", EXTENSION_ROOT, OPTIONAL,
9793                 dissect_h245_samplesPerLine },
9794         { "linesPerFrame", EXTENSION_ROOT, OPTIONAL,
9795                 dissect_h245_linesPerFrame },
9796         { "pictureRate", EXTENSION_ROOT, OPTIONAL, 
9797                 dissect_h245_pictureRate },
9798         { "luminanceSampleRate", EXTENSION_ROOT, OPTIONAL,
9799                 dissect_h245_luminanceSampleRate },
9800         { "videoBadMBsCap", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
9801                 dissect_h245_videoBadMBsCap },
9802         { NULL, 0, 0, NULL }
9803 };
9804 static int
9805 dissect_h245_IS11172VideoCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9806 {
9807         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS11172VideoCapability, ett_h245_IS11172VideoCapability, IS11172VideoCapability_sequence);
9808
9809         return offset;
9810 }
9811
9812
9813
9814
9815 static int
9816 dissect_h245_g711Alaw64k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9817 {
9818         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9819                 tree, hf_h245_g711Alaw64k, 1, 256,
9820                 NULL, NULL, FALSE);
9821
9822         return offset;
9823 }
9824
9825
9826
9827 static int
9828 dissect_h245_g711Alaw56k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9829 {
9830         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9831                 tree, hf_h245_g711Alaw56k, 1, 256,
9832                 NULL, NULL, FALSE);
9833
9834         return offset;
9835 }
9836
9837
9838
9839 static int
9840 dissect_h245_g711Ulaw64k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9841 {
9842         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9843                 tree, hf_h245_g711Ulaw64k, 1, 256,
9844                 NULL, NULL, FALSE);
9845
9846         return offset;
9847 }
9848
9849
9850
9851 static int
9852 dissect_h245_g711Ulaw56k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9853 {
9854         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9855                 tree, hf_h245_g711Ulaw56k, 1, 256,
9856                 NULL, NULL, FALSE);
9857
9858         return offset;
9859 }
9860
9861
9862
9863
9864 static int
9865 dissect_h245_g722_64k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9866 {
9867         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9868                 tree, hf_h245_g722_64k, 1, 256,
9869                 NULL, NULL, FALSE);
9870
9871         return offset;
9872 }
9873
9874
9875
9876 static int
9877 dissect_h245_g722_56k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9878 {
9879         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9880                 tree, hf_h245_g722_56k, 1, 256,
9881                 NULL, NULL, FALSE);
9882
9883         return offset;
9884 }
9885
9886
9887
9888
9889 static int
9890 dissect_h245_g722_48k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9891 {
9892         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9893                 tree, hf_h245_g722_48k, 1, 256,
9894                 NULL, NULL, FALSE);
9895
9896         return offset;
9897 }
9898
9899
9900
9901
9902
9903 static int
9904 dissect_h245_maxAl_sduAudioFrames(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9905 {
9906         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9907                 tree, hf_h245_maxAl_sduAudioFrames, 1, 256,
9908                 NULL, NULL, FALSE);
9909
9910         return offset;
9911 }
9912
9913
9914
9915 static per_sequence_t AudioCapability_g7231_sequence[] = {
9916         { "maxAl-sduAudioFrames", NO_EXTENSIONS, NOT_OPTIONAL, 
9917                 dissect_h245_maxAl_sduAudioFrames },
9918         { "silenceSuppression", NO_EXTENSIONS, NOT_OPTIONAL, 
9919                 dissect_h245_silenceSuppression },
9920         { NULL, 0, 0, NULL }
9921 };
9922 static int
9923 dissect_h245_AudioCapability_g7231(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9924 {
9925         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_AudioCapability_g7231, ett_h245_AudioCapability_g7231, AudioCapability_g7231_sequence);
9926
9927         return offset;
9928 }
9929
9930
9931
9932
9933 static int
9934 dissect_h245_g728(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9935 {
9936         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9937                 tree, hf_h245_g728, 1, 256,
9938                 NULL, NULL, FALSE);
9939
9940         return offset;
9941 }
9942
9943
9944
9945 static int
9946 dissect_h245_g729(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9947 {
9948         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9949                 tree, hf_h245_g729, 1, 256,
9950                 NULL, NULL, FALSE);
9951
9952         return offset;
9953 }
9954
9955
9956
9957 static int
9958 dissect_h245_g729AnnexA(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9959 {
9960         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9961                 tree, hf_h245_g729AnnexA, 1, 256,
9962                 NULL, NULL, FALSE);
9963
9964         return offset;
9965 }
9966
9967
9968
9969
9970 static int
9971 dissect_h245_g729wAnnexB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9972 {
9973         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9974                 tree, hf_h245_g729wAnnexB, 1, 256,
9975                 NULL, NULL, FALSE);
9976
9977         return offset;
9978 }
9979
9980
9981
9982
9983 static int
9984 dissect_h245_g729AnnexAwAnnexB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9985 {
9986         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9987                 tree, hf_h245_g729AnnexAwAnnexB, 1, 256,
9988                 NULL, NULL, FALSE);
9989
9990         return offset;
9991 }
9992
9993
9994
9995
9996 static int
9997 dissect_h245_audioUnit(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9998 {
9999         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10000                 tree, hf_h245_audioUnit, 1, 256,
10001                 NULL, NULL, FALSE);
10002
10003         return offset;
10004 }
10005
10006
10007
10008
10009 static per_sequence_t G729Extensions_sequence[] = {
10010         { "audioUnit", EXTENSION_ROOT, OPTIONAL,
10011                 dissect_h245_audioUnit },
10012         { "annexA", EXTENSION_ROOT, NOT_OPTIONAL, 
10013                 dissect_h245_annexA },
10014         { "annexB", EXTENSION_ROOT, NOT_OPTIONAL, 
10015                 dissect_h245_annexB },
10016         { "annexD", EXTENSION_ROOT, NOT_OPTIONAL, 
10017                 dissect_h245_annexD },
10018         { "annexE", EXTENSION_ROOT, NOT_OPTIONAL, 
10019                 dissect_h245_annexE },
10020         { "annexF", EXTENSION_ROOT, NOT_OPTIONAL, 
10021                 dissect_h245_annexF },
10022         { "annexG", EXTENSION_ROOT, NOT_OPTIONAL, 
10023                 dissect_h245_annexG },
10024         { "annexH", EXTENSION_ROOT, NOT_OPTIONAL, 
10025                 dissect_h245_annexH },
10026         { NULL, 0, 0, NULL }
10027 };
10028 static int
10029 dissect_h245_G729Extensions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10030 {
10031         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_G729Extensions, ett_h245_G729Extensions, G729Extensions_sequence);
10032
10033         return offset;
10034 }
10035
10036
10037
10038
10039 static int
10040 dissect_h245_highRateMode0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10041 {
10042         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10043                 tree, hf_h245_highRateMode0, 27, 78,
10044                 NULL, NULL, FALSE);
10045
10046         return offset;
10047 }
10048
10049
10050 static int
10051 dissect_h245_highRateMode1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10052 {
10053         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10054                 tree, hf_h245_highRateMode1, 27, 78,
10055                 NULL, NULL, FALSE);
10056
10057         return offset;
10058 }
10059
10060
10061
10062
10063
10064 static int
10065 dissect_h245_lowRateMode0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10066 {
10067         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10068                 tree, hf_h245_lowRateMode0, 23, 66,
10069                 NULL, NULL, FALSE);
10070
10071         return offset;
10072 }
10073
10074
10075 static int
10076 dissect_h245_lowRateMode1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10077 {
10078         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10079                 tree, hf_h245_lowRateMode1, 23, 66,
10080                 NULL, NULL, FALSE);
10081
10082         return offset;
10083 }
10084
10085
10086
10087
10088 static int
10089 dissect_h245_sidMode0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10090 {
10091         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10092                 tree, hf_h245_sidMode0, 6, 17,
10093                 NULL, NULL, FALSE);
10094
10095         return offset;
10096 }
10097
10098
10099 static int
10100 dissect_h245_sidMode1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10101 {
10102         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10103                 tree, hf_h245_sidMode1, 6, 17,
10104                 NULL, NULL, FALSE);
10105
10106         return offset;
10107 }
10108
10109
10110
10111
10112 static per_sequence_t G7231AnnexCCapability_g723AnnexCAudioMode_sequence[] = {
10113         { "highRateMode0", EXTENSION_ROOT, NOT_OPTIONAL,
10114                 dissect_h245_highRateMode0 },
10115         { "highRateMode1", EXTENSION_ROOT, NOT_OPTIONAL,
10116                 dissect_h245_highRateMode1 },
10117         { "lowRateMode0", EXTENSION_ROOT, NOT_OPTIONAL,
10118                 dissect_h245_lowRateMode0 },
10119         { "lowRateMode1", EXTENSION_ROOT, NOT_OPTIONAL,
10120                 dissect_h245_lowRateMode1 },
10121         { "sidMode0", EXTENSION_ROOT, NOT_OPTIONAL,
10122                 dissect_h245_sidMode0 },
10123         { "sidMode1", EXTENSION_ROOT, NOT_OPTIONAL,
10124                 dissect_h245_sidMode1 },
10125         { NULL, 0, 0, NULL }
10126 };
10127 static int
10128 dissect_h245_G7231AnnexCCapability_g723AnnexCAudioMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10129 {
10130         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_G7231AnnexCCapability_g723AnnexCAudioMode, ett_h245_G7231AnnexCCapability_g723AnnexCAudioMode, G7231AnnexCCapability_g723AnnexCAudioMode_sequence);
10131
10132         return offset;
10133 }
10134
10135
10136
10137
10138 static per_sequence_t G7231AnnexCCapability_sequence[] = {
10139         { "maxAl-sduAudioFrames", EXTENSION_ROOT, NOT_OPTIONAL, 
10140                 dissect_h245_maxAl_sduAudioFrames },
10141         { "silenceSuppression", EXTENSION_ROOT, NOT_OPTIONAL, 
10142                 dissect_h245_silenceSuppression },
10143         { "g723AnnexCAudioMode", EXTENSION_ROOT, OPTIONAL,
10144                 dissect_h245_G7231AnnexCCapability_g723AnnexCAudioMode },
10145         { NULL, 0, 0, NULL }
10146 };
10147 static int
10148 dissect_h245_G7231AnnexCCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10149 {
10150         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_G7231AnnexCCapability, ett_h245_G7231AnnexCCapability, G7231AnnexCCapability_sequence);
10151
10152         return offset;
10153 }
10154
10155
10156
10157 static per_sequence_t G7231AnnexCMode_g723AnnexCAudioMode_sequence[] = {
10158         { "highRateMode0", EXTENSION_ROOT, NOT_OPTIONAL,
10159                         dissect_h245_highRateMode0 },
10160         { "highRateMode1", EXTENSION_ROOT, NOT_OPTIONAL,
10161                         dissect_h245_highRateMode1 },
10162         { "lowRateMode0", EXTENSION_ROOT, NOT_OPTIONAL,
10163                         dissect_h245_lowRateMode0 },
10164         { "lowRateMode1", EXTENSION_ROOT, NOT_OPTIONAL,
10165                         dissect_h245_lowRateMode0 },
10166         { "sidMode0", EXTENSION_ROOT, NOT_OPTIONAL,
10167                         dissect_h245_sidMode0 },
10168         { "sidMode1", EXTENSION_ROOT, NOT_OPTIONAL,
10169                         dissect_h245_sidMode1 },
10170         { NULL, 0, 0, NULL }
10171 };
10172 static int
10173 dissect_h245_G7231AnnexCMode_g723AnnexCAudioMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10174 {
10175         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_G7231AnnexCMode_g723AnnexCAudioMode, ett_h245_G7231AnnexCMode_g723AnnexCAudioMode, G7231AnnexCMode_g723AnnexCAudioMode_sequence);
10176
10177         return offset;
10178 }
10179
10180
10181
10182
10183 static per_sequence_t G7231AnnexCMode_sequence[] = {
10184         { "maxAl-sduAudioFrames", EXTENSION_ROOT, NOT_OPTIONAL, 
10185                 dissect_h245_maxAl_sduAudioFrames },
10186         { "silenceSupression", EXTENSION_ROOT, NOT_OPTIONAL, 
10187                 dissect_h245_silenceSuppression },
10188         { "g723AnnexCAudioMode", EXTENSION_ROOT, NOT_OPTIONAL,
10189                 dissect_h245_G7231AnnexCMode_g723AnnexCAudioMode },
10190         { NULL, 0, 0, NULL }
10191 };
10192 static int
10193 dissect_h245_G7231AnnexCMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10194 {
10195         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_G7231AnnexCMode, ett_h245_G7231AnnexCMode, G7231AnnexCMode_sequence);
10196
10197         return offset;
10198 }
10199
10200
10201
10202
10203 static int
10204 dissect_h245_audioUnitSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10205 {
10206         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10207                 tree, hf_h245_audioUnitSize, 1, 256,
10208                 NULL, NULL, FALSE);
10209
10210         return offset;
10211 }
10212
10213
10214
10215
10216
10217 static per_sequence_t GSMAudioCapability_sequence[] = {
10218         { "audioUnitSize", EXTENSION_ROOT, NOT_OPTIONAL,
10219                 dissect_h245_audioUnitSize },
10220         { "comfortNoice", EXTENSION_ROOT, NOT_OPTIONAL, 
10221                 dissect_h245_comfortNoise },
10222         { "scrambled", EXTENSION_ROOT, NOT_OPTIONAL,
10223                 dissect_h245_scrambled },
10224         { NULL, 0, 0, NULL }
10225 };
10226 static int
10227 dissect_h245_GSMAudioCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10228 {
10229         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_GSMAudioCapability, ett_h245_GSMAudioCapability, GSMAudioCapability_sequence);
10230
10231         return offset;
10232 }
10233
10234
10235
10236
10237
10238 static int
10239 dissect_h245_maxBitRate_4294967295UL(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10240 {
10241         /* XXX unit is 100bit/s */
10242         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10243                 tree, hf_h245_maxBitRate_4294967295UL, 0, 4294967295UL,
10244                 NULL, NULL, FALSE);
10245
10246         return offset;
10247 }
10248
10249
10250
10251
10252
10253 static int
10254 dissect_h245_numberOfCodewords(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10255 {
10256         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10257                 tree, hf_h245_numberOfCodewords, 1, 65536,
10258                 NULL, NULL, FALSE);
10259
10260         return offset;
10261 }
10262
10263
10264
10265
10266 static int
10267 dissect_h245_maximumStringLength(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10268 {
10269         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10270                 tree, hf_h245_maximumStringLength, 1, 256,
10271                 NULL, NULL, FALSE);
10272
10273         return offset;
10274 }
10275
10276
10277
10278
10279
10280 static per_sequence_t V42bis_sequence[] = {
10281         { "numberOfCodewords", EXTENSION_ROOT, NOT_OPTIONAL,
10282                 dissect_h245_numberOfCodewords },
10283         { "maximumStringLength", EXTENSION_ROOT, NOT_OPTIONAL,
10284                 dissect_h245_maximumStringLength },
10285         { NULL, 0, 0, NULL }
10286 };
10287 static int
10288 dissect_h245_V42bis(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10289 {
10290         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V42bis, ett_h245_V42bis, V42bis_sequence);
10291
10292         return offset;
10293 }
10294
10295
10296
10297 static const value_string CompressionType_vals[] = {
10298         {  0, "v42bis" },
10299         {  0, NULL }
10300 };
10301 static per_choice_t CompressionType_choice[] = {
10302         {  0, "v42bis", EXTENSION_ROOT,
10303                 dissect_h245_V42bis },
10304         {  0, NULL, 0, NULL }
10305 };
10306 static int
10307 dissect_h245_CompressionType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10308 {
10309         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CompressionType, ett_h245_CompressionType, CompressionType_choice, "CompressionType", NULL);
10310
10311         return offset;
10312 }
10313
10314
10315
10316
10317
10318 static const value_string DataProtocolCapability_v76wCompression_vals[] = {
10319         {  0, "transmitCompression" },
10320         {  1, "receiveCompression" },
10321         {  2, "transmitAndReceiveCompression" },
10322         {  0, NULL }
10323 };
10324 static per_choice_t DataProtocolCapability_v76wCompression_choice[] = {
10325         {  0, "transmitCompression", EXTENSION_ROOT,
10326                 dissect_h245_CompressionType },
10327         {  1, "receiveCompression", EXTENSION_ROOT,
10328                 dissect_h245_CompressionType },
10329         {  2, "transmitAndReceiveCompression", EXTENSION_ROOT,
10330                 dissect_h245_CompressionType },
10331         {  0, NULL, 0, NULL }
10332 };
10333 static int
10334 dissect_h245_DataProtocolCapability_v76wCompression(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10335 {
10336         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DataProtocolCapability_v76wCompression, ett_h245_DataProtocolCapability_v76wCompression, DataProtocolCapability_v76wCompression_choice, "v76wCompression", NULL);
10337
10338         return offset;
10339 }
10340
10341
10342
10343
10344
10345 static int
10346 dissect_h245_version(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10347 {
10348         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10349                 tree, hf_h245_version, 0, 255,
10350                 NULL, NULL, FALSE);
10351
10352         return offset;
10353 }
10354
10355
10356
10357 static int dissect_h245_T38FaxUdpOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
10358 static per_sequence_t T38FaxProfile_sequence[] = {
10359         { "fillBitRemoval", EXTENSION_ROOT, NOT_OPTIONAL, 
10360                 dissect_h245_fillBitRemoval },
10361         { "transcodingJBIG", EXTENSION_ROOT, NOT_OPTIONAL,
10362                 dissect_h245_transcodingJBIG },
10363         { "transcodingMMR", EXTENSION_ROOT, NOT_OPTIONAL,
10364                 dissect_h245_transcodingMMR },
10365         { "version", NOT_EXTENSION_ROOT, NOT_OPTIONAL,
10366                 dissect_h245_version },
10367         { "t38FaxRateManagement", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
10368                 dissect_h245_T38FaxRateManagement },
10369         { "t38FaxUdpOptions", NOT_EXTENSION_ROOT, OPTIONAL, 
10370                 dissect_h245_T38FaxUdpOptions },
10371         { "t38FaxTcpOptions", NOT_EXTENSION_ROOT, OPTIONAL, 
10372                 dissect_h245_T38FaxTcpOptions },
10373         { NULL, 0, 0, NULL }
10374 };
10375 int
10376 dissect_h245_T38FaxProfile(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10377 {
10378         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_T38FaxProfile, ett_h245_T38FaxProfile, T38FaxProfile_sequence);
10379
10380         return offset;
10381 }
10382
10383
10384
10385
10386 static int
10387 dissect_h245_standard_0_127(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10388 {
10389         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10390                 tree, hf_h245_standard_0_127, 0, 127,
10391                 NULL, NULL, FALSE);
10392
10393         return offset;
10394 }
10395
10396
10397
10398
10399 static int
10400 dissect_h245_booleanArray(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10401 {
10402         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10403                 tree, hf_h245_booleanArray, 0, 255,
10404                 NULL, NULL, FALSE);
10405
10406         return offset;
10407 }
10408
10409
10410
10411
10412 static int
10413 dissect_h245_unsignedMin(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10414 {
10415         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10416                 tree, hf_h245_unsignedMin, 0, 65535,
10417                 NULL, NULL, FALSE);
10418
10419         return offset;
10420 }
10421
10422
10423 static int
10424 dissect_h245_unsignedMax(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10425 {
10426         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10427                 tree, hf_h245_unsignedMax, 0, 65535,
10428                 NULL, NULL, FALSE);
10429
10430         return offset;
10431 }
10432
10433
10434
10435
10436 static int
10437 dissect_h245_unsigned32Min(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10438 {
10439         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10440                 tree, hf_h245_unsigned32Min, 0, 4294967295UL,
10441                 NULL, NULL, FALSE);
10442
10443         return offset;
10444 }
10445
10446
10447 static int
10448 dissect_h245_unsigned32Max(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10449 {
10450         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10451                 tree, hf_h245_unsigned32Max, 0, 4294967295UL,
10452                 NULL, NULL, FALSE);
10453
10454         return offset;
10455 }
10456
10457
10458
10459
10460 static int
10461 dissect_h245_dynamicRTPPayloadType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10462 {
10463         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10464                 tree, hf_h245_dynamicRTPPayloadType, 96, 127,
10465                 NULL, NULL, FALSE);
10466
10467         return offset;
10468 }
10469
10470
10471
10472
10473 static per_sequence_t AudioToneCapability_sequence[] = {
10474         { "dynamicRTPPayloadType", EXTENSION_ROOT, NOT_OPTIONAL,
10475                 dissect_h245_dynamicRTPPayloadType },
10476         { NULL, 0, 0, NULL }
10477 };
10478 static int
10479 dissect_h245_AudioToneCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10480 {
10481         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_AudioToneCapability, ett_h245_AudioToneCapability, AudioToneCapability_sequence);
10482
10483         return offset;
10484 }
10485
10486
10487
10488
10489 static per_sequence_t NoPTAudioToneCapability_sequence[] = {
10490         { NULL, EXTENSION_ROOT, 0, NULL }
10491 };
10492 static int
10493 dissect_h245_NoPTAudioToneCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10494 {
10495         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NoPTAudioToneCapability, ett_h245_NoPTAudioToneCapability, NoPTAudioToneCapability_sequence);
10496
10497         return offset;
10498 }
10499
10500
10501
10502
10503
10504 static int
10505 dissect_h245_portNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10506 {
10507         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10508                 tree, hf_h245_portNumber, 0, 65535,
10509                 NULL, NULL, FALSE);
10510
10511         return offset;
10512 }
10513
10514
10515
10516
10517 static int
10518 dissect_h245_resourceID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10519 {
10520         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10521                 tree, hf_h245_resourceID, 0, 65535,
10522                 NULL, NULL, FALSE);
10523
10524         return offset;
10525 }
10526
10527
10528
10529
10530 static const value_string FlowControlCommand_scope_vals[] = {
10531         {  0, "logicalChannelNumber" },
10532         {  1, "resourceID" },
10533         {  2, "wholeMultiplex" },
10534         {  0, NULL }
10535 };
10536 static per_choice_t FlowControlCommand_scope_choice[] = {
10537         {  0, "logicalChannelNumber", NO_EXTENSIONS, 
10538                         dissect_h245_LogicalChannelNumber },
10539         {  1, "resourceID", NO_EXTENSIONS,
10540                         dissect_h245_resourceID },
10541         {  2, "wholeMultiplex", NO_EXTENSIONS, 
10542                         dissect_h245_NULL },
10543         {  0, NULL, 0, NULL }
10544 };
10545 static int
10546 dissect_h245_FlowControlCommand_scope(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10547 {
10548         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FlowControlCommand_scope, ett_h245_FlowControlCommand_scope, FlowControlCommand_scope_choice, "scope", NULL);
10549
10550         return offset;
10551 }
10552
10553
10554
10555
10556
10557
10558 static const value_string JitterIndication_scope_vals[] = {
10559         {  0, "logicalChannelNumber" },
10560         {  1, "resourceID" },
10561         {  2, "wholeMultiplex" },
10562         {  0, NULL }
10563 };
10564 static per_choice_t JitterIndication_scope_choice[] = {
10565         {  0, "logicalChannelNumber", NO_EXTENSIONS, 
10566                         dissect_h245_LogicalChannelNumber },
10567         {  1, "resourceID", NO_EXTENSIONS,
10568                         dissect_h245_resourceID },
10569         {  2, "wholeMultiplex", NO_EXTENSIONS, 
10570                         dissect_h245_NULL },
10571         {  0, NULL, 0, NULL }
10572 };
10573 static int
10574 dissect_h245_JitterIndication_scope(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10575 {
10576         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_JitterIndication_scope, ett_h245_JitterIndication_scope, JitterIndication_scope_choice, "scope", NULL);
10577
10578         return offset;
10579 }
10580
10581
10582
10583
10584
10585 static const value_string FlowControlIndication_scope_vals[] = {
10586         {  0, "logicalChannelNumber" },
10587         {  1, "resouceID" },
10588         {  2, "wholeMultiplex" },
10589         {  0, NULL }
10590 };
10591 static per_choice_t FlowControlIndication_scope_choice[] = {
10592         {  0, "logicalChannelNumber", NO_EXTENSIONS, 
10593                         dissect_h245_LogicalChannelNumber },
10594         {  1, "resourceID", NO_EXTENSIONS,
10595                         dissect_h245_resourceID },
10596         {  2, "wholeMultiplex", NO_EXTENSIONS, 
10597                         dissect_h245_NULL },
10598         {  0, NULL, 0, NULL }
10599 };
10600 static int
10601 dissect_h245_FlowControlIndication_scope(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10602 {
10603         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FlowControlIndication_scope, ett_h245_FlowControlIndication_scope, FlowControlIndication_scope_choice, "scope", NULL);
10604
10605         return offset;
10606 }
10607
10608
10609
10610
10611 static per_sequence_t NewATMVCIndication_sequence[] = {
10612         { "resourceID", EXTENSION_ROOT, NOT_OPTIONAL,
10613                 dissect_h245_resourceID },
10614         { "bitRate", EXTENSION_ROOT, NOT_OPTIONAL, 
10615                 dissect_h245_ATM_BitRate },
10616         { "bitRateLockedToPCRClock", EXTENSION_ROOT, NOT_OPTIONAL, 
10617                 dissect_h245_bitRateLockedToPCRClock },
10618         { "bitRateLockedToNetworkClock", EXTENSION_ROOT, NOT_OPTIONAL, 
10619                 dissect_h245_bitRateLockedToNetworkClock },
10620         { "aal", EXTENSION_ROOT, NOT_OPTIONAL, 
10621                 dissect_h245_NewATMVCIndication_aal },
10622         { "multiplex", EXTENSION_ROOT, NOT_OPTIONAL, 
10623                 dissect_h245_NewATMVCIndication_multiplex },
10624         { "reverseParameters", NOT_EXTENSION_ROOT, NOT_OPTIONAL,
10625                 dissect_h245_NewATMVCIndication_reverseParameters },
10626         { NULL, 0, 0, NULL }
10627 };
10628 static int
10629 dissect_h245_NewATMVCIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10630 {
10631         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication, ett_h245_NewATMVCIndication, NewATMVCIndication_sequence);
10632
10633         return offset;
10634 }
10635
10636
10637
10638
10639 static int
10640 dissect_h245_subChannelID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10641 {
10642         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10643                 tree, hf_h245_subChannelID, 0, 8191,
10644                 NULL, NULL, FALSE);
10645
10646         return offset;
10647 }
10648
10649
10650
10651
10652 static int
10653 dissect_h245_pcr_pid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10654 {
10655         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10656                 tree, hf_h245_pcr_pid, 0, 8191,
10657                 NULL, NULL, FALSE);
10658
10659         return offset;
10660 }
10661
10662
10663
10664
10665 static int
10666 dissect_h245_controlFieldOctets(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10667 {
10668         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10669                 tree, hf_h245_controlFieldOctets, 0, 2,
10670                 NULL, NULL, FALSE);
10671
10672         return offset;
10673 }
10674
10675
10676
10677
10678 static int
10679 dissect_h245_sendBufferSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10680 {
10681         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10682                 tree, hf_h245_sendBufferSize, 0, 16777215,
10683                 NULL, NULL, FALSE);
10684
10685         return offset;
10686 }
10687
10688
10689
10690
10691 static per_sequence_t H223LogicalChannelParameters_adaptionLayerType_al3_sequence[] = {
10692         { "controlFieldOctets", NO_EXTENSIONS, NOT_OPTIONAL,
10693                 dissect_h245_controlFieldOctets },
10694         { "sendBufferSize", NO_EXTENSIONS, NOT_OPTIONAL,
10695                 dissect_h245_sendBufferSize },
10696         { NULL, 0, 0, NULL }
10697 };
10698 static int
10699 dissect_h245_H223LogicalChannelParameters_adaptionLayerType_al3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10700 {
10701         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223LogicalChannelParameters_adaptionLayerType_al3, ett_h245_H223LogicalChannelParameters_adaptionLayerType_al3, H223LogicalChannelParameters_adaptionLayerType_al3_sequence);
10702
10703         return offset;
10704 }
10705
10706
10707
10708 static per_sequence_t H223ModeParameters_adaptationLayerType_al3_sequence[] = {
10709         { "controlFieldOctets", NO_EXTENSIONS, NOT_OPTIONAL,
10710                 dissect_h245_controlFieldOctets },
10711         { "sendBufferSize", NO_EXTENSIONS, NOT_OPTIONAL,
10712                 dissect_h245_sendBufferSize },
10713         { NULL, 0, 0, NULL }
10714 };
10715 static int
10716 dissect_h245_H223ModeParameters_adaptationLayerType_al3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10717 {
10718         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223ModeParameters_adaptationLayerType_al3, ett_h245_H223ModeParameters_adaptationLayerType_al3, H223ModeParameters_adaptationLayerType_al3_sequence);
10719
10720         return offset;
10721 }
10722
10723
10724
10725
10726 static int
10727 dissect_h245_rcpcCodeRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10728 {
10729         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10730                 tree, hf_h245_rcpcCodeRate, 8, 32,
10731                 NULL, NULL, FALSE);
10732
10733         return offset;
10734 }
10735
10736
10737
10738
10739 static int
10740 dissect_h245_rsCodeCorrection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10741 {
10742         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10743                 tree, hf_h245_rsCodeCorrection, 0, 127,
10744                 NULL, NULL, FALSE);
10745
10746         return offset;
10747 }
10748
10749
10750
10751
10752 static int
10753 dissect_h245_finite_0_16(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10754 {
10755         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10756                 tree, hf_h245_finite_0_16, 0, 16,
10757                 NULL, NULL, FALSE);
10758
10759         return offset;
10760 }
10761
10762
10763
10764
10765
10766 static const value_string H223AnnexCArqParameters_numberOfRetransmissions_vals[] = {
10767         {  0, "finite" },
10768         {  1, "infinite" },
10769         {  0, NULL }
10770 };
10771 static per_choice_t H223AnnexCArqParameters_numberOfRetransmissions_choice[] = {
10772         {  0, "finite", EXTENSION_ROOT,
10773                         dissect_h245_finite_0_16 },
10774         {  1, "infinite", EXTENSION_ROOT, 
10775                         dissect_h245_NULL },
10776         {  0, NULL, 0, NULL }
10777 };
10778 static int
10779 dissect_h245_H223AnnexCArqParameters_numberOfRetransmissions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10780 {
10781         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AnnexCArqParameters_numberOfRetransmissions, ett_h245_H223AnnexCArqParameters_numberOfRetransmissions, H223AnnexCArqParameters_numberOfRetransmissions_choice, "numberOfRetransmissions", NULL);
10782
10783         return offset;
10784 }
10785
10786
10787
10788
10789 static per_sequence_t H223AnnexCArqParameters_sequence[] = {
10790         { "numberOfRetransmissions", EXTENSION_ROOT, NOT_OPTIONAL,
10791                 dissect_h245_H223AnnexCArqParameters_numberOfRetransmissions },
10792         { "sendBufferSize", EXTENSION_ROOT, NOT_OPTIONAL,
10793                 dissect_h245_sendBufferSize },
10794         { NULL, 0, 0, NULL }
10795 };
10796 static int
10797 dissect_h245_H223AnnexCArqParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10798 {
10799         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223AnnexCArqParameters, ett_h245_H223AnnexCArqParameters, H223AnnexCArqParameters_sequence);
10800
10801         return offset;
10802 }
10803
10804
10805
10806
10807
10808 static const value_string H223AL1MParameters_arqType_vals[] = {
10809         {  0, "noArq" },
10810         {  1, "typeIArq" },
10811         {  2, "typeIIArq" },
10812         {  0, NULL }
10813 };
10814 static per_choice_t H223AL1MParameters_arqType_choice[] = {
10815         {  0, "noArq", EXTENSION_ROOT, 
10816                         dissect_h245_NULL },
10817         {  1, "typeIArq", EXTENSION_ROOT, 
10818                         dissect_h245_H223AnnexCArqParameters },
10819         {  2, "typeIIArq", EXTENSION_ROOT, 
10820                         dissect_h245_H223AnnexCArqParameters },
10821         {  0, NULL, 0, NULL }
10822 };
10823 static int
10824 dissect_h245_H223AL1MParameters_arqType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10825 {
10826         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL1MParameters_arqType, ett_h245_H223AL1MParameters_arqType, H223AL1MParameters_arqType_choice, "arqType", NULL);
10827
10828         return offset;
10829 }
10830
10831
10832
10833
10834 static const value_string H223AL3MParameters_arqType_vals[] = {
10835         {  0, "noArq" },
10836         {  1, "typeIArq" },
10837         {  2, "typeIIArq" },
10838         {  0, NULL }
10839 };
10840 static per_choice_t H223AL3MParameters_arqType_choice[] = {
10841         {  0, "noArq", EXTENSION_ROOT, 
10842                         dissect_h245_NULL },
10843         {  1, "typeIArq", EXTENSION_ROOT,
10844                         dissect_h245_H223AnnexCArqParameters },
10845         {  2, "typeIIArq", EXTENSION_ROOT,
10846                         dissect_h245_H223AnnexCArqParameters },
10847         {  0, NULL, 0, NULL }
10848 };
10849 static int
10850 dissect_h245_H223AL3MParameters_arqType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10851 {
10852         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL3MParameters_arqType, ett_h245_H223AL3MParameters_arqType, H223AL3MParameters_arqType_choice, "arqType", NULL);
10853
10854         return offset;
10855 }
10856
10857
10858
10859
10860
10861 static per_sequence_t H223AL1MParameters_sequence[] = {
10862         { "transferMode", EXTENSION_ROOT, NOT_OPTIONAL, 
10863                 dissect_h245_H223AL1MParameters_transferMode },
10864         { "headerFEC", EXTENSION_ROOT, NOT_OPTIONAL, 
10865                 dissect_h245_H223AL1MParameters_headerFEC },
10866         { "crcLength", EXTENSION_ROOT, NOT_OPTIONAL, 
10867                 dissect_h245_H223AL1MParameters_crcLength },
10868         { "rcpcCodeRate", EXTENSION_ROOT, NOT_OPTIONAL,
10869                 dissect_h245_rcpcCodeRate },
10870         { "arqType", EXTENSION_ROOT, NOT_OPTIONAL,
10871                 dissect_h245_H223AL1MParameters_arqType },
10872         { "alpduInterleaving", EXTENSION_ROOT, NOT_OPTIONAL, 
10873                 dissect_h245_alpduInterleaving },
10874         { "alsduSplitting", EXTENSION_ROOT, NOT_OPTIONAL, 
10875                 dissect_h245_alsduSplitting },
10876         { "rsCodeCorrection", NOT_EXTENSION_ROOT, OPTIONAL,
10877                 dissect_h245_rsCodeCorrection },
10878         { NULL, 0, 0, NULL }
10879 };
10880 static int
10881 dissect_h245_H223AL1MParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10882 {
10883         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223AL1MParameters, ett_h245_H223AL1MParameters, H223AL1MParameters_sequence);
10884
10885         return offset;
10886 }
10887
10888
10889
10890
10891 static per_sequence_t H223AL3MParameters_sequence[] = {
10892         { "headerFormat", EXTENSION_ROOT, NOT_OPTIONAL, 
10893                 dissect_h245_H223AL3MParameters_headerFormat },
10894         { "crcLength", EXTENSION_ROOT, NOT_OPTIONAL, 
10895                 dissect_h245_H223AL3MParameters_crcLength },
10896         { "rcpcCodeRate", EXTENSION_ROOT, NOT_OPTIONAL,
10897                 dissect_h245_rcpcCodeRate },
10898         { "arqType", EXTENSION_ROOT, NOT_OPTIONAL,
10899                 dissect_h245_H223AL3MParameters_arqType },
10900         { "alpduInterleaving", EXTENSION_ROOT, NOT_OPTIONAL, 
10901                 dissect_h245_alpduInterleaving },
10902         { "rsCodeCorrection", NOT_EXTENSION_ROOT, OPTIONAL,
10903                 dissect_h245_rsCodeCorrection },
10904         { NULL, 0, 0, NULL }
10905 };
10906 static int
10907 dissect_h245_H223AL3MParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10908 {
10909         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223AL3MParameters, ett_h245_H223AL3MParameters, H223AL3MParameters_sequence);
10910
10911         return offset;
10912 }
10913
10914
10915
10916
10917
10918 static int
10919 dissect_h245_windowSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10920 {
10921         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10922                 tree, hf_h245_windowSize, 1, 127,
10923                 NULL, NULL, FALSE);
10924
10925         return offset;
10926 }
10927
10928
10929
10930
10931 static per_sequence_t V76LogicalChannelParameters_mode_eRM_sequence[] = {
10932         { "windowSize", EXTENSION_ROOT, NOT_OPTIONAL,
10933                 dissect_h245_windowSize },
10934         { "recovery", EXTENSION_ROOT, NOT_OPTIONAL, 
10935                 dissect_h245_V76LogicalChannelParameters_mode_eRM_recovery },
10936         { NULL, 0, 0, NULL }
10937 };
10938 static int
10939 dissect_h245_V76LogicalChannelParameters_mode_eRM(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10940 {
10941         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V76LogicalChannelParameters_mode_eRM, ett_h245_V76LogicalChannelParameters_mode_eRM, V76LogicalChannelParameters_mode_eRM_sequence);
10942
10943         return offset;
10944 }
10945
10946
10947
10948 static const value_string V76LogicalChannelParameters_mode_vals[] = {
10949         {  0, "eRM" },
10950         {  1, "uNERM" },
10951         {  0, NULL }
10952 };
10953 static per_choice_t V76LogicalChannelParameters_mode_choice[] = {
10954         {  0, "eRM", EXTENSION_ROOT, 
10955                         dissect_h245_V76LogicalChannelParameters_mode_eRM },
10956         {  1, "uNERM", EXTENSION_ROOT, 
10957                         dissect_h245_NULL },
10958         {  0, NULL, 0, NULL }
10959 };
10960 static int
10961 dissect_h245_V76LogicalChannelParameters_mode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10962 {
10963         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_V76LogicalChannelParameters_mode, ett_h245_V76LogicalChannelParameters_mode, V76LogicalChannelParameters_mode_choice, "mode", NULL);
10964
10965         return offset;
10966 }
10967
10968
10969
10970
10971 static int
10972 dissect_h245_n401(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10973 {
10974         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10975                 tree, hf_h245_n401, 1, 4095,
10976                 NULL, NULL, FALSE);
10977
10978         return offset;
10979 }
10980
10981
10982
10983
10984
10985 static per_sequence_t V76HDLCParameters_sequence[] = {
10986         { "crcLength", EXTENSION_ROOT, NOT_OPTIONAL, 
10987                 dissect_h245_CRCLength },
10988         { "n401", EXTENSION_ROOT, NOT_OPTIONAL,
10989                 dissect_h245_n401 },
10990         { "loopbackTestProcedure", EXTENSION_ROOT, NOT_OPTIONAL, 
10991                 dissect_h245_loopbackTestProcedure },
10992         { NULL, 0, 0, NULL }
10993 };
10994 static int
10995 dissect_h245_V76HDLCParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10996 {
10997         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V76HDLCParameters, ett_h245_V76HDLCParameters, V76HDLCParameters_sequence);
10998
10999         return offset;
11000 }
11001
11002
11003
11004
11005 static per_sequence_t V76LogicalChannelParameters_sequence[] = {
11006         { "hdlcParameters", EXTENSION_ROOT, NOT_OPTIONAL,
11007                 dissect_h245_V76HDLCParameters },
11008         { "suspendResume", EXTENSION_ROOT, NOT_OPTIONAL, 
11009                 dissect_h245_V76LogicalChannelParameters_suspendResume },
11010         { "uIH", EXTENSION_ROOT, NOT_OPTIONAL, 
11011                 dissect_h245_uIH },
11012         { "mode", EXTENSION_ROOT, NOT_OPTIONAL,
11013                 dissect_h245_V76LogicalChannelParameters_mode },
11014         { "v75Parameters", EXTENSION_ROOT, NOT_OPTIONAL, 
11015                 dissect_h245_V75Parameters },
11016         { NULL, 0, 0, NULL }
11017 };
11018 static int
11019 dissect_h245_V76LogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11020 {
11021         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V76LogicalChannelParameters, ett_h245_V76LogicalChannelParameters, V76LogicalChannelParameters_sequence);
11022
11023         return offset;
11024 }
11025
11026
11027
11028 static int
11029 dissect_h245_sessionID_0_255(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11030 {
11031         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
11032                 tree, hf_h245_sessionID_0_255, 0, 255,
11033                 NULL, NULL, FALSE);
11034
11035         return offset;
11036 }
11037
11038
11039
11040 static int
11041 dissect_h245_sessionID_1_255(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11042 {
11043         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
11044                 tree, hf_h245_sessionID_1_255, 1, 255,
11045                 NULL, NULL, FALSE);
11046
11047         return offset;
11048 }
11049
11050
11051
11052
11053 static int
11054 dissect_h245_associatedSessionID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11055 {
11056         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
11057                 tree, hf_h245_associatedSessionID, 1, 255,
11058                 NULL, NULL, FALSE);
11059
11060         return offset;
11061 }
11062
11063
11064
11065
11066 static int
11067 dissect_h245_payloadType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11068 {
11069         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11070                 hf_h245_payloadType,  0,  127,
11071                 NULL, NULL, FALSE);
11072
11073         return offset;
11074 }
11075
11076
11077
11078
11079 static int
11080 dissect_h245_protectedSessionID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11081 {
11082         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11083                 hf_h245_protectedSessionID,  1,  255,
11084                 NULL, NULL, FALSE);
11085
11086         return offset;
11087 }
11088
11089
11090
11091 static int
11092 dissect_h245_protectedPayloadType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11093 {
11094         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11095                 hf_h245_protectedPayloadType,  0,  127,
11096                 NULL, NULL, FALSE);
11097
11098         return offset;
11099 }
11100
11101
11102
11103
11104 static per_sequence_t FECData_rfc2733_mode_separateStream_differentPort_sequence[] = {
11105         { "protectedSessionID", EXTENSION_ROOT, NOT_OPTIONAL,
11106                 dissect_h245_protectedSessionID },
11107         { "protectedPayloadType", EXTENSION_ROOT, OPTIONAL,
11108                 dissect_h245_protectedPayloadType },
11109         { NULL, 0, 0, NULL }
11110 };
11111 static int
11112 dissect_h245_FECData_rfc2733_mode_separateStream_differentPort(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11113 {
11114         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);
11115
11116         return offset;
11117 }
11118
11119
11120
11121
11122 static per_sequence_t FECData_rfc2733_mode_separateStream_samePort_sequence[] = {
11123         { "protectedPayloadType", EXTENSION_ROOT, NOT_OPTIONAL, 
11124                 dissect_h245_protectedPayloadType },
11125         { NULL, 0, 0, NULL }
11126 };
11127 static int
11128 dissect_h245_FECData_rfc2733_mode_separateStream_samePort(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11129 {
11130         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);
11131
11132         return offset;
11133 }
11134
11135
11136
11137 static const value_string FECData_rfc2733_mode_separateStream_vals[] = {
11138         {  0, "differentPort" },
11139         {  1, "samePort" },
11140         {  0, NULL }
11141 };
11142 static per_choice_t FECData_rfc2733_mode_separateStream_choice[] = {
11143         {  0, "differentPort", EXTENSION_ROOT, 
11144                 dissect_h245_FECData_rfc2733_mode_separateStream_differentPort },
11145         {  1, "samePort", EXTENSION_ROOT,
11146                 dissect_h245_FECData_rfc2733_mode_separateStream_samePort },
11147         {  0, NULL, 0, NULL }
11148 };
11149 static int
11150 dissect_h245_FECData_rfc2733_mode_separateStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11151 {
11152         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);
11153
11154         return offset;
11155 }
11156
11157
11158
11159
11160 static const value_string FECData_rfc2733_mode_vals[] = {
11161         {  0, "redundancyEncoding" },
11162         {  1, "separateStream" },
11163         {  0, NULL }
11164 };
11165 static per_choice_t FECData_rfc2733_mode_choice[] = {
11166         {  0, "redundancyEncoding", EXTENSION_ROOT, 
11167                         dissect_h245_NULL },
11168         {  1, "separateStream", EXTENSION_ROOT,
11169                         dissect_h245_FECData_rfc2733_mode_separateStream },
11170         {  0, NULL, 0, NULL }
11171 };
11172 static int
11173 dissect_h245_FECData_rfc2733_mode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11174 {
11175         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FECData_rfc2733_mode, ett_h245_FECData_rfc2733_mode, FECData_rfc2733_mode_choice, "mode", NULL);
11176
11177         return offset;
11178 }
11179
11180
11181
11182
11183 static per_sequence_t FECData_rfc2733_sequence[] = {
11184         { "mode", EXTENSION_ROOT, NOT_OPTIONAL, 
11185                 dissect_h245_FECData_rfc2733_mode },
11186         { NULL, 0, 0, NULL }
11187 };
11188 static int
11189 dissect_h245_FECData_rfc2733(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11190 {
11191         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FECData_rfc2733, ett_h245_FECData_rfc2733, FECData_rfc2733_sequence);
11192
11193         return offset;
11194 }
11195
11196
11197
11198
11199 static const value_string FECData_vals[] = {
11200         {  0, "rfc2733" },
11201         {  0, NULL }
11202 };
11203 static per_choice_t FECData_choice[] = {
11204         {  0, "rfc2733", NO_EXTENSIONS,
11205                 dissect_h245_FECData_rfc2733 },
11206         {  0, NULL, 0, NULL }
11207 };
11208 static int
11209 dissect_h245_FECData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11210 {
11211         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FECData, ett_h245_FECData, FECData_choice, "FECData", NULL);
11212
11213         return offset;
11214 }
11215
11216
11217
11218
11219 static per_sequence_t FECMode_rfc2733Mode_mode_separateStream_differentPort_sequence[] = {
11220         { "protectedSessionID", EXTENSION_ROOT, NOT_OPTIONAL, 
11221                 dissect_h245_protectedSessionID },
11222         { "protectedPayloadType", EXTENSION_ROOT, OPTIONAL,
11223                 dissect_h245_protectedPayloadType },
11224         { NULL, 0, 0, NULL }
11225 };
11226 static int
11227 dissect_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11228 {
11229         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);
11230
11231         return offset;
11232 }
11233
11234
11235
11236
11237 static int
11238 dissect_h245_tsapIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11239 {
11240         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11241                 hf_h245_tsapIdentifier,  0,  65535,
11242                 &ipv4_port, NULL, FALSE);
11243
11244         return offset;
11245 }
11246
11247
11248
11249 static int
11250 dissect_h245_synchFlag(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11251 {
11252         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11253                 hf_h245_synchFlag,  0,  255,
11254                 NULL, NULL, FALSE);
11255
11256         return offset;
11257 }
11258
11259
11260
11261
11262 static int
11263 dissect_h245_finite_1_65535(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11264 {
11265         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11266                 hf_h245_finite_1_65535,  1,  65535,
11267                 NULL, NULL, FALSE);
11268
11269         return offset;
11270 }
11271
11272
11273
11274
11275 static const value_string MultiplexElement_repeatCount_vals[] = {
11276         {  0, "finite" },
11277         {  1, "untilClosingFlag" },
11278         {  0, NULL }
11279 };
11280 static per_choice_t MultiplexElement_repeatCount_choice[] = {
11281         {  0, "finite", NO_EXTENSIONS,
11282                         dissect_h245_finite_1_65535 },
11283         {  1, "untilClosingFlag", NO_EXTENSIONS, 
11284                         dissect_h245_NULL },
11285         {  0, NULL, 0, NULL }
11286 };
11287 static int
11288 dissect_h245_MultiplexElement_repeatCount(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11289 {
11290         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultiplexElement_repeatCount, ett_h245_MultiplexElement_repeatCount, MultiplexElement_repeatCount_choice, "repeatCount", NULL);
11291
11292         return offset;
11293 }
11294
11295
11296
11297
11298 static int
11299 dissect_h245_MultiplexTableEntryNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11300 {
11301         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11302                 hf_h245_MultiplexTableEntryNumber,  1,  15,
11303                 NULL, NULL, FALSE);
11304
11305         return offset;
11306 }
11307
11308
11309
11310
11311 static per_sequence_t MultiplexEntryRejectionDescriptions_sequence[] = {
11312         { "multiplexTableEntryNumber", EXTENSION_ROOT, NOT_OPTIONAL,
11313                 dissect_h245_MultiplexTableEntryNumber },
11314         { "cause", EXTENSION_ROOT, NOT_OPTIONAL, 
11315                 dissect_h245_MultiplexEntryRejectionDescriptions_cause },
11316         { NULL, 0, 0, NULL }
11317 };
11318 static int
11319 dissect_h245_MultiplexEntryRejectionDescriptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11320 {
11321         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntryRejectionDescriptions, ett_h245_MultiplexEntryRejectionDescriptions, MultiplexEntryRejectionDescriptions_sequence);
11322
11323         return offset;
11324 }
11325
11326
11327
11328
11329 static per_sequence_t RequestMultiplexEntryRejectionDescriptions_sequence[] = {
11330         { "multiplexTableEntryNumber", EXTENSION_ROOT, NOT_OPTIONAL,
11331                 dissect_h245_MultiplexTableEntryNumber },
11332         { "cause", EXTENSION_ROOT, NOT_OPTIONAL, 
11333                 dissect_h245_RequestMultiplexEntryRejectionDescriptions_cause},
11334         { NULL, 0, 0, NULL }
11335 };
11336 static int
11337 dissect_h245_RequestMultiplexEntryRejectionDescriptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11338 {
11339         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntryRejectionDescriptions, ett_h245_RequestMultiplexEntryRejectionDescriptions, RequestMultiplexEntryRejectionDescriptions_sequence);
11340
11341         return offset;
11342 }
11343
11344
11345
11346
11347 static int
11348 dissect_h245_dataModeBitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11349 {
11350         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11351                 hf_h245_dataModeBitRate,  0,  4294967295UL,
11352                 NULL, NULL, FALSE);
11353
11354         return offset;
11355 }
11356
11357
11358
11359 static int
11360 dissect_h245_sessionDependency(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11361 {
11362         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11363                 hf_h245_sessionDependency,  1,  255,
11364                 NULL, NULL, FALSE);
11365
11366         return offset;
11367 }
11368
11369
11370
11371 static int
11372 dissect_h245_sRandom(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11373 {
11374         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11375                 hf_h245_sRandom,  1,  4294967295UL,
11376                 NULL, NULL, FALSE);
11377
11378         return offset;
11379 }
11380
11381
11382
11383 static int
11384 dissect_h245_McuNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11385 {
11386         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11387                 hf_h245_McuNumber,  0,  192,
11388                 NULL, NULL, FALSE);
11389
11390         return offset;
11391 }
11392
11393
11394
11395
11396 static int
11397 dissect_h245_TerminalNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11398 {
11399         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11400                 hf_h245_TerminalNumber,  0,  192,
11401                 NULL, NULL, FALSE);
11402
11403         return offset;
11404 }
11405
11406
11407
11408
11409 static per_sequence_t TerminalLabel_sequence[] = {
11410         { "mcuNumber", EXTENSION_ROOT, NOT_OPTIONAL,
11411                 dissect_h245_McuNumber },
11412         { "terminalNumber", EXTENSION_ROOT, NOT_OPTIONAL,
11413                 dissect_h245_TerminalNumber },
11414         { NULL, 0, 0, NULL }
11415 };
11416 static int
11417 dissect_h245_TerminalLabel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11418 {
11419         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalLabel, ett_h245_TerminalLabel, TerminalLabel_sequence);
11420
11421         return offset;
11422 }
11423
11424
11425
11426
11427
11428 static int
11429 dissect_h245_maxNumberOfAdditionalConnections(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11430 {
11431         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11432                 hf_h245_maxNumberOfAdditionalConnections,  1,  65535,
11433                 NULL, NULL, FALSE);
11434
11435         return offset;
11436 }
11437
11438
11439
11440
11441 static per_sequence_t MultilinkRequest_callInformation_sequence[] = {
11442         { "maxNumberOfAdditionalConnections", EXTENSION_ROOT, NOT_OPTIONAL,
11443                 dissect_h245_maxNumberOfAdditionalConnections },
11444         { NULL, 0, 0, NULL }
11445 };
11446 static int
11447 dissect_h245_MultilinkRequest_callInformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11448 {
11449         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest_callInformation, ett_h245_MultilinkRequest_callInformation, MultilinkRequest_callInformation_sequence);
11450
11451         return offset;
11452 }
11453
11454
11455
11456
11457
11458 static int
11459 dissect_h245_requestedInterval(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11460 {
11461         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11462                 hf_h245_requestedInterval,  0,  65535,
11463                 NULL, NULL, FALSE);
11464
11465         return offset;
11466 }
11467
11468
11469
11470
11471 static const value_string MultilinkRequest_maximumHeaderInterval_requestType_vals[] = {
11472         {  0, "currentIntervalInformation" },
11473         {  1, "requestedInterval" },
11474         {  0, NULL }
11475 };
11476 static per_choice_t MultilinkRequest_maximumHeaderInterval_requestType_choice[] = {
11477         {  0, "currentIntervalInformation", EXTENSION_ROOT, 
11478                         dissect_h245_NULL },
11479         {  1, "requestedInterval", EXTENSION_ROOT,
11480                         dissect_h245_requestedInterval },
11481         {  0, NULL, 0, NULL }
11482 };
11483 static int
11484 dissect_h245_MultilinkRequest_maximumHeaderInterval_requestType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11485 {
11486         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest_maximumHeaderInterval_requestType, ett_h245_MultilinkRequest_maximumHeaderInterval_requestType, MultilinkRequest_maximumHeaderInterval_requestType_choice, "requestType", NULL);
11487
11488         return offset;
11489 }
11490
11491
11492
11493
11494 static per_sequence_t MultilinkRequest_maximumHeaderInterval_sequence[] = {
11495         { "requestType", EXTENSION_ROOT, NOT_OPTIONAL,
11496                 dissect_h245_MultilinkRequest_maximumHeaderInterval_requestType },
11497         { NULL, 0, 0, NULL }
11498 };
11499 static int
11500 dissect_h245_MultilinkRequest_maximumHeaderInterval(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11501 {
11502         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest_maximumHeaderInterval, ett_h245_MultilinkRequest_maximumHeaderInterval, MultilinkRequest_maximumHeaderInterval_sequence);
11503
11504         return offset;
11505 }
11506
11507
11508
11509
11510 static int
11511 dissect_h245_callAssociationNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11512 {
11513         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11514                 hf_h245_callAssociationNumber,  0,  4294967295UL,
11515                 NULL, NULL, FALSE);
11516
11517         return offset;
11518 }
11519
11520
11521
11522
11523 static int
11524 dissect_h245_currentInterval(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11525 {
11526         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11527                 hf_h245_currentInterval,  0,  65535,
11528                 NULL, NULL, FALSE);
11529
11530         return offset;
11531 }
11532
11533
11534
11535 static per_sequence_t MultilinkResponse_maximumHeaderInterval_sequence[] = {
11536         { "currentInterval", EXTENSION_ROOT, NOT_OPTIONAL,
11537                 dissect_h245_currentInterval },
11538         { NULL, 0, 0, NULL }
11539 };
11540 static int
11541 dissect_h245_MultilinkResponse_maximumHeaderInterval(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11542 {
11543         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse_maximumHeaderInterval, ett_h245_MultilinkResponse_maximumHeaderInterval, MultilinkResponse_maximumHeaderInterval_sequence);
11544
11545         return offset;
11546 }
11547
11548
11549
11550
11551 static int
11552 dissect_h245_infoNotAvailable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11553 {
11554         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11555                 hf_h245_infoNotAvailable,  1,  65535,
11556                 NULL, NULL, FALSE);
11557
11558         return offset;
11559 }
11560
11561
11562
11563
11564 static int
11565 dissect_h245_channelTag(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11566 {
11567         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11568                 hf_h245_channelTag,  0,  4294967295UL,
11569                 NULL, NULL, FALSE);
11570
11571         return offset;
11572 }
11573
11574
11575
11576
11577 static int
11578 dissect_h245_ConnectionIDsequenceNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11579 {
11580         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11581                 hf_h245_ConnectionIDsequenceNumber,  0,  4294967295UL,
11582                 NULL, NULL, FALSE);
11583
11584         return offset;
11585 }
11586
11587
11588
11589
11590
11591 static per_sequence_t ConnectionIdentifier_sequence[] = {
11592         { "channelTag", EXTENSION_ROOT, NOT_OPTIONAL,
11593                 dissect_h245_channelTag },
11594         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL,
11595                 dissect_h245_ConnectionIDsequenceNumber },
11596         { NULL, 0, 0, NULL }
11597 };
11598 static int
11599 dissect_h245_ConnectionIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11600 {
11601         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConnectionIdentifier, ett_h245_ConnectionIdentifier, ConnectionIdentifier_sequence);
11602
11603         return offset;
11604 }
11605
11606
11607
11608
11609 static per_sequence_t MultilinkRequest_removeConnection_sequence[] = {
11610         { "connectionIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
11611                 dissect_h245_ConnectionIdentifier },
11612         { NULL, 0, 0, NULL }
11613 };
11614 static int
11615 dissect_h245_MultilinkRequest_removeConnection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11616 {
11617         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest_removeConnection, ett_h245_MultilinkRequest_removeConnection, MultilinkRequest_removeConnection_sequence);
11618
11619         return offset;
11620 }
11621
11622
11623
11624
11625 static per_sequence_t MultilinkResponse_removeConnection_sequence[] = {
11626         { "connectionIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
11627                 dissect_h245_ConnectionIdentifier },
11628         { NULL, 0, 0, NULL }
11629 };
11630 static int
11631 dissect_h245_MultilinkResponse_removeConnection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11632 {
11633         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse_removeConnection, ett_h245_MultilinkResponse_removeConnection, MultilinkResponse_removeConnection_sequence);
11634
11635         return offset;
11636 }
11637
11638
11639
11640
11641 static per_sequence_t MultilinkIndication_excessiveError_sequence[] = {
11642         { "connectionIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
11643                 dissect_h245_ConnectionIdentifier },
11644         { NULL, 0, 0, NULL }
11645 };
11646 static int
11647 dissect_h245_MultilinkIndication_excessiveError(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11648 {
11649         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkIndication_excessiveError, ett_h245_MultilinkIndication_excessiveError, MultilinkIndication_excessiveError_sequence);
11650
11651         return offset;
11652 }
11653
11654
11655
11656
11657 static int
11658 dissect_h245_MaximumBitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11659 {
11660         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11661                 hf_h245_MaximumBitRate,  0,  4294967295UL,
11662                 NULL, NULL, FALSE);
11663
11664         return offset;
11665 }
11666
11667
11668
11669 static per_sequence_t LogicalChannelRateRequest_sequence[] = {
11670         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
11671                 dissect_h245_SequenceNumber },
11672         { "logicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
11673                 dissect_h245_LogicalChannelNumber },
11674         { "maximumBitRate", EXTENSION_ROOT, NOT_OPTIONAL,
11675                 dissect_h245_MaximumBitRate },
11676         { NULL, 0, 0, NULL }
11677 };
11678 static int
11679 dissect_h245_LogicalChannelRateRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11680 {
11681         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_LogicalChannelRateRequest, ett_h245_LogicalChannelRateRequest, LogicalChannelRateRequest_sequence);
11682
11683         return offset;
11684 }
11685
11686
11687
11688 static per_sequence_t LogicalChannelRateAck_sequence[] = {
11689         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
11690                 dissect_h245_SequenceNumber },
11691         { "logicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
11692                 dissect_h245_LogicalChannelNumber },
11693         { "maximumBitRate", EXTENSION_ROOT, NOT_OPTIONAL,
11694                 dissect_h245_MaximumBitRate },
11695         { NULL, 0, 0, NULL }
11696 };
11697 static int
11698 dissect_h245_LogicalChannelRateAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11699 {
11700         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_LogicalChannelRateAck, ett_h245_LogicalChannelRateAck, LogicalChannelRateAck_sequence);
11701
11702         return offset;
11703 }
11704
11705
11706
11707
11708 static per_sequence_t LogicalChannelRateReject_sequence[] = {
11709         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
11710                         dissect_h245_SequenceNumber },
11711         { "logicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
11712                         dissect_h245_LogicalChannelNumber },
11713         { "rejectReason", EXTENSION_ROOT, NOT_OPTIONAL, 
11714                         dissect_h245_LogicalChannelRateRejectReason },
11715         { "currentMaximumBitRate", EXTENSION_ROOT, OPTIONAL,
11716                         dissect_h245_MaximumBitRate },
11717         { NULL, 0, 0, NULL }
11718 };
11719 static int
11720 dissect_h245_LogicalChannelRateReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11721 {
11722         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_LogicalChannelRateReject, ett_h245_LogicalChannelRateReject, LogicalChannelRateReject_sequence);
11723
11724         return offset;
11725 }
11726
11727
11728
11729
11730
11731 static per_sequence_t LogicalChannelRateRelease_sequence[] = {
11732         { NULL, 0, 0, NULL }
11733 };
11734 static int
11735 dissect_h245_LogicalChannelRateRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11736 {
11737         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_LogicalChannelRateRelease, ett_h245_LogicalChannelRateRelease, LogicalChannelRateRelease_sequence);
11738
11739         return offset;
11740 }
11741
11742
11743
11744
11745 static int
11746 dissect_h245_maximumBitRate_0_16777215(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_maximumBitRate_0_16777215,  0,  16777215,
11750                 NULL, NULL, FALSE);
11751
11752         return offset;
11753 }
11754
11755
11756
11757 static const value_string FlowControlCommand_restriction_vals[] = {
11758         {  0, "maximumBitRate" },
11759         {  1, "noRestriction" },
11760         {  0, NULL }
11761 };
11762 static per_choice_t FlowControlCommand_restriction_choice[] = {
11763         {  0, "maximumBitRate", NO_EXTENSIONS,
11764                         dissect_h245_maximumBitRate_0_16777215 },
11765         {  1, "noRestriction", NO_EXTENSIONS, 
11766                         dissect_h245_NULL },
11767         {  0, NULL, 0, NULL }
11768 };
11769 static int
11770 dissect_h245_FlowControlCommand_restriction(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11771 {
11772         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FlowControlCommand_restriction, ett_h245_FlowControlCommand_restriction, FlowControlCommand_restriction_choice, "restriction", NULL);
11773
11774         return offset;
11775 }
11776
11777
11778
11779
11780 static const value_string FlowControlIndication_restriction_vals[] = {
11781         {  0, "maximumBitRate" },
11782         {  1, "noRestriction" },
11783         {  0, NULL }
11784 };
11785 static per_choice_t FlowControlIndication_restriction_choice[] = {
11786         {  0, "maximumBitRate", NO_EXTENSIONS,
11787                         dissect_h245_maximumBitRate_0_16777215 },
11788         {  1, "noRestrictions", NO_EXTENSIONS, 
11789                         dissect_h245_NULL },
11790         {  0, NULL, 0, NULL }
11791 };
11792 static int
11793 dissect_h245_FlowControlIndication_restriction(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11794 {
11795         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FlowControlIndication_restriction, ett_h245_FlowControlIndication_restriction, FlowControlIndication_restriction_choice, "restriction", NULL);
11796
11797         return offset;
11798 }
11799
11800
11801
11802
11803 static per_sequence_t FlowControlCommand_sequence[] = {
11804         { "scope", EXTENSION_ROOT, NOT_OPTIONAL,
11805                 dissect_h245_FlowControlCommand_scope },
11806         { "restriction", EXTENSION_ROOT, NOT_OPTIONAL,
11807                 dissect_h245_FlowControlCommand_restriction },
11808         { NULL, 0, 0, NULL }
11809 };
11810 static int
11811 dissect_h245_FlowControlCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11812 {
11813         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FlowControlCommand, ett_h245_FlowControlCommand, FlowControlCommand_sequence);
11814
11815         return offset;
11816 }
11817
11818
11819
11820 static per_sequence_t FlowControlIndication_sequence[] = {
11821         { "scope", EXTENSION_ROOT, NOT_OPTIONAL,
11822                 dissect_h245_FlowControlIndication_scope },
11823         { "restriction", EXTENSION_ROOT, NOT_OPTIONAL,
11824                 dissect_h245_FlowControlIndication_restriction },
11825         { NULL, 0, 0, NULL }
11826 };
11827 static int
11828 dissect_h245_FlowControlIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11829 {
11830         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FlowControlIndication, ett_h245_FlowControlIndication, FlowControlIndication_sequence);
11831
11832         return offset;
11833 }
11834
11835
11836
11837
11838 static int
11839 dissect_h245_firstGOB_0_17(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11840 {
11841         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11842                 hf_h245_firstGOB_0_17,  0,  17,
11843                 NULL, NULL, FALSE);
11844
11845         return offset;
11846 }
11847
11848
11849
11850 static int
11851 dissect_h245_numberOfGOBs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11852 {
11853         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11854                 hf_h245_numberOfGOBs,  1,  18,
11855                 NULL, NULL, FALSE);
11856
11857         return offset;
11858 }
11859
11860
11861
11862
11863 static per_sequence_t MiscellaneousCommand_type_videoFastUpdateGOB_sequence[] = {
11864         { "firstGOB", NO_EXTENSIONS, NOT_OPTIONAL,
11865                 dissect_h245_firstGOB_0_17 },
11866         { "numberOfGOBs", NO_EXTENSIONS, NOT_OPTIONAL,
11867                 dissect_h245_numberOfGOBs },
11868         { NULL, 0, 0, NULL }
11869 };
11870 static int
11871 dissect_h245_MiscellaneousCommand_type_videoFastUpdateGOB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11872 {
11873         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type_videoFastUpdateGOB, ett_h245_MiscellaneousCommand_type_videoFastUpdateGOB, MiscellaneousCommand_type_videoFastUpdateGOB_sequence);
11874
11875         return offset;
11876 }
11877
11878
11879
11880
11881 static int
11882 dissect_h245_videoTemporalSpatialTradeOff(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11883 {
11884         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11885                 hf_h245_videoTemporalSpatialTradeOff,  0,  31,
11886                 NULL, NULL, FALSE);
11887
11888         return offset;
11889 }
11890
11891
11892
11893 static int
11894 dissect_h245_firstGOB_0_255(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11895 {
11896         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11897                 hf_h245_firstGOB_0_255,  0,  255,
11898                 NULL, NULL, FALSE);
11899
11900         return offset;
11901 }
11902
11903
11904
11905 static int
11906 dissect_h245_firstMB_1_8192(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11907 {
11908         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11909                 hf_h245_firstMB_1_8192,  1,  8192,
11910                 NULL, NULL, FALSE);
11911
11912         return offset;
11913 }
11914
11915
11916
11917 static int
11918 dissect_h245_firstMB_1_9216(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11919 {
11920         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11921                 hf_h245_firstMB_1_9216,  1,  9216,
11922                 NULL, NULL, FALSE);
11923
11924         return offset;
11925 }
11926
11927
11928
11929
11930 static int
11931 dissect_h245_numberOfMBs_1_8192(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11932 {
11933         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11934                 hf_h245_numberOfMBs_1_8192,  1,  8192,
11935                 NULL, NULL, FALSE);
11936
11937         return offset;
11938 }
11939
11940
11941
11942
11943 static int
11944 dissect_h245_numberOfMBs_1_9216(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11945 {
11946         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11947                 hf_h245_numberOfMBs_1_9216,  1,  9216,
11948                 NULL, NULL, FALSE);
11949
11950         return offset;
11951 }
11952
11953
11954
11955
11956 static per_sequence_t MiscellaneousCommand_type_videoFastUpdateMB_sequence[] = {
11957         { "firstGOB", EXTENSION_ROOT, OPTIONAL,
11958                 dissect_h245_firstGOB_0_255 },
11959         { "firstMB", EXTENSION_ROOT, OPTIONAL,
11960                 dissect_h245_firstMB_1_8192 },
11961         { "numberOfMBs", EXTENSION_ROOT, NOT_OPTIONAL,
11962                 dissect_h245_numberOfMBs_1_8192 },
11963         { NULL, 0, 0, NULL }
11964 };
11965 static int
11966 dissect_h245_MiscellaneousCommand_type_videoFastUpdateMB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11967 {
11968         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type_videoFastUpdateMB, ett_h245_MiscellaneousCommand_type_videoFastUpdateMB, MiscellaneousCommand_type_videoFastUpdateMB_sequence);
11969
11970         return offset;
11971 }
11972
11973
11974
11975
11976 static int
11977 dissect_h245_maxH223MUXPDUsize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11978 {
11979         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11980                 hf_h245_maxH223MUXPDUsize,  1,  65535,
11981                 NULL, NULL, FALSE);
11982
11983         return offset;
11984 }
11985
11986
11987
11988
11989 static int
11990 dissect_h245_temporalReference_0_1023(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11991 {
11992         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11993                 hf_h245_temporalReference_0_1023,  0,  1023,
11994                 NULL, NULL, FALSE);
11995
11996         return offset;
11997 }
11998
11999
12000
12001
12002
12003
12004 static int
12005 dissect_h245_temporalReference_0_255(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12006 {
12007         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12008                 hf_h245_temporalReference_0_255,  0,  255,
12009                 NULL, NULL, FALSE);
12010
12011         return offset;
12012 }
12013
12014
12015
12016
12017 static per_sequence_t MiscellaneousIndication_type_videoNotDecodedMBs_sequence[] = {
12018         { "firstMB", EXTENSION_ROOT, NOT_OPTIONAL,
12019                 dissect_h245_firstMB_1_8192 },
12020         { "numberOfMBs", EXTENSION_ROOT, NOT_OPTIONAL,
12021                 dissect_h245_numberOfMBs_1_8192 },
12022         { "temporalReference", EXTENSION_ROOT, NOT_OPTIONAL,
12023                 dissect_h245_temporalReference_0_255 },
12024         { NULL, 0, 0, NULL }
12025 };
12026 static int
12027 dissect_h245_MiscellaneousIndication_type_videoNotDecodedMBs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12028 {
12029         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousIndication_type_videoNotDecodedMBs, ett_h245_MiscellaneousIndication_type_videoNotDecodedMBs, MiscellaneousIndication_type_videoNotDecodedMBs_sequence);
12030
12031         return offset;
12032 }
12033
12034
12035
12036
12037
12038 static per_sequence_t MiscellaneousCommand_type_videoBadMBs_sequence[] = {
12039         { "firstMB", EXTENSION_ROOT, NOT_OPTIONAL,
12040                 dissect_h245_firstMB_1_9216 },
12041         { "numberOfMBs", EXTENSION_ROOT, NOT_OPTIONAL,
12042                 dissect_h245_numberOfMBs_1_9216 },
12043         { "temporalReference", EXTENSION_ROOT, NOT_OPTIONAL,
12044                 dissect_h245_temporalReference_0_1023 },
12045         { NULL, 0, 0, NULL }
12046 };
12047 static int
12048 dissect_h245_MiscellaneousCommand_type_videoBadMBs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12049 {
12050         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type_videoBadMBs, ett_h245_MiscellaneousCommand_type_videoBadMBs, MiscellaneousCommand_type_videoBadMBs_sequence);
12051
12052         return offset;
12053 }
12054
12055
12056
12057
12058 static int
12059 dissect_h245_pictureNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12060 {
12061         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12062                 hf_h245_pictureNumber,  0,  1023,
12063                 NULL, NULL, FALSE);
12064
12065         return offset;
12066 }
12067
12068
12069
12070
12071 static int
12072 dissect_h245_longTermPictureIndex(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12073 {
12074         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12075                 hf_h245_longTermPictureIndex,  0,  255,
12076                 NULL, NULL, FALSE);
12077
12078         return offset;
12079 }
12080
12081
12082
12083
12084 static const value_string PictureReference_vals[] = {
12085         {  0, "pictureNumber" },
12086         {  1, "longTermPictureIndex" },
12087         {  0, NULL }
12088 };
12089 static per_choice_t PictureReference_choice[] = {
12090         {  0, "pictureNumber", EXTENSION_ROOT,
12091                 dissect_h245_pictureNumber },
12092         {  1, "longTermPictureIndex", EXTENSION_ROOT,
12093                 dissect_h245_longTermPictureIndex },
12094         {  0, NULL, 0, NULL }
12095 };
12096 static int
12097 dissect_h245_PictureReference(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12098 {
12099         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_PictureReference, ett_h245_PictureReference, PictureReference_choice, "PictureReference", NULL);
12100
12101         return offset;
12102 }
12103
12104
12105
12106
12107 static per_sequence_t MiscellaneousCommand_type_lostPartialPicture_sequence[] = {
12108         { "pictureReference", EXTENSION_ROOT, NOT_OPTIONAL,
12109                 dissect_h245_PictureReference },
12110         { "firstMB", EXTENSION_ROOT, NOT_OPTIONAL,
12111                 dissect_h245_firstMB_1_9216 },
12112         { "numberOfMBs", EXTENSION_ROOT, NOT_OPTIONAL,
12113                 dissect_h245_numberOfMBs_1_9216 },
12114         { NULL, 0, 0, NULL }
12115 };
12116 static int
12117 dissect_h245_MiscellaneousCommand_type_lostPartialPicture(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12118 {
12119         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type_lostPartialPicture, ett_h245_MiscellaneousCommand_type_lostPartialPicture, MiscellaneousCommand_type_lostPartialPicture_sequence);
12120
12121         return offset;
12122 }
12123
12124
12125
12126
12127 static int
12128 dissect_h245_sampleSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12129 {
12130         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12131                 hf_h245_sampleSize,  1,  255,
12132                 NULL, NULL, FALSE);
12133
12134         return offset;
12135 }
12136
12137
12138
12139 static int
12140 dissect_h245_samplesPerFrame(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12141 {
12142         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12143                 hf_h245_samplesPerFrame,  1,  255,
12144                 NULL, NULL, FALSE);
12145
12146         return offset;
12147 }
12148
12149
12150
12151 static per_sequence_t MobileMultilinkReconfigurationIndication_sequence[] = {
12152         { "sampleSize", EXTENSION_ROOT, NOT_OPTIONAL,
12153                 dissect_h245_sampleSize },
12154         { "samplesPerFrame", EXTENSION_ROOT, NOT_OPTIONAL,
12155                 dissect_h245_samplesPerFrame },
12156         { NULL, 0, 0, NULL }
12157 };
12158 static int
12159 dissect_h245_MobileMultilinkReconfigurationIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12160 {
12161         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MobileMultilinkReconfigurationIndication, ett_h245_MobileMultilinkReconfigurationIndication, MobileMultilinkReconfigurationIndication_sequence);
12162
12163         return offset;
12164 }
12165
12166
12167
12168
12169 static per_sequence_t MobileMultilinkReconfigurationCommand_sequence[] = {
12170         { "sampleSize", EXTENSION_ROOT, NOT_OPTIONAL,
12171                 dissect_h245_sampleSize },
12172         { "samplesPerFrame", EXTENSION_ROOT, NOT_OPTIONAL,
12173                 dissect_h245_samplesPerFrame },
12174         { "status", EXTENSION_ROOT, NOT_OPTIONAL, 
12175                 dissect_h245_MobileMultilinkReconfigurationCommand_status },
12176         { NULL, 0, 0, NULL }
12177 };
12178 static int
12179 dissect_h245_MobileMultilinkReconfigurationCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12180 {
12181         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MobileMultilinkReconfigurationCommand, ett_h245_MobileMultilinkReconfigurationCommand, MobileMultilinkReconfigurationCommand_sequence);
12182
12183         return offset;
12184 }
12185
12186
12187
12188
12189 static int
12190 dissect_h245_sbeNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12191 {
12192         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12193                 hf_h245_sbeNumber,  0,  9,
12194                 NULL, NULL, FALSE);
12195
12196         return offset;
12197 }
12198
12199
12200
12201
12202
12203
12204
12205 static int
12206 dissect_h245_subPictureNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12207 {
12208         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12209                 hf_h245_subPictureNumber,  0,  255,
12210                 NULL, NULL, FALSE);
12211
12212         return offset;
12213 }
12214
12215
12216
12217
12218 static per_sequence_t TerminalYouAreSeeingInSubPictureNumber_sequence[] = {
12219         { "terminalNumber", EXTENSION_ROOT, NOT_OPTIONAL,
12220                 dissect_h245_TerminalNumber },
12221         { "subPictureNumber", EXTENSION_ROOT, NOT_OPTIONAL,
12222                 dissect_h245_subPictureNumber },
12223         { NULL, 0, 0, NULL }
12224 };
12225 static int
12226 dissect_h245_TerminalYouAreSeeingInSubPictureNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12227 {
12228         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalYouAreSeeingInSubPictureNumber, ett_h245_TerminalYouAreSeeingInSubPictureNumber, TerminalYouAreSeeingInSubPictureNumber_sequence);
12229
12230         return offset;
12231 }
12232
12233
12234
12235 static int
12236 dissect_h245_compositionNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12237 {
12238         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12239                 hf_h245_compositionNumber,  0,  255,
12240                 NULL, NULL, FALSE);
12241
12242         return offset;
12243 }
12244
12245
12246
12247
12248 static per_sequence_t VideoIndicateCompose_sequence[] = {
12249         { "compositionNumber", EXTENSION_ROOT, NOT_OPTIONAL,
12250                 dissect_h245_compositionNumber },
12251         { NULL, 0, 0, NULL }
12252 };
12253 static int
12254 dissect_h245_VideoIndicateCompose(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12255 {
12256         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VideoIndicateCompose, ett_h245_VideoIndicateCompose, VideoIndicateCompose_sequence);
12257
12258         return offset;
12259 }
12260
12261
12262
12263
12264 static const value_string ConferenceIndication_vals[] = {
12265         {  0, "sbeNumber" },
12266         {  1, "terminalNumberAssign" },
12267         {  2, "terminalJoinedConference" },
12268         {  3, "terminalLeftConference" },
12269         {  4, "seenByAtLeastOneOther" },
12270         {  5, "cancelSeenByAtLeastOneOther" },
12271         {  6, "seenByAll" },
12272         {  7, "cancelSeenByAll" },
12273         {  8, "terminalAreYouSeeing" },
12274         {  9, "requestForFloor" },
12275         { 10, "withdrawChairToken" },
12276         { 11, "floorRequested" },
12277         { 12, "terminalAreYouSeeingInSubPictureNumber" },
12278         { 13, "videoIndicateCompose" },
12279         {  0, NULL }
12280 };
12281 static per_choice_t ConferenceIndication_choice[] = {
12282         {  0, "sbeNumber", EXTENSION_ROOT,
12283                         dissect_h245_sbeNumber },
12284         {  1, "terminalNumberAssign", EXTENSION_ROOT,
12285                         dissect_h245_TerminalLabel },
12286         {  2, "terminalJoinedConference", EXTENSION_ROOT,
12287                         dissect_h245_TerminalLabel },
12288         {  3, "terminalLeftConference", EXTENSION_ROOT,
12289                         dissect_h245_TerminalLabel },
12290         {  4, "seenByAtLeastOneOther", EXTENSION_ROOT, 
12291                         dissect_h245_NULL },
12292         {  5, "cancelSeenByAtLeastOneOther", EXTENSION_ROOT, 
12293                         dissect_h245_NULL },
12294         {  6, "seenByAll", EXTENSION_ROOT, 
12295                         dissect_h245_NULL },
12296         {  7, "cancelSeenByAll", EXTENSION_ROOT, 
12297                         dissect_h245_NULL },
12298         {  8, "terminalAreYouSeeing", EXTENSION_ROOT,
12299                         dissect_h245_TerminalLabel },
12300         {  9, "requestForFloor", EXTENSION_ROOT,
12301                         dissect_h245_NULL },
12302         { 10, "withdrawChairToken", NOT_EXTENSION_ROOT, 
12303                         dissect_h245_NULL },
12304         { 11, "floorRequested", NOT_EXTENSION_ROOT,
12305                         dissect_h245_TerminalLabel },
12306         { 12, "terminalAreYouSeeingInSubPictureNumber", NOT_EXTENSION_ROOT,
12307                         dissect_h245_TerminalYouAreSeeingInSubPictureNumber },
12308         { 13, "videoIndicateCompose", NOT_EXTENSION_ROOT,
12309                         dissect_h245_VideoIndicateCompose },
12310         {  0, NULL, 0, NULL }
12311 };
12312 static int
12313 dissect_h245_ConferenceIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12314 {
12315         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceIndication, ett_h245_ConferenceIndication, ConferenceIndication_choice, "ConferenceIndication", NULL);
12316
12317         return offset;
12318 }
12319
12320
12321
12322
12323 static int
12324 dissect_h245_estimatedReceivedJitterMantissa(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12325 {
12326         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12327                 hf_h245_estimatedReceivedJitterMantissa,  0,  3,
12328                 NULL, NULL, FALSE);
12329
12330         return offset;
12331 }
12332
12333
12334
12335
12336 static int
12337 dissect_h245_estimatedReceivedJitterExponent(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12338 {
12339         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12340                 hf_h245_estimatedReceivedJitterExponent,  0,  7,
12341                 NULL, NULL, FALSE);
12342
12343         return offset;
12344 }
12345
12346
12347
12348 static int
12349 dissect_h245_skippedFrameCount(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12350 {
12351         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12352                 hf_h245_skippedFrameCount,  0,  15,
12353                 NULL, NULL, FALSE);
12354
12355         return offset;
12356 }
12357
12358
12359
12360
12361 static int
12362 dissect_h245_additionalDecoderBuffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12363 {
12364         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12365                 hf_h245_additionalDecoderBuffer,  0,  262143,
12366                 NULL, NULL, FALSE);
12367
12368         return offset;
12369 }
12370
12371
12372
12373
12374 static per_sequence_t JitterIndication_sequence[] = {
12375         { "scope", EXTENSION_ROOT, NOT_OPTIONAL,
12376                 dissect_h245_JitterIndication_scope },
12377         { "estimatedReceivedJitterMantissa", EXTENSION_ROOT, NOT_OPTIONAL,
12378                 dissect_h245_estimatedReceivedJitterMantissa },
12379         { "estimatedReceivedJitterExponent", EXTENSION_ROOT, NOT_OPTIONAL,
12380                 dissect_h245_estimatedReceivedJitterExponent },
12381         { "skippedFrameCount", EXTENSION_ROOT, OPTIONAL,
12382                 dissect_h245_skippedFrameCount },
12383         { "additionalDecoderBuffer", EXTENSION_ROOT, OPTIONAL,
12384                 dissect_h245_additionalDecoderBuffer },
12385         { NULL, 0, 0, NULL }
12386 };
12387 static int
12388 dissect_h245_JitterIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12389 {
12390         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_JitterIndication, ett_h245_JitterIndication, JitterIndication_sequence);
12391
12392         return offset;
12393 }
12394
12395
12396
12397
12398 static int
12399 dissect_h245_skew(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12400 {
12401         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12402                 hf_h245_skew,  0,  4095,
12403                 NULL, NULL, FALSE);
12404
12405         return offset;
12406 }
12407
12408
12409
12410 static per_sequence_t H223SkewIndication_sequence[] = {
12411         { "logicalChannelNumber1", EXTENSION_ROOT, NOT_OPTIONAL, 
12412                         dissect_h245_LogicalChannelNumber },
12413         { "logicalChannelNumber2", EXTENSION_ROOT, NOT_OPTIONAL, 
12414                         dissect_h245_LogicalChannelNumber },
12415         { "skew", EXTENSION_ROOT, NOT_OPTIONAL,
12416                         dissect_h245_skew },
12417         { NULL, 0, 0, NULL }
12418 };
12419 static int
12420 dissect_h245_H223SkewIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12421 {
12422         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223SkewIndication, ett_h245_H223SkewIndication, H223SkewIndication_sequence);
12423
12424         return offset;
12425 }
12426
12427
12428
12429
12430 static int
12431 dissect_h245_maximumSkew(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12432 {
12433         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12434                 hf_h245_maximumSkew,  0,  4095,
12435                 NULL, NULL, FALSE);
12436
12437         return offset;
12438 }
12439
12440
12441
12442
12443 static per_sequence_t H2250MaximumSkewIndication_sequence[] = {
12444         { "logicalChannelNumber1", EXTENSION_ROOT, NOT_OPTIONAL, 
12445                         dissect_h245_LogicalChannelNumber },
12446         { "logicalChannelNumber2", EXTENSION_ROOT, NOT_OPTIONAL, 
12447                         dissect_h245_LogicalChannelNumber },
12448         { "maximumSkew", EXTENSION_ROOT, NOT_OPTIONAL,
12449                         dissect_h245_maximumSkew },
12450         { NULL, 0, 0, NULL }
12451 };
12452 static int
12453 dissect_h245_H2250MaximumSkewIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12454 {
12455         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250MaximumSkewIndication, ett_h245_H2250MaximumSkewIndication, H2250MaximumSkewIndication_sequence);
12456
12457         return offset;
12458 }
12459
12460
12461
12462
12463 static int
12464 dissect_h245_duration(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12465 {
12466         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12467                 hf_h245_duration,  1,  65535,
12468                 NULL, NULL, FALSE);
12469
12470         return offset;
12471 }
12472
12473
12474
12475 static per_sequence_t UserInputIndication_signalUpdate_sequence[] = {
12476         { "duration", EXTENSION_ROOT, NOT_OPTIONAL,
12477                 dissect_h245_duration },
12478         { "rtp", EXTENSION_ROOT, OPTIONAL, 
12479                 dissect_h245_UserInputIndication_signalUpdate_rtp },
12480         { NULL, 0, 0, NULL }
12481 };
12482 static int
12483 dissect_h245_UserInputIndication_signalUpdate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12484 {
12485         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_signalUpdate, ett_h245_UserInputIndication_signalUpdate, UserInputIndication_signalUpdate_sequence);
12486
12487         return offset;
12488 }
12489
12490
12491
12492
12493 static int
12494 dissect_h245_timestamp(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12495 {
12496         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12497                 hf_h245_timestamp,  0,  4294967295UL,
12498                 NULL, NULL, FALSE);
12499
12500         return offset;
12501 }
12502
12503
12504
12505 static int
12506 dissect_h245_expirationTime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12507 {
12508         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12509                 hf_h245_expirationTime,  0,  4294967295UL,
12510                 NULL, NULL, FALSE);
12511
12512         return offset;
12513 }
12514
12515
12516
12517
12518 static per_sequence_t UserInputIndication_signal_rtp_sequence[] = {
12519         { "timestamp", EXTENSION_ROOT, OPTIONAL,
12520                 dissect_h245_timestamp },
12521         { "expirationTime", EXTENSION_ROOT, OPTIONAL,
12522                 dissect_h245_expirationTime },
12523         { "logicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
12524                 dissect_h245_LogicalChannelNumber },
12525         { NULL, 0, 0, NULL }
12526 };
12527 static int
12528 dissect_h245_UserInputIndication_signal_rtp(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12529 {
12530         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_signal_rtp, ett_h245_UserInputIndication_signal_rtp, UserInputIndication_signal_rtp_sequence);
12531
12532         return offset;
12533 }
12534
12535
12536
12537
12538
12539
12540 static per_sequence_t MasterSlaveDeterminationRelease_sequence[] = {
12541         { NULL, EXTENSION_ROOT, 0, NULL }
12542 };
12543 static int
12544 dissect_h245_MasterSlaveDeterminationRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12545 {
12546         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDeterminationRelease, ett_h245_MasterSlaveDeterminationRelease, MasterSlaveDeterminationRelease_sequence);
12547
12548         return offset;
12549 }
12550
12551
12552
12553
12554
12555 static per_sequence_t MultilinkIndication_crcDesired_sequence[] = {
12556         { NULL, EXTENSION_ROOT, 0, NULL }
12557 };
12558 static int
12559 dissect_h245_MultilinkIndication_crcDesired(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12560 {
12561         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkIndication_crcDesired, ett_h245_MultilinkIndication_crcDesired, MultilinkIndication_crcDesired_sequence);
12562
12563         return offset;
12564 }
12565
12566
12567
12568
12569
12570 static int
12571 dissect_h245_object(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12572 {
12573         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_object, object);
12574         return offset;
12575 }
12576
12577
12578
12579 static int
12580 dissect_h245_protocolIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12581 {
12582         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_protocolIdentifier, NULL);
12583         return offset;
12584 }
12585
12586
12587
12588
12589 static int
12590 dissect_h245_algorithm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12591 {
12592         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_algorithm, NULL);
12593         return offset;
12594 }
12595
12596
12597
12598
12599 static int
12600 dissect_h245_antiSpamAlgorithm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12601 {
12602         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_antiSpamAlgorithm, NULL);
12603         return offset;
12604 }
12605
12606
12607
12608
12609 static int
12610 dissect_h245_standard_object(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12611 {
12612         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_standard_object, NULL);
12613         return offset;
12614 }
12615
12616
12617
12618 static int
12619 dissect_h245_oid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12620 {
12621         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_oid, NULL);
12622         return offset;
12623 }
12624
12625
12626
12627
12628 static int
12629 dissect_h245_escrowID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12630 {
12631         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_escrowID, NULL);
12632         return offset;
12633 }
12634
12635
12636
12637
12638 static int
12639 dissect_h245_field(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12640 {
12641         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_field, NULL);
12642         return offset;
12643 }
12644
12645
12646
12647
12648 static const value_string NonStandardIdentifier_vals[] = {
12649         { 0,    "object" },
12650         { 1,    "h221NonStandard" },
12651         { 0, NULL }
12652 };
12653 static per_choice_t NonStandardIdentifier_choice[] = {
12654         { 0,    "object", NO_EXTENSIONS,
12655                 dissect_h245_object },
12656         { 1,    "h221NonStandard", NO_EXTENSIONS, 
12657                 dissect_h245_h221NonStandard },
12658         { 0, NULL, 0, NULL }
12659 };
12660 static int
12661 dissect_h245_NonStandardIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12662 {
12663         guint32 value;
12664
12665         *object = '\0';
12666         h221NonStandard = 0;
12667
12668         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NonStandardIdentifier, ett_h245_NonStandardIdentifier, NonStandardIdentifier_choice, "NonStandardIdentifier", &value);
12669
12670         switch (value) {
12671                 case 0 :  /* object */
12672                         nsp_handle = dissector_get_port_handle(nsp_object_dissector_table, adler32_str(object));
12673                         break;
12674                 case 1 :  /* h221NonStandard */
12675                         nsp_handle = dissector_get_port_handle(nsp_h221_dissector_table, h221NonStandard);
12676                         break;
12677                 default :
12678                         nsp_handle = NULL;
12679     }
12680
12681         return offset;
12682 }
12683
12684
12685 static int
12686 dissect_h245_NonStandardParameterData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12687 {
12688         guint32 value_offset, value_len;
12689         tvbuff_t *next_tvb;
12690
12691         if (nsp_handle) {
12692                 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, -1, -1, -1, &value_offset, &value_len);
12693                 next_tvb = tvb_new_subset(tvb, value_offset, value_len, value_len);
12694                 call_dissector(nsp_handle, next_tvb, pinfo, tree);
12695         } else {
12696                 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_NonStandardParameterData, -1, -1, NULL, NULL);
12697         }
12698         return offset;
12699 }
12700
12701
12702
12703
12704 static int
12705 dissect_h245_nlpidData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12706 {
12707         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_nlpidData, -1, -1, NULL, NULL);
12708         return offset;
12709 }
12710
12711
12712
12713
12714 static int
12715 dissect_h245_nonCollapsingRaw(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12716 {
12717         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_nonCollapsingRaw, -1, -1, NULL, NULL);
12718         return offset;
12719 }
12720
12721
12722
12723 static int
12724 dissect_h245_uuid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12725 {
12726         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_uuid, 16, 16, NULL, NULL);
12727         return offset;
12728 }
12729
12730
12731
12732
12733 static int
12734 dissect_h245_octetString(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12735 {
12736         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_octetString, -1, -1, NULL, NULL);
12737         return offset;
12738 }
12739
12740
12741
12742
12743 static int
12744 dissect_h245_externalReference(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12745 {
12746         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_externalReference, 1, 255, NULL, NULL);
12747         return offset;
12748 }
12749
12750
12751
12752
12753 static int
12754 dissect_h245_nsapAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12755 {
12756         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_nsapAddress, 1, 20, NULL, NULL);
12757         return offset;
12758 }
12759
12760
12761
12762
12763 static int
12764 dissect_h245_subaddress_1_20(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12765 {
12766         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_subaddress_1_20, 1, 20, NULL, NULL);
12767         return offset;
12768 }
12769
12770
12771
12772
12773 static int
12774 dissect_h245_programDescriptors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12775 {
12776         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_programDescriptors, -1, -1, NULL, NULL);
12777         return offset;
12778 }
12779
12780
12781
12782 static int
12783 dissect_h245_streamDescriptors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12784 {
12785         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_streamDescriptors, -1, -1, NULL, NULL);
12786         return offset;
12787 }
12788
12789
12790
12791
12792 static int
12793 dissect_h245_ipv4network(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree)
12794 {
12795         /* byte aligned */
12796         if(offset&0x07){
12797                 offset=(offset&0xfffffff8)+8;
12798         }
12799         tvb_memcpy(tvb, (char *)&ipv4_address, offset>>3, 4);
12800         proto_tree_add_ipv4(tree, hf_h245_ipv4network, tvb, offset>>3, 4, ipv4_address);
12801         
12802         offset+=32;
12803         return offset;
12804 }
12805
12806
12807
12808 static int
12809 dissect_h245_ipxNode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12810 {
12811         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_ipxNode, 6, 6, NULL, NULL);
12812         return offset;
12813 }
12814
12815
12816
12817 static int
12818 dissect_h245_ipxNetnum(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12819 {
12820         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_ipxNetnum, 4, 4, NULL, NULL);
12821         return offset;
12822 }
12823
12824
12825
12826
12827 static int
12828 dissect_h245_ipv6network(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12829 {
12830         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_ipv6network, 16, 16, NULL, NULL);
12831         return offset;
12832 }
12833
12834
12835
12836 static int
12837 dissect_h245_netBios(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12838 {
12839         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_netBios, 16, 16, NULL, NULL);
12840         return offset;
12841 }
12842
12843
12844
12845
12846 static int
12847 dissect_h245_nsap(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12848 {
12849         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_nsap, 1, 20, NULL, NULL);
12850         return offset;
12851 }
12852
12853
12854
12855
12856 static int
12857 dissect_h245_h235Key(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12858 {
12859         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_h235Key, 1, 65535, NULL, NULL);
12860         return offset;
12861 }
12862
12863
12864
12865 static int
12866 dissect_h245_value(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12867 {
12868         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_value, 1, 65535, NULL, NULL);
12869         return offset;
12870 }
12871
12872
12873
12874
12875 static int
12876 dissect_h245_certificateResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12877 {
12878         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_certificateResponse, 1, 65535, NULL, NULL);
12879         return offset;
12880 }
12881
12882
12883
12884
12885 static int
12886 dissect_h245_TerminalID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12887 {
12888         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_TerminalID, 1, 128, NULL, NULL);
12889         return offset;
12890 }
12891
12892
12893
12894 static int
12895 dissect_h245_ConferenceID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12896 {
12897         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_ConferenceID, 1, 32, NULL, NULL);
12898         return offset;
12899 }
12900
12901
12902
12903 static int
12904 dissect_h245_Password(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12905 {
12906         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_Password, 1, 32, NULL, NULL);
12907         return offset;
12908 }
12909
12910
12911
12912
12913 static int
12914 dissect_h245_encryptionSE(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12915 {
12916         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_encryptionSE, -1, -1, NULL, NULL);
12917         return offset;
12918 }
12919
12920
12921
12922 static int
12923 dissect_h245_conferenceIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12924 {
12925         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_conferenceIdentifier, 1, 16, NULL, NULL);
12926         return offset;
12927 }
12928
12929
12930
12931
12932 static int
12933 dissect_h245_returnedFunction(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12934 {
12935         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_returnedFunction, -1, -1, NULL, NULL);
12936         return offset;
12937 }
12938
12939
12940
12941
12942 static int
12943 dissect_h245_productNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12944 {
12945         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_productNumber, 1, 256, NULL, NULL);
12946         return offset;
12947 }
12948
12949
12950
12951
12952 static int
12953 dissect_h245_versionNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12954 {
12955         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_versionNumber, 1, 256, NULL, NULL);
12956         return offset;
12957 }
12958
12959
12960
12961
12962
12963 static per_sequence_t H222LogicalChannelParameters_sequence[] = {
12964         { "resourceID", EXTENSION_ROOT, NOT_OPTIONAL,
12965                 dissect_h245_resourceID },
12966         { "subChannelID", EXTENSION_ROOT, NOT_OPTIONAL,
12967                 dissect_h245_subChannelID },
12968         { "pcr-pid", EXTENSION_ROOT, OPTIONAL,
12969                 dissect_h245_pcr_pid },
12970         { "programDescriptors", EXTENSION_ROOT, OPTIONAL,
12971                 dissect_h245_programDescriptors },
12972         { "streamDescriptors", EXTENSION_ROOT, OPTIONAL,
12973                 dissect_h245_streamDescriptors },
12974         { NULL, 0, 0, NULL }
12975 };
12976 static int
12977 dissect_h245_H222LogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12978 {
12979         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H222LogicalChannelParameters, ett_h245_H222LogicalChannelParameters, H222LogicalChannelParameters_sequence);
12980
12981         return offset;
12982 }
12983
12984
12985
12986
12987
12988 static per_sequence_t UnicastAddress_iPAddress_sequence[] = {
12989         { "network", EXTENSION_ROOT, NOT_OPTIONAL,
12990                 dissect_h245_ipv4network },
12991         { "tsapIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
12992                 dissect_h245_tsapIdentifier },
12993         { NULL, 0, 0, NULL }
12994 };
12995 static int
12996 dissect_h245_UnicastAddress_iPAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12997 {
12998         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UnicastAddress_iPAddress, ett_h245_UnicastAddress_iPAddress, UnicastAddress_iPAddress_sequence);
12999
13000         return offset;
13001 }
13002
13003
13004
13005 static per_sequence_t UnicastAddress_iPXAddress_sequence[] = {
13006         { "node", EXTENSION_ROOT, NOT_OPTIONAL,
13007                 dissect_h245_ipxNode },
13008         { "netnum", EXTENSION_ROOT, NOT_OPTIONAL,
13009                 dissect_h245_ipxNetnum },
13010         { "tsapIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
13011                 dissect_h245_tsapIdentifier },
13012         { NULL, 0, 0, NULL }
13013 };
13014 static int
13015 dissect_h245_UnicastAddress_iPXAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13016 {
13017         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UnicastAddress_iPXAddress, ett_h245_UnicastAddress_iPXAddress, UnicastAddress_iPXAddress_sequence);
13018
13019         return offset;
13020 }
13021
13022
13023
13024
13025 static per_sequence_t UnicastAddress_iP6Address_sequence[] = {
13026         { "network", EXTENSION_ROOT, NOT_OPTIONAL,
13027                 dissect_h245_ipv6network },
13028         { "tsapIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
13029                 dissect_h245_tsapIdentifier },
13030         { NULL, 0, 0, NULL }
13031 };
13032 static int
13033 dissect_h245_UnicastAddress_iP6Address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13034 {
13035         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UnicastAddress_iP6Address, ett_h245_UnicastAddress_iP6Address, UnicastAddress_iP6Address_sequence);
13036
13037         return offset;
13038 }
13039
13040
13041
13042
13043
13044 static per_sequence_t VendorIdentification_sequence[] = {
13045         { "vendor", EXTENSION_ROOT, NOT_OPTIONAL,
13046                 dissect_h245_NonStandardIdentifier },
13047         { "productNumber", EXTENSION_ROOT, OPTIONAL,
13048                 dissect_h245_productNumber },
13049         { "versionNumber", EXTENSION_ROOT, OPTIONAL,
13050                 dissect_h245_versionNumber },
13051         { NULL, 0, 0, NULL }
13052 };
13053 static int
13054 dissect_h245_VendorIdentification(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13055 {
13056         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VendorIdentification, ett_h245_VendorIdentification, VendorIdentification_sequence);
13057
13058         return offset;
13059 }
13060
13061
13062
13063
13064 static per_sequence_t MulticastAddress_iPAddress_sequence[] = {
13065         { "network", EXTENSION_ROOT, NOT_OPTIONAL,
13066                 dissect_h245_ipv4network },
13067         { "tsapIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
13068                 dissect_h245_tsapIdentifier },
13069         { NULL, 0, 0, NULL }
13070 };
13071 static int
13072 dissect_h245_MulticastAddress_iPAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13073 {
13074         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MulticastAddress_iPAddress, ett_h245_MulticastAddress_iPAddress, MulticastAddress_iPAddress_sequence);
13075
13076         return offset;
13077 }
13078
13079
13080
13081
13082 static per_sequence_t MulticastAddress_iP6Address_sequence[] = {
13083         { "network", EXTENSION_ROOT, NOT_OPTIONAL,
13084                 dissect_h245_ipv6network },
13085         { "tsapIdentifier", EXTENSION_ROOT, NOT_OPTIONAL, 
13086                 dissect_h245_tsapIdentifier },
13087         { NULL, 0, 0, NULL }
13088 };
13089 static int
13090 dissect_h245_MulticastAddress_iP6Address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13091 {
13092         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MulticastAddress_iP6Address, ett_h245_MulticastAddress_iP6Address, MulticastAddress_iP6Address_sequence);
13093
13094         return offset;
13095 }
13096
13097
13098
13099
13100
13101 static per_sequence_t Criteria_sequence[] = {
13102         { "field", EXTENSION_ROOT, NOT_OPTIONAL,
13103                 dissect_h245_field },
13104         { "value", EXTENSION_ROOT, NOT_OPTIONAL,
13105                 dissect_h245_value },
13106         { NULL, 0, 0, NULL }
13107 };
13108 static int
13109 dissect_h245_Criteria(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13110 {
13111         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_Criteria, ett_h245_Criteria, Criteria_sequence);
13112
13113         return offset;
13114 }
13115
13116
13117
13118
13119 static per_sequence_t ConferenceResponse_mCterminalIDResponse_sequence[] = {
13120         { "terminalLabel", EXTENSION_ROOT, NOT_OPTIONAL,
13121                 dissect_h245_TerminalLabel },
13122         { "terminalID", EXTENSION_ROOT, NOT_OPTIONAL,
13123                 dissect_h245_TerminalID },
13124         { NULL, 0, 0, NULL }
13125 };
13126 static int
13127 dissect_h245_ConferenceResponse_mCterminalIDResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13128 {
13129         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_mCterminalIDResponse, ett_h245_ConferenceResponse_mCterminalIDResponse, ConferenceResponse_mCterminalIDResponse_sequence);
13130
13131         return offset;
13132 }
13133
13134
13135
13136
13137 static per_sequence_t ConferenceResponse_conferenceIDResponse_sequence[] = {
13138         { "terminalLabel", EXTENSION_ROOT, NOT_OPTIONAL,
13139                 dissect_h245_TerminalLabel },
13140         { "conferenceID", EXTENSION_ROOT, NOT_OPTIONAL,
13141                 dissect_h245_ConferenceID },
13142         { NULL, 0, 0, NULL }
13143 };
13144 static int
13145 dissect_h245_ConferenceResponse_conferenceIDResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13146 {
13147         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_conferenceIDResponse, ett_h245_ConferenceResponse_conferenceIDResponse, ConferenceResponse_conferenceIDResponse_sequence);
13148
13149         return offset;
13150 }
13151
13152
13153
13154
13155 static per_sequence_t ConferenceResponse_passwordResponse_sequence[] = {
13156         { "terminalLabel", EXTENSION_ROOT, NOT_OPTIONAL,
13157                 dissect_h245_TerminalLabel },
13158         { "password", EXTENSION_ROOT, NOT_OPTIONAL,
13159                 dissect_h245_Password },
13160         { NULL, 0, 0, NULL }
13161 };
13162 static int
13163 dissect_h245_ConferenceResponse_passwordResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13164 {
13165         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_passwordResponse, ett_h245_ConferenceResponse_passwordResponse, ConferenceResponse_passwordResponse_sequence);
13166
13167         return offset;
13168 }
13169
13170
13171
13172
13173
13174 static per_sequence_t ConferenceResponse_extensionAddressResponse_sequence[] = {
13175         { "extensionAddress", EXTENSION_ROOT, NOT_OPTIONAL,
13176                 dissect_h245_TerminalID },
13177         { NULL, 0, 0, NULL }
13178 };
13179 static int
13180 dissect_h245_ConferenceResponse_extensionAddressResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13181 {
13182         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_extensionAddressResponse, ett_h245_ConferenceResponse_extensionAddressResponse, ConferenceResponse_extensionAddressResponse_sequence);
13183
13184         return offset;
13185 }
13186
13187
13188
13189
13190 static per_sequence_t ConferenceResponse_chairTokenOwnerResponse_sequence[] = {
13191         { "terminalLabel", EXTENSION_ROOT, NOT_OPTIONAL,
13192                 dissect_h245_TerminalLabel },
13193         { "terminalID", EXTENSION_ROOT, NOT_OPTIONAL,
13194                 dissect_h245_TerminalID },
13195         { NULL, 0, 0, NULL }
13196 };
13197 static int
13198 dissect_h245_ConferenceResponse_chairTokenOwnerResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13199 {
13200         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_chairTokenOwnerResponse, ett_h245_ConferenceResponse_chairTokenOwnerResponse, ConferenceResponse_chairTokenOwnerResponse_sequence);
13201
13202         return offset;
13203 }
13204
13205
13206
13207
13208 static per_sequence_t ConferenceResponse_terminalCertificateResponse_sequence[] = {
13209         { "terminalLabel", EXTENSION_ROOT, NOT_OPTIONAL,
13210                 dissect_h245_TerminalLabel },
13211         { "certificateResponse", EXTENSION_ROOT, OPTIONAL,
13212                 dissect_h245_certificateResponse },
13213         { NULL, 0, 0, NULL }
13214 };
13215 static int
13216 dissect_h245_ConferenceResponse_terminalCertificateResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13217 {
13218         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_terminalCertificateResponse, ett_h245_ConferenceResponse_terminalCertificateResponse, ConferenceResponse_terminalCertificateResponse_sequence);
13219
13220         return offset;
13221 }
13222
13223
13224
13225
13226 static per_sequence_t TerminalInformation_sequence[] = {
13227         { "terminalLabel", EXTENSION_ROOT, NOT_OPTIONAL,
13228                 dissect_h245_TerminalLabel },
13229         { "terminalID", EXTENSION_ROOT, NOT_OPTIONAL,
13230                 dissect_h245_TerminalID },
13231         { NULL, 0, 0, NULL }
13232 };
13233 static int
13234 dissect_h245_TerminalInformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13235 {
13236         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalInformation, ett_h245_TerminalInformation, TerminalInformation_sequence);
13237
13238         return offset;
13239 }
13240
13241
13242
13243 static per_sequence_t SubstituteConferenceIDCommand_sequence[] = {
13244         { "conferenceIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
13245                 dissect_h245_conferenceIdentifier },
13246         { NULL, 0, 0, NULL }
13247 };
13248 static int
13249 dissect_h245_SubstituteConferenceIDCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13250 {
13251         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_SubstituteConferenceIDCommand, ett_h245_SubstituteConferenceIDCommand, SubstituteConferenceIDCommand_sequence);
13252
13253         return offset;
13254 }
13255
13256
13257
13258
13259 static const value_string ConferenceCommand_vals[] = {
13260         {  0, "broadcastMyLogicalChannel" },
13261         {  1, "cancelBroadcastMyLogicalChannel" },
13262         {  2, "makeTerminalBroadcaster" },
13263         {  3, "cancelMakeTerminalBroadcaster" },
13264         {  4, "sendThisSource" },
13265         {  5, "cancelSendThisSource" },
13266         {  6, "dropConference" },
13267         {  7, "substituteConferenceIDCommand" },
13268         {  0, NULL }
13269 };
13270 static per_choice_t ConferenceCommand_choice[] = {
13271         {  0, "broadcastMyLogicalChannel", EXTENSION_ROOT, 
13272                 dissect_h245_LogicalChannelNumber },
13273         {  1, "cancelBroadcastMyLogicalChannel", EXTENSION_ROOT, 
13274                 dissect_h245_LogicalChannelNumber },
13275         {  2, "makeTerminalBroadcaster", EXTENSION_ROOT,
13276                 dissect_h245_TerminalLabel },
13277         {  3, "cancelMakeTerminalBroadcaster", EXTENSION_ROOT, 
13278                 dissect_h245_NULL },
13279         {  4, "sendThisSource", EXTENSION_ROOT,
13280                 dissect_h245_TerminalLabel },
13281         {  5, "cancelSendThisSource", EXTENSION_ROOT, 
13282                 dissect_h245_NULL },
13283         {  6, "dropConference", EXTENSION_ROOT, 
13284                 dissect_h245_NULL },
13285         {  7, "substituteConferenceIDCommand", NOT_EXTENSION_ROOT,
13286                 dissect_h245_SubstituteConferenceIDCommand },
13287         {  0, NULL, 0, NULL }
13288 };
13289 static int
13290 dissect_h245_ConferenceCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13291 {
13292         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceCommand, ett_h245_ConferenceCommand, ConferenceCommand_choice, "ConferenceCommand", NULL);
13293
13294         return offset;
13295 }
13296
13297
13298
13299
13300 static per_sequence_t FunctionNotSupported_sequence[] = {
13301         { "cause", EXTENSION_ROOT, NOT_OPTIONAL, 
13302                 dissect_h245_FunctionNotSupported_cause },
13303         { "returnedFunction", EXTENSION_ROOT, OPTIONAL,
13304                 dissect_h245_returnedFunction },
13305         { NULL, 0, 0, NULL }
13306 };
13307 static int
13308 dissect_h245_FunctionNotSupported(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13309 {
13310         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FunctionNotSupported, ett_h245_FunctionNotSupported, FunctionNotSupported_sequence);
13311
13312         return offset;
13313 }
13314
13315
13316
13317
13318
13319 static per_sequence_t NonStandardParameter_sequence[] = {
13320         { "nonStandardIdentifier", NO_EXTENSIONS, NOT_OPTIONAL,
13321                 dissect_h245_NonStandardIdentifier },
13322         { "data", NO_EXTENSIONS, NOT_OPTIONAL,
13323                 dissect_h245_NonStandardParameterData },
13324         { NULL, 0, 0, NULL }
13325 };
13326 int
13327 dissect_h245_NonStandardParameter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13328 {
13329         nsp_handle = NULL;
13330
13331         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NonStandardParameter, ett_h245_NonStandardParameter, NonStandardParameter_sequence);
13332
13333         return offset;
13334 }
13335
13336 static per_sequence_t NonStandardParameter_with_extension_sequence[] = {
13337         { "nonStandardIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
13338                 dissect_h245_NonStandardIdentifier },
13339         { "data", EXTENSION_ROOT, NOT_OPTIONAL,
13340                 dissect_h245_NonStandardParameterData },
13341         { NULL, 0, 0, NULL }
13342 };
13343 int
13344 dissect_h245_NonStandardParameter_with_extension_marker(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13345 {
13346         nsp_handle = NULL;
13347
13348         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NonStandardParameter, ett_h245_NonStandardParameter, NonStandardParameter_with_extension_sequence);
13349
13350         return offset;
13351 }
13352
13353
13354
13355
13356
13357 static const value_string DataProtocolCapability_vals[] = {
13358         {  0, "nonStandard" },
13359         {  1, "v14buffered" },
13360         {  2, "v42lapm" },
13361         {  3, "hdlcFrameTunnelling" },
13362         {  4, "h310SeparateVCStack" },
13363         {  5, "h310SingleVCStack" },
13364         {  6, "transparent" },
13365         {  7, "segmentationAndReassembly" },
13366         {  8, "hdlcFrameTunnelingwSAR" },
13367         {  9, "v120" },
13368         { 10, "separateLANStack" },
13369         { 11, "v76wCompression" },
13370         { 12, "tcp" },
13371         { 13, "udp" },
13372         {  0, NULL }
13373 };
13374 static per_choice_t DataProtocolCapability_choice[] = {
13375         {  0, "nonStandard", EXTENSION_ROOT,
13376                         dissect_h245_NonStandardParameter },
13377         {  1, "v14buffered", EXTENSION_ROOT, 
13378                         dissect_h245_NULL },
13379         {  2, "v42lapm", EXTENSION_ROOT, 
13380                         dissect_h245_NULL },
13381         {  3, "hdlcFrameTunnelling", EXTENSION_ROOT, 
13382                         dissect_h245_NULL },
13383         {  4, "h310SeparateVCStack", EXTENSION_ROOT, 
13384                         dissect_h245_NULL },
13385         {  5, "h310SingleVCStack", EXTENSION_ROOT, 
13386                         dissect_h245_NULL },
13387         {  6, "transparent", EXTENSION_ROOT, 
13388                         dissect_h245_NULL },
13389         {  7, "segmentationAndReassembly", NOT_EXTENSION_ROOT, 
13390                         dissect_h245_NULL },
13391         {  8, "hdlcFrameTunnelingwSAR", NOT_EXTENSION_ROOT, 
13392                         dissect_h245_NULL },
13393         {  9, "v120", NOT_EXTENSION_ROOT, 
13394                         dissect_h245_NULL },
13395         { 10, "separateLANStack", NOT_EXTENSION_ROOT, 
13396                         dissect_h245_NULL },
13397         { 11, "v76wCompression", NOT_EXTENSION_ROOT,
13398                         dissect_h245_DataProtocolCapability_v76wCompression },
13399         { 12, "tcp", NOT_EXTENSION_ROOT, 
13400                         dissect_h245_NULL },
13401         { 13, "udp", NOT_EXTENSION_ROOT, 
13402                         dissect_h245_NULL },
13403         {  0, NULL, 0, NULL }
13404 };
13405 int
13406 dissect_h245_DataProtocolCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13407 {
13408         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DataProtocolCapability, ett_h245_DataProtocolCapability, DataProtocolCapability_choice, "DataProtocolCapability", NULL);
13409
13410         return offset;
13411 }
13412
13413
13414
13415
13416 static const value_string MediaEncryptionAlgorithm_vals[] = {
13417         {  0, "nonStandard" },
13418         {  1, "algorithm" },
13419         {  0, NULL }
13420 };
13421 static per_choice_t MediaEncryptionAlgorithm_choice[] = {
13422         {  0, "nonStandard", EXTENSION_ROOT,
13423                 dissect_h245_NonStandardParameter },
13424         {  1, "algorithm", EXTENSION_ROOT,
13425                 dissect_h245_algorithm },
13426         {  0, NULL, 0, NULL }
13427 };
13428 static int
13429 dissect_h245_MediaEncryptionAlgorithm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13430 {
13431         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MediaEncryptionAlgorithm, ett_h245_MediaEncryptionAlgorithm, MediaEncryptionAlgorithm_choice, "MediaEncryptionAlgorithm", NULL);
13432
13433         return offset;
13434 }
13435
13436
13437
13438
13439 static const value_string UserInputCapability_vals[] = {
13440         {  0, "nonStandard" },
13441         {  1, "basicString" },
13442         {  2, "iA5String" },
13443         {  3, "generalString" },
13444         {  4, "dtmf" },
13445         {  5, "hookflash" },
13446         {  6, "extendedAlphanumeric" },
13447         {  0, NULL }
13448 };
13449 static per_choice_t UserInputCapability_choice[] = {
13450         {  0, "nonStandard", EXTENSION_ROOT,
13451                         dissect_h245_NonStandardParameter },
13452         {  1, "basicString", EXTENSION_ROOT, 
13453                         dissect_h245_NULL },
13454         {  2, "iA5String", EXTENSION_ROOT, 
13455                         dissect_h245_NULL },
13456         {  3, "generalString", EXTENSION_ROOT, 
13457                         dissect_h245_NULL },
13458         {  4, "dtmf", EXTENSION_ROOT, 
13459                         dissect_h245_NULL },
13460         {  5, "hookflash", EXTENSION_ROOT, 
13461                         dissect_h245_NULL },
13462         {  6, "extendedAlphanumeric", NOT_EXTENSION_ROOT, 
13463                         dissect_h245_NULL },
13464         {  0, NULL, 0, NULL }
13465 };
13466 static int
13467 dissect_h245_UserInputCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13468 {
13469         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_UserInputCapability, ett_h245_UserInputCapability, UserInputCapability_choice, "UserInputCapability", NULL);
13470
13471         return offset;
13472 }
13473
13474
13475
13476 static int
13477 dissect_h245_domainBased(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13478 {
13479         offset=dissect_per_IA5String(tvb, offset, pinfo, tree, hf_h245_domainBased, 1, 64);
13480
13481         return offset;
13482 }
13483
13484
13485
13486
13487 static const value_string CapabilityIdentifier_vals[] = {
13488         {  0, "standard" },
13489         {  1, "h221NonStandard" },
13490         {  2, "uuid" },
13491         {  3, "domainBased" },
13492         {  0, NULL }
13493 };
13494 static per_choice_t CapabilityIdentifier_choice[] = {
13495         {  0, "standard", EXTENSION_ROOT,
13496                 dissect_h245_standard_object },
13497         {  1, "h221NonStandard", EXTENSION_ROOT,
13498                 dissect_h245_NonStandardParameter },
13499         {  2, "uuid", EXTENSION_ROOT,
13500                 dissect_h245_uuid },
13501         {  3, "domainBased", EXTENSION_ROOT,
13502                 dissect_h245_domainBased },
13503         {  0, NULL, 0, NULL }
13504 };
13505 static int
13506 dissect_h245_CapabilityIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13507 {
13508         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CapabilityIdentifier, ett_h245_CapabilityIdentifier, CapabilityIdentifier_choice, "CapabilityIdentifier", NULL);
13509
13510         return offset;
13511 }
13512
13513
13514
13515
13516 static const value_string ParameterIdentifier_vals[] = {
13517         {  0, "standard" },
13518         {  1, "h221NonStandard" },
13519         {  2, "uuid" },
13520         {  3, "domainBased" },
13521         {  0, NULL }
13522 };
13523 static per_choice_t ParameterIdentifier_choice[] = {
13524         {  0, "standard", EXTENSION_ROOT,
13525                 dissect_h245_standard_0_127 },
13526         {  1, "h221NonStandard", EXTENSION_ROOT,
13527                 dissect_h245_NonStandardParameter },
13528         {  2, "uuid", EXTENSION_ROOT,
13529                 dissect_h245_uuid },
13530         {  3, "domainBased", EXTENSION_ROOT,
13531                 dissect_h245_domainBased },
13532         {  0, NULL, 0, NULL }
13533 };
13534 static int
13535 dissect_h245_ParameterIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13536 {
13537         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ParameterIdentifier, ett_h245_ParameterIdentifier, ParameterIdentifier_choice, "ParameterIdentifier", NULL);
13538
13539         return offset;
13540 }
13541
13542
13543 static const value_string H223LogicalChannelParameters_adaptationLayerType_vals[] = {
13544         {  0, "nonStandard" },
13545         {  1, "al1Framed" },
13546         {  2, "al1NotFramed" },
13547         {  3, "al2WithoutSequenceNumbers" },
13548         {  4, "al2WithSequenceNumbers" },
13549         {  5, "al3" },
13550         {  6, "al1M" },
13551         {  7, "al2M" },
13552         {  8, "al3M" },
13553         {  0, NULL }
13554 };
13555 static per_choice_t H223LogicalChannelParameters_adaptationLayerType_choice[] = {
13556         {  0, "nonStandard", EXTENSION_ROOT,
13557                         dissect_h245_NonStandardParameter },
13558         {  1, "al1Framed", EXTENSION_ROOT, 
13559                         dissect_h245_NULL },
13560         {  2, "al1NotFramed", EXTENSION_ROOT, 
13561                         dissect_h245_NULL },
13562         {  3, "al2WithoutSequenceNumbers", EXTENSION_ROOT, 
13563                         dissect_h245_NULL },
13564         {  4, "al2WithSequenceNumbers", EXTENSION_ROOT, 
13565                         dissect_h245_NULL },
13566         {  5, "al3", EXTENSION_ROOT,
13567                         dissect_h245_H223LogicalChannelParameters_adaptionLayerType_al3 },
13568         {  6, "al1M", NOT_EXTENSION_ROOT,
13569                 dissect_h245_H223AL1MParameters },
13570         {  7, "al2M", NOT_EXTENSION_ROOT, 
13571                 dissect_h245_H223AL2MParameters },
13572         {  8, "al3M", NOT_EXTENSION_ROOT,
13573                 dissect_h245_H223AL3MParameters },
13574         {  0, NULL, 0, NULL }
13575 };
13576 static int
13577 dissect_h245_H223LogicalChannelParameters_adaptationLayerType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13578 {
13579         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223LogicalChannelParameters_adaptationLayerType, ett_h245_H223LogicalChannelParameters_adaptationLayerType, H223LogicalChannelParameters_adaptationLayerType_choice, "adaptationLayerType", NULL);
13580
13581         return offset;
13582 }
13583
13584
13585
13586
13587
13588 static const value_string MulticastAddress_vals[] = {
13589         {  0, "iPAddress" },
13590         {  1, "iP6Address" },
13591         {  2, "nsap" },
13592         {  3, "nonStandardAddress" },
13593         {  0, NULL }
13594 };
13595 static per_choice_t MulticastAddress_choice[] = {
13596         {  0, "iPAddress", EXTENSION_ROOT,
13597                 dissect_h245_MulticastAddress_iPAddress },
13598         {  1, "iP6Address", EXTENSION_ROOT,
13599                 dissect_h245_MulticastAddress_iP6Address },
13600         {  2, "nsap", NOT_EXTENSION_ROOT,
13601                 dissect_h245_nsap },
13602         {  3, "nonStandardAddress", NOT_EXTENSION_ROOT,
13603                 dissect_h245_NonStandardParameter },
13604         {  0, NULL, 0, NULL }
13605 };
13606 static int
13607 dissect_h245_MulticastAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13608 {
13609         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MulticastAddress, ett_h245_MulticastAddress, MulticastAddress_choice, "MulticastAddress", NULL);
13610
13611         return offset;
13612 }
13613
13614
13615
13616
13617 static const value_string H223ModeParameters_adaptationLayerType_vals[] = {
13618         {  0, "nonStandard" },
13619         {  1, "al1Framed" },
13620         {  2, "al1NotFramed" },
13621         {  3, "al2WithoutSequenceNumbers" },
13622         {  4, "al2WithSequenceNumbers" },
13623         {  5, "al3" },
13624         {  6, "al1M" },
13625         {  7, "al2M" },
13626         {  8, "al3M" },
13627         {  0, NULL }
13628 };
13629 static per_choice_t H223ModeParameters_adaptationLayerType_choice[] = {
13630         {  0, "nonStandard", EXTENSION_ROOT,
13631                         dissect_h245_NonStandardParameter },
13632         {  1, "al1Framed", EXTENSION_ROOT, 
13633                         dissect_h245_NULL },
13634         {  2, "al1NotFramed", EXTENSION_ROOT, 
13635                         dissect_h245_NULL },
13636         {  3, "al2WithoutSequenceNumbers", EXTENSION_ROOT, 
13637                         dissect_h245_NULL },
13638         {  4, "al2WithSequenceNumbers", EXTENSION_ROOT, 
13639                         dissect_h245_NULL },
13640         {  5, "al3", EXTENSION_ROOT,
13641                         dissect_h245_H223ModeParameters_adaptationLayerType_al3 },
13642         {  6, "al1M", NOT_EXTENSION_ROOT,
13643                         dissect_h245_H223AL1MParameters },
13644         {  7, "al2M", NOT_EXTENSION_ROOT, 
13645                         dissect_h245_H223AL2MParameters },
13646         {  8, "al3M", NOT_EXTENSION_ROOT,
13647                         dissect_h245_H223AL3MParameters },
13648         {  0, NULL, 0, NULL }
13649 };
13650 static int
13651 dissect_h245_H223ModeParameters_adaptationLayerType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13652 {
13653         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223ModeParameters_adaptationLayerType, ett_h245_H223ModeParameters_adaptationLayerType, H223ModeParameters_adaptationLayerType_choice, "Type", NULL);
13654
13655         return offset;
13656 }
13657
13658
13659
13660
13661 static const value_string EncryptionMode_vals[] = {
13662         {  0, "nonStandard" },
13663         {  1, "h233Encryption" },
13664         {  0, NULL }
13665 };
13666 static per_choice_t EncryptionMode_choice[] = {
13667         {  0, "nonStandard", EXTENSION_ROOT,
13668                 dissect_h245_NonStandardParameter },
13669         {  1, "h233Encryption", EXTENSION_ROOT, 
13670                 dissect_h245_NULL },
13671         {  0, NULL, 0, NULL }
13672 };
13673 static int
13674 dissect_h245_EncryptionMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13675 {
13676         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_EncryptionMode, ett_h245_EncryptionMode, EncryptionMode_choice, "EncryptionMode", NULL);
13677
13678         return offset;
13679 }
13680
13681
13682
13683
13684 static per_sequence_t NonStandardMessage_sequence[] = {
13685         { "nonStandardData", EXTENSION_ROOT, NOT_OPTIONAL,
13686                 dissect_h245_NonStandardParameter },
13687         { NULL, 0, 0, NULL }
13688 };
13689 static int
13690 dissect_h245_NonStandardMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13691 {
13692         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NonStandardMessage, ett_h245_NonStandardMessage, NonStandardMessage_sequence);
13693
13694         return offset;
13695 }
13696
13697
13698
13699
13700
13701 static const value_string MultilinkIndication_vals[] = {
13702         {  0, "nonStandard" },
13703         {  1, "crcDesired" },
13704         {  2, "excessiveError" },
13705         {  0, NULL }
13706 };
13707 static per_choice_t MultilinkIndication_choice[] = {
13708         {  0, "nonStandard", EXTENSION_ROOT,
13709                 dissect_h245_NonStandardMessage },
13710         {  1, "crcDesired", EXTENSION_ROOT,
13711                 dissect_h245_MultilinkIndication_crcDesired },
13712         {  2, "excessiveError", EXTENSION_ROOT,
13713                 dissect_h245_MultilinkIndication_excessiveError },
13714         {  0, NULL, 0, NULL }
13715 };
13716 static int
13717 dissect_h245_MultilinkIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13718 {
13719         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultilinkIndication, ett_h245_MultilinkIndication, MultilinkIndication_choice, "MultilinkIndication", NULL);
13720
13721         return offset;
13722 }
13723
13724
13725
13726
13727 static const value_string DialingInformationNetworkType_vals[] = {
13728         {  0, "nonStandard" },
13729         {  1, "n-isdn" },
13730         {  2, "gstn" },
13731         {  3, "mobile" },
13732         {  0, NULL }
13733 };
13734 static per_choice_t DialingInformationNetworkType_choice[] = {
13735         {  0, "nonStandard", EXTENSION_ROOT,
13736                 dissect_h245_NonStandardMessage },
13737         {  1, "n-isdn", EXTENSION_ROOT, 
13738                 dissect_h245_NULL },
13739         {  2, "gstn", EXTENSION_ROOT, 
13740                 dissect_h245_NULL },
13741         {  3, "mobile", NOT_EXTENSION_ROOT, 
13742                 dissect_h245_NULL },
13743         {  0, NULL, 0, NULL }
13744 };
13745 static int
13746 dissect_h245_DialingInformationNetworkType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13747 {
13748         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DialingInformationNetworkType, ett_h245_DialingInformationNetworkType, DialingInformationNetworkType_choice, "DialingInformationNetworkType", NULL);
13749
13750         return offset;
13751 }
13752
13753
13754
13755
13756 static per_sequence_t QOSCapability_sequence[] = {
13757         { "nonStandardData", EXTENSION_ROOT, OPTIONAL,
13758                 dissect_h245_NonStandardParameter },
13759         { "rsvpParameters", EXTENSION_ROOT, OPTIONAL,
13760                 dissect_h245_RSVPParameters },
13761         { "atmParameters", EXTENSION_ROOT, OPTIONAL,
13762                 dissect_h245_ATMParameters },
13763         { NULL, 0, 0, NULL }
13764 };
13765 static int
13766 dissect_h245_QOSCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13767 {
13768         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_QOSCapability, ett_h245_QOSCapability, QOSCapability_sequence);
13769
13770         return offset;
13771 }
13772
13773
13774
13775
13776 static per_sequence_t DataApplicationCapability_application_t84_sequence[] = {
13777         { "t84Protocol", NO_EXTENSIONS, NOT_OPTIONAL,
13778                 dissect_h245_DataProtocolCapability },
13779         { "t84Profile", NO_EXTENSIONS, NOT_OPTIONAL, 
13780                 dissect_h245_T84Profile },
13781         { NULL, 0, 0, NULL }
13782 };
13783 static int
13784 dissect_h245_DataApplicationCapability_application_t84(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13785 {
13786         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataApplicationCapability_application_t84, ett_h245_DataApplicationCapability_application_t84, DataApplicationCapability_application_t84_sequence);
13787
13788         return offset;
13789 }
13790
13791
13792
13793
13794
13795 static per_sequence_t DataApplicationCapability_application_nlpid_sequence[] = {
13796         { "nlpidProtocol", NO_EXTENSIONS, NOT_OPTIONAL,
13797                 dissect_h245_DataProtocolCapability },
13798         { "nlpidData", NO_EXTENSIONS, NOT_OPTIONAL,
13799                 dissect_h245_nlpidData },
13800         { NULL, 0, 0, NULL }
13801 };
13802 static int
13803 dissect_h245_DataApplicationCapability_application_nlpid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13804 {
13805         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataApplicationCapability_application_nlpid, ett_h245_DataApplicationCapability_application_nlpid, DataApplicationCapability_application_nlpid_sequence);
13806
13807         return offset;
13808 }
13809
13810
13811
13812
13813 static per_sequence_t DataApplicationCapability_application_t38fax_sequence[] = {
13814         { "t38FaxProtocol", NO_EXTENSIONS, NOT_OPTIONAL,
13815                 dissect_h245_DataProtocolCapability },
13816         { "t38FaxProfile", NO_EXTENSIONS, NOT_OPTIONAL,
13817                 dissect_h245_T38FaxProfile },
13818         { NULL, 0, 0, NULL }
13819 };
13820 static int
13821 dissect_h245_DataApplicationCapability_application_t38fax(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13822 {
13823         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataApplicationCapability_application_t38fax, ett_h245_DataApplicationCapability_application_t38fax, DataApplicationCapability_application_t38fax_sequence);
13824
13825         return offset;
13826 }
13827
13828
13829
13830
13831 static per_sequence_t AuthenticationCapability_sequence[] = {
13832         { "nonStandard", EXTENSION_ROOT, OPTIONAL,
13833                 dissect_h245_NonStandardParameter },
13834         { "antiSpamAlgorithm", NOT_EXTENSION_ROOT, OPTIONAL,
13835                 dissect_h245_antiSpamAlgorithm },
13836         { NULL, 0, 0, NULL }
13837 };
13838 static int
13839 dissect_h245_AuthenticationCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13840 {
13841         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_AuthenticationCapability, ett_h245_AuthenticationCapability, AuthenticationCapability_sequence);
13842
13843         return offset;
13844 }
13845
13846
13847
13848 static per_sequence_t IntegrityCapability_sequence[] = {
13849         { "nonStandard", EXTENSION_ROOT, OPTIONAL,
13850                 dissect_h245_NonStandardParameter },
13851         { NULL, 0, 0, NULL }
13852 };
13853 static int
13854 dissect_h245_IntegrityCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13855 {
13856         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IntegrityCapability, ett_h245_IntegrityCapability, IntegrityCapability_sequence);
13857
13858         return offset;
13859 }
13860
13861
13862
13863
13864 static per_sequence_t H223LogicalChannelParameters_sequence[] = {
13865         { "adaptationLayerType", EXTENSION_ROOT, NOT_OPTIONAL,
13866                 dissect_h245_H223LogicalChannelParameters_adaptationLayerType },
13867         { "segmentableFlag", EXTENSION_ROOT, NOT_OPTIONAL, 
13868                 dissect_h245_segmentableFlag },
13869         { NULL, 0, 0, NULL }
13870 };
13871 static int
13872 dissect_h245_H223LogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13873 {
13874         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223LogicalChannelParameters, ett_h245_H223LogicalChannelParameters, H223LogicalChannelParameters_sequence);
13875
13876         return offset;
13877 }
13878
13879
13880
13881
13882 static per_sequence_t RequestChannelClose_sequence[] = {
13883         { "forwardLogicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
13884                 dissect_h245_LogicalChannelNumber },
13885         { "qosCapability", NOT_EXTENSION_ROOT, OPTIONAL,
13886                 dissect_h245_QOSCapability },
13887         { "reason", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
13888                 dissect_h245_RequestChannelClose_reason },
13889         { NULL, 0, 0, NULL }
13890 };
13891 static int
13892 dissect_h245_RequestChannelClose(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13893 {
13894         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestChannelClose, ett_h245_RequestChannelClose, RequestChannelClose_sequence);
13895
13896         return offset;
13897 }
13898
13899
13900
13901
13902 static per_sequence_t DataMode_application_nlpid_sequence[] = {
13903         { "nlpidProtocol", NO_EXTENSIONS, NOT_OPTIONAL,
13904                 dissect_h245_DataProtocolCapability },
13905         { "nlpidData", NO_EXTENSIONS, NOT_OPTIONAL,
13906                 dissect_h245_nlpidData },
13907         { NULL, 0, 0, NULL }
13908 };
13909 static int
13910 dissect_h245_DataMode_application_nlpid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13911 {
13912         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataMode_application_nlpid, ett_h245_DataMode_application_nlpid, DataMode_application_nlpid_sequence);
13913
13914         return offset;
13915 }
13916
13917
13918
13919
13920
13921 static per_sequence_t DataMode_application_t38fax_sequence[] = {
13922         { "t38FaxProtocol", NO_EXTENSIONS, NOT_OPTIONAL,
13923                 dissect_h245_DataProtocolCapability },
13924         { "t38FaxProfile", NO_EXTENSIONS, NOT_OPTIONAL,
13925                 dissect_h245_T38FaxProfile },
13926         { NULL, 0, 0, NULL }
13927 };
13928 static int
13929 dissect_h245_DataMode_application_t38fax(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13930 {
13931         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataMode_application_t38fax, ett_h245_DataMode_application_t38fax, DataMode_application_t38fax_sequence);
13932
13933         return offset;
13934 }
13935
13936
13937
13938
13939 static per_sequence_t EncryptionCommand_encryptionAlgorithmID_sequence[] = {
13940         { "h233AlgorithmIdentifier", NO_EXTENSIONS, NOT_OPTIONAL, 
13941                 dissect_h245_SequenceNumber },
13942         { "associatedAlgorithm", NO_EXTENSIONS, NOT_OPTIONAL,
13943                 dissect_h245_NonStandardParameter },
13944         { NULL, 0, 0, NULL }
13945 };
13946 static int
13947 dissect_h245_EncryptionCommand_encryptionAlgorithmID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13948 {
13949         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EncryptionCommand_encryptionAlgorithmID, ett_h245_EncryptionCommand_encryptionAlgorithmID, EncryptionCommand_encryptionAlgorithmID_sequence);
13950
13951         return offset;
13952 }
13953
13954
13955
13956
13957
13958 static const value_string EncryptionCommand_vals[] = {
13959         {  0, "encryptionSE" },
13960         {  1, "encryptionIVRequest" },
13961         {  2, "encryptionAlgorithmID" },
13962         {  0, NULL }
13963 };
13964 static per_choice_t EncryptionCommand_choice[] = {
13965         {  0, "encryptionSE", EXTENSION_ROOT, 
13966                 dissect_h245_encryptionSE },
13967         {  1, "encryptionIVRequest", EXTENSION_ROOT, 
13968                 dissect_h245_NULL },
13969         {  2, "encryptionAlgorithmID", EXTENSION_ROOT,
13970                 dissect_h245_EncryptionCommand_encryptionAlgorithmID },
13971         {  0, NULL, 0, NULL }
13972 };
13973 static int
13974 dissect_h245_EncryptionCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13975 {
13976         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_EncryptionCommand, ett_h245_EncryptionCommand, EncryptionCommand_choice, "EncryptionCommand", NULL);
13977
13978         return offset;
13979 }
13980
13981
13982
13983
13984 static const value_string EndSessionCommand_vals[] = {
13985         {  0,   "nonStandard" },
13986         {  1,   "disconnect" },
13987         {  2,   "gstnOptions" },
13988         {  3,   "isdnOptions" },
13989         {  0, NULL }
13990 };
13991 static per_choice_t EndSessionCommand_choice[] = {
13992         {  0,   "nonStandard",                  EXTENSION_ROOT,
13993                 dissect_h245_NonStandardParameter },
13994         {  1,   "disconnect",                   EXTENSION_ROOT, 
13995                 dissect_h245_NULL },
13996         {  2,   "gstnOptions",                  EXTENSION_ROOT, 
13997                 dissect_h245_EndSessionCommand_gstnOptions },
13998         {  3,   "isdnOptions",                  NOT_EXTENSION_ROOT, 
13999                 dissect_h245_EndSessionCommand_isdnOptions },
14000         {  0, NULL, 0, NULL }
14001 };
14002 static int
14003 dissect_h245_EndSessionCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14004 {
14005         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_EndSessionCommand_type, ett_h245_EndSessionCommand, EndSessionCommand_choice, "EndSessionCommand", NULL);
14006
14007         return offset;
14008 }
14009
14010
14011
14012
14013
14014
14015 static int
14016 dissect_h245_AudioCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
14017 static per_sequence_t VBDCapability_sequence[] = {
14018         { "type", EXTENSION_ROOT, NOT_OPTIONAL,
14019                 dissect_h245_AudioCapability },
14020         { NULL, 0, 0, NULL }
14021 };
14022 static int
14023 dissect_h245_VBDCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14024 {
14025         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VBDCapability, ett_h245_VBDCapability, VBDCapability_sequence);
14026
14027         return offset;
14028 }
14029
14030
14031
14032
14033
14034
14035
14036
14037 static int
14038 dissect_h245_nonStandardData_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14039 {
14040         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_nonStandardData, ett_h245_nonStandardData, dissect_h245_NonStandardParameter);
14041         return offset;
14042 }
14043
14044
14045
14046
14047
14048 static int
14049 dissect_h245_supersedes_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14050 {
14051         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_supersedes, ett_h245_supersedes, dissect_h245_ParameterIdentifier );
14052         return offset;
14053 }
14054
14055
14056
14057
14058 static const value_string ParameterValue_vals[] = {
14059         {  0, "logical" },
14060         {  1, "booleanArray" },
14061         {  2, "unsignedMin" },
14062         {  3, "unsignedMax" },
14063         {  4, "unsigned32Min" },
14064         {  5, "unsigned32Max" },
14065         {  6, "octetString" },
14066         {  7, "genericParameter" },
14067         {  0, NULL }
14068 };
14069 static int dissect_h245_genericParameter_sequence_of(tvbuff_t *, int, packet_info *, proto_tree *);
14070 static per_choice_t ParameterValue_choice[] = {
14071         {  0, "logical", EXTENSION_ROOT, 
14072                         dissect_h245_NULL },
14073         {  1, "booleanArray", EXTENSION_ROOT,
14074                         dissect_h245_booleanArray },
14075         {  2, "unsignedMin", EXTENSION_ROOT,
14076                         dissect_h245_unsignedMin },
14077         {  3, "unsignedMax", EXTENSION_ROOT,
14078                         dissect_h245_unsignedMax },
14079         {  4, "unsigned32Min", EXTENSION_ROOT,
14080                         dissect_h245_unsigned32Min },
14081         {  5, "unsigned32Max", EXTENSION_ROOT, 
14082                         dissect_h245_unsigned32Max },
14083         {  6, "octetString", EXTENSION_ROOT,
14084                         dissect_h245_octetString },
14085         {  7, "genericParameter", EXTENSION_ROOT,
14086                         dissect_h245_genericParameter_sequence_of },
14087         {  0, NULL, 0, NULL }
14088 };
14089 static int
14090 dissect_h245_ParameterValue(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14091 {
14092         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ParameterValue, ett_h245_ParameterValue, ParameterValue_choice, "ParameterValue", NULL);
14093
14094         return offset;
14095 }
14096
14097
14098
14099 static per_sequence_t GenericParameter_sequence[] = {
14100         { "parameterIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
14101                 dissect_h245_ParameterIdentifier },
14102         { "parameterValue", EXTENSION_ROOT, NOT_OPTIONAL,
14103                 dissect_h245_ParameterValue },
14104         { "supersedes", EXTENSION_ROOT, OPTIONAL,
14105                 dissect_h245_supersedes_sequence_of },
14106         { NULL, 0, 0, NULL }
14107 };
14108 static int
14109 dissect_h245_GenericParameter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14110 {
14111         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_GenericParameter, ett_h245_GenericParameter, GenericParameter_sequence);
14112
14113         return offset;
14114 }
14115
14116
14117
14118
14119
14120 static int
14121 dissect_h245_genericParameter_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14122 {
14123         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_genericParameter, ett_h245_genericParameter, dissect_h245_GenericParameter );
14124         return offset;
14125 }
14126
14127
14128
14129 static int
14130 dissect_h245_collapsing_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14131 {
14132         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_collapsing, ett_h245_collapsing, dissect_h245_GenericParameter );
14133         return offset;
14134 }
14135
14136
14137 static int
14138 dissect_h245_nonCollapsing_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14139 {
14140         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_nonCollapsing, ett_h245_nonCollapsing, dissect_h245_GenericParameter );
14141         return offset;
14142 }
14143
14144
14145 static int
14146 dissect_h245_secondary_REE_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14147 {
14148 /* XXX */
14149 static int dissect_h245_RedundancyEncodingElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
14150
14151         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_secondary_REE, ett_h245_secondary_REE, dissect_h245_RedundancyEncodingElement );
14152         return offset;
14153 }
14154
14155
14156
14157
14158 static int
14159 dissect_h245_elements_MPSE_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14160 {
14161 /* XXX */
14162 static int dissect_h245_MultiplePayloadStreamElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
14163
14164         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_elements_MPSE, ett_h245_elements_MPSE, dissect_h245_MultiplePayloadStreamElement );
14165         return offset;
14166 }
14167
14168
14169
14170
14171 static int
14172 dissect_h245_secondary_REDTME_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14173 {
14174 /* XXX */
14175 static int dissect_h245_RedundancyEncodingDTModeElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
14176
14177         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_secondary_REDTME, ett_h245_secondary_REDTME, dissect_h245_RedundancyEncodingDTModeElement );
14178         return offset;
14179 }
14180
14181
14182
14183
14184 static int
14185 dissect_h245_elements_MPSEM_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14186 {
14187 /* XXX*/
14188 static int dissect_h245_MultiplePayloadStreamElementMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
14189
14190         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_elements_MPSEM, ett_h245_elements_MPSEM, dissect_h245_MultiplePayloadStreamElementMode );
14191         return offset;
14192 }
14193
14194
14195
14196
14197 static int
14198 dissect_h245_TerminalInformationSO_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14199 {
14200         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_TerminalInformationSO, ett_h245_TerminalInformationSO, dissect_h245_TerminalInformation );
14201         return offset;
14202 }
14203
14204
14205
14206
14207 static int
14208 dissect_h245_lostPicture_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14209 {
14210         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_lostPicture, ett_h245_lostPicture, dissect_h245_PictureReference );
14211         return offset;
14212 }
14213
14214
14215
14216
14217 static int
14218 dissect_h245_recoveryReferencePicture_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14219 {
14220         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_recoveryReferencePicture, ett_h245_recoveryReferencePicture, dissect_h245_PictureReference );
14221         return offset;
14222 }
14223
14224
14225
14226
14227
14228
14229
14230 static per_sequence_t ConferenceCapability_sequence[] = {
14231         { "nonStandardData", EXTENSION_ROOT, OPTIONAL,
14232                 dissect_h245_nonStandardData_sequence_of },
14233         { "chairControlCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
14234                 dissect_h245_chairControlCapability },
14235         { "videoIndicateMixingCapability", NOT_EXTENSION_ROOT, NOT_OPTIONAL,
14236                 dissect_h245_videoIndicateMixingCapability },
14237         { "multipointVisualizationCapability", NOT_EXTENSION_ROOT, OPTIONAL,
14238                 dissect_h245_multipointVisualizationCapability },
14239         { NULL, 0, 0, NULL }
14240 };
14241 static int
14242 dissect_h245_ConferenceCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14243 {
14244         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceCapability, ett_h245_ConferenceCapability, ConferenceCapability_sequence);
14245
14246         return offset;
14247 }
14248
14249
14250
14251
14252 static per_sequence_t GenericCapability_sequence[] = {
14253         { "capabilityIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
14254                 dissect_h245_CapabilityIdentifier },
14255         { "maxBitRate", EXTENSION_ROOT, OPTIONAL,
14256                 dissect_h245_maxBitRate_4294967295UL },
14257         { "collapsing", EXTENSION_ROOT, OPTIONAL,
14258                 dissect_h245_collapsing_sequence_of },
14259         { "nonCollapsing", EXTENSION_ROOT, OPTIONAL,
14260                 dissect_h245_nonCollapsing_sequence_of },
14261         { "nonCollapsingRaw", EXTENSION_ROOT, OPTIONAL,
14262                 dissect_h245_nonCollapsingRaw },
14263         { "transport", EXTENSION_ROOT, OPTIONAL,
14264                 dissect_h245_DataProtocolCapability },
14265         { NULL, 0, 0, NULL }
14266 };
14267 static int
14268 dissect_h245_GenericCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14269 {
14270         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_GenericCapability, ett_h245_GenericCapability, GenericCapability_sequence);
14271
14272         return offset;
14273 }
14274
14275
14276
14277
14278
14279 static const value_string DataApplicationCapability_application_vals[] = {
14280         {  0, "nonStandard" },
14281         {  1, "t120" },
14282         {  2, "dsm-cc" },
14283         {  3, "userData" },
14284         {  4, "t84" },
14285         {  5, "t434" },
14286         {  6, "h224" },
14287         {  7, "nlpid" },
14288         {  8, "dsvdControl" },
14289         {  9, "h222DataPartitioning" },
14290         { 10, "t30fax" },
14291         { 11, "t140" },
14292         { 12, "t38fax" },
14293         { 13, "genericDataCapability" },
14294         {  0, NULL }
14295 };
14296 static per_choice_t DataApplicationCapability_application_choice[] = {
14297         {  0, "nonStandard", EXTENSION_ROOT,
14298                 dissect_h245_NonStandardParameter },
14299         {  1, "t120", EXTENSION_ROOT,
14300                 dissect_h245_DataProtocolCapability },
14301         {  2, "dsm-cc", EXTENSION_ROOT,
14302                 dissect_h245_DataProtocolCapability },
14303         {  3, "userData", EXTENSION_ROOT,
14304                 dissect_h245_DataProtocolCapability },
14305         {  4, "t84", EXTENSION_ROOT,
14306                 dissect_h245_DataApplicationCapability_application_t84 },
14307         {  5, "t434", EXTENSION_ROOT,
14308                 dissect_h245_DataProtocolCapability },
14309         {  6, "h224", EXTENSION_ROOT,
14310                 dissect_h245_DataProtocolCapability },
14311         {  7, "nlpid", EXTENSION_ROOT,
14312                 dissect_h245_DataApplicationCapability_application_nlpid },
14313         {  8, "dsvdControl", EXTENSION_ROOT, 
14314                 dissect_h245_NULL },
14315         {  9, "h222DataPartitioning", EXTENSION_ROOT,
14316                 dissect_h245_DataProtocolCapability },
14317         { 10, "t30fax", NOT_EXTENSION_ROOT,
14318                 dissect_h245_DataProtocolCapability },
14319         { 11, "t140", NOT_EXTENSION_ROOT,
14320                 dissect_h245_DataProtocolCapability },
14321         { 12, "t38fax", NOT_EXTENSION_ROOT,
14322                 dissect_h245_DataApplicationCapability_application_t38fax },
14323         { 13, "genericDataCapability", NOT_EXTENSION_ROOT,
14324                 dissect_h245_GenericCapability },
14325         {  0, NULL, 0, NULL }
14326 };
14327 static int
14328 dissect_h245_DataApplicationCapability_application(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14329 {
14330         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DataApplicationCapability_application, ett_h245_DataApplicationCapability_application, DataApplicationCapability_application_choice, "application", NULL);
14331
14332         return offset;
14333 }
14334
14335
14336
14337
14338 static const value_string DataMode_application_vals[] = {
14339         {  0, "nonStandard" },
14340         {  1, "t120" },
14341         {  2, "dsm-cc" },
14342         {  3, "userData" },
14343         {  4, "t84" },
14344         {  5, "t434" },
14345         {  6, "h224" },
14346         {  7, "nlpid" },
14347         {  8, "dsvdControl" },
14348         {  9, "h222DataPartitioning" },
14349         { 10, "t30fax" },
14350         { 11, "t140" },
14351         { 12, "t38fax" },
14352         { 13, "genericDataMode" },
14353         {  0, NULL }
14354 };
14355 static per_choice_t DataMode_application_choice[] = {
14356         {  0, "nonStandard", EXTENSION_ROOT,
14357                 dissect_h245_NonStandardParameter },
14358         {  1, "t120", EXTENSION_ROOT,
14359                 dissect_h245_DataProtocolCapability },
14360         {  2, "dsm-cc", EXTENSION_ROOT,
14361                 dissect_h245_DataProtocolCapability },
14362         {  3, "userData", EXTENSION_ROOT,
14363                 dissect_h245_DataProtocolCapability },
14364         {  4, "t84", EXTENSION_ROOT,
14365                 dissect_h245_DataProtocolCapability },
14366         {  5, "t434", EXTENSION_ROOT,
14367                 dissect_h245_DataProtocolCapability },
14368         {  6, "h224", EXTENSION_ROOT,
14369                 dissect_h245_DataProtocolCapability },
14370         {  7, "nlpid", EXTENSION_ROOT,
14371                 dissect_h245_DataMode_application_nlpid },
14372         {  8, "dsvdControl", EXTENSION_ROOT, 
14373                 dissect_h245_NULL },
14374         {  9, "h222DataPartitioning", EXTENSION_ROOT,
14375                 dissect_h245_DataProtocolCapability },
14376         { 10, "t30fax", NOT_EXTENSION_ROOT, 
14377                 dissect_h245_DataProtocolCapability },
14378         { 11, "t140", NOT_EXTENSION_ROOT,
14379                 dissect_h245_DataProtocolCapability },
14380         { 12, "t38fax", NOT_EXTENSION_ROOT,
14381                 dissect_h245_DataMode_application_t38fax },
14382         { 13, "genericDataMode", NOT_EXTENSION_ROOT,
14383                 dissect_h245_GenericCapability },
14384         {  0, NULL, 0, NULL }
14385 };
14386 static int
14387 dissect_h245_DataMode_application(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14388 {
14389         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DataMode_application, ett_h245_DataMode_application, DataMode_application_choice, "application", NULL);
14390
14391         return offset;
14392 }
14393
14394
14395
14396
14397
14398 static per_sequence_t MultiplePayloadStream_sequence[] = {
14399         { "elements", EXTENSION_ROOT, NOT_OPTIONAL,
14400                 dissect_h245_elements_MPSE_sequence_of },
14401         { NULL, 0, 0, NULL }
14402 };
14403 static int
14404 dissect_h245_MultiplePayloadStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14405 {
14406         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplePayloadStream, ett_h245_MultiplePayloadStream, MultiplePayloadStream_sequence);
14407
14408         return offset;
14409 }
14410
14411
14412
14413
14414
14415 static per_sequence_t MultiplePayloadStreamMode_sequence[] = {
14416         { "elements", EXTENSION_ROOT, NOT_OPTIONAL,
14417                 dissect_h245_elements_MPSEM_sequence_of },
14418         { NULL, 0, 0, NULL }
14419 };
14420 static int
14421 dissect_h245_MultiplePayloadStreamMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14422 {
14423         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplePayloadStreamMode, ett_h245_MultiplePayloadStreamMode, MultiplePayloadStreamMode_sequence);
14424
14425         return offset;
14426 }
14427
14428
14429
14430
14431
14432 static per_sequence_t DataMode_sequence[] = {
14433         { "application", EXTENSION_ROOT, NOT_OPTIONAL,
14434                 dissect_h245_DataMode_application },
14435         { "bitRate", EXTENSION_ROOT, NOT_OPTIONAL,
14436                 dissect_h245_dataModeBitRate },
14437         { NULL, 0, 0, NULL }
14438 };
14439 static int
14440 dissect_h245_DataMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14441 {
14442         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataMode, ett_h245_DataMode, DataMode_sequence);
14443
14444         return offset;
14445 }
14446
14447
14448
14449
14450
14451 static per_sequence_t RequestAllTerminalIDsResponse_sequence[] = {
14452         { "terminalInformation", EXTENSION_ROOT, NOT_OPTIONAL,
14453                 dissect_h245_TerminalInformationSO_sequence_of },
14454         { NULL, 0, 0, NULL }
14455 };
14456 static int
14457 dissect_h245_RequestAllTerminalIDsResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14458 {
14459         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestAllTerminalIDsResponse, ett_h245_RequestAllTerminalIDsResponse, RequestAllTerminalIDsResponse_sequence);
14460
14461         return offset;
14462 }
14463
14464
14465
14466
14467
14468 static per_sequence_t DataApplicationCapability_sequence[] = {
14469         { "application", EXTENSION_ROOT, NOT_OPTIONAL,
14470                 dissect_h245_DataApplicationCapability_application },
14471         { "maxBitRate", EXTENSION_ROOT, NOT_OPTIONAL,
14472                 dissect_h245_maxBitRate_4294967295UL },
14473         { NULL, 0, 0, NULL }
14474 };
14475 static int
14476 dissect_h245_DataApplicationCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14477 {
14478         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataApplicationCapability, ett_h245_DataApplicationCapability, DataApplicationCapability_sequence);
14479
14480         return offset;
14481 }
14482
14483
14484 static int
14485 dissect_h245_iPSourceRouteAddress_route(tvbuff_t *tvb _U_, int offset, packet_info *pinfo _U_, proto_tree *tree _U_)
14486 {
14487 NOT_DECODED_YET("iPSourceRouteAddress");
14488 /* XXX
14489         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_iPSourceRouteAddress_route, ett_h245_iPSourceRouteAddress_route, dissect_h245_ );
14490 */
14491         return offset;
14492 }
14493
14494
14495
14496 static per_sequence_t UnicastAddress_iPSourceRouteAddress_sequence[] = {
14497         { "routing", EXTENSION_ROOT, NOT_OPTIONAL, 
14498                 dissect_h245_UnicastAddress_iPSourceRouteAddress_routing },
14499         { "network", EXTENSION_ROOT, NOT_OPTIONAL,
14500                 dissect_h245_ipv4network },
14501         { "tsapIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
14502                 dissect_h245_tsapIdentifier },
14503         { "route", EXTENSION_ROOT, NOT_OPTIONAL,
14504                 dissect_h245_iPSourceRouteAddress_route },
14505         { NULL, 0, 0, NULL }
14506 };
14507 static int
14508 dissect_h245_UnicastAddress_iPSourceRouteAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14509 {
14510         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UnicastAddress_iPSourceRouteAddress, ett_h245_UnicastAddress_iPSourceRouteAddress, UnicastAddress_iPSourceRouteAddress_sequence);
14511
14512         return offset;
14513 }
14514
14515
14516
14517 static const value_string UnicastAddress_vals[] = {
14518         {  0, "iPAddress" },
14519         {  1, "iPXAddress" },
14520         {  2, "iP6Address" },
14521         {  3, "netBios" },
14522         {  4, "iPSourceRouteAddress" },
14523         {  5, "nsap" },
14524         {  6, "nonStandardAddress" },
14525         {  0, NULL }
14526 };
14527 static per_choice_t UnicastAddress_choice[] = {
14528         {  0, "iPAddress", EXTENSION_ROOT,
14529                 dissect_h245_UnicastAddress_iPAddress },
14530         {  1, "iPXAddress", EXTENSION_ROOT,
14531                 dissect_h245_UnicastAddress_iPXAddress },
14532         {  2, "iP6Address", EXTENSION_ROOT,
14533                 dissect_h245_UnicastAddress_iP6Address },
14534         {  3, "netBios", EXTENSION_ROOT, 
14535                 dissect_h245_netBios },
14536         {  4, "iPSourceRouteAddress", EXTENSION_ROOT,
14537                 dissect_h245_UnicastAddress_iPSourceRouteAddress },
14538         {  5, "nsap", NOT_EXTENSION_ROOT,
14539                 dissect_h245_nsap },
14540         {  6, "nonStandardAddress", NOT_EXTENSION_ROOT,
14541                 dissect_h245_NonStandardParameter },
14542         {  0, NULL, 0, NULL }
14543 };
14544 static int
14545 dissect_h245_UnicastAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14546 {
14547         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_UnicastAddress, ett_h245_UnicastAddress, UnicastAddress_choice, "UnicastAddress", NULL);
14548
14549         return offset;
14550 }
14551
14552
14553
14554
14555 static const value_string TransportAddress_vals[] = {
14556         {  0, "unicastAddress" },
14557         {  1, "multicastAddress" },
14558         {  0, NULL }
14559 };
14560 static per_choice_t TransportAddress_choice[] = {
14561         {  0, "unicastAddress", EXTENSION_ROOT,
14562                 dissect_h245_UnicastAddress },
14563         {  1, "multicastAddress", EXTENSION_ROOT,
14564                 dissect_h245_MulticastAddress },
14565         {  0, NULL, 0, NULL }
14566 };
14567 static int
14568 dissect_h245_localAreaAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14569 {
14570         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_localAreaAddress, ett_h245_TransportAddress, TransportAddress_choice, "localAreaAddress", NULL);
14571
14572         return offset;
14573 }
14574 static int
14575 dissect_h245_mediaChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14576 {
14577         ipv4_address=0;
14578         ipv4_port=0;
14579
14580         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_mediaChannel, ett_h245_TransportAddress, TransportAddress_choice, "mediaChannel", NULL);
14581
14582         if((!pinfo->fd->flags.visited) && ipv4_address!=0 && ipv4_port!=0 && rtp_handle){
14583                 address src_addr;
14584                 conversation_t *conv=NULL;
14585
14586                 src_addr.type=AT_IPv4;
14587                 src_addr.len=4;
14588                 src_addr.data=(char *)&ipv4_address;
14589
14590                 conv=find_conversation(&src_addr, &src_addr, PT_UDP, ipv4_port, ipv4_port, NO_ADDR_B|NO_PORT_B);
14591                 if(!conv){
14592                         conv=conversation_new(&src_addr, &src_addr, PT_UDP, ipv4_port, ipv4_port, NO_ADDR_B|NO_PORT_B);
14593                         conversation_set_dissector(conv, rtp_handle);
14594                 }
14595         }
14596         return offset;
14597 }
14598 static int
14599 dissect_h245_mediaControlChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14600 {
14601         ipv4_address=0;
14602         ipv4_port=0;
14603
14604         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_mediaControlChannel, ett_h245_TransportAddress, TransportAddress_choice, "mediaControlChannel", NULL);
14605
14606         if((!pinfo->fd->flags.visited) && ipv4_address!=0 && ipv4_port!=0 && rtcp_handle){
14607                 address src_addr;
14608                 conversation_t *conv=NULL;
14609
14610                 src_addr.type=AT_IPv4;
14611                 src_addr.len=4;
14612                 src_addr.data=(char *)&ipv4_address;
14613
14614                 conv=find_conversation(&src_addr, &src_addr, PT_UDP, ipv4_port, ipv4_port, NO_ADDR_B|NO_PORT_B);
14615                 if(!conv){
14616                         conv=conversation_new(&src_addr, &src_addr, PT_UDP, ipv4_port, ipv4_port, NO_ADDR_B|NO_PORT_B);
14617                         conversation_set_dissector(conv, rtcp_handle);
14618                 }
14619         }
14620         return offset;
14621 }
14622 static int
14623 dissect_h245_signalAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14624 {
14625         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_signalAddress, ett_h245_TransportAddress, TransportAddress_choice, "signalAddress", NULL);
14626
14627         return offset;
14628 }
14629
14630
14631
14632 static per_sequence_t MCLocationIndication_sequence[] = {
14633         { "signalAddress", EXTENSION_ROOT, NOT_OPTIONAL,
14634                 dissect_h245_signalAddress },
14635         { NULL, 0, 0, NULL }
14636 };
14637 static int
14638 dissect_h245_MCLocationIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14639 {
14640         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MCLocationIndication, ett_h245_MCLocationIndication, MCLocationIndication_sequence);
14641
14642         return offset;
14643 }
14644
14645
14646
14647 static per_sequence_t H2250LogicalChannelAckParameters_sequence[] = {
14648         { "nonStandard", EXTENSION_ROOT, OPTIONAL,
14649                 dissect_h245_nonStandardData_sequence_of },
14650         { "sessionID", EXTENSION_ROOT, OPTIONAL,
14651                 dissect_h245_sessionID_1_255 },
14652         { "mediaChannel", EXTENSION_ROOT, OPTIONAL,
14653                 dissect_h245_mediaChannel },
14654         { "mediaControlChannel", EXTENSION_ROOT, OPTIONAL,
14655                 dissect_h245_mediaControlChannel },
14656         { "dynamicRTPPayloadType", EXTENSION_ROOT, OPTIONAL,
14657                 dissect_h245_dynamicRTPPayloadType },
14658         { "flowControlToZero", NOT_EXTENSION_ROOT, NOT_OPTIONAL,
14659                 dissect_h245_flowControlToZero },
14660         { "portNumber", NOT_EXTENSION_ROOT, OPTIONAL,
14661                 dissect_h245_portNumber },
14662         { NULL, 0, 0, NULL }
14663 };
14664 static int
14665 dissect_h245_H2250LogicalChannelAckParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14666 {
14667         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250LogicalChannelAckParameters, ett_h245_H2250LogicalChannelAckParameters, H2250LogicalChannelAckParameters_sequence);
14668
14669         return offset;
14670 }
14671
14672
14673
14674
14675 static const value_string forwardMultiplexAckParameters_vals[] = {
14676         {  0, "h2250LogicalChannelAckParameters" },
14677         {  0, NULL }
14678 };
14679 static per_choice_t forwardMultiplexAckParameters_choice[] = {
14680         {  0, "h2250LogicalChannelAckParameters", EXTENSION_ROOT,
14681                 dissect_h245_H2250LogicalChannelAckParameters },
14682         {  0, NULL, 0, NULL }
14683 };
14684 static int
14685 dissect_h245_forwardMultiplexAckParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14686 {
14687         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_forwardMultiplexAckParameters, ett_h245_forwardMultiplexAckParameters, forwardMultiplexAckParameters_choice, "forwardMultiplexAckParameters", NULL);
14688
14689         return offset;
14690 }
14691
14692
14693
14694
14695
14696 static int
14697 dissect_h245_AlternativeCapabilitySet(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14698 {
14699         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_AlternativeCapabilitySet, ett_h245_AlternativeCapabilitySet, dissect_h245_CapabilityTableEntryNumber, 1, 256 );
14700         return offset;
14701 }
14702
14703
14704
14705
14706 static int dissect_h245_rtpPayloadType_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
14707
14708 static per_sequence_t MediaPacketizationCapability_sequence[] = {
14709         { "h261aVideoPacketization", EXTENSION_ROOT, NOT_OPTIONAL, 
14710                 dissect_h245_h261aVideoPacketization },
14711         { "rtpPayloadType", NOT_EXTENSION_ROOT, OPTIONAL,
14712                 dissect_h245_rtpPayloadType_sequence_of },
14713         { NULL, 0, 0, NULL }
14714 };
14715 static int
14716 dissect_h245_MediaPacketizationCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14717 {
14718         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MediaPacketizationCapability, ett_h245_MediaPacketizationCapability, MediaPacketizationCapability_sequence);
14719
14720         return offset;
14721 }
14722
14723
14724
14725
14726 static int
14727 dissect_h245_qOSCapabilities(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14728 {
14729         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_qOSCapabilities, ett_h245_qOSCapabilities, dissect_h245_QOSCapability, 1, 256 );
14730         return offset;
14731 }
14732
14733
14734
14735 static int
14736 dissect_h245_mediaChannelCapabilities(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14737 {
14738         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_mediaChannelCapabilities, ett_h245_mediaChannelCapabilities, dissect_h245_MediaChannelCapability, 1, 256 );
14739         return offset;
14740 }
14741
14742
14743 static per_sequence_t TransportCapability_sequence[] = {
14744         { "nonStandard", EXTENSION_ROOT, OPTIONAL,
14745                 dissect_h245_NonStandardParameter },
14746         { "qOSCapabilities", EXTENSION_ROOT, OPTIONAL,
14747                 dissect_h245_qOSCapabilities },
14748         { "mediaChannelCapabilities", EXTENSION_ROOT, OPTIONAL, 
14749                 dissect_h245_mediaChannelCapabilities },
14750         { NULL, 0, 0, NULL }
14751 };
14752 static int
14753 dissect_h245_TransportCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14754 {
14755         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TransportCapability, ett_h245_TransportCapability, TransportCapability_sequence);
14756
14757         return offset;
14758 }
14759
14760
14761
14762
14763
14764 static const value_string MiscellaneousIndication_type_vals[] = {
14765         {  0, "logicalChannelActive" },
14766         {  1, "logicalChannelInactive" },
14767         {  2, "multiportConference" },
14768         {  3, "cancelMultiportConference" },
14769         {  4, "multipointZeroComm" },
14770         {  5, "cancelMultipointZeroComm" },
14771         {  6, "multipointSecondryStatus" },
14772         {  7, "cancelMultipointSecondryStatus" },
14773         {  8, "videoIndicateReadyToActivate" },
14774         {  9, "videoTemporalSpatialTradeOff" },
14775         { 10, "videoNotDecodedMBs" },
14776         { 11, "transportCapability" },
14777         {  0, NULL }
14778 };
14779 static per_choice_t MiscellaneousIndication_type_choice[] = {
14780         {  0, "logicalChannelActive", EXTENSION_ROOT, 
14781                         dissect_h245_NULL },
14782         {  1, "logicalChannelInactive", EXTENSION_ROOT, 
14783                         dissect_h245_NULL },
14784         {  2, "multiportConference", EXTENSION_ROOT, 
14785                         dissect_h245_NULL },
14786         {  3, "cancelMultiportConference", EXTENSION_ROOT, 
14787                         dissect_h245_NULL },
14788         {  4, "multipointZeroComm", EXTENSION_ROOT, 
14789                         dissect_h245_NULL },
14790         {  5, "cancelMultipointZeroComm", EXTENSION_ROOT, 
14791                         dissect_h245_NULL },
14792         {  6, "multipointSecondryStatus", EXTENSION_ROOT, 
14793                         dissect_h245_NULL },
14794         {  7, "cancelMultipointSecondryStatus", EXTENSION_ROOT, 
14795                         dissect_h245_NULL },
14796         {  8, "videoIndicateReadyToActivate", EXTENSION_ROOT, 
14797                         dissect_h245_NULL },
14798         {  9, "videoTemporalSpatialTradeOff", EXTENSION_ROOT,
14799                         dissect_h245_videoTemporalSpatialTradeOff },
14800         { 10, "videoNotDecodedMBs", NOT_EXTENSION_ROOT,
14801                         dissect_h245_MiscellaneousIndication_type_videoNotDecodedMBs },
14802         { 11, "transportCapability", NOT_EXTENSION_ROOT,
14803                         dissect_h245_TransportCapability },
14804         {  0, NULL, 0, NULL }
14805 };
14806 static int
14807 dissect_h245_MiscellaneousIndication_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14808 {
14809         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MiscellaneousIndication_type, ett_h245_MiscellaneousIndication_type, MiscellaneousIndication_type_choice, "type", NULL);
14810
14811         return offset;
14812 }
14813
14814
14815
14816
14817
14818 static per_sequence_t MiscellaneousIndication_sequence[] = {
14819         { "logicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
14820                 dissect_h245_LogicalChannelNumber },
14821         { "type", EXTENSION_ROOT, NOT_OPTIONAL,
14822                 dissect_h245_MiscellaneousIndication_type },
14823         { NULL, 0, 0, NULL }
14824 };
14825 static int
14826 dissect_h245_MiscellaneousIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14827 {
14828         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousIndication, ett_h245_MiscellaneousIndication, MiscellaneousIndication_sequence);
14829
14830         return offset;
14831 }
14832
14833
14834
14835
14836
14837 static int
14838 dissect_h245_CapabilityTableEntryNumber_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14839 {
14840         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 );
14841         return offset;
14842 }
14843
14844
14845
14846
14847 static int dissect_h245_RTPH263VideoRedundancyFrameMapping(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
14848
14849 static int
14850 dissect_h245_frameToThreadMapping_custom(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14851 {
14852         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_frameToThreadMapping_custom, ett_h245_frameToThreadMapping_custom, dissect_h245_RTPH263VideoRedundancyFrameMapping, 1, 256 );
14853         return offset;
14854 }
14855
14856
14857
14858
14859 static const value_string RTPH263VideoRedundancyEncoding_frameToThreadMapping_vals[] = {
14860         {  0, "roundrobin" },
14861         {  1, "custom" },
14862         {  0, NULL }
14863 };
14864 static per_choice_t RTPH263VideoRedundancyEncoding_frameToThreadMapping_choice[] = {
14865         {  0, "roundrobin", EXTENSION_ROOT, 
14866                 dissect_h245_NULL },
14867         {  1, "custom", EXTENSION_ROOT,
14868                 dissect_h245_frameToThreadMapping_custom },
14869         {  0, NULL, 0, NULL }
14870 };
14871 static int
14872 dissect_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14873 {
14874         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping, ett_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping, RTPH263VideoRedundancyEncoding_frameToThreadMapping_choice, "frameToThreadMapping", NULL);
14875
14876         return offset;
14877 }
14878
14879
14880
14881
14882 static int
14883 dissect_h245_containedThread(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14884 {
14885         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
14886                 hf_h245_containedThread,  0,  15,
14887                 NULL, NULL, FALSE);
14888
14889         return offset;
14890 }
14891
14892
14893
14894
14895 static int
14896 dissect_h245_containedThreads(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14897 {
14898         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_containedThreads, ett_h245_containedThreads, dissect_h245_containedThread, 1, 256 );
14899         return offset;
14900 }
14901
14902
14903
14904
14905
14906 static per_sequence_t RTPH263VideoRedundancyEncoding_sequence[] = {
14907         { "numberOfThreads", EXTENSION_ROOT, NOT_OPTIONAL,
14908                 dissect_h245_numberOfThreads },
14909         { "framesBetweenSyncPoints", EXTENSION_ROOT, NOT_OPTIONAL,
14910                 dissect_h245_framesBetweenSyncPoints },
14911         { "frameToThreadMapping", EXTENSION_ROOT, NOT_OPTIONAL,
14912                 dissect_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping },
14913         { "containedThreads", EXTENSION_ROOT, OPTIONAL,
14914                 dissect_h245_containedThreads },
14915         { NULL, 0, 0, NULL }
14916 };
14917 static int
14918 dissect_h245_RTPH263VideoRedundancyEncoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14919 {
14920         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RTPH263VideoRedundancyEncoding, ett_h245_RTPH263VideoRedundancyEncoding, RTPH263VideoRedundancyEncoding_sequence);
14921
14922         return offset;
14923 }
14924
14925
14926
14927
14928 static const value_string RedundancyEncodingMethod_vals[] = {
14929         {  0, "nonStandard" },
14930         {  1, "rtpAudioRedundancyEncoding" },
14931         {  2, "rtpH263VideoRedundancyEncoding" },
14932         {  0, NULL }
14933 };
14934 static per_choice_t RedundancyEncodingMethod_choice[] = {
14935         {  0, "nonStandard", EXTENSION_ROOT,
14936                 dissect_h245_NonStandardParameter },
14937         {  1, "rtpAudioRedundancyEncoding", EXTENSION_ROOT, 
14938                 dissect_h245_NULL },
14939         {  2, "rtpH263VideoRedundancyEncoding", NOT_EXTENSION_ROOT,
14940                 dissect_h245_RTPH263VideoRedundancyEncoding },
14941         {  0, NULL, 0, NULL }
14942 };
14943 static int
14944 dissect_h245_RedundancyEncodingMethod(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14945 {
14946         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingMethod, ett_h245_RedundancyEncodingMethod, RedundancyEncodingMethod_choice, "RedundancyEncodingMethod", NULL);
14947
14948         return offset;
14949 }
14950
14951
14952
14953
14954 static per_sequence_t RedundancyEncodingCapability_sequence[] = {
14955         { "redundancyEncodingMethod", EXTENSION_ROOT, NOT_OPTIONAL,
14956                 dissect_h245_RedundancyEncodingMethod },
14957         { "primaryEncoding", EXTENSION_ROOT, NOT_OPTIONAL, 
14958                 dissect_h245_CapabilityTableEntryNumber },
14959         { "secondaryEncoding", EXTENSION_ROOT, OPTIONAL,
14960                 dissect_h245_CapabilityTableEntryNumber_sequence_of },
14961         { NULL, 0, 0, NULL }
14962 };
14963 static int
14964 dissect_h245_RedundancyEncodingCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14965 {
14966         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingCapability, ett_h245_RedundancyEncodingCapability, RedundancyEncodingCapability_sequence);
14967
14968         return offset;
14969 }
14970
14971
14972
14973 static int
14974 dissect_h245_RedundancyEncodingCapability_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14975 {
14976         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 );
14977         return offset;
14978 }
14979
14980
14981
14982
14983 static int
14984 dissect_h245_frame(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14985 {
14986         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
14987                 hf_h245_frame,  0,  255,
14988                 NULL, NULL, FALSE);
14989
14990         return offset;
14991 }
14992
14993
14994
14995 static int
14996 dissect_h245_frameSequence(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14997 {
14998         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_frameSequence, ett_h245_frameSequence, dissect_h245_frame, 1, 256 );
14999         return offset;
15000 }
15001
15002
15003
15004
15005 static per_sequence_t RTPH263VideoRedundancyFrameMapping_sequence[] = {
15006         { "threadNumber", EXTENSION_ROOT, NOT_OPTIONAL,
15007                 dissect_h245_threadNumber },
15008         { "frameSequence", EXTENSION_ROOT, NOT_OPTIONAL,
15009                 dissect_h245_frameSequence },
15010         { NULL, 0, 0, NULL }
15011 };
15012 static int
15013 dissect_h245_RTPH263VideoRedundancyFrameMapping(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15014 {
15015         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RTPH263VideoRedundancyFrameMapping, ett_h245_RTPH263VideoRedundancyFrameMapping, RTPH263VideoRedundancyFrameMapping_sequence);
15016
15017         return offset;
15018 }
15019
15020
15021
15022
15023
15024 static int
15025 dissect_h245_EncryptionCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15026 {
15027         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_EncryptionCapability, ett_h245_EncryptionCapability, dissect_h245_MediaEncryptionAlgorithm, 1, 256 );
15028         return offset;
15029 }
15030
15031
15032
15033
15034 static per_sequence_t EncryptionAuthenticationAndIntegrity_sequence[] = {
15035         { "encryptionCapability", EXTENSION_ROOT, OPTIONAL,
15036                 dissect_h245_EncryptionCapability },
15037         { "authenticationCapability", EXTENSION_ROOT, OPTIONAL,
15038                 dissect_h245_AuthenticationCapability },
15039         { "integrityCapability", EXTENSION_ROOT, OPTIONAL,
15040                 dissect_h245_IntegrityCapability },
15041         { NULL, 0, 0, NULL }
15042 };
15043 static int
15044 dissect_h245_EncryptionAuthenticationAndIntegrity(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15045 {
15046         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EncryptionAuthenticationAndIntegrity, ett_h245_EncryptionAuthenticationAndIntegrity, EncryptionAuthenticationAndIntegrity_sequence);
15047
15048         return offset;
15049 }
15050
15051
15052
15053 static per_sequence_t H235SecurityCapability_sequence[] = {
15054         { "encryptionAuthenticationAndIntegrity", EXTENSION_ROOT, NOT_OPTIONAL,
15055                 dissect_h245_EncryptionAuthenticationAndIntegrity },
15056         { "mediaCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
15057                 dissect_h245_CapabilityTableEntryNumber},
15058         { NULL, 0, 0, NULL }
15059 };
15060 static int
15061 dissect_h245_H235SecurityCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15062 {
15063         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H235SecurityCapability, ett_h245_H235SecurityCapability, H235SecurityCapability_sequence);
15064
15065         return offset;
15066 }
15067
15068
15069 static int dissect_h245_EscrowData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15070
15071 static int
15072 dissect_h245_escrowentry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15073 {
15074         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_escrowentry, ett_h245_escrowentry, dissect_h245_EscrowData, 1, 256 );
15075         return offset;
15076 }
15077
15078
15079
15080
15081 static per_sequence_t EncryptionSync_sequence[] = {
15082         { "nonStandard", EXTENSION_ROOT, OPTIONAL,
15083                 dissect_h245_NonStandardParameter },
15084         { "synchFlag", EXTENSION_ROOT, NOT_OPTIONAL,
15085                 dissect_h245_synchFlag },
15086         { "h235Key", EXTENSION_ROOT, NOT_OPTIONAL,
15087                 dissect_h245_h235Key },
15088         { "escrowentry", EXTENSION_ROOT, OPTIONAL,
15089                 dissect_h245_escrowentry },
15090         { NULL, 0, 0, NULL }
15091 };
15092 static int
15093 dissect_h245_EncryptionSync(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15094 {
15095         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EncryptionSync, ett_h245_EncryptionSync, EncryptionSync_sequence);
15096
15097         return offset;
15098 }
15099
15100
15101
15102 static const value_string MiscellaneousCommand_type_vals[] = {
15103         {  0, "equalizeDelay" },
15104         {  1, "zeroDelay" },
15105         {  2, "multipointModeCommand" },
15106         {  3, "cancelMultipointModeCommand" },
15107         {  4, "videoFreezePicture" },
15108         {  5, "videoFastUpdatePicture" },
15109         {  6, "videoFastUpdateGOB" },
15110         {  7, "videoTemporalSpatialTradeOff" },
15111         {  8, "videoSendSyncEveryGOB" },
15112         {  9, "videoSendSyncEveryGOBCancel" },
15113         { 10, "videoFastUpdateMB" },
15114         { 11, "maxH223MUXPDUSize" },
15115         { 12, "encryptionUpdate" },
15116         { 13, "encryptionUpdateRequest" },
15117         { 14, "switchReceiveMediaOff" },
15118         { 15, "switchReceiveMediaOn" },
15119         { 16, "progressiveRefinementStart" },
15120         { 17, "progressiveRefinementAbortOne" },
15121         { 18, "progressiveRefinementAbortContinous" },
15122         { 19, "videoBadMBs" },
15123         { 20, "lostPicture" },
15124         { 21, "lostPartialPicture" },
15125         { 22, "recoveryReferencePicture" },
15126         {  0, NULL }
15127 };
15128 static per_choice_t MiscellaneousCommand_type_choice[] = {
15129         {  0, "equalizeDelay", EXTENSION_ROOT, 
15130                 dissect_h245_NULL },
15131         {  1, "zeroDelay", EXTENSION_ROOT, 
15132                 dissect_h245_NULL },
15133         {  2, "multipointModeCommand", EXTENSION_ROOT, 
15134                 dissect_h245_NULL },
15135         {  3, "cancelMultipointModeCommand", EXTENSION_ROOT, 
15136                 dissect_h245_NULL },
15137         {  4, "videoFreezePicture", EXTENSION_ROOT, 
15138                 dissect_h245_NULL },
15139         {  5, "videoFastUpdatePicture", EXTENSION_ROOT, 
15140                 dissect_h245_NULL },
15141         {  6, "videoFastUpdateGOB", EXTENSION_ROOT,
15142                 dissect_h245_MiscellaneousCommand_type_videoFastUpdateGOB },
15143         {  7, "videoTemporalSpatialTradeOff", EXTENSION_ROOT,
15144                 dissect_h245_videoTemporalSpatialTradeOff },
15145         {  8, "videoSendSyncEveryGOB", EXTENSION_ROOT, 
15146                 dissect_h245_NULL },
15147         {  9, "videoSendSyncEveryGOBCancel", EXTENSION_ROOT, 
15148                 dissect_h245_NULL },
15149         { 10, "videoFastUpdateMB", NOT_EXTENSION_ROOT,
15150                 dissect_h245_MiscellaneousCommand_type_videoFastUpdateMB },
15151         { 11, "maxH223MUXPDUSize", NOT_EXTENSION_ROOT,
15152                 dissect_h245_maxH223MUXPDUsize },
15153         { 12, "encryptionUpdate", NOT_EXTENSION_ROOT,
15154                 dissect_h245_EncryptionSync },
15155         { 13, "encryptionUpdateRequest", NOT_EXTENSION_ROOT, 
15156                 dissect_h245_EncryptionUpdateRequest },
15157         { 14, "switchReceiveMediaOff", NOT_EXTENSION_ROOT, 
15158                 dissect_h245_NULL },
15159         { 15, "switchReceiveMediaOn", NOT_EXTENSION_ROOT, 
15160                 dissect_h245_NULL },
15161         { 16, "progressiveRefinementStart", NOT_EXTENSION_ROOT, 
15162                 dissect_h245_MiscellaneousCommand_type_progressiveRefinementStart },
15163         { 17, "progressiveRefinementAbortOne", NOT_EXTENSION_ROOT, 
15164                 dissect_h245_NULL },
15165         { 18, "progressiveRefinementAbortContinous", NOT_EXTENSION_ROOT, 
15166                 dissect_h245_NULL },
15167         { 19, "videoBadMBs", NOT_EXTENSION_ROOT,
15168                 dissect_h245_MiscellaneousCommand_type_videoBadMBs },
15169         { 20, "lostPicture", NOT_EXTENSION_ROOT,
15170                 dissect_h245_lostPicture_sequence_of },
15171         { 21, "lostPartialPicture", NOT_EXTENSION_ROOT, 
15172                 dissect_h245_MiscellaneousCommand_type_lostPartialPicture},
15173         { 22, "recoveryReferencePicture", NOT_EXTENSION_ROOT,
15174                 dissect_h245_recoveryReferencePicture_sequence_of },
15175         {  0, NULL, 0, NULL }
15176 };
15177 static int
15178 dissect_h245_MiscellaneousCommand_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15179 {
15180         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type, ett_h245_MiscellaneousCommand_type, MiscellaneousCommand_type_choice, "type", NULL);
15181
15182         return offset;
15183 }
15184
15185
15186
15187
15188 static per_sequence_t MiscellaneousCommand_sequence[] = {
15189         { "logicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
15190                 dissect_h245_LogicalChannelNumber },
15191         { "type", EXTENSION_ROOT, NOT_OPTIONAL,
15192                 dissect_h245_MiscellaneousCommand_type },
15193         { NULL, 0, 0, NULL }
15194 };
15195 static int
15196 dissect_h245_MiscellaneousCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15197 {
15198         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand, ett_h245_MiscellaneousCommand, MiscellaneousCommand_sequence);
15199
15200         return offset;
15201 }
15202
15203
15204
15205 static int dissect_h245_MultiplexElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15206
15207 static int
15208 dissect_h245_elementList(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15209 {
15210         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_elementList, ett_h245_elementList, dissect_h245_MultiplexElement, 1, 256 );
15211         return offset;
15212 }
15213
15214
15215
15216 static per_sequence_t MultiplexEntryDescriptor_sequence[] = {
15217         { "multiplexTableEntryNumber", NO_EXTENSIONS, NOT_OPTIONAL,
15218                 dissect_h245_MultiplexTableEntryNumber },
15219         { "elementList", NO_EXTENSIONS, OPTIONAL,
15220                 dissect_h245_elementList },
15221         { NULL, 0, 0, NULL }
15222 };
15223 static int
15224 dissect_h245_MultiplexEntryDescriptor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15225 {
15226         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntryDescriptor, ett_h245_MultiplexEntryDescriptor, MultiplexEntryDescriptor_sequence);
15227
15228         return offset;
15229 }
15230
15231
15232
15233 static int
15234 dissect_h245_subElementList(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15235 {
15236         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_subElementList, ett_h245_subElementList, dissect_h245_MultiplexElement, 2, 255 );
15237         return offset;
15238 }
15239
15240
15241
15242 static const value_string MultiplexElement_type_vals[] = {
15243         {  0, "logicalChannelNumber" },
15244         {  1, "subElementList" },
15245         {  0, NULL }
15246 };
15247 static per_choice_t MultiplexElement_type_choice[] = {
15248         {  0, "logicalChannelNumber", NO_EXTENSIONS, 
15249                 dissect_h245_logicalChannelNumber },
15250         {  1, "subElementList", NO_EXTENSIONS,
15251                 dissect_h245_subElementList },
15252         {  0, NULL, 0, NULL }
15253 };
15254 static int
15255 dissect_h245_MultiplexElement_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15256 {
15257         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultiplexElement_type, ett_h245_MultiplexElement_type, MultiplexElement_type_choice, "type", NULL);
15258
15259         return offset;
15260 }
15261
15262
15263
15264
15265 static per_sequence_t MultiplexElement_sequence[] = {
15266         { "type", NO_EXTENSIONS, NOT_OPTIONAL,
15267                 dissect_h245_MultiplexElement_type },
15268         { "repeatCount", NO_EXTENSIONS, NOT_OPTIONAL,
15269                 dissect_h245_MultiplexElement_repeatCount },
15270         { NULL, 0, 0, NULL }
15271 };
15272 static int
15273 dissect_h245_MultiplexElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15274 {
15275         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexElement, ett_h245_MultiplexElement, MultiplexElement_sequence);
15276
15277         return offset;
15278 }
15279
15280
15281
15282
15283 static int dissect_h245_ModeDescription(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15284
15285 static int
15286 dissect_h245_requestedModes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15287 {
15288         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_requestedModes, ett_h245_requestedModes, dissect_h245_ModeDescription, 1, 256 );
15289         return offset;
15290 }
15291
15292
15293
15294
15295 static per_sequence_t RequestMode_sequence[] = {
15296         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
15297                 dissect_h245_SequenceNumber },
15298         { "requestedModes", EXTENSION_ROOT, NOT_OPTIONAL,
15299                 dissect_h245_requestedModes },
15300         { NULL, 0, 0, NULL }
15301 };
15302 static int
15303 dissect_h245_RequestMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15304 {
15305         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMode, ett_h245_RequestMode, RequestMode_sequence);
15306
15307         return offset;
15308 }
15309
15310
15311
15312 static int
15313 dissect_h245_CertSelectionCriteria(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15314 {
15315         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_CertSelectionCriteria, ett_h245_CertSelectionCriteria, dissect_h245_Criteria, 1, 16 );
15316         return offset;
15317 }
15318
15319
15320
15321 static per_sequence_t ConferenceRequest_requestTerminalCertificate_sequence[] = {
15322         { "terminalLabel", EXTENSION_ROOT, OPTIONAL,
15323                 dissect_h245_TerminalLabel },
15324         { "certSelectionCriteria", EXTENSION_ROOT, OPTIONAL,
15325                 dissect_h245_CertSelectionCriteria },
15326         { "sRandom", EXTENSION_ROOT, OPTIONAL,
15327                 dissect_h245_sRandom },
15328         { NULL, 0, 0, NULL }
15329 };
15330 static int
15331 dissect_h245_ConferenceRequest_requestTerminalCertificate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15332 {
15333         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceRequest_requestTerminalCertificate, ett_h245_ConferenceRequest_requestTerminalCertificate, ConferenceRequest_requestTerminalCertificate_sequence);
15334
15335         return offset;
15336 }
15337
15338
15339
15340
15341 static const value_string ConferenceRequest_vals[] = {
15342         {  0, "terminalListRequest" },
15343         {  1, "makeMeChair" },
15344         {  2, "cancelMakeMeChair" },
15345         {  3, "dropTerminal" },
15346         {  4, "requestTerminalID" },
15347         {  5, "enterH243Password" },
15348         {  6, "enterH243TerminalID" },
15349         {  7, "enterH243ConferenceID" },
15350         {  8, "enterExtensionAddress" },
15351         {  9, "requestChairTokenOwner" },
15352         { 10, "requestTerminalCertificate" },
15353         { 11, "broadcastMyLogicalChannel" },
15354         { 12, "makeTerminalBroadcaster" },
15355         { 13, "sendThisSource" },
15356         { 14, "requestAllTerminalIDs" },
15357         { 15, "remoteMCRequest" },
15358         {  0, NULL }
15359 };
15360 static per_choice_t ConferenceRequest_choice[] = {
15361         {  0, "terminalListRequest", EXTENSION_ROOT, 
15362                 dissect_h245_NULL },
15363         {  1, "makeMeChair", EXTENSION_ROOT, 
15364                 dissect_h245_NULL },
15365         {  2, "cancelMakeMeChair", EXTENSION_ROOT, 
15366                 dissect_h245_NULL },
15367         {  3, "dropTerminal", EXTENSION_ROOT, 
15368                 dissect_h245_TerminalLabel },
15369         {  4, "requestTerminalID", EXTENSION_ROOT, 
15370                 dissect_h245_TerminalLabel },
15371         {  5, "enterH243Password", EXTENSION_ROOT, 
15372                 dissect_h245_NULL },
15373         {  6, "enterH243TerminalID", EXTENSION_ROOT, 
15374                 dissect_h245_NULL },
15375         {  7, "enterH243ConferenceID", EXTENSION_ROOT, 
15376                 dissect_h245_NULL },
15377         {  8, "enterExtensionAddress", NOT_EXTENSION_ROOT, 
15378                 dissect_h245_NULL },
15379         {  9, "requestChairTokenOwner", NOT_EXTENSION_ROOT, 
15380                 dissect_h245_NULL },
15381         { 10, "requestTerminalCertificate", NOT_EXTENSION_ROOT,
15382                 dissect_h245_ConferenceRequest_requestTerminalCertificate },
15383         { 11, "broadcastMyLogicalChannel", NOT_EXTENSION_ROOT, 
15384                 dissect_h245_LogicalChannelNumber },
15385         { 12, "makeTerminalBroadcaster", NOT_EXTENSION_ROOT,
15386                 dissect_h245_TerminalLabel },
15387         { 13, "sendThisSource", NOT_EXTENSION_ROOT,
15388                 dissect_h245_TerminalLabel },
15389         { 14, "requestAllTerminalIDs", NOT_EXTENSION_ROOT, 
15390                 dissect_h245_NULL },
15391         { 15, "remoteMCRequest", NOT_EXTENSION_ROOT, 
15392                 dissect_h245_RemoteMCRequest },
15393         {  0, NULL, 0, NULL }
15394 };
15395 static int
15396 dissect_h245_ConferenceRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15397 {
15398         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceRequest, ett_h245_ConferenceRequest, ConferenceRequest_choice, "ConferenceRequest", NULL);
15399
15400         return offset;
15401 }
15402
15403 static int dissect_h245_CapabilityTableEntry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15404
15405 static int
15406 dissect_h245_capabilityTable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15407 {
15408         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilityTable, ett_h245_capabilityTable, dissect_h245_CapabilityTableEntry, 1, 256);
15409         return offset;
15410 }
15411
15412
15413
15414
15415
15416 static int
15417 dissect_h245_simultaneousCapabilities(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15418 {
15419         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_simultaneousCapabilities, ett_h245_simultaneousCapabilities, dissect_h245_AlternativeCapabilitySet, 1, 256);
15420         return offset;
15421 }
15422
15423
15424
15425
15426 static per_sequence_t CapabilityDescriptor_sequence[] = {
15427         { "capabilityDescriptorNumber", NO_EXTENSIONS, NOT_OPTIONAL, 
15428                 dissect_h245_CapabilityDescriptorNumber },
15429         { "simultaneousCapabilities", NO_EXTENSIONS, OPTIONAL,
15430                 dissect_h245_simultaneousCapabilities },
15431         { NULL, 0, 0, NULL }
15432 };
15433 static int
15434 dissect_h245_CapabilityDescriptor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15435 {
15436         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CapabilityDescriptor, ett_h245_CapabilityDescriptor, CapabilityDescriptor_sequence);
15437
15438         return offset;
15439 }
15440
15441
15442
15443 static int
15444 dissect_h245_capabilityDescriptors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15445 {
15446         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilityDescriptors, ett_h245_capabilityDescriptors, dissect_h245_CapabilityDescriptor, 1, 256);
15447         return offset;
15448 }
15449
15450
15451
15452
15453 static int dissect_h245_Q2931Address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15454
15455 static int
15456 dissect_h245_gatewayAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15457 {
15458         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_gatewayAddress, ett_h245_gatewayAddress, dissect_h245_Q2931Address, 1, 256);
15459         return offset;
15460 }
15461
15462
15463
15464 static per_sequence_t VCCapability_aal1ViaGateway_sequence[] = {
15465         { "gatewayAddress", EXTENSION_ROOT, NOT_OPTIONAL,
15466                 dissect_h245_gatewayAddress },
15467         { "nullClockRecovery", EXTENSION_ROOT, NOT_OPTIONAL, 
15468                 dissect_h245_nullClockRecovery },
15469         { "srtsClockRecovery", EXTENSION_ROOT, NOT_OPTIONAL, 
15470                 dissect_h245_srtsClockRecovery },
15471         { "adaptiveClockRecovery", EXTENSION_ROOT, NOT_OPTIONAL, 
15472                 dissect_h245_adaptiveClockRecovery },
15473         { "nullErrorCorrection", EXTENSION_ROOT, NOT_OPTIONAL, 
15474                 dissect_h245_nullErrorCorrection },
15475         { "longInterleaver", EXTENSION_ROOT, NOT_OPTIONAL, 
15476                 dissect_h245_longInterleaver },
15477         { "shortInterleaver", EXTENSION_ROOT, NOT_OPTIONAL, 
15478                 dissect_h245_shortInterleaver },
15479         { "errorCorrectionOnly", EXTENSION_ROOT, NOT_OPTIONAL, 
15480                 dissect_h245_errorCorrectionOnly },
15481         { "structuredDataTransfer", EXTENSION_ROOT, NOT_OPTIONAL, 
15482                 dissect_h245_structuredDataTransfer },
15483         { "partiallyFilledCells", EXTENSION_ROOT, NOT_OPTIONAL, 
15484                 dissect_h245_partiallyFilledCells },
15485         { NULL, 0, 0, NULL }
15486 };
15487 static int
15488 dissect_h245_VCCapability_aal1ViaGateway(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15489 {
15490         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability_aal1ViaGateway, ett_h245_VCCapability_aal1ViaGateway, VCCapability_aal1ViaGateway_sequence);
15491
15492         return offset;
15493 }
15494
15495
15496
15497 static per_sequence_t VCCapability_availableBitRates_sequence[] = {
15498         { "type", EXTENSION_ROOT, NOT_OPTIONAL,
15499                 dissect_h245_VCCapability_availableBitRates_type },
15500         { NULL, 0, 0, NULL }
15501 };
15502 static int
15503 dissect_h245_VCCapability_availableBitRates(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15504 {
15505         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability_availableBitRates, ett_h245_VCCapability_availableBitRates, VCCapability_availableBitRates_sequence);
15506
15507         return offset;
15508 }
15509
15510
15511
15512
15513
15514 static per_sequence_t VCCapability_sequence[] = {
15515         { "aal1", EXTENSION_ROOT, OPTIONAL, 
15516                 dissect_h245_VCCapability_aal1 },
15517         { "aal5", EXTENSION_ROOT, OPTIONAL,
15518                 dissect_h245_VCCapability_aal5 },
15519         { "transportStream", EXTENSION_ROOT, NOT_OPTIONAL, 
15520                 dissect_h245_transportStream },
15521         { "programStream", EXTENSION_ROOT, NOT_OPTIONAL, 
15522                 dissect_h245_programStream },
15523         { "availableBitRates", EXTENSION_ROOT, NOT_OPTIONAL,
15524                 dissect_h245_VCCapability_availableBitRates },
15525         { "aal1ViaGateway", NOT_EXTENSION_ROOT, OPTIONAL,
15526                 dissect_h245_VCCapability_aal1ViaGateway },
15527         { NULL, 0, 0, NULL }
15528 };
15529 static int
15530 dissect_h245_VCCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15531 {
15532         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability, ett_h245_VCCapability, VCCapability_sequence);
15533
15534         return offset;
15535 }
15536
15537
15538
15539
15540
15541 static int dissect_h245_EnhancementOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15542
15543 static int
15544 dissect_h245_snrEnhancement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15545 {
15546         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_snrEnhancement, ett_h245_snrEnhancement, dissect_h245_EnhancementOptions, 1, 14);
15547         return offset;
15548 }
15549
15550
15551
15552
15553 static int
15554 dissect_h245_spatialEnhancement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15555 {
15556         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_spatialEnhancement, ett_h245_spatialEnhancement, dissect_h245_EnhancementOptions, 1, 14);
15557         return offset;
15558 }
15559
15560
15561
15562
15563 static int dissect_h245_BEnhancementParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15564
15565 static int
15566 dissect_h245_bPictureEnhancement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15567 {
15568         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_bPictureEnhancement, ett_h245_bPictureEnhancement, dissect_h245_BEnhancementParameters, 1, 14);
15569         return offset;
15570 }
15571
15572
15573
15574
15575 static per_sequence_t EnhancementLayerInfo_sequence[] = {
15576         { "baseBitRateConstrained", EXTENSION_ROOT, NOT_OPTIONAL,
15577                 dissect_h245_baseBitRateConstrained },
15578         { "snrEnhancement", EXTENSION_ROOT, OPTIONAL,
15579                 dissect_h245_snrEnhancement },
15580         { "spatialEnhancement", EXTENSION_ROOT, OPTIONAL,
15581                 dissect_h245_spatialEnhancement },
15582         { "bPictureEnhancement", EXTENSION_ROOT, OPTIONAL,
15583                 dissect_h245_bPictureEnhancement },
15584         { NULL, 0, 0, NULL }
15585 };
15586 static int
15587 dissect_h245_EnhancementLayerInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15588 {
15589         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EnhancementLayerInfo, ett_h245_EnhancementLayerInfo, EnhancementLayerInfo_sequence);
15590
15591         return offset;
15592 }
15593
15594
15595
15596
15597 static int
15598 dissect_h245_customPictureClockFrequency(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15599 {
15600         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_customPictureClockFrequency, ett_h245_customPictureClockFrequency, dissect_h245_CustomPictureClockFrequency, 1, 16);
15601         return offset;
15602 }
15603
15604
15605
15606
15607 static int dissect_h245_CustomPictureFormat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15608
15609
15610 static int
15611 dissect_h245_customPictureFormat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15612 {
15613         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_customPictureFormat, ett_h245_customPictureFormat, dissect_h245_CustomPictureFormat, 1, 16);
15614         return offset;
15615 }
15616
15617
15618
15619 static int dissect_h245_H263VideoModeCombos(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15620
15621 static int
15622 dissect_h245_modeCombos(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15623 {
15624         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_modeCombos, ett_h245_modeCombos, dissect_h245_H263VideoModeCombos, 1, 16);
15625         return offset;
15626 }
15627
15628
15629
15630
15631
15632 static per_sequence_t H263Options_sequence[] = {
15633         { "advancedIntraCodingMode", EXTENSION_ROOT, NOT_OPTIONAL, 
15634                 dissect_h245_advancedIntraCodingMode },
15635         { "deblockingFilterMode", EXTENSION_ROOT, NOT_OPTIONAL, 
15636                 dissect_h245_deblockingFilterMode },
15637         { "improvedPBFramesMode", EXTENSION_ROOT, NOT_OPTIONAL, 
15638                 dissect_h245_improvedPBFramesMode },
15639         { "unlimitedMotionVectors", EXTENSION_ROOT, NOT_OPTIONAL, 
15640                 dissect_h245_unlimitedMotionVectors },
15641         { "fullPictureFreeze", EXTENSION_ROOT, NOT_OPTIONAL,
15642                 dissect_h245_fullPictureFreeze },
15643         { "partialPictureFreezeAndRelease", EXTENSION_ROOT, NOT_OPTIONAL, 
15644                 dissect_h245_partialPictureFreezeAndRelease },
15645         { "resizingPartPicFreezeAndRelease", EXTENSION_ROOT, NOT_OPTIONAL,
15646                 dissect_h245_resizingPartPicFreezeAndRelease },
15647         { "fullPictureSnapshot", EXTENSION_ROOT, NOT_OPTIONAL,
15648                 dissect_h245_fullPictureSnapshot },
15649         { "partialPictureSnapshot", EXTENSION_ROOT, NOT_OPTIONAL, 
15650                 dissect_h245_partialPictureSnapshot },
15651         { "videoSegmentTagging", EXTENSION_ROOT, NOT_OPTIONAL,
15652                 dissect_h245_videoSegmentTagging },
15653         { "progressiveRefinement", EXTENSION_ROOT, NOT_OPTIONAL,
15654                 dissect_h245_progressiveRefinement },
15655         { "dynamicPictureResizingByFour", EXTENSION_ROOT, NOT_OPTIONAL, 
15656                 dissect_h245_dynamicPictureResizingByFour },
15657         { "dynamicPictureResizingSixteenthPel", EXTENSION_ROOT, NOT_OPTIONAL,
15658                 dissect_h245_dynamicPictureResizingSixteenthPel },
15659         { "dynamicWarpingHalfPel", EXTENSION_ROOT, NOT_OPTIONAL, 
15660                 dissect_h245_dynamicWarpingHalfPel },
15661         { "dynamicWarpingSixteenthPel", EXTENSION_ROOT, NOT_OPTIONAL, 
15662                 dissect_h245_dynamicWarpingSixteenthPel },
15663         { "independentSegmentDecoding", EXTENSION_ROOT, NOT_OPTIONAL,
15664                 dissect_h245_independentSegmentDecoding },
15665         { "slicesInOrder-NonRect", EXTENSION_ROOT, NOT_OPTIONAL, 
15666                 dissect_h245_slicesInOrderNonRect },
15667         { "slicesInOrder-Rect", EXTENSION_ROOT, NOT_OPTIONAL, 
15668                 dissect_h245_slicesInOrderRect },
15669         { "slicesNoOrder-NonRect", EXTENSION_ROOT, NOT_OPTIONAL,
15670                 dissect_h245_slicesNoOrderNonRect },
15671         { "slicesNoOrder-Rect", EXTENSION_ROOT, NOT_OPTIONAL, 
15672                 dissect_h245_slicesNoOrderRect },
15673         { "alternateInterVLCMode", EXTENSION_ROOT, NOT_OPTIONAL, 
15674                 dissect_h245_alternateInterVLCMode },
15675         { "modifiedQuantizationMode", EXTENSION_ROOT, NOT_OPTIONAL,
15676                 dissect_h245_modifiedQuantizationMode },
15677         { "reducedResolutionUpdate", EXTENSION_ROOT, NOT_OPTIONAL, 
15678                 dissect_h245_reducedResolutionUpdate },
15679         { "transparencyParameters", EXTENSION_ROOT, OPTIONAL,
15680                 dissect_h245_TransperencyParameters },
15681         { "separateVideoBackChannel", EXTENSION_ROOT, NOT_OPTIONAL,
15682                 dissect_h245_separateVideoBackChannel },
15683         { "refPictureSelection", EXTENSION_ROOT, OPTIONAL,
15684                 dissect_h245_RefPictureSelection },
15685         { "customPictureClockFrequence", EXTENSION_ROOT, OPTIONAL,
15686                 dissect_h245_customPictureClockFrequency },
15687         { "customPictureFormat", EXTENSION_ROOT, OPTIONAL,
15688                 dissect_h245_customPictureFormat },
15689         { "modeCombos", EXTENSION_ROOT, OPTIONAL, 
15690                 dissect_h245_modeCombos },
15691         { "videoBadMBsCap", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
15692                 dissect_h245_videoBadMBsCap },
15693         { "h263Version3Options", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
15694                 dissect_h245_H263Version3Options },
15695         { NULL, 0, 0, NULL }
15696 };
15697 static int
15698 dissect_h245_H263Options(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15699 {
15700         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263Options, ett_h245_H263Options, H263Options_sequence);
15701
15702         return offset;
15703 }
15704
15705
15706
15707
15708 static per_sequence_t H263VideoMode_sequence[] = {
15709         { "resolution", EXTENSION_ROOT, NOT_OPTIONAL, 
15710                 dissect_h245_H263VideoMode_resolution },
15711         { "bitRate", EXTENSION_ROOT, NOT_OPTIONAL,
15712                 dissect_h245_h223bitRate },
15713         { "unrestrictedVector", EXTENSION_ROOT, NOT_OPTIONAL, 
15714                 dissect_h245_unrestrictedVector },
15715         { "arithmeticCoding", EXTENSION_ROOT, NOT_OPTIONAL, 
15716                 dissect_h245_arithmeticCoding },
15717         { "advancedPrediction", EXTENSION_ROOT, NOT_OPTIONAL, 
15718                 dissect_h245_advancedPrediction },
15719         { "pbFrames", EXTENSION_ROOT, NOT_OPTIONAL, 
15720                 dissect_h245_pbFrames },
15721         { "errorCompensation", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
15722                 dissect_h245_errorCompensation },
15723         { "enhancementLayerInfo", NOT_EXTENSION_ROOT, OPTIONAL,
15724                 dissect_h245_EnhancementLayerInfo },
15725         { "h263Options", NOT_EXTENSION_ROOT, OPTIONAL,
15726                 dissect_h245_H263Options },
15727         { NULL, 0, 0, NULL }
15728 };
15729 static int
15730 dissect_h245_H263VideoMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15731 {
15732         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263VideoMode, ett_h245_H263VideoMode, H263VideoMode_sequence);
15733
15734         return offset;
15735 }
15736
15737
15738
15739
15740
15741 static per_sequence_t H263VideoCapability_sequence[] = {
15742         { "sqcifMPI", EXTENSION_ROOT, OPTIONAL, 
15743                 dissect_h245_sqcifMPI_1_32 },
15744         { "qcifMPI", EXTENSION_ROOT, OPTIONAL,
15745                 dissect_h245_qcifMPI_1_32 },
15746         { "cifMPI", EXTENSION_ROOT, OPTIONAL,
15747                 dissect_h245_cifMPI_1_32 },
15748         { "cif4MPI", EXTENSION_ROOT, OPTIONAL,
15749                 dissect_h245_cif4MPI_1_32 },
15750         { "cif16MPI", EXTENSION_ROOT, OPTIONAL,
15751                 dissect_h245_cif16MPI_1_32 },
15752         { "maxBitRate", EXTENSION_ROOT, NOT_OPTIONAL,
15753                 dissect_h245_maxBitRate_192400 },
15754         { "unrestrictedVector", EXTENSION_ROOT, NOT_OPTIONAL, 
15755                 dissect_h245_unrestrictedVector },
15756         { "arithmeticCoding", EXTENSION_ROOT, NOT_OPTIONAL, 
15757                 dissect_h245_arithmeticCoding },
15758         { "advancedPrediction", EXTENSION_ROOT, NOT_OPTIONAL, 
15759                 dissect_h245_advancedPrediction },
15760         { "pbFrames", EXTENSION_ROOT, NOT_OPTIONAL, 
15761                 dissect_h245_pbFrames },
15762         { "temporalSpatialTradeOffCapability", EXTENSION_ROOT, NOT_OPTIONAL,
15763                 dissect_h245_temporalSpatialTradeOffCapability },
15764         { "hrd-B", EXTENSION_ROOT, OPTIONAL,
15765                 dissect_h245_hrd_B },
15766         { "bppMaxKb", EXTENSION_ROOT, OPTIONAL,
15767                 dissect_h245_bppMaxKb },
15768         { "slowSqcifMPI", NOT_EXTENSION_ROOT, OPTIONAL, 
15769                 dissect_h245_slowSqcifMPI },
15770         { "slowQcifMPI", NOT_EXTENSION_ROOT, OPTIONAL,
15771                 dissect_h245_slowQcifMPI },
15772         { "slowCifMPI", NOT_EXTENSION_ROOT, OPTIONAL,
15773                 dissect_h245_slowCifMPI },
15774         { "slowCif4MPI", NOT_EXTENSION_ROOT, OPTIONAL,
15775                 dissect_h245_slowCif4MPI },
15776         { "slowCif16MPI", NOT_EXTENSION_ROOT, OPTIONAL,
15777                 dissect_h245_slowCif16MPI },
15778         { "errorCompensation", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
15779                 dissect_h245_errorCompensation },
15780         { "enhancementLayerInfo", NOT_EXTENSION_ROOT, OPTIONAL,
15781                 dissect_h245_EnhancementLayerInfo },
15782         { "h263Options", NOT_EXTENSION_ROOT, OPTIONAL,
15783                 dissect_h245_H263Options },
15784         { NULL, 0, 0, NULL }
15785 };
15786 static int
15787 dissect_h245_H263VideoCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15788 {
15789         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263VideoCapability, ett_h245_H263VideoCapability, H263VideoCapability_sequence);
15790
15791         return offset;
15792 }
15793
15794
15795
15796
15797
15798 static const value_string VideoCapability_vals[] = {
15799         {  0, "nonStandard" },
15800         {  1, "h261VideoCapability" },
15801         {  2, "h262VideoCapability" },
15802         {  3, "h263VideoCapability" },
15803         {  4, "is11172VideoCapability" },
15804         {  5, "genericVideoCapability" },
15805         {  0, NULL }
15806 };
15807 static per_choice_t VideoCapability_choice[] = {
15808         {  0, "nonStandard", EXTENSION_ROOT,
15809                 dissect_h245_NonStandardParameter },
15810         {  1, "h261VideoCapability", EXTENSION_ROOT, 
15811                 dissect_h245_H261VideoCapability },
15812         {  2, "h262VideoCapability", EXTENSION_ROOT,
15813                 dissect_h245_H262VideoCapability },
15814         {  3, "h263VideoCapability", EXTENSION_ROOT,
15815                 dissect_h245_H263VideoCapability },
15816         {  4, "is11172VideoCapability", EXTENSION_ROOT,
15817                 dissect_h245_IS11172VideoCapability},
15818         {  5, "genericVideoCapability", NOT_EXTENSION_ROOT,
15819                 dissect_h245_GenericCapability },
15820         {  0, NULL, 0, NULL }
15821 };
15822 static int
15823 dissect_h245_VideoCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15824 {
15825         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_VideoCapability, ett_h245_VideoCapability, VideoCapability_choice, "VideoCapability", NULL);
15826
15827         return offset;
15828 }
15829
15830
15831
15832
15833
15834 static per_sequence_t EnhancementOptions_sequence[] = {
15835         { "sqcifMPI", EXTENSION_ROOT, OPTIONAL,
15836                 dissect_h245_sqcifMPI_1_32 },
15837         { "qcifMPI", EXTENSION_ROOT, OPTIONAL,
15838                 dissect_h245_qcifMPI_1_32 },
15839         { "cifMPI", EXTENSION_ROOT, OPTIONAL,
15840                 dissect_h245_cifMPI_1_32 },
15841         { "cif4MPI", EXTENSION_ROOT, OPTIONAL,
15842                 dissect_h245_cif4MPI_1_32 },
15843         { "cif16MPI", EXTENSION_ROOT, OPTIONAL,
15844                 dissect_h245_cif16MPI_1_32 },
15845         { "maxBitRate", EXTENSION_ROOT, NOT_OPTIONAL,
15846                 dissect_h245_maxBitRate_192400 },
15847         { "unrestrictedVector", EXTENSION_ROOT, NOT_OPTIONAL, 
15848                 dissect_h245_unrestrictedVector },
15849         { "arithmeticCoding", EXTENSION_ROOT, NOT_OPTIONAL, 
15850                 dissect_h245_arithmeticCoding },
15851         { "temporalSpatialTradeOffCapability", EXTENSION_ROOT, NOT_OPTIONAL,
15852                 dissect_h245_temporalSpatialTradeOffCapability },
15853         { "slowSqcifMPI", EXTENSION_ROOT, OPTIONAL, 
15854                 dissect_h245_slowSqcifMPI },
15855         { "slowQcifMPI", EXTENSION_ROOT, OPTIONAL,
15856                 dissect_h245_slowQcifMPI },
15857         { "slowCifMPI", EXTENSION_ROOT, OPTIONAL,
15858                 dissect_h245_slowCifMPI },
15859         { "slowCif4MPI", EXTENSION_ROOT, OPTIONAL,
15860                 dissect_h245_slowCif4MPI },
15861         { "slowCif16MPI", EXTENSION_ROOT, OPTIONAL,
15862                 dissect_h245_slowCif16MPI },
15863         { "errorCompensation", EXTENSION_ROOT, NOT_OPTIONAL, 
15864                 dissect_h245_errorCompensation },
15865         { "h263Options", EXTENSION_ROOT, OPTIONAL,
15866                 dissect_h245_H263Options },
15867         { NULL, 0, 0, NULL }
15868 };
15869 static int
15870 dissect_h245_EnhancementOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15871 {
15872         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EnhancementOptions, ett_h245_EnhancementOptions, EnhancementOptions_sequence);
15873
15874         return offset;
15875 }
15876
15877
15878
15879
15880 static per_sequence_t BEnhancementParameters_sequence[] = {
15881         { "enhancementOptions", EXTENSION_ROOT, NOT_OPTIONAL,
15882                 dissect_h245_EnhancementOptions },
15883         { "numberOfBPictures", EXTENSION_ROOT, NOT_OPTIONAL, 
15884                 dissect_h245_numberOfBPictures },
15885         { NULL, 0, 0, NULL }
15886 };
15887 static int
15888 dissect_h245_BEnhancementParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15889 {
15890         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_BEnhancementParameters, ett_h245_BEnhancementParameters, BEnhancementParameters_sequence);
15891
15892         return offset;
15893 }
15894
15895
15896
15897 static int
15898 dissect_h245_customPCF(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15899 {
15900         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_customPCF, ett_h245_customPCF, dissect_h245_CustomPictureFormat_mPI_customPCF, 1, 16);
15901         return offset;
15902 }
15903
15904
15905
15906
15907 static int
15908 dissect_h245_PixelAspectCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15909 {
15910         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
15911                 tree, hf_h245_PixelAspectCode, 1, 14, 
15912                 NULL, NULL, FALSE);
15913
15914         return offset;
15915 }
15916
15917 static int
15918 dissect_h245_pixelAspectCode(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_pixelAspectCode, ett_h245_pixelAspectCode, dissect_h245_PixelAspectCode, 1, 14);
15921         return offset;
15922 }
15923
15924
15925
15926 static int dissect_h245_extendedPAR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15927
15928 static const value_string CustomPictureFormat_pixelAspectInformation_vals[] = {
15929         {  0, "anyPixelAspectRatio" },
15930         {  1, "pixelAspectCode" },
15931         {  2, "extendedPAR" },
15932         {  0, NULL }
15933 };
15934 static per_choice_t CustomPictureFormat_pixelAspectInformation_choice[] = {
15935         {  0, "anyPixelAspectRatio", EXTENSION_ROOT, 
15936                 dissect_h245_anyPixelAspectRatio },
15937         {  1, "pixelAspectCode", EXTENSION_ROOT,
15938                 dissect_h245_pixelAspectCode },
15939         {  2, "extendedPAR", EXTENSION_ROOT,
15940                 dissect_h245_extendedPAR },
15941         {  0, NULL, 0, NULL }
15942 };
15943 static int
15944 dissect_h245_CustomPictureFormat_pixelAspectInformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15945 {
15946         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CustomPictureFormat_pixelAspectInformation, ett_h245_CustomPictureFormat_pixelAspectInformation, CustomPictureFormat_pixelAspectInformation_choice, "pixelAspectInformation", NULL);
15947
15948         return offset;
15949 }
15950
15951
15952
15953
15954
15955 static per_sequence_t CustomPictureFormat_sequence[] = {
15956         { "maxCustomPictureWidth", EXTENSION_ROOT, NOT_OPTIONAL,
15957                 dissect_h245_maxCustomPictureWidth },
15958         { "maxCustomPictureHeight", EXTENSION_ROOT, NOT_OPTIONAL,
15959                 dissect_h245_maxCustomPictureHeight},
15960         { "minCustomPictureWidth", EXTENSION_ROOT, NOT_OPTIONAL,
15961                 dissect_h245_minCustomPictureWidth },
15962         { "minCustomPictureHeight", EXTENSION_ROOT, NOT_OPTIONAL,
15963                 dissect_h245_minCustomPictureHeight },
15964         { "mPI", EXTENSION_ROOT, NOT_OPTIONAL,
15965                 dissect_h245_CustomPictureFormat_mPI },
15966         { "pixelAspectInformation", EXTENSION_ROOT, NOT_OPTIONAL,
15967                 dissect_h245_CustomPictureFormat_pixelAspectInformation },
15968         { NULL, 0, 0, NULL }
15969 };
15970 static int
15971 dissect_h245_CustomPictureFormat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15972 {
15973         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CustomPictureFormat, ett_h245_CustomPictureFormat, CustomPictureFormat_sequence);
15974
15975         return offset;
15976 }
15977
15978
15979
15980
15981 static int
15982 dissect_h245_extendedPAR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15983 {
15984         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_extendedPAR, ett_h245_extendedPAR, dissect_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR, 1, 256);
15985         return offset;
15986 }
15987
15988
15989
15990
15991 static int
15992 dissect_h245_h263VideoCoupledModes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15993 {
15994         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_h263VideoCoupledModes, ett_h245_h263VideoCoupledModes, dissect_h245_H263ModeComboFlags, 1, 16);
15995         return offset;
15996 }
15997
15998
15999
16000
16001
16002 static per_sequence_t H263VideoModeCombos_sequence[] = {
16003         { "h263VideoUncoupledModes", EXTENSION_ROOT, NOT_OPTIONAL, 
16004                 dissect_h245_H263ModeComboFlags },
16005         { "h263VideoCoupledModes", EXTENSION_ROOT, NOT_OPTIONAL,
16006                 dissect_h245_h263VideoCoupledModes },
16007         { NULL, 0, 0, NULL }
16008 };
16009 static int
16010 dissect_h245_H263VideoModeCombos(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16011 {
16012         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263VideoModeCombos, ett_h245_H263VideoModeCombos, H263VideoModeCombos_sequence);
16013
16014         return offset;
16015 }
16016
16017
16018
16019 static int
16020 dissect_h245_capabilityOnMuxStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16021 {
16022         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilityOnMuxStream, ett_h245_capabilityOnMuxStream, dissect_h245_AlternativeCapabilitySet, 1, 256);
16023         return offset;
16024 }
16025
16026
16027
16028
16029 static int
16030 dissect_h245_capabilities(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16031 {
16032         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilities, ett_h245_capabilities, dissect_h245_AlternativeCapabilitySet, 1, 256);
16033         return offset;
16034 }
16035
16036
16037
16038 static per_sequence_t MultiplePayloadStreamCapability_sequence[] = {
16039         { "capabilities", EXTENSION_ROOT, NOT_OPTIONAL,
16040                 dissect_h245_capabilities },
16041         { NULL, 0, 0, NULL }
16042 };
16043 static int
16044 dissect_h245_MultiplePayloadStreamCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16045 {
16046         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplePayloadStreamCapability, ett_h245_MultiplePayloadStreamCapability, MultiplePayloadStreamCapability_sequence);
16047
16048         return offset;
16049 }
16050
16051
16052
16053
16054
16055 static int
16056 dissect_h245_multiplexEntryDescriptors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16057 {
16058         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_multiplexEntryDescriptors, ett_h245_multiplexEntryDescriptors, dissect_h245_MultiplexEntryDescriptor, 1, 15);
16059         return offset;
16060 }
16061
16062
16063
16064 static per_sequence_t MultiplexEntrySend_sequence[] = {
16065         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
16066                 dissect_h245_SequenceNumber },
16067         { "multiplexEntryDescriptors", EXTENSION_ROOT, NOT_OPTIONAL,
16068                 dissect_h245_multiplexEntryDescriptors },
16069         { NULL, 0, 0, NULL }
16070 };
16071 static int
16072 dissect_h245_MultiplexEntrySend(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16073 {
16074         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntrySend, ett_h245_MultiplexEntrySend, MultiplexEntrySend_sequence);
16075
16076         return offset;
16077 }
16078
16079
16080
16081
16082 static int
16083 dissect_h245_multiplexTableEntryNumber_set_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16084 {
16085         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);
16086         return offset;
16087 }
16088
16089
16090
16091 static per_sequence_t MultiplexEntrySendRelease_sequence[] = {
16092         { "multiplexTableEntryNumber", EXTENSION_ROOT, NOT_OPTIONAL,
16093                 dissect_h245_multiplexTableEntryNumber_set_of },
16094         { NULL, 0, 0, NULL }
16095 };
16096 static int
16097 dissect_h245_MultiplexEntrySendRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16098 {
16099         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntrySendRelease, ett_h245_MultiplexEntrySendRelease, MultiplexEntrySendRelease_sequence);
16100
16101         return offset;
16102 }
16103
16104
16105
16106
16107 static per_sequence_t MultiplexEntrySendAck_sequence[] = {
16108         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
16109                 dissect_h245_SequenceNumber },
16110         { "multiplexTableEntryNumber", EXTENSION_ROOT, NOT_OPTIONAL,
16111                 dissect_h245_multiplexTableEntryNumber_set_of },
16112         { NULL, 0, 0, NULL }
16113 };
16114 static int
16115 dissect_h245_MultiplexEntrySendAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16116 {
16117         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntrySendAck, ett_h245_MultiplexEntrySendAck, MultiplexEntrySendAck_sequence);
16118
16119         return offset;
16120 }
16121
16122
16123
16124
16125
16126 static int
16127 dissect_h245_RMErejectionDescriptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16128 {
16129         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_rejectionDescriptions, ett_h245_rejectionDescriptions, dissect_h245_RequestMultiplexEntryRejectionDescriptions, 1, 15);
16130         return offset;
16131 }
16132
16133
16134 static int
16135 dissect_h245_rejectionDescriptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16136 {
16137         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_rejectionDescriptions, ett_h245_rejectionDescriptions, dissect_h245_MultiplexEntryRejectionDescriptions, 1, 15);
16138         return offset;
16139 }
16140
16141
16142
16143
16144
16145
16146 static per_sequence_t MultiplexEntrySendReject_sequence[] = {
16147         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
16148                 dissect_h245_SequenceNumber },
16149         { "rejectionDescriptions", EXTENSION_ROOT, NOT_OPTIONAL,
16150                 dissect_h245_rejectionDescriptions },
16151         { NULL, 0, 0, NULL }
16152 };
16153 static int
16154 dissect_h245_MultiplexEntrySendReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16155 {
16156         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntrySendReject, ett_h245_MultiplexEntrySendReject, MultiplexEntrySendReject_sequence);
16157
16158         return offset;
16159 }
16160
16161
16162
16163
16164 static int
16165 dissect_h245_entryNumbers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16166 {
16167         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_entryNumbers, ett_h245_entryNumbers, dissect_h245_MultiplexTableEntryNumber, 1, 15);
16168         return offset;
16169 }
16170
16171
16172
16173
16174 static per_sequence_t RequestMultiplexEntry_sequence[] = {
16175         { "entryNumbers", EXTENSION_ROOT, NOT_OPTIONAL,
16176                 dissect_h245_entryNumbers },
16177         { NULL, 0, 0, NULL }
16178 };
16179 static int
16180 dissect_h245_RequestMultiplexEntry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16181 {
16182         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntry, ett_h245_RequestMultiplexEntry, RequestMultiplexEntry_sequence);
16183
16184         return offset;
16185 }
16186
16187
16188
16189 static per_sequence_t RequestMultiplexEntryAck_sequence[] = {
16190         { "entryNumbers", EXTENSION_ROOT, NOT_OPTIONAL,
16191                 dissect_h245_entryNumbers },
16192         { NULL, 0, 0, NULL }
16193 };
16194 static int
16195 dissect_h245_RequestMultiplexEntryAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16196 {
16197         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntryAck, ett_h245_RequestMultiplexEntryAck, RequestMultiplexEntryAck_sequence);
16198
16199         return offset;
16200 }
16201
16202
16203
16204
16205 static per_sequence_t RequestMultiplexEntryReject_sequence[] = {
16206         { "entryNumbers", EXTENSION_ROOT, NOT_OPTIONAL,
16207                 dissect_h245_entryNumbers },
16208         { "rejectionDescriptions", EXTENSION_ROOT, NOT_OPTIONAL,
16209                 dissect_h245_RMErejectionDescriptions },
16210         { NULL, 0, 0, NULL }
16211 };
16212 static int
16213 dissect_h245_RequestMultiplexEntryReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16214 {
16215         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntryReject, ett_h245_RequestMultiplexEntryReject, RequestMultiplexEntryReject_sequence);
16216
16217         return offset;
16218 }
16219
16220
16221
16222
16223
16224 static per_sequence_t RequestMultiplexEntryRelease_sequence[] = {
16225         { "entryNumbers", EXTENSION_ROOT, NOT_OPTIONAL,
16226                 dissect_h245_entryNumbers },
16227         { NULL, 0, 0, NULL }
16228 };
16229 static int
16230 dissect_h245_RequestMultiplexEntryRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16231 {
16232         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntryRelease, ett_h245_RequestMultiplexEntryRelease, RequestMultiplexEntryRelease_sequence);
16233
16234         return offset;
16235 }
16236
16237
16238
16239 static int dissect_h245_ModeElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
16240
16241 static int
16242 dissect_h245_ModeDescription(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16243 {
16244         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_ModeDescription, ett_h245_ModeDescription, dissect_h245_ModeElement, 1, 256);
16245         return offset;
16246 }
16247
16248
16249
16250
16251 static int dissect_h245_CommunicationModeTableEntry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
16252
16253 static int
16254 dissect_h245_communicationModeTable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16255 {
16256         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_communicationModeTable, ett_h245_communicationModeTable, dissect_h245_CommunicationModeTableEntry, 1, 256);
16257         return offset;
16258 }
16259
16260
16261
16262
16263
16264 static per_sequence_t CommunicationModeCommand_sequence[] = {
16265         { "communicationModeTable", EXTENSION_ROOT, NOT_OPTIONAL,
16266                 dissect_h245_communicationModeTable },
16267         { NULL, 0, 0, NULL }
16268 };
16269 static int
16270 dissect_h245_CommunicationModeCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16271 {
16272         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CommunicationModeCommand, ett_h245_CommunicationModeCommand, CommunicationModeCommand_sequence);
16273
16274         return offset;
16275 }
16276
16277
16278
16279
16280
16281 static const value_string CommunicationModeResponse_vals[] = {
16282         {  0, "communicationModeTable" },
16283         {  0, NULL }
16284 };
16285 static per_choice_t CommunicationModeResponse_choice[] = {
16286         {  0, "communicationModeTable", EXTENSION_ROOT,
16287                 dissect_h245_communicationModeTable },
16288         {  0, NULL, 0, NULL }
16289 };
16290 static int
16291 dissect_h245_CommunicationModeResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16292 {
16293         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CommunicationModeResponse, ett_h245_CommunicationModeResponse, CommunicationModeResponse_choice, "CommunicationModeResponse", NULL);
16294
16295         return offset;
16296 }
16297
16298
16299
16300
16301
16302 static int
16303 dissect_h245_terminalListResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16304 {
16305         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_terminalListResponse, ett_h245_terminalListResponse, dissect_h245_TerminalLabel, 1, 256);
16306         return offset;
16307 }
16308
16309
16310
16311
16312 static int dissect_h245_DialingInformationNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
16313
16314 static int
16315 dissect_h245_differential(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16316 {
16317         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_differential, ett_h245_differential, dissect_h245_DialingInformationNumber, 1, 65535);
16318         return offset;
16319 }
16320
16321
16322
16323
16324
16325 static const value_string DialingInformation_vals[] = {
16326         {  0, "nonStandard" },
16327         {  1, "differential" },
16328         {  2, "infoNotAvailable" },
16329         {  0, NULL }
16330 };
16331 static per_choice_t DialingInformation_choice[] = {
16332         {  0, "nonStandard", EXTENSION_ROOT,
16333                 dissect_h245_NonStandardMessage },
16334         {  1, "differential", EXTENSION_ROOT,
16335                 dissect_h245_differential },
16336         {  2, "infoNotAvailable", EXTENSION_ROOT,
16337                 dissect_h245_infoNotAvailable },
16338         {  0, NULL, 0, NULL }
16339 };
16340 static int
16341 dissect_h245_DialingInformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16342 {
16343         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DialingInformation, ett_h245_DialingInformation, DialingInformation_choice, "DialingInformation", NULL);
16344
16345         return offset;
16346 }
16347
16348
16349
16350
16351
16352 static per_sequence_t MultilinkResponse_callInformation_sequence[] = {
16353         { "dialingInformation", EXTENSION_ROOT, NOT_OPTIONAL,
16354                 dissect_h245_DialingInformation },
16355         { "callAssociationNumber", EXTENSION_ROOT, NOT_OPTIONAL,
16356                 dissect_h245_callAssociationNumber },
16357         { NULL, 0, 0, NULL }
16358 };
16359 static int
16360 dissect_h245_MultilinkResponse_callInformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16361 {
16362         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse_callInformation, ett_h245_MultilinkResponse_callInformation, MultilinkResponse_callInformation_sequence);
16363
16364         return offset;
16365 }
16366
16367
16368
16369
16370
16371
16372 static const value_string MultilinkResponse_vals[] = {
16373         {  0, "nonStandard" },
16374         {  1, "callInformation" },
16375         {  2, "addConnection" },
16376         {  3, "removeConnection" },
16377         {  4, "maximumHeaderInterval" },
16378         {  0, NULL }
16379 };
16380 static per_choice_t MultilinkResponse_choice[] = {
16381         {  0, "nonStandard", EXTENSION_ROOT,
16382                 dissect_h245_NonStandardMessage },
16383         {  1, "callInformation", EXTENSION_ROOT,
16384                 dissect_h245_MultilinkResponse_callInformation },
16385         {  2, "addConnection", EXTENSION_ROOT, 
16386                 dissect_h245_MultilinkResponse_addConnection },
16387         {  3, "removeConnection", EXTENSION_ROOT,
16388                 dissect_h245_MultilinkResponse_removeConnection },
16389         {  4, "maximumHeaderInterval", EXTENSION_ROOT,
16390                 dissect_h245_MultilinkResponse_maximumHeaderInterval },
16391         {  0, NULL, 0, NULL }
16392 };
16393 static int
16394 dissect_h245_MultilinkResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16395 {
16396         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse, ett_h245_MultilinkResponse, MultilinkResponse_choice, "MultilinkResponse", NULL);
16397
16398         return offset;
16399 }
16400
16401
16402
16403
16404 static per_sequence_t MultilinkRequest_addConnection_sequence[] = {
16405         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
16406                 dissect_h245_SequenceNumber },
16407         { "dialingInformation", EXTENSION_ROOT, NOT_OPTIONAL,
16408                 dissect_h245_DialingInformation },
16409         { NULL, 0, 0, NULL }
16410 };
16411 static int
16412 dissect_h245_MultilinkRequest_addConnection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16413 {
16414         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest_addConnection, ett_h245_MultilinkRequest_addConnection, MultilinkRequest_addConnection_sequence);
16415
16416         return offset;
16417 }
16418
16419
16420
16421
16422
16423 static const value_string MultilinkRequest_vals[] = {
16424         {  0, "nonStandard" },
16425         {  1, "callInformation" },
16426         {  2, "addConnection" },
16427         {  3, "removeConnection" },
16428         {  4, "maximumHeaderInterval" },
16429         {  0, NULL }
16430 };
16431 static per_choice_t MultilinkRequest_choice[] = {
16432         {  0, "nonStandard", EXTENSION_ROOT,
16433                 dissect_h245_NonStandardMessage },
16434         {  1, "callInformation", EXTENSION_ROOT,
16435                 dissect_h245_MultilinkRequest_callInformation },
16436         {  2, "addConnection", EXTENSION_ROOT,
16437                 dissect_h245_MultilinkRequest_addConnection },
16438         {  3, "removeConnection", EXTENSION_ROOT,
16439                 dissect_h245_MultilinkRequest_removeConnection },
16440         {  4, "maximumHeaderInterval", EXTENSION_ROOT,
16441                 dissect_h245_MultilinkRequest_maximumHeaderInterval },
16442         {  0, NULL, 0, NULL }
16443 };
16444 static int
16445 dissect_h245_MultilinkRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16446 {
16447         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest, ett_h245_MultilinkRequest, MultilinkRequest_choice, "MultilinkRequest", NULL);
16448
16449         return offset;
16450 }
16451
16452
16453
16454
16455
16456 static int
16457 dissect_h245_networkType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16458 {
16459         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_networkType, ett_h245_networkType, dissect_h245_DialingInformationNetworkType, 1, 255);
16460         return offset;
16461 }
16462
16463
16464
16465
16466
16467 static int
16468 dissect_h245_capabilityTableEntryNumbers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16469 {
16470         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilityTableEntryNumbers, ett_h245_capabilityTableEntryNumbers, dissect_h245_CapabilityTableEntryNumber, 1, 65535);
16471         return offset;
16472 }
16473
16474
16475
16476
16477 static int
16478 dissect_h245_capabilityDescriptorNumbers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16479 {
16480         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilityDescriptorNumbers, ett_h245_capabilityDescriptorNumbers, dissect_h245_CapabilityDescriptorNumber, 1, 256);
16481         return offset;
16482 }
16483
16484
16485
16486
16487 static per_sequence_t SendTerminalCapabilitySet_specificRequest_sequence[] = {
16488         { "multiplexCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
16489                 dissect_h245_multiplexCapability_bool },
16490         { "capabilityTableEntryNumbers", EXTENSION_ROOT, OPTIONAL,
16491                 dissect_h245_capabilityTableEntryNumbers },
16492         { "capabilityDescriptorNumbers", EXTENSION_ROOT, OPTIONAL,
16493                 dissect_h245_capabilityDescriptorNumbers },
16494         { NULL, 0, 0, NULL }
16495 };
16496 static int
16497 dissect_h245_SendTerminalCapabilitySet_specificRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16498 {
16499         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_SendTerminalCapabilitySet_specificRequest, ett_h245_SendTerminalCapabilitySet_specificRequest, SendTerminalCapabilitySet_specificRequest_sequence);
16500
16501         return offset;
16502 }
16503
16504
16505
16506
16507
16508 static const value_string SendTerminalCapabilitySet_vals[] = {
16509         {  0, "specificRequest" },
16510         {  1, "genericRequest" },
16511         {  0, NULL }
16512 };
16513 static per_choice_t SendTerminalCapabilitySet_choice[] = {
16514         {  0, "specificRequest", EXTENSION_ROOT,
16515                 dissect_h245_SendTerminalCapabilitySet_specificRequest },
16516         {  1, "genericRequest", EXTENSION_ROOT, 
16517                 dissect_h245_NULL },
16518         {  0, NULL, 0, NULL }
16519 };
16520 static int
16521 dissect_h245_SendTerminalCapabilitySet(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16522 {
16523         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_SendTerminalCapabilitySet, ett_h245_SendTerminalCapabilitySet, SendTerminalCapabilitySet_choice, "SendTerminalCapabilitySet", NULL);
16524
16525         return offset;
16526 }
16527
16528
16529
16530
16531
16532
16533 static int
16534 dissect_h245_audioTelephoneEvent(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16535 {
16536         offset=dissect_per_GeneralString(tvb, offset, pinfo, tree, hf_h245_audioTelephoneEvent);
16537         return offset;
16538 }
16539
16540
16541
16542
16543
16544 static per_sequence_t AudioTelephonyEventCapability_sequence[] = {
16545         { "dynamicRTPPayloadType", EXTENSION_ROOT, NOT_OPTIONAL,
16546                 dissect_h245_dynamicRTPPayloadType },
16547         { "audioTelephoneEvent", EXTENSION_ROOT, NOT_OPTIONAL,
16548                 dissect_h245_audioTelephoneEvent },
16549         { NULL, 0, 0, NULL }
16550 };
16551 static int
16552 dissect_h245_AudioTelephonyEventCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16553 {
16554         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_AudioTelephonyEventCapability, ett_h245_AudioTelephonyEventCapability, AudioTelephonyEventCapability_sequence);
16555
16556         return offset;
16557 }
16558
16559
16560
16561
16562
16563
16564 static per_sequence_t NoPTAudioTelephonyEventCapability_sequence[] = {
16565         { "audioTelephoneEvent", EXTENSION_ROOT, NOT_OPTIONAL,
16566                 dissect_h245_audioTelephoneEvent },
16567         { NULL, 0, 0, NULL }
16568 };
16569 static int
16570 dissect_h245_NoPTAudioTelephonyEventCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16571 {
16572         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NoPTAudioTelephonyEventCapability, ett_h245_NoPTAudioTelephonyEventCapability, NoPTAudioTelephonyEventCapability_sequence);
16573
16574         return offset;
16575 }
16576
16577
16578
16579
16580 static const value_string AudioCapability_vals[] = {
16581         {  0, "nonStandard" },
16582         {  1, "g711Alaw64k" },
16583         {  2, "g711Alaw56k" },
16584         {  3, "g711Ulaw64k" },
16585         {  4, "g711Ulaw56k" },
16586         {  5, "g722-64k" },
16587         {  6, "g722-56k" },
16588         {  7, "g722-48k" },
16589         {  8, "g7231" },
16590         {  9, "g728" },
16591         { 10, "g729" },
16592         { 11, "g729AnnexA" },
16593         { 12, "is11172AudioCapability" },
16594         { 13, "is13818AudioCapability" },
16595         { 14, "g729wAnnexB" },
16596         { 15, "g729AnnexAwAnnexB" },
16597         { 16, "g7231AnnexCCapability" },
16598         { 17, "gsmFullRate" },
16599         { 18, "gsmHalfRate" },
16600         { 19, "gsmEnhancedFullRate" },
16601         { 20, "genericAudioCapability" },
16602         { 21, "g729Extensions" },
16603         { 22, "vbd" },
16604         { 23, "audioTelephonyEvent" },
16605         { 24, "audioTone" },
16606         {  0, NULL }
16607 };
16608 static per_choice_t AudioCapability_choice[] = {
16609         {  0, "nonStandard", EXTENSION_ROOT,
16610                 dissect_h245_NonStandardParameter },
16611         {  1, "g711Alaw64k", EXTENSION_ROOT,
16612                 dissect_h245_g711Alaw64k },
16613         {  2, "g711Alaw56k", EXTENSION_ROOT,
16614                 dissect_h245_g711Alaw56k },
16615         {  3, "g711Ulaw64k", EXTENSION_ROOT, 
16616                 dissect_h245_g711Ulaw64k },
16617         {  4, "g711Ulaw56k", EXTENSION_ROOT, 
16618                 dissect_h245_g711Ulaw56k },
16619         {  5, "g722-64k", EXTENSION_ROOT, 
16620                 dissect_h245_g722_64k },
16621         {  6, "g722-56k", EXTENSION_ROOT,
16622                 dissect_h245_g722_56k },
16623         {  7, "g722-48k", EXTENSION_ROOT,
16624                 dissect_h245_g722_48k },
16625         {  8, "g7231", EXTENSION_ROOT,
16626                 dissect_h245_AudioCapability_g7231 },
16627         {  9, "g728", EXTENSION_ROOT,
16628                 dissect_h245_g728 },
16629         { 10, "g729", EXTENSION_ROOT,
16630                 dissect_h245_g729 },
16631         { 11, "g729AnnexA", EXTENSION_ROOT,
16632                 dissect_h245_g729AnnexA },
16633         { 12, "is11172AudioCapability", EXTENSION_ROOT,
16634                 dissect_h245_IS11172AudioCapability },
16635         { 13, "is13818AudioCapability", EXTENSION_ROOT,
16636                 dissect_h245_IS13818AudioCapability },
16637         { 14, "g729wAnnexB", NOT_EXTENSION_ROOT,
16638                 dissect_h245_g729wAnnexB },
16639         { 15, "g729AnnexAwAnnexB", NOT_EXTENSION_ROOT,
16640                 dissect_h245_g729AnnexAwAnnexB },
16641         { 16, "g7231AnnexCCapability", NOT_EXTENSION_ROOT,
16642                 dissect_h245_G7231AnnexCCapability },
16643         { 17, "gsmFullRate", NOT_EXTENSION_ROOT,
16644                 dissect_h245_GSMAudioCapability },
16645         { 18, "gsmHalfRate", NOT_EXTENSION_ROOT,
16646                 dissect_h245_GSMAudioCapability },
16647         { 19, "gsmEnhancedFullRate", NOT_EXTENSION_ROOT,
16648                 dissect_h245_GSMAudioCapability },
16649         { 20, "genericAudioCapability", NOT_EXTENSION_ROOT,
16650                 dissect_h245_GenericCapability },
16651         { 21, "g729Extensions", NOT_EXTENSION_ROOT,
16652                 dissect_h245_G729Extensions },
16653         { 22, "vbd", NOT_EXTENSION_ROOT,
16654                 dissect_h245_VBDCapability },
16655         { 23, "audioTelephonyEvent", NOT_EXTENSION_ROOT,
16656                 dissect_h245_NoPTAudioTelephonyEventCapability },
16657         { 24, "audioTone", NOT_EXTENSION_ROOT,
16658                 dissect_h245_NoPTAudioToneCapability },
16659         {  0, NULL, 0, NULL }
16660 };
16661 static int
16662 dissect_h245_AudioCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16663 {
16664         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_AudioCapability, ett_h245_AudioCapability, AudioCapability_choice, "AudioCapability", NULL);
16665
16666         return offset;
16667 }
16668
16669
16670
16671
16672
16673 static const value_string H235Media_mediaType_vals[] = {
16674         {  0, "nonStandard" },
16675         {  1, "videoData" },
16676         {  2, "audioData" },
16677         {  3, "data" },
16678         {  0, NULL }
16679 };
16680 static per_choice_t H235Media_mediaType_choice[] = {
16681         {  0, "nonStandard", EXTENSION_ROOT,
16682                 dissect_h245_NonStandardParameter },
16683         {  1, "videoData", EXTENSION_ROOT,
16684                 dissect_h245_VideoCapability },
16685         {  2, "audioData", EXTENSION_ROOT,
16686                 dissect_h245_AudioCapability },
16687         {  3, "data", EXTENSION_ROOT,
16688                 dissect_h245_DataApplicationCapability },
16689         {  0, NULL, 0, NULL }
16690 };
16691 static int
16692 dissect_h245_H235Media_mediaType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16693 {
16694         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H235Media_mediaType, ett_h245_H235Media_mediaType, H235Media_mediaType_choice, "mediaType", NULL);
16695
16696         return offset;
16697 }
16698
16699
16700
16701
16702
16703
16704 static const value_string CommunicationModeTableEntry_dataType_vals[] = {
16705         {  0, "videoData" },
16706         {  1, "audioData" },
16707         {  2, "data" },
16708         {  0, NULL }
16709 };
16710 static per_choice_t CommunicationModeTableEntry_dataType_choice[] = {
16711         {  0, "videoData", EXTENSION_ROOT,
16712                 dissect_h245_VideoCapability },
16713         {  1, "audioData", EXTENSION_ROOT,
16714                 dissect_h245_AudioCapability },
16715         {  2, "data", EXTENSION_ROOT,
16716                 dissect_h245_DataApplicationCapability },
16717         {  0, NULL, 0, NULL }
16718 };
16719 static int
16720 dissect_h245_CommunicationModeTableEntry_dataType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16721 {
16722         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CommunicationModeTableEntry_dataType, ett_h245_CommunicationModeTableEntry_dataType, CommunicationModeTableEntry_dataType_choice, "dataType", NULL);
16723
16724         return offset;
16725 }
16726
16727
16728
16729
16730
16731 static per_sequence_t H235Media_sequence[] = {
16732         { "encryptionAuthenticationAndIntegrity", EXTENSION_ROOT, NOT_OPTIONAL,
16733                 dissect_h245_EncryptionAuthenticationAndIntegrity },
16734         { "mediaType", EXTENSION_ROOT, NOT_OPTIONAL,
16735                 dissect_h245_H235Media_mediaType },
16736         { NULL, 0, 0, NULL }
16737 };
16738 static int
16739 dissect_h245_H235Media(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16740 {
16741         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H235Media, ett_h245_H235Media, H235Media_sequence);
16742
16743         return offset;
16744 }
16745
16746
16747
16748
16749
16750 static int
16751 dissect_h245_alphanumeric(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16752 {
16753         offset=dissect_per_GeneralString(tvb, offset, pinfo, tree, hf_h245_alphanumeric);
16754         return offset;
16755 }
16756
16757
16758
16759
16760
16761
16762 static const value_string UserInputIndication_userInputSupportIndication_vals[] = {
16763         {  0, "nonStandard" },
16764         {  1, "basicString" },
16765         {  2, "iA5String" },
16766         {  3, "generalString" },
16767         {  0, NULL }
16768 };
16769 static per_choice_t UserInputIndication_userInputSupportIndication_choice[] = {
16770         {  0, "nonStandard", EXTENSION_ROOT,
16771                 dissect_h245_NonStandardParameter },
16772         {  1, "basicString", EXTENSION_ROOT, 
16773                 dissect_h245_NULL },
16774         {  2, "iA5String", EXTENSION_ROOT, 
16775                 dissect_h245_NULL },
16776         {  3, "generalString", EXTENSION_ROOT, 
16777                 dissect_h245_NULL },
16778         {  0, NULL, 0, NULL }
16779 };
16780 static int
16781 dissect_h245_UserInputIndication_userInputSupportIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16782 {
16783         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_userInputSupportIndication, ett_h245_UserInputIndication_userInputSupportIndication, UserInputIndication_userInputSupportIndication_choice, "userInputSupportIndication", NULL);
16784
16785         return offset;
16786 }
16787
16788
16789
16790
16791 static per_sequence_t UserInputIndication_extendedAlphanumeric_sequence[] = {
16792         { "alphanumeric", EXTENSION_ROOT, NOT_OPTIONAL,
16793                 dissect_h245_alphanumeric },
16794         { "rtpPayloadIndication", EXTENSION_ROOT, OPTIONAL, 
16795                 dissect_h245_NULL },
16796         { NULL, 0, 0, NULL }
16797 };
16798 static int
16799 dissect_h245_UserInputIndication_extendedAlphanumeric(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16800 {
16801         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_extendedAlphanumeric, ett_h245_UserInputIndication_extendedAlphanumeric, UserInputIndication_extendedAlphanumeric_sequence);
16802
16803         return offset;
16804 }
16805
16806
16807 static int
16808 dissect_h245_rfcnumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16809 {
16810         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
16811                 tree, hf_h245_rfc_number, 1, 32768, 
16812                 NULL, NULL, TRUE);
16813         return offset;
16814 }
16815
16816
16817
16818
16819 static const value_string RTPPayloadType_payloadDescriptor_vals[] = {
16820         {  0, "nonStandardIdentifier" },
16821         {  1, "rfc-number" },
16822         {  2, "oid" },
16823         {  0, NULL }
16824 };
16825 static per_choice_t RTPPayloadType_payloadDescriptor_choice[] = {
16826         {  0, "nonStandardIdentifier", EXTENSION_ROOT,
16827                 dissect_h245_NonStandardParameter },
16828         {  1, "rfc-number", EXTENSION_ROOT,
16829                 dissect_h245_rfcnumber },
16830         {  2, "oid", EXTENSION_ROOT,
16831                 dissect_h245_oid },
16832         {  0, NULL, 0, NULL }
16833 };
16834 static int
16835 dissect_h245_RTPPayloadType_payloadDescriptor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16836 {
16837         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RTPPayloadType_payloadDescriptor, ett_h245_RTPPayloadType_payloadDescriptor, RTPPayloadType_payloadDescriptor_choice, "payloadDescriptor", NULL);
16838
16839         return offset;
16840 }
16841
16842
16843
16844
16845
16846 static per_sequence_t RTPPayloadType_sequence[] = {
16847         { "payloadDescriptor", EXTENSION_ROOT, NOT_OPTIONAL,
16848                 dissect_h245_RTPPayloadType_payloadDescriptor },
16849         { "payloadType", EXTENSION_ROOT, OPTIONAL,
16850                 dissect_h245_payloadType },
16851         { NULL, 0, 0, NULL }
16852 };
16853 static int
16854 dissect_h245_RTPPayloadType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16855 {
16856         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RTPPayloadType, ett_h245_RTPPayloadType, RTPPayloadType_sequence);
16857
16858         return offset;
16859 }
16860
16861
16862
16863
16864
16865
16866 static const value_string H2250LogicalChannelParameters_mediaPacketization_vals[] = {
16867         {  0, "h261aVideoPacketization" },
16868         {  1, "rtpPayloadType" },
16869         {  0, NULL }
16870 };
16871 static per_choice_t H2250LogicalChannelParameters_mediaPacketization_choice[] = {
16872         {  0, "h261aVideoPacketization", EXTENSION_ROOT, 
16873                 dissect_h245_NULL },
16874         {  1, "rtpPayloadType", NOT_EXTENSION_ROOT,
16875                 dissect_h245_RTPPayloadType },
16876         {  0, NULL, 0, NULL }
16877 };
16878 static int
16879 dissect_h245_H2250LogicalChannelParameters_mediaPacketization(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16880 {
16881         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H2250LogicalChannelParameters_mediaPacketization, ett_h245_H2250LogicalChannelParameters_mediaPacketization, H2250LogicalChannelParameters_mediaPacketization_choice, "mediaPacketization", NULL);
16882
16883         return offset;
16884 }
16885
16886
16887
16888
16889
16890 static int dissect_h245_mediaDistributionCapability_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
16891 static per_sequence_t MultipointCapability_sequence[] = {
16892         { "multicastCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
16893                 dissect_h245_multicastCapability },
16894         { "multiUniCastConference", EXTENSION_ROOT, NOT_OPTIONAL, 
16895                 dissect_h245_multiUniCastConference },
16896         { "mediaDistributionCapability", EXTENSION_ROOT, NOT_OPTIONAL,
16897                 dissect_h245_mediaDistributionCapability_sequence_of },
16898         { NULL, 0, 0, NULL }
16899 };
16900 static int
16901 dissect_h245_receiveMultipointCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16902 {
16903         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_receiveMultipointCapability, ett_h245_MultipointCapability, MultipointCapability_sequence);
16904
16905         return offset;
16906 }
16907 static int
16908 dissect_h245_transmitMultipointCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16909 {
16910         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_transmitMultipointCapability, ett_h245_MultipointCapability, MultipointCapability_sequence);
16911
16912         return offset;
16913 }
16914 static int
16915 dissect_h245_receiveAndTransmitMultipointCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16916 {
16917         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_receiveAndTransmitMultipointCapability, ett_h245_MultipointCapability, MultipointCapability_sequence);
16918
16919         return offset;
16920 }
16921
16922
16923
16924
16925 static per_sequence_t H2250Capability_sequence[] = {
16926         { "maximumAudioDelayJitter", EXTENSION_ROOT, NOT_OPTIONAL,
16927                 dissect_h245_maximumAudioDelayJitter },
16928         { "receiveMultipointCapability", EXTENSION_ROOT, NOT_OPTIONAL,
16929                 dissect_h245_receiveMultipointCapability },
16930         { "transmitMultipointCapability", EXTENSION_ROOT, NOT_OPTIONAL,
16931                 dissect_h245_transmitMultipointCapability },
16932         { "receiveAndTransmitMultipointCapability", EXTENSION_ROOT, NOT_OPTIONAL,
16933                 dissect_h245_receiveAndTransmitMultipointCapability },
16934         { "mcCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
16935                 dissect_h245_H2250Capability_mcCapability },
16936         { "rtcpVideoControlCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
16937                 dissect_h245_rtcpVideoControlCapability },
16938         { "mediaPacketizationCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
16939                 dissect_h245_MediaPacketizationCapability },
16940         { "transportCapability", NOT_EXTENSION_ROOT, OPTIONAL,
16941                 dissect_h245_TransportCapability },
16942         { "redundancyEncodingCapability", NOT_EXTENSION_ROOT, OPTIONAL,
16943                 dissect_h245_RedundancyEncodingCapability_sequence_of },
16944         { "logicalChannelSwitchingCapability", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
16945                 dissect_h245_logicalChannelSwitchingCapability },
16946         { "t120DynamicPortCapability", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
16947                 dissect_h245_t120DynamicPortCapability },
16948         { NULL, 0, 0, NULL }
16949 };
16950 static int
16951 dissect_h245_H2250Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16952 {
16953         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250Capability, ett_h245_H2250Capability, H2250Capability_sequence);
16954
16955         return offset;
16956 }
16957
16958
16959
16960
16961
16962
16963 static int dissect_h245_DataType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
16964 static per_sequence_t RedundancyEncodingElement_sequence[] = {
16965         { "dataType", EXTENSION_ROOT, NOT_OPTIONAL,
16966                 dissect_h245_DataType },
16967         { "payloadType", EXTENSION_ROOT, OPTIONAL,
16968                 dissect_h245_payloadType },
16969         { NULL, 0, 0, NULL }
16970 };
16971 static int
16972 dissect_h245_RedundancyEncodingElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16973 {
16974         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingElement, ett_h245_RedundancyEncodingElement, RedundancyEncodingElement_sequence);
16975
16976         return offset;
16977 }
16978
16979
16980
16981
16982
16983 static per_sequence_t RedundancyEncoding_rtpRedundancyEncoding_sequence[] = {
16984         { "primary", EXTENSION_ROOT, OPTIONAL,
16985                 dissect_h245_RedundancyEncodingElement },
16986         { "secondary", EXTENSION_ROOT, OPTIONAL,
16987                 dissect_h245_secondary_REE_sequence_of },
16988         { NULL, 0, 0, NULL }
16989 };
16990 static int
16991 dissect_h245_RedundancyEncoding_rtpRedundancyEncoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16992 {
16993         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncoding_rtpRedundancyEncoding, ett_h245_RedundancyEncoding_rtpRedundancyEncoding, RedundancyEncoding_rtpRedundancyEncoding_sequence);
16994
16995         return offset;
16996 }
16997
16998
16999
17000
17001
17002 static per_sequence_t RedundancyEncoding_sequence[] = {
17003         { "redundancyEncodingMethod", EXTENSION_ROOT, NOT_OPTIONAL,
17004                 dissect_h245_RedundancyEncodingMethod },
17005         { "secondaryEncoding", EXTENSION_ROOT, OPTIONAL,
17006                 dissect_h245_DataType },
17007         { "rtpRedundancyEncoding", NOT_EXTENSION_ROOT, OPTIONAL,
17008                 dissect_h245_RedundancyEncoding_rtpRedundancyEncoding },
17009         { NULL, 0, 0, NULL }
17010 };
17011 static int
17012 dissect_h245_RedundancyEncoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17013 {
17014         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncoding, ett_h245_RedundancyEncoding, RedundancyEncoding_sequence);
17015
17016         return offset;
17017 }
17018
17019
17020
17021
17022 static per_sequence_t H2250LogicalChannelParameters_sequence[] = {
17023         { "nonStandard", EXTENSION_ROOT, OPTIONAL,
17024                 dissect_h245_nonStandardData_sequence_of },
17025         { "sessionID", EXTENSION_ROOT, NOT_OPTIONAL,
17026                 dissect_h245_sessionID_0_255 },
17027         { "associatedSessionID", EXTENSION_ROOT, OPTIONAL,
17028                 dissect_h245_associatedSessionID },
17029         { "mediaChannel", EXTENSION_ROOT, OPTIONAL,
17030                 dissect_h245_mediaChannel },
17031         { "mediaGuaranteedDelivery", EXTENSION_ROOT, OPTIONAL,
17032                 dissect_h245_mediaGuaranteedDelivery },
17033         { "mediaControlChannel", EXTENSION_ROOT, OPTIONAL,
17034                 dissect_h245_mediaControlChannel },
17035         { "mediaControlGuaranteedDelivery", EXTENSION_ROOT, OPTIONAL,
17036                 dissect_h245_mediaControlGuaranteedDelivery },
17037         { "silenceSuppression", EXTENSION_ROOT, OPTIONAL, 
17038                 dissect_h245_silenceSuppression },
17039         { "destination", EXTENSION_ROOT, OPTIONAL,
17040                 dissect_h245_TerminalLabel },
17041         { "dynamicRTPPayloadType", EXTENSION_ROOT, OPTIONAL,
17042                 dissect_h245_dynamicRTPPayloadType },
17043         { "mediaPacketization", EXTENSION_ROOT, OPTIONAL,
17044                 dissect_h245_H2250LogicalChannelParameters_mediaPacketization },
17045         { "transportCapability", NOT_EXTENSION_ROOT, OPTIONAL,
17046                 dissect_h245_TransportCapability },
17047         { "redundancyEncoding", NOT_EXTENSION_ROOT, OPTIONAL,
17048                 dissect_h245_RedundancyEncoding },
17049         { "source", NOT_EXTENSION_ROOT, OPTIONAL,
17050                 dissect_h245_TerminalLabel },
17051         { NULL, 0, 0, NULL }
17052 };
17053 static int
17054 dissect_h245_H2250LogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17055 {
17056         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250LogicalChannelParameters, ett_h245_H2250LogicalChannelParameters, H2250LogicalChannelParameters_sequence);
17057
17058         return offset;
17059 }
17060
17061
17062
17063
17064 static const value_string forwardLogicalChannelParameters_multiplexParameters_vals[] = {
17065         {  0, "h222LogicalChannelParameters" },
17066         {  1, "h223LogicalChannelParameters" },
17067         {  2, "v76LogicalChannelParameters" },
17068         {  3, "h2250LogicalChannelParameters" },
17069         {  4, "none" },
17070         {  0, NULL }
17071 };
17072 static per_choice_t forwardLogicalChannelParameters_multiplexParameters_choice[] = {
17073         {  0, "h222LogicalChannelParameters", EXTENSION_ROOT,
17074                 dissect_h245_H222LogicalChannelParameters },
17075         {  1, "h223LogicalChannelParameters", EXTENSION_ROOT,
17076                 dissect_h245_H223LogicalChannelParameters },
17077         {  2, "v76LogicalChannelParameters", EXTENSION_ROOT,
17078                 dissect_h245_V76LogicalChannelParameters },
17079         {  3, "h2250LogicalChannelParameters", NOT_EXTENSION_ROOT,
17080                 dissect_h245_H2250LogicalChannelParameters },
17081         {  4, "none", NOT_EXTENSION_ROOT, 
17082                 dissect_h245_NULL },
17083         {  0, NULL, 0, NULL }
17084 };
17085 static int
17086 dissect_h245_forwardLogicalChannelParameters_multiplexParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17087 {
17088         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_forwardLogicalChannelParameters_multiplexParameters, ett_h245_forwardLogicalChannelParameters_multiplexParameters, forwardLogicalChannelParameters_multiplexParameters_choice, "multiplexParameters", NULL);
17089
17090         return offset;
17091 }
17092
17093
17094
17095
17096
17097 static per_sequence_t MultiplePayloadStreamElement_sequence[] = {
17098         { "dataType", EXTENSION_ROOT, NOT_OPTIONAL,
17099                 dissect_h245_DataType },
17100         { "payloadType", EXTENSION_ROOT, OPTIONAL,
17101                 dissect_h245_payloadType },
17102         { NULL, 0, 0, NULL }
17103 };
17104 static int
17105 dissect_h245_MultiplePayloadStreamElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17106 {
17107         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplePayloadStreamElement, ett_h245_MultiplePayloadStreamElement, MultiplePayloadStreamElement_sequence);
17108
17109         return offset;
17110 }
17111
17112
17113
17114 static const value_string reverseLogicalChannelParameters_multiplexParameters_vals[] = {
17115         {  0, "h223LogicalChannelParameters" },
17116         {  1, "v76LogicalChannelParameters" },
17117         {  2, "h2250LogicalChannelParameters" },
17118         {  0, NULL }
17119 };
17120 static per_choice_t reverseLogicalChannelParameters_multiplexParameters_choice[] = {
17121         {  0, "h223LogicalChannelParameters", EXTENSION_ROOT,
17122                 dissect_h245_H223LogicalChannelParameters },
17123         {  1, "v76LogicalChannelParameters", EXTENSION_ROOT,
17124                 dissect_h245_V76LogicalChannelParameters },
17125         {  2, "h2250LogicalChannelParameters", NOT_EXTENSION_ROOT,
17126                 dissect_h245_H2250LogicalChannelParameters },
17127         {  0, NULL, 0, NULL }
17128 };
17129 static int
17130 dissect_h245_reverseLogicalChannelParameters_multiplexParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17131 {
17132         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_reverseLogicalChannelParameters_multiplexParameters, ett_h245_reverseLogicalChannelParameters_multiplexParameters, reverseLogicalChannelParameters_multiplexParameters_choice, "multiplexParameters", NULL);
17133
17134         return offset;
17135 }
17136
17137
17138
17139
17140 static const value_string OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_vals[] = {
17141         {  0, "h222LogicalChannelParameters" },
17142         {  1, "h2250LogicalChannelParameters" },
17143         {  0, NULL }
17144 };
17145 static per_choice_t OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_choice[] = {
17146         {  0, "h222LogicalChannelParameters", EXTENSION_ROOT,
17147                 dissect_h245_H222LogicalChannelParameters },
17148         {  1, "h2250LogicalChannelParameters", NOT_EXTENSION_ROOT,
17149                 dissect_h245_H2250LogicalChannelParameters },
17150         {  0, NULL, 0, NULL }
17151 };
17152 static int
17153 dissect_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17154 {
17155         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters, ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters, OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_choice, "multiplexParameters", NULL);
17156
17157         return offset;
17158 }
17159
17160
17161
17162
17163
17164 static per_sequence_t forwardLogicalChannelParameters_sequence[] = {
17165         { "portNumber", EXTENSION_ROOT, OPTIONAL,
17166                 dissect_h245_portNumber },
17167         { "dataType", EXTENSION_ROOT, NOT_OPTIONAL,
17168                 dissect_h245_DataType },
17169         { "multiplexParameters", EXTENSION_ROOT, NOT_OPTIONAL,
17170                 dissect_h245_forwardLogicalChannelParameters_multiplexParameters },
17171         { "forwardLogicalChannelDependency", NOT_EXTENSION_ROOT, OPTIONAL, 
17172                 dissect_h245_LogicalChannelNumber },
17173         { "replacementFor", NOT_EXTENSION_ROOT, OPTIONAL, 
17174                 dissect_h245_LogicalChannelNumber },
17175         { NULL, 0, 0, NULL }
17176 };
17177 static int
17178 dissect_h245_forwardLogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17179 {
17180         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_forwardLogicalChannelParameters, ett_h245_forwardLogicalChannelParameters, forwardLogicalChannelParameters_sequence);
17181
17182         return offset;
17183 }
17184
17185
17186
17187
17188 static per_sequence_t reverseLogicalChannelParameters_sequence[] = {
17189         { "dataType", EXTENSION_ROOT, NOT_OPTIONAL,
17190                 dissect_h245_DataType },
17191         { "multiplexParameters", EXTENSION_ROOT, OPTIONAL,
17192                 dissect_h245_reverseLogicalChannelParameters_multiplexParameters },
17193         { "reverseLogicalChannelDependency", NOT_EXTENSION_ROOT, OPTIONAL, 
17194                 dissect_h245_LogicalChannelNumber },
17195         { "replacementFor", NOT_EXTENSION_ROOT, OPTIONAL, 
17196                 dissect_h245_LogicalChannelNumber },
17197         { NULL, 0, 0, NULL }
17198 };
17199 static int
17200 dissect_h245_reverseLogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17201 {
17202         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_reverseLogicalChannelParameters, ett_h245_reverseLogicalChannelParameters, reverseLogicalChannelParameters_sequence);
17203
17204         return offset;
17205 }
17206
17207
17208
17209
17210
17211 static per_sequence_t OpenLogicalChannelAck_reverseLogicalChannelParameters_sequence[] = {
17212         { "reverseLogicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
17213                 dissect_h245_LogicalChannelNumber },
17214         { "portNumber", EXTENSION_ROOT, OPTIONAL,
17215                 dissect_h245_portNumber },
17216         { "multiplexParameters", EXTENSION_ROOT, OPTIONAL,
17217                 dissect_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters },
17218         { "replacementFor", NOT_EXTENSION_ROOT, OPTIONAL, 
17219                 dissect_h245_LogicalChannelNumber },
17220         { NULL, 0, 0, NULL }
17221 };
17222 static int
17223 dissect_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17224 {
17225         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters, ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters, OpenLogicalChannelAck_reverseLogicalChannelParameters_sequence);
17226
17227         return offset;
17228 }
17229
17230
17231
17232
17233 static int
17234 dissect_h245_VCCapability_set_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17235 {
17236         offset=dissect_per_set_of(tvb, offset, pinfo, tree, hf_h245_VCCapability_set_of, ett_h245_VCCapability_set_of, dissect_h245_VCCapability);
17237         return offset;
17238 }
17239
17240
17241
17242
17243 static per_sequence_t H222Capability_sequence[] = {
17244         { "numberOfVCs", EXTENSION_ROOT, NOT_OPTIONAL, 
17245                 dissect_h245_numberOfVCs },
17246         { "vcCapability", EXTENSION_ROOT, NOT_OPTIONAL,
17247                 dissect_h245_VCCapability_set_of },
17248         { NULL, 0, 0, NULL }
17249 };
17250 static int
17251 dissect_h245_H222Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17252 {
17253         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H222Capability, ett_h245_H222Capability, H222Capability_sequence);
17254
17255         return offset;
17256 }
17257
17258
17259
17260
17261 static const value_string MultiplexFormat_vals[] = {
17262         {  0, "nonStandard" },
17263         {  1, "h222Capability" },
17264         {  2, "h223Capability" },
17265         {  0, NULL }
17266 };
17267 static per_choice_t MultiplexFormat_choice[] = {
17268         {  0, "nonStandard", EXTENSION_ROOT,
17269                 dissect_h245_NonStandardParameter },
17270         {  1, "h222Capability", EXTENSION_ROOT,
17271                 dissect_h245_H222Capability },
17272         {  2, "h223Capability", EXTENSION_ROOT,
17273                 dissect_h245_H223Capability },
17274         {  0, NULL, 0, NULL }
17275 };
17276 static int
17277 dissect_h245_MultiplexFormat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17278 {
17279         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultiplexFormat, ett_h245_MultiplexFormat, MultiplexFormat_choice, "MultiplexFormat", NULL);
17280
17281         return offset;
17282 }
17283
17284
17285
17286
17287 static per_sequence_t MultiplexedStreamCapability_sequence[] = {
17288         { "multiplexFormat", EXTENSION_ROOT, NOT_OPTIONAL,
17289                 dissect_h245_MultiplexFormat },
17290         { "controlOnMuxStream", EXTENSION_ROOT, NOT_OPTIONAL, 
17291                 dissect_h245_controlOnMuxStream },
17292         { "capabilityOnMuxStream", EXTENSION_ROOT, OPTIONAL,
17293                 dissect_h245_capabilityOnMuxStream },
17294         { NULL, 0, 0, NULL }
17295 };
17296 static int
17297 dissect_h245_MultiplexedStreamCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17298 {
17299         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexedStreamCapability, ett_h245_MultiplexedStreamCapability, MultiplexedStreamCapability_sequence);
17300
17301         return offset;
17302 }
17303
17304
17305
17306
17307
17308 static const value_string Capability_vals[] = {
17309         {  0, "nonStandard" },
17310         {  1, "receiveVideoCapability" },
17311         {  2, "transmitVideoCapability" },
17312         {  3, "receiveAndTransmitVideoCapability" },
17313         {  4, "receiveAudioCapability" },
17314         {  5, "transmitAudioCapability" },
17315         {  6, "receiveAndTransmitAudioCapability" },
17316         {  7, "receiveDataApplicationCapability" },
17317         {  8, "transmitDataApplicationCapability" },
17318         {  9, "receiveAndTransmitDataApplicationCapability" },
17319         { 10, "h233EncryptionTransmitCapability" },
17320         { 11, "h233EncryptionReceiveCapability" },
17321         { 12, "conferenceCapability" },
17322         { 13, "h235SecurityCapability" },
17323         { 14, "maxPendingReplacementFor" },
17324         { 15, "receiveUserInputCapability" },
17325         { 16, "transmitUserInputCapability" },
17326         { 17, "receiveAndTransmitUserInputCapability" },
17327         { 18, "genericControlCapability" },
17328         { 19, "receiveMultiplexedStreamCapability" },
17329         { 20, "transmitMultiplexedStreamCapability" },
17330         { 21, "receiveAndTransmitMultiplexedStreamCapability" },
17331         { 22, "receiveRTPAudioTelephonyEventCapability" },
17332         { 23, "receiveRTPAudioToneCapability" },
17333         { 24, "fecCapability" },
17334         { 25, "multiplePayloadStreamCapability" },
17335         {  0, NULL }
17336 };
17337 static per_choice_t Capability_choice[] = {
17338         {  0, "nonStandard", EXTENSION_ROOT,
17339                 dissect_h245_NonStandardParameter },
17340         {  1, "receiveVideoCapability", EXTENSION_ROOT,
17341                 dissect_h245_VideoCapability },
17342         {  2, "transmitVideoCapability", EXTENSION_ROOT,
17343                 dissect_h245_VideoCapability },
17344         {  3, "receiveAndTransmitVideoCapability", EXTENSION_ROOT,
17345                 dissect_h245_VideoCapability },
17346         {  4, "receiveAudioCapability", EXTENSION_ROOT,
17347                 dissect_h245_AudioCapability },
17348         {  5, "transmitAudioCapability", EXTENSION_ROOT,
17349                 dissect_h245_AudioCapability },
17350         {  6, "receiveAndTransmitAudioCapability", EXTENSION_ROOT,
17351                 dissect_h245_AudioCapability },
17352         {  7, "receiveDataApplicationCapability", EXTENSION_ROOT,
17353                 dissect_h245_DataApplicationCapability },
17354         {  8, "transmitDataApplicationCapability", EXTENSION_ROOT,
17355                 dissect_h245_DataApplicationCapability },
17356         {  9, "receiveAndTransmitDataApplicationCapability", EXTENSION_ROOT,
17357                 dissect_h245_DataApplicationCapability },
17358         { 10, "h233EncryptionTransmitCapability", EXTENSION_ROOT, 
17359                 dissect_h245_h233EncryptionTransmitCapability },
17360         { 11, "h233EncryptionReceiveCapability", EXTENSION_ROOT,
17361                 dissect_h245_Capability_h233EncryptionReceiveCapability },
17362         { 12, "conferenceCapability", NOT_EXTENSION_ROOT,
17363                 dissect_h245_ConferenceCapability },
17364         { 13, "h235SecurityCapability" , NOT_EXTENSION_ROOT,
17365                 dissect_h245_H235SecurityCapability },
17366         { 14, "maxPendingReplacementFor", NOT_EXTENSION_ROOT,
17367                 dissect_h245_maxPendingReplacementFor },
17368         { 15, "receiveUserInputCapability", NOT_EXTENSION_ROOT,
17369                 dissect_h245_UserInputCapability },
17370         { 16, "transmitUserInputCapability", NOT_EXTENSION_ROOT,
17371                 dissect_h245_UserInputCapability },
17372         { 17, "receiveAndTransmitUserInputCapability", NOT_EXTENSION_ROOT,
17373                 dissect_h245_UserInputCapability },
17374         { 18, "genericControlCapability", NOT_EXTENSION_ROOT,
17375                 dissect_h245_GenericCapability },
17376         { 19, "receiveMultiplexedStreamCapability", NOT_EXTENSION_ROOT,
17377                 dissect_h245_MultiplexedStreamCapability },
17378         { 20, "transmitMultiplexedStreamCapability", NOT_EXTENSION_ROOT,
17379                 dissect_h245_MultiplexedStreamCapability },
17380         { 21, "receiveAndTransmitMultiplexedStreamCapability", NOT_EXTENSION_ROOT,
17381                 dissect_h245_MultiplexedStreamCapability },
17382         { 22, "receiveRTPAudioTelephonyEventCapability", NOT_EXTENSION_ROOT,
17383                 dissect_h245_AudioTelephonyEventCapability },
17384         { 23, "receiveRTPAudioToneCapability", NOT_EXTENSION_ROOT,
17385                 dissect_h245_AudioToneCapability },
17386         { 24, "fecCapability", NOT_EXTENSION_ROOT, 
17387                 dissect_h245_FECCapability },
17388         { 25, "multiplePayloadStreamCapability", NOT_EXTENSION_ROOT,
17389                 dissect_h245_MultiplePayloadStreamCapability },
17390         {  0, NULL, 0, NULL }
17391 };
17392 static int
17393 dissect_h245_Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17394 {
17395         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_Capability, ett_h245_Capability, Capability_choice, "Capability", NULL);
17396
17397         return offset;
17398 }
17399
17400
17401
17402 static per_sequence_t CapabilityTableEntry_sequence[] = {
17403         { "capabilityTableEntryNumber", NO_EXTENSIONS, NOT_OPTIONAL,
17404                 dissect_h245_CapabilityTableEntryNumber },
17405         { "capability", NO_EXTENSIONS, OPTIONAL,
17406                 dissect_h245_Capability },
17407         { NULL, 0, 0, NULL }
17408 };
17409 static int
17410 dissect_h245_CapabilityTableEntry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17411 {
17412         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CapabilityTableEntry, ett_h245_CapabilityTableEntry, CapabilityTableEntry_sequence);
17413
17414         return offset;
17415 }
17416
17417
17418
17419
17420 static per_sequence_t MultiplexedStreamParameter_sequence[] = {
17421         { "multiplexFormat", EXTENSION_ROOT, NOT_OPTIONAL,
17422                 dissect_h245_MultiplexFormat },
17423         { "controlOnMuxStream", EXTENSION_ROOT, NOT_OPTIONAL, 
17424                 dissect_h245_controlOnMuxStream },
17425         { NULL, 0, 0, NULL }
17426 };
17427 static int
17428 dissect_h245_MultiplexedStreamParameter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17429 {
17430         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexedStreamParameter, ett_h245_MultiplexedStreamParameter, MultiplexedStreamParameter_sequence);
17431
17432         return offset;
17433 }
17434
17435
17436
17437
17438
17439 static const value_string DataType_vals[] = {
17440         {  0, "nonStandard" },
17441         {  1, "nullData" },
17442         {  2, "videoData" },
17443         {  3, "audioData" },
17444         {  4, "data" },
17445         {  5, "encryptionData" },
17446         {  6, "h235Control" },
17447         {  7, "h235Media" },
17448         {  8, "multiplexedStream" },
17449         {  9, "redundancyEncoding" },
17450         { 10, "multiplePayloadStream" },
17451         { 11, "fec" },
17452         {  0, NULL }
17453 };
17454 static per_choice_t DataType_choice[] = {
17455         {  0, "nonStandard", EXTENSION_ROOT,
17456                 dissect_h245_NonStandardParameter },
17457         {  1, "nullData", EXTENSION_ROOT, 
17458                 dissect_h245_NULL },
17459         {  2, "videoData", EXTENSION_ROOT,
17460                 dissect_h245_VideoCapability },
17461         {  3, "audioData", EXTENSION_ROOT,
17462                 dissect_h245_AudioCapability },
17463         {  4, "data", EXTENSION_ROOT,
17464                 dissect_h245_DataApplicationCapability },
17465         {  5, "encryptionData", EXTENSION_ROOT,
17466                 dissect_h245_EncryptionMode },
17467         {  6, "h235Control", NOT_EXTENSION_ROOT,
17468                 dissect_h245_NonStandardParameter },
17469         {  7, "h235Media", NOT_EXTENSION_ROOT,
17470                 dissect_h245_H235Media },
17471         {  8, "multiplexedStream", NOT_EXTENSION_ROOT,
17472                 dissect_h245_MultiplexedStreamParameter },
17473         {  9, "redundancyEncoding", NOT_EXTENSION_ROOT,
17474                 dissect_h245_RedundancyEncoding },
17475         { 10, "multiplePayloadStream", NOT_EXTENSION_ROOT,
17476                 dissect_h245_MultiplePayloadStream },
17477         { 11, "fec", NOT_EXTENSION_ROOT, 
17478                 dissect_h245_FECData },
17479         {  0, NULL, 0, NULL }
17480 };
17481 static int
17482 dissect_h245_DataType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17483 {
17484         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DataType, ett_h245_DataType, DataType_choice, "DataType", NULL);
17485
17486         return offset;
17487 }
17488
17489
17490
17491
17492 static int dissect_h245_VBDMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
17493 static const value_string AudioMode_vals[] = {
17494         {  0, "nonStandard" },
17495         {  1, "g711Alaw64k" },
17496         {  2, "g711Alaw56k" },
17497         {  3, "g711Ulaw64k" },
17498         {  4, "g711Ulaw56k" },
17499         {  5, "g722-64k" },
17500         {  6, "g722-56k" },
17501         {  7, "g722-48k" },
17502         {  8, "g728" },
17503         {  9, "g729" },
17504         { 10, "g729AnnexA" },
17505         { 11, "g7231" },
17506         { 12, "is11172AudioMode" },
17507         { 13, "is13818AudioMode" },
17508         { 14, "g729wAnnexB" },
17509         { 15, "g729AnnexAwAnnexB" },
17510         { 16, "g7231AnnexCMode" },
17511         { 17, "gsmFullRate" },
17512         { 18, "gsmHalfRate" },
17513         { 19, "gsmEnhancedFullRate" },
17514         { 20, "genericAudioMode" },
17515         { 21, "g729Extensions" },
17516         { 22, "vbd" },
17517         {  0, NULL }
17518 };
17519 static per_choice_t AudioMode_choice[] = {
17520         {  0, "nonStandard", EXTENSION_ROOT,
17521                 dissect_h245_NonStandardParameter },
17522         {  1, "g711Alaw64k", EXTENSION_ROOT, 
17523                 dissect_h245_NULL },
17524         {  2, "g711Alaw56k", EXTENSION_ROOT, 
17525                 dissect_h245_NULL },
17526         {  3, "g711Ulaw64k", EXTENSION_ROOT, 
17527                 dissect_h245_NULL },
17528         {  4, "g711Ulaw56k", EXTENSION_ROOT, 
17529                 dissect_h245_NULL },
17530         {  5, "g722-64k", EXTENSION_ROOT, 
17531                 dissect_h245_NULL },
17532         {  6, "g722-56k", EXTENSION_ROOT, 
17533                 dissect_h245_NULL },
17534         {  7, "g722-48k", EXTENSION_ROOT, 
17535                 dissect_h245_NULL },
17536         {  8, "g728", EXTENSION_ROOT, 
17537                 dissect_h245_NULL },
17538         {  9, "g729", EXTENSION_ROOT, 
17539                 dissect_h245_NULL },
17540         { 10, "g729AnnexA", EXTENSION_ROOT, 
17541                 dissect_h245_NULL },
17542         { 11, "g7231", EXTENSION_ROOT, 
17543                 dissect_h245_AudioMode_g7231 },
17544         { 12, "is11172AudioMode", EXTENSION_ROOT, 
17545                 dissect_h245_IS11172AudioMode },
17546         { 13, "is13818AudioMode", EXTENSION_ROOT, 
17547                 dissect_h245_IS13818AudioMode },
17548         { 14, "g729wAnnexB", NOT_EXTENSION_ROOT,
17549                 dissect_h245_g729wAnnexB },
17550         { 15, "g729AnnexAwAnnexB", NOT_EXTENSION_ROOT,
17551                 dissect_h245_g729AnnexAwAnnexB },
17552         { 16, "g7231AnnexCMode", NOT_EXTENSION_ROOT,
17553                 dissect_h245_G7231AnnexCMode },
17554         { 17, "gsmFullRate", NOT_EXTENSION_ROOT,
17555                 dissect_h245_GSMAudioCapability },
17556         { 18, "gsmHalfRate", NOT_EXTENSION_ROOT,
17557                 dissect_h245_GSMAudioCapability },
17558         { 19, "gsmEnhancedFullRate", NOT_EXTENSION_ROOT,
17559                 dissect_h245_GSMAudioCapability },
17560         { 20, "genericAudioMode", NOT_EXTENSION_ROOT,
17561                 dissect_h245_GenericCapability },
17562         { 21, "g729Extensions", NOT_EXTENSION_ROOT,
17563                 dissect_h245_G729Extensions },
17564         { 22, "vbd", NOT_EXTENSION_ROOT,
17565                 dissect_h245_VBDMode },
17566         {  0, NULL, 0, NULL }
17567 };
17568 static int
17569 dissect_h245_AudioMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17570 {
17571         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_AudioMode, ett_h245_AudioMode, AudioMode_choice, "AudioMode", NULL);
17572
17573         return offset;
17574 }
17575
17576
17577
17578
17579 static const value_string RedundancyEncodingMode_secondaryEncoding_vals[] = {
17580         {  0, "nonStandard" },
17581         {  1, "audioData" },
17582         {  0, NULL }
17583 };
17584 static per_choice_t RedundancyEncodingMode_secondaryEncoding_choice[] = {
17585         {  0, "nonStandard", EXTENSION_ROOT,
17586                 dissect_h245_NonStandardParameter },
17587         {  1, "audioData", EXTENSION_ROOT,
17588                 dissect_h245_AudioMode },
17589         {  0, NULL, 0, NULL }
17590 };
17591 static int
17592 dissect_h245_RedundancyEncodingMode_secondaryEncoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17593 {
17594         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingMode_secondaryEncoding, ett_h245_RedundancyEncodingMode_secondaryEncoding, RedundancyEncodingMode_secondaryEncoding_choice, "secondaryEncoding", NULL);
17595
17596         return offset;
17597 }
17598
17599
17600
17601 static per_sequence_t RedundancyEncodingMode_sequence[] = {
17602         { "redundancyEncodingMethod", EXTENSION_ROOT, NOT_OPTIONAL,
17603                 dissect_h245_RedundancyEncodingMethod },
17604         { "secondaryEncoding", EXTENSION_ROOT, OPTIONAL,
17605                 dissect_h245_RedundancyEncodingMode_secondaryEncoding },
17606         { NULL, 0, 0, NULL }
17607 };
17608 static int
17609 dissect_h245_RedundancyEncodingMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17610 {
17611         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingMode, ett_h245_RedundancyEncodingMode, RedundancyEncodingMode_sequence);
17612
17613         return offset;
17614 }
17615
17616
17617
17618 static per_sequence_t H2250ModeParameters_sequence[] = {
17619         { "redundancyEncodingMode", EXTENSION_ROOT, OPTIONAL,
17620                 dissect_h245_RedundancyEncodingMode },
17621         { NULL, 0, 0, NULL }
17622 };
17623 static int
17624 dissect_h245_H2250ModeParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17625 {
17626         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250ModeParameters, ett_h245_H2250ModeParameters, H2250ModeParameters_sequence);
17627
17628         return offset;
17629 }
17630
17631
17632
17633
17634
17635 static per_sequence_t VBDMode_sequence[] = {
17636         { "type", EXTENSION_ROOT, NOT_OPTIONAL,
17637                 dissect_h245_AudioMode },
17638         { NULL, 0, 0, NULL }
17639 };
17640 static int
17641 dissect_h245_VBDMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17642 {
17643         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VBDMode, ett_h245_VBDMode, VBDMode_sequence);
17644
17645         return offset;
17646 }
17647
17648
17649
17650 static const value_string MultiplexCapability_vals[] = {
17651         {  0, "nonStandard" },
17652         {  1, "h222Capability" },
17653         {  2, "h223Capability" },
17654         {  3, "v76Capability" },
17655         {  4, "h2250Capability" },
17656         {  5, "genericMultiplexCapability" },
17657         {  0, NULL }
17658 };
17659 static per_choice_t MultiplexCapability_choice[] = {
17660         {  0, "nonStandard", EXTENSION_ROOT,
17661                 dissect_h245_NonStandardParameter },
17662         {  1, "h222Capability", EXTENSION_ROOT,
17663                 dissect_h245_H222Capability },
17664         {  2, "h223Capability", EXTENSION_ROOT,
17665                 dissect_h245_H223Capability },
17666         {  3, "v76Capability", EXTENSION_ROOT,
17667                 dissect_h245_V76Capability },
17668         {  4, "h2250Capability", NOT_EXTENSION_ROOT,
17669                 dissect_h245_H2250Capability },
17670         {  5, "genericMultiplexCapability", NOT_EXTENSION_ROOT,
17671                 dissect_h245_GenericCapability },
17672         {  0, NULL, 0, NULL }
17673 };
17674 static int
17675 dissect_h245_MultiplexCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17676 {
17677         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultiplexCapability, ett_h245_MultiplexCapability, MultiplexCapability_choice, "MultiplexCapability", NULL);
17678
17679         return offset;
17680 }
17681
17682
17683
17684
17685
17686 static per_sequence_t TerminalCapabilitySet_sequence[] = {
17687         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
17688                 dissect_h245_SequenceNumber },
17689         { "protocolIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
17690                 dissect_h245_protocolIdentifier },
17691         { "multiplexCapability", EXTENSION_ROOT, OPTIONAL,
17692                 dissect_h245_MultiplexCapability },
17693         { "capabilityTable", EXTENSION_ROOT, OPTIONAL,
17694                 dissect_h245_capabilityTable },
17695         { "capabilityDescriptors", EXTENSION_ROOT, OPTIONAL,
17696                 dissect_h245_capabilityDescriptors },
17697         { NULL, 0, 0, NULL }
17698 };
17699 static int
17700 dissect_h245_TerminalCapabilitySet(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17701 {
17702         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySet, ett_h245_TerminalCapabilitySet, TerminalCapabilitySet_sequence);
17703
17704         return offset;
17705 }
17706
17707
17708
17709
17710
17711
17712 static per_sequence_t ConferenceResponse_terminalIDResponse_sequence[] = {
17713         { "terminalLabel", EXTENSION_ROOT, NOT_OPTIONAL,
17714                 dissect_h245_TerminalLabel },
17715         { "terminalID", EXTENSION_ROOT, NOT_OPTIONAL,
17716                 dissect_h245_TerminalID },
17717         { NULL, 0, 0, NULL }
17718 };
17719 static int
17720 dissect_h245_ConferenceResponse_terminalIDResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17721 {
17722         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_terminalIDResponse, ett_h245_ConferenceResponse_terminalIDResponse, ConferenceResponse_terminalIDResponse_sequence);
17723
17724         return offset;
17725 }
17726
17727
17728
17729
17730
17731 static const value_string ConferenceResponse_vals[] = {
17732         {  0, "mCTerminalIDResponse" },
17733         {  1, "terminalIDResponse" },
17734         {  2, "conferenceIDResponse" },
17735         {  3, "passwordResponse" },
17736         {  4, "terminalListResponse" },
17737         {  5, "videoCommandReject" },
17738         {  6, "terminalDropReject" },
17739         {  7, "makeMeChairResponse" },
17740         {  8, "extensionAddressResponse" },
17741         {  9, "chairTokenOwnerResponse" },
17742         { 10, "terminalCertificateResponse" },
17743         { 11, "broadcastMyLogicalChannelResponse" },
17744         { 12, "makeTerminalBroadcasterResponse" },
17745         { 13, "sendThisSourceResponse" },
17746         { 14, "requestAllTerminalIDsResponse" },
17747         { 15, "remoteMCResponse" },
17748         {  0, NULL }
17749 };
17750 static per_choice_t ConferenceResponse_choice[] = {
17751         {  0, "mCTerminalIDResponse", EXTENSION_ROOT,
17752                 dissect_h245_ConferenceResponse_mCterminalIDResponse },
17753         {  1, "terminalIDResponse", EXTENSION_ROOT,
17754                 dissect_h245_ConferenceResponse_terminalIDResponse },
17755         {  2, "conferenceIDResponse", EXTENSION_ROOT,
17756                 dissect_h245_ConferenceResponse_conferenceIDResponse },
17757         {  3, "passwordResponse", EXTENSION_ROOT,
17758                 dissect_h245_ConferenceResponse_passwordResponse },
17759         {  4, "terminalListResponse", EXTENSION_ROOT,
17760                 dissect_h245_terminalListResponse },
17761         {  5, "videoCommandReject", EXTENSION_ROOT, 
17762                 dissect_h245_NULL },
17763         {  6, "terminalDropReject", EXTENSION_ROOT, 
17764                 dissect_h245_NULL },
17765         {  7, "makeMeChairResponse", EXTENSION_ROOT, 
17766                 dissect_h245_ConferenceResponse_makeMeChairResponse },
17767         {  8, "extensionAddressResponse", NOT_EXTENSION_ROOT,
17768                 dissect_h245_ConferenceResponse_extensionAddressResponse },
17769         {  9, "chairTokenOwnerResponse", NOT_EXTENSION_ROOT,
17770                 dissect_h245_ConferenceResponse_chairTokenOwnerResponse },
17771         { 10, "terminalCertificateResponse", NOT_EXTENSION_ROOT,
17772                 dissect_h245_ConferenceResponse_terminalCertificateResponse },
17773         { 11, "broadcastMyLogicalChannelResponse", NOT_EXTENSION_ROOT, 
17774                 dissect_h245_ConferenceResponse_broadcastMyLogicalChannelResponse },
17775         { 12, "makeTerminalBroadcasterResponse", NOT_EXTENSION_ROOT, 
17776                 dissect_h245_ConferenceResponse_makeTerminalBroadcasterResponse },
17777         { 13, "sendThisSourceResponse", NOT_EXTENSION_ROOT, 
17778                 dissect_h245_ConferenceResponse_sendThisSourceResponse },
17779         { 14, "requestAllTerminalIDsResponse", NOT_EXTENSION_ROOT,
17780                 dissect_h245_RequestAllTerminalIDsResponse },
17781         { 15, "remoteMCResponse", NOT_EXTENSION_ROOT, 
17782                 dissect_h245_RemoteMCResponse },
17783         {  0, NULL, 0, NULL }
17784 };
17785 static int
17786 dissect_h245_ConferenceResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17787 {
17788         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse, ett_h245_ConferenceResponse, ConferenceResponse_choice, "ConferenceResponse", NULL);
17789
17790         return offset;
17791 }
17792
17793
17794
17795
17796
17797 static const value_string H261VideoMode_resolution_vals[] = {
17798         {  0, "qcif" },
17799         {  1, "cif" },
17800         {  0, NULL }
17801 };
17802 static per_choice_t H261VideoMode_resolution_choice[] = {
17803         {  0, "qcif", NO_EXTENSIONS,
17804                 dissect_h245_NULL },
17805         {  1, "cif", NO_EXTENSIONS,
17806                 dissect_h245_NULL },
17807         {  0, NULL, 0, NULL }
17808 };
17809 static int
17810 dissect_h245_H261VideoMode_resolution(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17811 {
17812         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H261VideoMode_resolution, ett_h245_H261VideoMode_resolution, H261VideoMode_resolution_choice, "resolution", NULL);
17813
17814         return offset;
17815 }
17816
17817
17818
17819
17820 static per_sequence_t H261VideoMode_sequence[] = {
17821         { "resolution", EXTENSION_ROOT, NOT_OPTIONAL,
17822                 dissect_h245_H261VideoMode_resolution },
17823         { "bitRate", EXTENSION_ROOT, NOT_OPTIONAL,
17824                 dissect_h245_h223bitRate },
17825         { "stillImageTransmission", EXTENSION_ROOT, NOT_OPTIONAL, 
17826                 dissect_h245_stillImageTransmission },
17827         { NULL, 0, 0, NULL }
17828 };
17829 static int
17830 dissect_h245_H261VideoMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17831 {
17832         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H261VideoMode, ett_h245_H261VideoMode, H261VideoMode_sequence);
17833
17834         return offset;
17835 }
17836
17837
17838
17839
17840 static const value_string VideoMode_vals[] = {
17841         {  0, "nonStandard" },
17842         {  1, "h261VideoMode" },
17843         {  2, "h262VideoMode" },
17844         {  3, "h263VideoMode" },
17845         {  4, "is11172VideoMode" },
17846         {  5, "genericVideoMode" },
17847         {  0, NULL }
17848 };
17849 static per_choice_t VideoMode_choice[] = {
17850         {  0, "nonStandard", EXTENSION_ROOT,
17851                 dissect_h245_NonStandardParameter },
17852         {  1, "h261VideoMode", EXTENSION_ROOT,
17853                 dissect_h245_H261VideoMode },
17854         {  2, "h262VideoMode", EXTENSION_ROOT,
17855                 dissect_h245_H262VideoMode },
17856         {  3, "h263VideoMode", EXTENSION_ROOT,
17857                 dissect_h245_H263VideoMode },
17858         {  4, "is11172VideoMode", EXTENSION_ROOT, 
17859                 dissect_h245_IS11172VideoMode},
17860         {  5, "genericVideoMode", NOT_EXTENSION_ROOT,
17861                 dissect_h245_GenericCapability },
17862         {  0, NULL, 0, NULL }
17863 };
17864 static int
17865 dissect_h245_VideoMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17866 {
17867         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_VideoMode, ett_h245_VideoMode, VideoMode_choice, "VideoMode", NULL);
17868
17869         return offset;
17870 }
17871
17872
17873
17874
17875 static const value_string H235Mode_mediaMode_vals[] = {
17876         {  0, "nonStandard" },
17877         {  1, "videoMode" },
17878         {  2, "audioMode" },
17879         {  3, "dataMode" },
17880         {  0, NULL }
17881 };
17882 static per_choice_t H235Mode_mediaMode_choice[] = {
17883         {  0, "nonStandard", EXTENSION_ROOT,
17884                 dissect_h245_NonStandardParameter },
17885         {  1, "videoMode", EXTENSION_ROOT,
17886                 dissect_h245_VideoMode },
17887         {  2, "audioMode", EXTENSION_ROOT,
17888                 dissect_h245_AudioMode },
17889         {  3, "dataMode", EXTENSION_ROOT,
17890                 dissect_h245_DataMode },
17891         {  0, NULL, 0, NULL }
17892 };
17893 static int
17894 dissect_h245_H235Mode_mediaMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17895 {
17896         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H235Mode_mediaMode, ett_h245_H235Mode_mediaMode, H235Mode_mediaMode_choice, "mediaMode", NULL);
17897
17898         return offset;
17899 }
17900
17901
17902
17903
17904 static per_sequence_t H235Mode_sequence[] = {
17905         { "encryptionAuthenticationAndIntegrity", EXTENSION_ROOT, NOT_OPTIONAL,
17906                 dissect_h245_EncryptionAuthenticationAndIntegrity },
17907         { "mediaMode", EXTENSION_ROOT, NOT_OPTIONAL,
17908                 dissect_h245_H235Mode_mediaMode },
17909         { NULL, 0, 0, NULL }
17910 };
17911 static int
17912 dissect_h245_H235Mode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17913 {
17914         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H235Mode, ett_h245_H235Mode, H235Mode_sequence);
17915
17916         return offset;
17917 }
17918
17919
17920
17921
17922
17923 static const value_string RedundancyEncodingDTModeElement_type_vals[] = {
17924         {  0, "nonStandard" },
17925         {  1, "videoMode" },
17926         {  2, "audioMode" },
17927         {  3, "dataMode" },
17928         {  4, "encryptionMode" },
17929         {  5, "h235Mode" },
17930         {  0, NULL }
17931 };
17932 static per_choice_t RedundancyEncodingDTModeElement_type_choice[] = {
17933         {  0, "nonStandard", EXTENSION_ROOT,
17934                 dissect_h245_NonStandardParameter },
17935         {  1, "videoMode", EXTENSION_ROOT,
17936                 dissect_h245_VideoMode },
17937         {  2, "audioMode", EXTENSION_ROOT,
17938                 dissect_h245_AudioMode },
17939         {  3, "dataMode", EXTENSION_ROOT, 
17940                 dissect_h245_DataMode },
17941         {  4, "encryptionMode", EXTENSION_ROOT,
17942                 dissect_h245_EncryptionMode },
17943         {  5, "h235Mode", EXTENSION_ROOT,
17944                 dissect_h245_H235Mode },
17945         {  0, NULL, 0, NULL }
17946 };
17947 static int
17948 dissect_h245_RedundancyEncodingDTModeElement_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17949 {
17950         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingDTModeElement_type, ett_h245_RedundancyEncodingDTModeElement_type, RedundancyEncodingDTModeElement_type_choice, "type", NULL);
17951
17952         return offset;
17953 }
17954
17955
17956
17957
17958 static per_sequence_t RedundancyEncodingDTModeElement_sequence[] = {
17959         { "type", EXTENSION_ROOT, NOT_OPTIONAL,
17960                 dissect_h245_RedundancyEncodingDTModeElement_type },
17961         { NULL, 0, 0, NULL }
17962 };
17963 static int
17964 dissect_h245_RedundancyEncodingDTModeElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17965 {
17966         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingDTModeElement, ett_h245_RedundancyEncodingDTModeElement, RedundancyEncodingDTModeElement_sequence);
17967
17968         return offset;
17969 }
17970
17971
17972
17973
17974
17975 static per_sequence_t RedundancyEncodingDTMode_sequence[] = {
17976         { "redundancyEncodingMethod", EXTENSION_ROOT, NOT_OPTIONAL,
17977                 dissect_h245_RedundancyEncodingMethod },
17978         { "primary", EXTENSION_ROOT, NOT_OPTIONAL,
17979                 dissect_h245_RedundancyEncodingDTModeElement },
17980         { "secondary", EXTENSION_ROOT, NOT_OPTIONAL,
17981                 dissect_h245_secondary_REDTME_sequence_of },
17982         { NULL, 0, 0, NULL }
17983 };
17984 static int
17985 dissect_h245_RedundancyEncodingDTMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17986 {
17987         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingDTMode, ett_h245_RedundancyEncodingDTMode, RedundancyEncodingDTMode_sequence);
17988
17989         return offset;
17990 }
17991
17992
17993
17994
17995 static int dissect_h245_FECMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
17996 static const value_string ModeElementType_vals[] = {
17997         {  0, "nonStandard" },
17998         {  1, "videoMode" },
17999         {  2, "audioMode" },
18000         {  3, "dataMode" },
18001         {  4, "encryptionMode" },
18002         {  5, "h235Mode" },
18003         {  6, "multiplexedStreamMode" },
18004         {  7, "redundancyEncodingDTMode" },
18005         {  8, "multiplePayloadStreamMode" },
18006         {  9, "fecMode" },
18007         {  0, NULL }
18008 };
18009 static per_choice_t ModeElementType_choice[] = {
18010         {  0, "nonStandard", EXTENSION_ROOT,
18011                 dissect_h245_NonStandardParameter },
18012         {  1, "videoMode", EXTENSION_ROOT,
18013                 dissect_h245_VideoMode },
18014         {  2, "audioMode", EXTENSION_ROOT,
18015                 dissect_h245_AudioMode },
18016         {  3, "dataMode", EXTENSION_ROOT,
18017                 dissect_h245_DataMode },
18018         {  4, "encryptionMode", EXTENSION_ROOT,
18019                 dissect_h245_EncryptionMode },
18020         {  5, "h235Mode", NOT_EXTENSION_ROOT,
18021                 dissect_h245_H235Mode },
18022         {  6, "multiplexedStreamMode", NOT_EXTENSION_ROOT,
18023                 dissect_h245_MultiplexedStreamParameter },
18024         {  7, "redundancyEncodingDTMode", NOT_EXTENSION_ROOT,
18025                 dissect_h245_RedundancyEncodingDTMode },
18026         {  8, "multiplePayloadStreamMode", NOT_EXTENSION_ROOT,
18027                 dissect_h245_MultiplePayloadStreamMode },
18028         {  9, "fecMode", NOT_EXTENSION_ROOT,
18029                 dissect_h245_FECMode },
18030         {  0, NULL, 0, NULL }
18031 };
18032 static int
18033 dissect_h245_ModeElementType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18034 {
18035         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ModeElementType, ett_h245_ModeElementType, ModeElementType_choice, "ModeElementType", NULL);
18036
18037         return offset;
18038 }
18039
18040
18041
18042
18043 static per_sequence_t MultiplePayloadStreamElementMode_sequence[] = {
18044         { "type", EXTENSION_ROOT, NOT_OPTIONAL,
18045                 dissect_h245_ModeElementType },
18046         { NULL, 0, 0, NULL }
18047 };
18048 static int
18049 dissect_h245_MultiplePayloadStreamElementMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18050 {
18051         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplePayloadStreamElementMode, ett_h245_MultiplePayloadStreamElementMode, MultiplePayloadStreamElementMode_sequence);
18052
18053         return offset;
18054 }
18055
18056
18057
18058
18059
18060 static per_sequence_t FECMode_rfc2733Mode_mode_separateStream_samePort_sequence[] = {
18061         { "protectedType", EXTENSION_ROOT, NOT_OPTIONAL,
18062                 dissect_h245_ModeElementType },
18063         { NULL, 0, 0, NULL }
18064 };
18065 static int
18066 dissect_h245_FECMode_rfc2733Mode_mode_separateStream_samePort(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18067 {
18068         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);
18069
18070         return offset;
18071 }
18072
18073
18074
18075 static const value_string FECMode_rfc2733Mode_mode_separateStream_vals[] = {
18076         {  0, "differentPort" },
18077         {  1, "samePort" },
18078         {  0, NULL }
18079 };
18080 static per_choice_t FECMode_rfc2733Mode_mode_separateStream_choice[] = {
18081         {  0, "differentPort", EXTENSION_ROOT,
18082                 dissect_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort },
18083         {  1, "samePort", EXTENSION_ROOT,
18084                 dissect_h245_FECMode_rfc2733Mode_mode_separateStream_samePort },
18085         {  0, NULL, 0, NULL }
18086 };
18087 static int
18088 dissect_h245_FECMode_rfc2733Mode_mode_separateStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18089 {
18090         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);
18091
18092         return offset;
18093 }
18094
18095
18096
18097
18098
18099 static const value_string FECMode_rfc2733Mode_mode_vals[] = {
18100         {  0, "redundancyEncoding" },
18101         {  1, "separateStream" },
18102         {  0, NULL }
18103 };
18104 static per_choice_t FECMode_rfc2733Mode_mode_choice[] = {
18105         {  0, "redundancyEncoding", EXTENSION_ROOT, 
18106                 dissect_h245_NULL },
18107         {  1, "separateStream", EXTENSION_ROOT,
18108                 dissect_h245_FECMode_rfc2733Mode_mode_separateStream },
18109         {  0, NULL, 0, NULL }
18110 };
18111 static int
18112 dissect_h245_FECMode_rfc2733Mode_mode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18113 {
18114         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FECMode_rfc2733Mode_mode, ett_h245_FECMode_rfc2733Mode_mode, FECMode_rfc2733Mode_mode_choice, "mode", NULL);
18115
18116         return offset;
18117 }
18118
18119
18120
18121 static per_sequence_t FECMode_rfc2733Mode_sequence[] = {
18122         { "mode", EXTENSION_ROOT, NOT_OPTIONAL,
18123                 dissect_h245_FECMode_rfc2733Mode_mode },
18124         { NULL, 0, 0, NULL }
18125 };
18126 static int
18127 dissect_h245_FECMode_rfc2733Mode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18128 {
18129         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FECMode_rfc2733Mode, ett_h245_FECMode_rfc2733Mode, FECMode_rfc2733Mode_sequence);
18130
18131         return offset;
18132 }
18133
18134
18135
18136
18137 static const value_string FECMode_vals[] = {
18138         {  0, "rfc2733Mode" },
18139         {  0, NULL }
18140 };
18141 static per_choice_t FECMode_choice[] = {
18142         {  0, "rfc2733Mode", EXTENSION_ROOT,
18143                 dissect_h245_FECMode_rfc2733Mode },
18144         {  0, NULL, 0, NULL }
18145 };
18146 static int
18147 dissect_h245_FECMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18148 {
18149         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FECMode, ett_h245_FECMode, FECMode_choice, "FECMode", NULL);
18150
18151         return offset;
18152 }
18153
18154
18155
18156
18157 static int dissect_h245_RequestMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
18158 static int dissect_h245_ResponseMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
18159 static int dissect_h245_CommandMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
18160 static const value_string FunctionNotUnderstood_vals[] = {
18161         {  0, "request" },
18162         {  1, "response" },
18163         {  2, "command" },
18164         {  0, NULL }
18165 };
18166 static per_choice_t FunctionNotUnderstood_choice[] = {
18167         {  0, "request", NO_EXTENSIONS,
18168                 dissect_h245_RequestMessage },
18169         {  1, "response", NO_EXTENSIONS,
18170                 dissect_h245_ResponseMessage },
18171         {  2, "command", NO_EXTENSIONS,
18172                 dissect_h245_CommandMessage },
18173         {  0, NULL, 0, NULL }
18174 };
18175 static int
18176 dissect_h245_FunctionNotUnderstood(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18177 {
18178         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FunctionNotUnderstood, ett_h245_FunctionNotUnderstood, FunctionNotUnderstood_choice, "FunctionNotUnderstood", NULL);
18179
18180         return offset;
18181 }
18182
18183
18184
18185 static int
18186 dissect_h245_signalType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18187 {
18188         offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h245_signalType, 1, 128, "!#*0123456789ABCD", 17);
18189
18190         return offset;
18191 }
18192
18193
18194
18195
18196
18197
18198
18199 static per_sequence_t UserInputIndication_signal_sequence[] = {
18200         { "signalType", EXTENSION_ROOT, NOT_OPTIONAL,
18201                 dissect_h245_signalType },
18202         { "duration", EXTENSION_ROOT, OPTIONAL,
18203                 dissect_h245_duration },
18204         { "rtp", EXTENSION_ROOT, OPTIONAL,
18205                 dissect_h245_UserInputIndication_signal_rtp },
18206         { "rtpPayloadIndication", NOT_EXTENSION_ROOT, OPTIONAL, 
18207                 dissect_h245_NULL },
18208         { NULL, 0, 0, NULL }
18209 };
18210 static int
18211 dissect_h245_UserInputIndication_signal(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18212 {
18213         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_signal, ett_h245_UserInputIndication_signal, UserInputIndication_signal_sequence);
18214
18215         return offset;
18216 }
18217
18218
18219
18220
18221 static const value_string UserInputIndication_vals[] = {
18222         {  0, "nonStandard" },
18223         {  1, "alphanumeric" },
18224         {  2, "userInputSupportIndication" },
18225         {  3, "signal" },
18226         {  4, "signalUpdate" },
18227         {  5, "extendedAlphanumeric" },
18228         {  0, NULL }
18229 };
18230 static per_choice_t UserInputIndication_choice[] = {
18231         {  0, "nonStandard", EXTENSION_ROOT,
18232                 dissect_h245_NonStandardParameter },
18233         {  1, "alphanumeric", EXTENSION_ROOT,
18234                 dissect_h245_alphanumeric },
18235         {  2, "userInputSupportIndication", NOT_EXTENSION_ROOT,
18236                 dissect_h245_UserInputIndication_userInputSupportIndication },
18237         {  3, "signal", NOT_EXTENSION_ROOT,
18238                 dissect_h245_UserInputIndication_signal },
18239         {  4, "signalUpdate", NOT_EXTENSION_ROOT,
18240                 dissect_h245_UserInputIndication_signalUpdate },
18241         {  5, "extendedAlphanumeric", NOT_EXTENSION_ROOT,
18242                 dissect_h245_UserInputIndication_extendedAlphanumeric },
18243         {  0, NULL, 0, NULL }
18244 };
18245 static int
18246 dissect_h245_UserInputIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18247 {
18248         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_UserInputIndication, ett_h245_UserInputIndication, UserInputIndication_choice, "UserInputIndication", NULL);
18249
18250         return offset;
18251 }
18252
18253
18254
18255
18256
18257 static per_sequence_t TerminalCapabilitySetRelease_sequence[] = {
18258         { NULL, EXTENSION_ROOT, NOT_OPTIONAL, NULL }
18259 };
18260 static int
18261 dissect_h245_TerminalCapabilitySetRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18262 {
18263         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySetRelease, ett_h245_TerminalCapabilitySetRelease, TerminalCapabilitySetRelease_sequence);
18264
18265         return offset;
18266 }
18267
18268
18269
18270 static int
18271 dissect_h245_internationalNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18272 {
18273         offset=dissect_per_NumericString(tvb, offset, pinfo, tree, hf_h245_internationalNumber, 1, 16);
18274         return offset;
18275 }
18276
18277
18278
18279
18280
18281 static const value_string Q2931Address_address_vals[] = {
18282         {  0, "internationalNumber" },
18283         {  1, "nsapAddress" },
18284         {  0, NULL }
18285 };
18286 static per_choice_t Q2931Address_address_choice[] = {
18287         {  0, "internationalNumber", EXTENSION_ROOT,
18288                 dissect_h245_internationalNumber },
18289         {  1, "nsapAddress", EXTENSION_ROOT, 
18290                 dissect_h245_nsapAddress},
18291         {  0, NULL, 0, NULL }
18292 };
18293 static int
18294 dissect_h245_Q2931Address_address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18295 {
18296         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_Q2931Address_address, ett_h245_Q2931Address_address, Q2931Address_address_choice, "address", NULL);
18297
18298         return offset;
18299 }
18300
18301
18302
18303
18304
18305 static per_sequence_t Q2931Address_sequence[] = {
18306         { "address", EXTENSION_ROOT, NOT_OPTIONAL,
18307                 dissect_h245_Q2931Address_address },
18308         { "subaddress", EXTENSION_ROOT, OPTIONAL,
18309                 dissect_h245_subaddress_1_20 },
18310         { NULL, 0, 0, NULL }
18311 };
18312 static int
18313 dissect_h245_Q2931Address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18314 {
18315         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_Q2931Address, ett_h245_Q2931Address, Q2931Address_sequence);
18316
18317         return offset;
18318 }
18319
18320
18321
18322
18323 static int
18324 dissect_h245_e164Address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18325 {
18326         offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h245_e164Address, 1, 128, "#*,0123456789", 13);
18327
18328         return offset;
18329 }
18330
18331
18332
18333
18334 static const value_string NetworkAccessParameters_networkAddress_vals[] = {
18335         {  0, "q2931Address" },
18336         {  1, "e164Address" },
18337         {  2, "localAreaAddress" },
18338         {  0, NULL }
18339 };
18340 static per_choice_t NetworkAccessParameters_networkAddress_choice[] = {
18341         {  0, "q2931Address", EXTENSION_ROOT,
18342                 dissect_h245_Q2931Address },
18343         {  1, "e164Address", EXTENSION_ROOT,
18344                 dissect_h245_e164Address },
18345         {  2, "localAreaAddress", EXTENSION_ROOT, 
18346                 dissect_h245_localAreaAddress },
18347         {  0, NULL, 0, NULL }
18348 };
18349 static int
18350 dissect_h245_NetworkAccessParameters_networkAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18351 {
18352         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NetworkAccessParameters_networkAddress, ett_h245_NetworkAccessParameters_networkAddress, NetworkAccessParameters_networkAddress_choice, "networkAddress", NULL);
18353
18354         return offset;
18355 }
18356
18357
18358
18359
18360
18361 static per_sequence_t NetworkAccessParameters_sequence[] = {
18362         { "distribution", EXTENSION_ROOT, OPTIONAL, 
18363                 dissect_h245_NetworkAccessParameters_distribution },
18364         { "networkAddress", EXTENSION_ROOT, NOT_OPTIONAL,
18365                 dissect_h245_NetworkAccessParameters_networkAddress },
18366         { "associateConference", EXTENSION_ROOT, NOT_OPTIONAL, 
18367                 dissect_h245_associateConference},
18368         { "externalReference", EXTENSION_ROOT, OPTIONAL,
18369                 dissect_h245_externalReference },
18370         { "t120SetupProcedure", NOT_EXTENSION_ROOT, OPTIONAL, 
18371                 dissect_h245_NetworkAccessParameters_t120SetupProcedure },
18372         { NULL, 0, 0, NULL }
18373 };
18374 static int
18375 dissect_h245_NetworkAccessParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18376 {
18377         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NetworkAccessParameters, ett_h245_NetworkAccessParameters, NetworkAccessParameters_sequence);
18378
18379         return offset;
18380 }
18381
18382
18383
18384
18385
18386 static per_sequence_t OpenLogicalChannel_sequence[] = {
18387         { "forwardLogicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
18388                 dissect_h245_LogicalChannelNumber },
18389         { "forwardLogicalChannelParameters", EXTENSION_ROOT, NOT_OPTIONAL,
18390                 dissect_h245_forwardLogicalChannelParameters },
18391         { "reverseLogicalChannelParameters", EXTENSION_ROOT, OPTIONAL,
18392                 dissect_h245_reverseLogicalChannelParameters },
18393         { "separateStack", NOT_EXTENSION_ROOT, OPTIONAL,
18394                 dissect_h245_NetworkAccessParameters },
18395         { "encryptionSync", NOT_EXTENSION_ROOT, OPTIONAL,
18396                 dissect_h245_EncryptionSync },
18397         { NULL, 0, 0, NULL }
18398 };
18399 int
18400 dissect_h245_OpenLogicalChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18401 {
18402         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannel, ett_h245_OpenLogicalChannel, OpenLogicalChannel_sequence);
18403
18404         return offset;
18405 }
18406
18407
18408
18409
18410 static per_sequence_t OpenLogicalChannelAck_sequence[] = {
18411         { "forwardLogicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
18412                 dissect_h245_LogicalChannelNumber },
18413         { "reverseLogicalChannelParameters", EXTENSION_ROOT, OPTIONAL,
18414                 dissect_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters },
18415         { "separateStack", NOT_EXTENSION_ROOT, OPTIONAL,
18416                 dissect_h245_NetworkAccessParameters },
18417         { "forwardMultiplexAckParameters", NOT_EXTENSION_ROOT, OPTIONAL,
18418                 dissect_h245_forwardMultiplexAckParameters},
18419         { "encryptionSync", NOT_EXTENSION_ROOT, OPTIONAL,
18420                 dissect_h245_EncryptionSync},
18421         { NULL, 0, 0, NULL }
18422 };
18423 static int
18424 dissect_h245_OpenLogicalChannelAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18425 {
18426         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelAck, ett_h245_OpenLogicalChannelAck, OpenLogicalChannelAck_sequence);
18427
18428         return offset;
18429 }
18430
18431
18432
18433
18434 static int
18435 dissect_h245_escrowValue(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18436 {
18437 NOT_DECODED_YET("escrowValue");
18438         return offset;
18439 }
18440
18441
18442
18443
18444
18445 static per_sequence_t EscrowData_sequence[] = {
18446         { "escrowID", EXTENSION_ROOT, NOT_OPTIONAL,
18447                 dissect_h245_escrowID },
18448         { "escrowValue", EXTENSION_ROOT, NOT_OPTIONAL,
18449                 dissect_h245_escrowValue },
18450         { NULL, 0, 0, NULL }
18451 };
18452 static int
18453 dissect_h245_EscrowData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18454 {
18455         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EscrowData, ett_h245_EscrowData, EscrowData_sequence);
18456
18457         return offset;
18458 }
18459
18460
18461
18462
18463
18464
18465
18466
18467
18468 static const value_string RequestModeAck_response_decision_vals[] = {
18469         {  0, "willTransmitMostPreferredMode" },
18470         {  1, "willTransmitLessPreferredMode" },
18471         {  0, NULL }
18472 };
18473 static per_choice_t RequestModeAck_response_decision_choice[] = {
18474         {  0, "willTransmitMostPreferredMode", EXTENSION_ROOT, 
18475                 dissect_h245_NULL },
18476         {  1, "willTransmitLessPreferredMode", EXTENSION_ROOT, 
18477                 dissect_h245_NULL },
18478         {  0, NULL, 0, NULL }
18479 };
18480 static int
18481 dissect_h245_RequestModeAck_response_decision(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18482 {
18483         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestModeAck_response_decision, ett_h245_RequestModeAck_response_decision, RequestModeAck_response_decision_choice, "decision", NULL);
18484
18485         return offset;
18486 }
18487
18488
18489
18490
18491
18492 static per_sequence_t RequestModeAck_sequence[] = {
18493         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
18494                 dissect_h245_SequenceNumber },
18495         { "response", EXTENSION_ROOT, NOT_OPTIONAL,
18496                 dissect_h245_RequestModeAck_response_decision },
18497         { NULL, 0, 0, NULL }
18498 };
18499 static int
18500 dissect_h245_RequestModeAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18501 {
18502         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestModeAck, ett_h245_RequestModeAck, RequestModeAck_sequence);
18503
18504         return offset;
18505 }
18506
18507
18508
18509
18510 static per_sequence_t RequestModeRelease_sequence[] = {
18511         { NULL, EXTENSION_ROOT, 0, NULL }
18512 };
18513 static int
18514 dissect_h245_RequestModeRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18515 {
18516         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestModeRelease, ett_h245_RequestModeRelease, RequestModeRelease_sequence);
18517
18518         return offset;
18519 }
18520
18521
18522
18523 static per_sequence_t MaintenanceLoopOffCommand_sequence[] = {
18524         { NULL, EXTENSION_ROOT, 0, NULL }
18525 };
18526 static int
18527 dissect_h245_MaintenanceLoopOffCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18528 {
18529         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopOffCommand, ett_h245_MaintenanceLoopOffCommand, MaintenanceLoopOffCommand_sequence);
18530
18531         return offset;
18532 }
18533
18534
18535
18536
18537 static per_sequence_t CommunicationModeRequest_sequence[] = {
18538         { NULL, EXTENSION_ROOT, 0, NULL }
18539 };
18540 static int
18541 dissect_h245_CommunicationModeRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18542 {
18543         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CommunicationModeRequest, ett_h245_CommunicationModeRequest, CommunicationModeRequest_sequence);
18544
18545         return offset;
18546 }
18547
18548
18549
18550
18551
18552
18553 static const value_string IndicationMessage_vals[] = {
18554         {  0,   "NonStandardMessage" },
18555         {  1,   "FunctionNotUnderstood" },
18556         {  2,   "MasterSlaveDeterminationRelease" },
18557         {  3,   "TerminalCapabilitySetRelease" },
18558         {  4,   "OpenLogicalChannelConfirm" },
18559         {  5,   "RequestChannelCloseRelease" },
18560         {  6,   "MultiplexEntrySendRelease" },
18561         {  7,   "RequestMultiplexEntryRelease" },
18562         {  8,   "RequestModeRelease" },
18563         {  9,   "MiscellaneousIndication" },
18564         { 10,   "JitterIndication" },
18565         { 11,   "H223SkewIndication" },
18566         { 12,   "NewATMVCIndication" },
18567         { 13,   "UserInputIndication" },
18568         { 14,   "H2250MaximumSkewIndication" },
18569         { 15,   "MCLocationIndication" },
18570         { 16,   "ConferenceIndication" },
18571         { 17,   "VendorIdentification" },
18572         { 18,   "FunctionNotSupported" },
18573         { 19,   "MultilinkIndication" },
18574         { 20,   "LogicalChannelRateRelease" },
18575         { 21,   "FlowControlIndication" },
18576         { 22,   "MobileMultilinkReconfigurationIndication" },
18577         {  0, NULL }
18578 };
18579 static per_choice_t IndicationMessage_choice[] = {
18580         {  0,   "NonStandardMessage",                   EXTENSION_ROOT,
18581                         dissect_h245_NonStandardMessage },
18582         {  1,   "FunctionNotUnderstood",                EXTENSION_ROOT,
18583                         dissect_h245_FunctionNotUnderstood },
18584         {  2,   "MasterSlaveDeterminationRelease",      EXTENSION_ROOT,
18585                         dissect_h245_MasterSlaveDeterminationRelease },
18586         {  3,   "TerminalCapabilitySetRelease",         EXTENSION_ROOT,
18587                         dissect_h245_TerminalCapabilitySetRelease },
18588         {  4,   "OpenLogicalChannelConfirm",            EXTENSION_ROOT, 
18589                         dissect_h245_OpenLogicalChannelConfirm },
18590         {  5,   "RequestChannelCloseRelease",           EXTENSION_ROOT, 
18591                         dissect_h245_RequestChannelCloseRelease },
18592         {  6,   "MultiplexEntrySendRelease",            EXTENSION_ROOT,
18593                         dissect_h245_MultiplexEntrySendRelease },
18594         {  7,   "RequestMultiplexEntryRelease",         EXTENSION_ROOT,
18595                         dissect_h245_RequestMultiplexEntryRelease },
18596         {  8,   "RequestModeRelease",                   EXTENSION_ROOT,
18597                         dissect_h245_RequestModeRelease },
18598         {  9,   "MiscellaneousIndication",              EXTENSION_ROOT, 
18599                         dissect_h245_MiscellaneousIndication },
18600         { 10,   "JitterIndication",                     EXTENSION_ROOT,
18601                         dissect_h245_JitterIndication },
18602         { 11,   "H223SkewIndication",                   EXTENSION_ROOT,
18603                         dissect_h245_H223SkewIndication },
18604         { 12,   "NewATMVCIndication",                   EXTENSION_ROOT,
18605                         dissect_h245_NewATMVCIndication },
18606         { 13,   "UserInputIndication",                  EXTENSION_ROOT,
18607                         dissect_h245_UserInputIndication },
18608         { 14,   "H2250MaximumSkewIndication",           NOT_EXTENSION_ROOT,
18609                         dissect_h245_H2250MaximumSkewIndication },
18610         { 15,   "MCLocationIndication",                 NOT_EXTENSION_ROOT,
18611                         dissect_h245_MCLocationIndication },
18612         { 16,   "ConferenceIndication",                 NOT_EXTENSION_ROOT,
18613                 dissect_h245_ConferenceIndication },
18614         { 17,   "VendorIdentification",                 NOT_EXTENSION_ROOT,
18615                 dissect_h245_VendorIdentification },
18616         { 18,   "FunctionNotSupported",                 NOT_EXTENSION_ROOT,
18617                 dissect_h245_FunctionNotSupported },
18618         { 19,   "MultilinkIndication",                  NOT_EXTENSION_ROOT,
18619                 dissect_h245_MultilinkIndication },
18620         { 20,   "LogicalChannelRateRelease",            NOT_EXTENSION_ROOT,
18621                 dissect_h245_LogicalChannelRateRelease },
18622         { 21,   "FlowControlIndication",                NOT_EXTENSION_ROOT,
18623                 dissect_h245_FlowControlIndication },
18624         { 22,   "MobileMultilinkReconfigurationIndication",NOT_EXTENSION_ROOT,
18625                 dissect_h245_MobileMultilinkReconfigurationIndication },
18626         {  0, NULL, 0, NULL }
18627 };
18628 static int
18629 dissect_h245_IndicationMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18630 {
18631         guint32 value;
18632
18633         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IndicationMessage_type, ett_h245_IndicationMessage, IndicationMessage_choice, "IndicationMessage", &value);
18634
18635         if (check_col(pinfo->cinfo, COL_INFO)){
18636                 col_prepend_fstr(pinfo->cinfo, COL_INFO, "%s ",
18637                         val_to_str(value, IndicationMessage_vals, "<unknown>"));
18638         }
18639
18640         return offset;
18641 }
18642
18643
18644
18645
18646
18647 static const value_string RequestMessage_vals[] = {
18648         {  0,   "NonStandardMessage" },
18649         {  1,   "MasterSlaveDetermination" },
18650         {  2,   "TerminalCapabilitySet" },
18651         {  3,   "OpenLogicalChannel" },
18652         {  4,   "CloseLogicalChannel" },
18653         {  5,   "RequestChannelClose" },
18654         {  6,   "MultiplexEntrySend" },
18655         {  7,   "RequestMultiplexEntry" },
18656         {  8,   "RequestMode" },
18657         {  9,   "RoundTripDelayRequest" },
18658         { 10,   "MaintenanceLoopRequest" },
18659         { 11,   "CommunicationModeRequest" },
18660         { 12,   "ConferenceRequest" },
18661         { 13,   "MultilinkRequest" },
18662         { 14,   "LogicalChannelRateRequest" },
18663         {  0, NULL }
18664 };
18665 static per_choice_t RequestMessage_choice[] = {
18666         {  0,   "NonStandardMessage",           EXTENSION_ROOT,
18667                         dissect_h245_NonStandardMessage },
18668         {  1,   "MasterSlaveDetermination",     EXTENSION_ROOT, 
18669                         dissect_h245_MasterSlaveDetermination },
18670         {  2,   "TerminalCapabilitySet",        EXTENSION_ROOT,
18671                         dissect_h245_TerminalCapabilitySet },
18672         {  3,   "OpenLogicalChannel",           EXTENSION_ROOT,
18673                         dissect_h245_OpenLogicalChannel },
18674         {  4,   "CloseLogicalChannel",          EXTENSION_ROOT, 
18675                         dissect_h245_CloseLogicalChannel },
18676         {  5,   "RequestChannelClose",          EXTENSION_ROOT,
18677                         dissect_h245_RequestChannelClose },
18678         {  6,   "MultiplexEntrySend",           EXTENSION_ROOT,
18679                         dissect_h245_MultiplexEntrySend },
18680         {  7,   "RequestMultiplexEntry",        EXTENSION_ROOT,
18681                         dissect_h245_RequestMultiplexEntry },
18682         {  8,   "RequestMode",                  EXTENSION_ROOT,
18683                         dissect_h245_RequestMode },
18684         {  9,   "RoundTripDelayRequest",        EXTENSION_ROOT, 
18685                         dissect_h245_RoundTripDelayRequest },
18686         { 10,   "MaintenanceLoopRequest",       EXTENSION_ROOT, 
18687                         dissect_h245_MaintenanceLoopRequest },
18688         { 11,   "CommunicationModeRequest",     NOT_EXTENSION_ROOT,
18689                         dissect_h245_CommunicationModeRequest },
18690         { 12,   "ConferenceRequest",            NOT_EXTENSION_ROOT,
18691                         dissect_h245_ConferenceRequest },
18692         { 13,   "MultilinkRequest",             NOT_EXTENSION_ROOT,
18693                         dissect_h245_MultilinkRequest },
18694         { 14,   "LogicalChannelRateRequest",    NOT_EXTENSION_ROOT,
18695                         dissect_h245_LogicalChannelRateRequest },
18696         {  0, NULL, 0, NULL }
18697 };
18698 static int
18699 dissect_h245_RequestMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18700 {
18701         guint32 value;
18702
18703         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestMessage_type, ett_h245_RequestMessage, RequestMessage_choice, "RequestMessage", &value);
18704         if (check_col(pinfo->cinfo, COL_INFO)){
18705                 col_prepend_fstr(pinfo->cinfo, COL_INFO, "%s ",
18706                         val_to_str(value, RequestMessage_vals, "<unknown>"));
18707         }
18708
18709         return offset;
18710 }
18711
18712
18713
18714
18715
18716 static int
18717 dissect_h245_centralizedData_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18718 {
18719         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_centralizedData, ett_h245_centralizedData, dissect_h245_DataApplicationCapability );
18720         return offset;
18721 }
18722
18723
18724
18725
18726 static int
18727 dissect_h245_distributedData_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18728 {
18729         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_distributedData, ett_h245_distributedData, dissect_h245_DataApplicationCapability );
18730         return offset;
18731 }
18732
18733
18734
18735 static per_sequence_t MediaDistributionCapability_sequence[] = {
18736         { "centralizedControl", EXTENSION_ROOT, NOT_OPTIONAL, 
18737                 dissect_h245_centralizedControl },
18738         { "distributedControl", EXTENSION_ROOT, NOT_OPTIONAL, 
18739                 dissect_h245_distributedControl },
18740         { "centralizedAudio", EXTENSION_ROOT, NOT_OPTIONAL, 
18741                 dissect_h245_centralizedAudio },
18742         { "distributedAudio", EXTENSION_ROOT, NOT_OPTIONAL, 
18743                 dissect_h245_distributedAudio },
18744         { "centralizedVideo", EXTENSION_ROOT, NOT_OPTIONAL, 
18745                 dissect_h245_centralizedVideo },
18746         { "distributedVideo", EXTENSION_ROOT, NOT_OPTIONAL, 
18747                 dissect_h245_distributedVideo },
18748         { "centralizedData", EXTENSION_ROOT, OPTIONAL,
18749                 dissect_h245_centralizedData_sequence_of },
18750         { "distributedData", EXTENSION_ROOT, OPTIONAL,
18751                 dissect_h245_distributedData_sequence_of },
18752         { NULL, 0, 0, NULL }
18753 };
18754 static int
18755 dissect_h245_MediaDistributionCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18756 {
18757         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MediaDistributionCapability, ett_h245_MediaDistributionCapability, MediaDistributionCapability_sequence);
18758
18759         return offset;
18760 }
18761
18762
18763 static int
18764 dissect_h245_mediaDistributionCapability_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18765 {
18766         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_mediaDistributionCapability, ett_h245_mediaDistributionCapability, dissect_h245_MediaDistributionCapability );
18767         return offset;
18768 }
18769
18770
18771
18772
18773
18774 static int
18775 dissect_h245_rtpPayloadType_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18776 {
18777         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 );
18778         return offset;
18779 }
18780
18781
18782
18783
18784
18785 static per_sequence_t H223ModeParameters_sequence[] = {
18786         { "adaptationLayerType", EXTENSION_ROOT, NOT_OPTIONAL,
18787                 dissect_h245_H223ModeParameters_adaptationLayerType },
18788         { "segmentableFlag", EXTENSION_ROOT, NOT_OPTIONAL, 
18789                 dissect_h245_segmentableFlag },
18790         { NULL, 0, 0, NULL }
18791 };
18792 static int
18793 dissect_h245_H223ModeParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18794 {
18795         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223ModeParameters, ett_h245_H223ModeParameters, H223ModeParameters_sequence);
18796
18797         return offset;
18798 }
18799
18800
18801
18802
18803
18804 static per_sequence_t ModeElement_sequence[] = {
18805         { "type", EXTENSION_ROOT, NOT_OPTIONAL,
18806                 dissect_h245_ModeElementType },
18807         { "h223ModeParameters", EXTENSION_ROOT, OPTIONAL,
18808                 dissect_h245_H223ModeParameters },
18809         { "v76ModeParameters", NOT_EXTENSION_ROOT, OPTIONAL, 
18810                 dissect_h245_V76ModeParameters },
18811         { "h2250ModeParameters", NOT_EXTENSION_ROOT, OPTIONAL,
18812                 dissect_h245_H2250ModeParameters },
18813         { "genericModeParameters", NOT_EXTENSION_ROOT, OPTIONAL,
18814                 dissect_h245_GenericCapability },
18815         { "multiplexedStreamModeParameters", NOT_EXTENSION_ROOT, OPTIONAL, 
18816                 dissect_h245_MultiplexedStreamModeParameters },
18817         { NULL, 0, 0, NULL }
18818 };
18819 static int
18820 dissect_h245_ModeElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18821 {
18822         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ModeElement, ett_h245_ModeElement, ModeElement_sequence);
18823
18824         return offset;
18825 }
18826
18827
18828
18829
18830
18831 static int
18832 dissect_h245_t38FaxMaxBuffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18833 {
18834         offset=dissect_per_integer(tvb, offset, pinfo, tree,
18835                 hf_h245_t38FaxMaxBuffer,
18836                 NULL, NULL);
18837
18838         return offset;
18839 }
18840
18841
18842
18843 static int
18844 dissect_h245_t38FaxMaxDatagram(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18845 {
18846         offset=dissect_per_integer(tvb, offset, pinfo, tree,
18847                 hf_h245_t38FaxMaxDatagram,
18848                 NULL, NULL);
18849
18850         return offset;
18851 }
18852
18853
18854
18855
18856
18857 static per_sequence_t T38FaxUdpOptions_sequence[] = {
18858         { "t38FaxMaxBuffer", NO_EXTENSIONS, OPTIONAL,
18859                 dissect_h245_t38FaxMaxBuffer },
18860         { "t38FaxMaxDatagram", NO_EXTENSIONS, OPTIONAL,
18861                 dissect_h245_t38FaxMaxDatagram },
18862         { "t38FaxUdpEC", NO_EXTENSIONS, NOT_OPTIONAL,
18863                 dissect_h245_T38FaxUdpOptions_t38FaxUdpEC },
18864         { NULL, 0, 0, NULL }
18865 };
18866 static int
18867 dissect_h245_T38FaxUdpOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18868 {
18869         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_T38FaxUdpOptions, ett_h245_T38FaxUdpOptions, T38FaxUdpOptions_sequence);
18870
18871         return offset;
18872 }
18873
18874
18875
18876
18877
18878
18879 static int
18880 dissect_h245_sessionDescription(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18881 {
18882 NOT_DECODED_YET("sessionDescription");
18883         return offset;
18884 }
18885
18886
18887
18888 static per_sequence_t CommunicationModeTableEntry_sequence[] = {
18889         { "nonStandard", EXTENSION_ROOT, OPTIONAL,
18890                 dissect_h245_nonStandardData_sequence_of },
18891         { "sessionID", EXTENSION_ROOT, NOT_OPTIONAL,
18892                 dissect_h245_sessionID_1_255 },
18893         { "associatedSessionID", EXTENSION_ROOT, OPTIONAL,
18894                 dissect_h245_associatedSessionID },
18895         { "terminalLabel", EXTENSION_ROOT, OPTIONAL,
18896                 dissect_h245_TerminalLabel },
18897         { "sessionDescription", EXTENSION_ROOT, NOT_OPTIONAL,
18898                 dissect_h245_sessionDescription },
18899         { "dataType", EXTENSION_ROOT, NOT_OPTIONAL,
18900                 dissect_h245_CommunicationModeTableEntry_dataType },
18901         { "mediaChannel", EXTENSION_ROOT, OPTIONAL,
18902                 dissect_h245_mediaChannel },
18903         { "mediaGuaranteedDelivery", EXTENSION_ROOT, OPTIONAL, 
18904                 dissect_h245_mediaGuaranteedDelivery },
18905         { "mediaControlChannel", EXTENSION_ROOT, OPTIONAL,
18906                 dissect_h245_mediaControlChannel },
18907         { "mediaControlGuaranteedDelivery", EXTENSION_ROOT, OPTIONAL, 
18908                 dissect_h245_mediaControlGuaranteedDelivery },
18909         { "redundancyEncoding", NOT_EXTENSION_ROOT, OPTIONAL,
18910                 dissect_h245_RedundancyEncoding },
18911         { "sessionDependency", NOT_EXTENSION_ROOT, OPTIONAL,
18912                 dissect_h245_sessionDependency },
18913         { "destination", NOT_EXTENSION_ROOT, OPTIONAL,
18914                 dissect_h245_TerminalLabel },
18915         { NULL, 0, 0, NULL }
18916 };
18917 static int
18918 dissect_h245_CommunicationModeTableEntry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18919 {
18920         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CommunicationModeTableEntry, ett_h245_CommunicationModeTableEntry, CommunicationModeTableEntry_sequence);
18921
18922         return offset;
18923 }
18924
18925
18926
18927
18928 static per_sequence_t NewATMVCCommand_sequence[] = {
18929         { "resouceID", EXTENSION_ROOT, NOT_OPTIONAL,
18930                 dissect_h245_resourceID },
18931         { "bitRate", EXTENSION_ROOT, NOT_OPTIONAL,
18932                 dissect_h245_ATM_BitRate },
18933         { "bitRateLockedToPCRClock", EXTENSION_ROOT, NOT_OPTIONAL,
18934                 dissect_h245_bitRateLockedToPCRClock },
18935         { "bitRateLockedToNetworkClock", EXTENSION_ROOT, NOT_OPTIONAL, 
18936                 dissect_h245_bitRateLockedToNetworkClock },
18937         { "aal", EXTENSION_ROOT, NOT_OPTIONAL, 
18938                 dissect_h245_NewATMVCCommand_aal },
18939         { "multiplex", EXTENSION_ROOT, NOT_OPTIONAL, 
18940                 dissect_h245_NewATMVCCommand_multiplex },
18941         { "reverseParameters", EXTENSION_ROOT, NOT_OPTIONAL,
18942                 dissect_h245_NewATMVCCommand_reverseParameters },
18943         { NULL, 0, 0, NULL }
18944 };
18945 static int
18946 dissect_h245_NewATMVCCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18947 {
18948         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand, ett_h245_NewATMVCCommand, NewATMVCCommand_sequence);
18949
18950         return offset;
18951 }
18952
18953
18954
18955
18956 static const value_string CommandMessage_vals[] = {
18957         {  0,   "NonStandardMessage" },
18958         {  1,   "MaintenanceLoopOffCommand" },
18959         {  2,   "SendTerminalCapabilitySet" },
18960         {  3,   "EncryptionCommand" },
18961         {  4,   "FlowControlCommand" },
18962         {  5,   "EndSessionCommand" },
18963         {  6,   "MiscellaneousCommand" },
18964         {  7,   "CommunicationModeCommand" },
18965         {  8,   "ConferenceCommand" },
18966         {  9,   "H223MultiplexReconfiguration" },
18967         { 10,   "NewATMVCCommand" },
18968         { 11,   "MobileMultilinkReconfigurationCommand" },
18969         {  0, NULL }
18970 };
18971 static per_choice_t CommandMessage_choice[] = {
18972         {  0,   "NonStandardMessage",           EXTENSION_ROOT,
18973                         dissect_h245_NonStandardMessage },
18974         {  1,   "MaintenanceLoopOffCommand",    EXTENSION_ROOT,
18975                         dissect_h245_MaintenanceLoopOffCommand },
18976         {  2,   "SendTerminalCapabilitySet",    EXTENSION_ROOT,
18977                         dissect_h245_SendTerminalCapabilitySet },
18978         {  3,   "EncryptionCommand",            EXTENSION_ROOT,
18979                         dissect_h245_EncryptionCommand },
18980         {  4,   "FlowControlCommand",           EXTENSION_ROOT,
18981                         dissect_h245_FlowControlCommand },
18982         {  5,   "EndSessionCommand",            EXTENSION_ROOT,
18983                         dissect_h245_EndSessionCommand },
18984         {  6,   "MiscellaneousCommand",         EXTENSION_ROOT,
18985                         dissect_h245_MiscellaneousCommand },
18986         {  7,   "CommunicationModeCommand",     NOT_EXTENSION_ROOT,
18987                         dissect_h245_CommunicationModeCommand },
18988         {  8,   "ConferenceCommand",            NOT_EXTENSION_ROOT,
18989                         dissect_h245_ConferenceCommand },
18990         {  9,   "H223MultiplexReconfiguration", NOT_EXTENSION_ROOT, 
18991                         dissect_h245_H223MultiplexReconfiguration },
18992         { 10,   "NewATMVCCommand",              NOT_EXTENSION_ROOT,
18993                         dissect_h245_NewATMVCCommand },
18994         { 11,   "MobileMultilinkReconfigurationCommand",NOT_EXTENSION_ROOT,
18995                         dissect_h245_MobileMultilinkReconfigurationCommand },
18996         {  0, NULL, 0, NULL }
18997 };
18998 static int
18999 dissect_h245_CommandMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
19000 {
19001         guint32 value;
19002
19003         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CommandMessage_type, ett_h245_CommandMessage, CommandMessage_choice, "CommandMessage", &value);
19004
19005         if (check_col(pinfo->cinfo, COL_INFO)){
19006                 col_prepend_fstr(pinfo->cinfo, COL_INFO, "%s ",
19007                         val_to_str(value, CommandMessage_vals, "<unknown>"));
19008         }
19009
19010         return offset;
19011 }
19012
19013
19014
19015
19016
19017
19018 static const value_string ResponseMessage_vals[] = {
19019         {  0,   "NonStandardMessage" },
19020         {  1,   "MasterSlaveDeterminationAck" },
19021         {  2,   "MasterSlaveDeterminationReject" },
19022         {  3,   "TerminalCapabilitySetAck" },
19023         {  4,   "TerminalCapabilitySetReject" },
19024         {  5,   "OpenLogicalChannelAck" },
19025         {  6,   "OpenLogicalChannelReject" },
19026         {  7,   "CloseLogicalChannelAck" },
19027         {  8,   "RequestChannelCloseAck" },
19028         {  9,   "RequestChannelCloseReject" },
19029         { 10,   "MultiplexEntrySendAck" },
19030         { 11,   "MultiplexEntrySendReject" },
19031         { 12,   "RequestMultiplexEntryAck" },
19032         { 13,   "RequestMultiplexEntryReject" },
19033         { 14,   "RequestModeAck" },
19034         { 15,   "RequestModeReject" },
19035         { 16,   "RoundTripDelayResponse" },
19036         { 17,   "MaintenanceLoopAck" },
19037         { 18,   "MaintenanceLoopReject" },
19038         { 19,   "CommunicationModeResponse" },
19039         { 20,   "ConferenceResponse" },
19040         { 21,   "MultilinkResponse" },
19041         { 22,   "LogicalChannelRateAck" },
19042         { 23,   "LogicalChannelRateReject" },
19043         {  0, NULL }
19044 };
19045 static per_choice_t ResponseMessage_choice[] = {
19046         {  0,   "NonStandardMessage",           EXTENSION_ROOT,
19047                         dissect_h245_NonStandardMessage },
19048         {  1,   "MasterSlaveDeterminationAck",  EXTENSION_ROOT,
19049                         dissect_h245_MasterSlaveDeterminationAck },
19050         {  2,   "MasterSlaveDeterminationReject",EXTENSION_ROOT,
19051                         dissect_h245_MasterSlaveDeterminationReject },
19052         {  3,   "TerminalCapabilitySetAck",     EXTENSION_ROOT, 
19053                         dissect_h245_TerminalCapabilitySetAck },
19054         {  4,   "TerminalCapabilitySetReject",  EXTENSION_ROOT,
19055                         dissect_h245_TerminalCapabilitySetReject },
19056         {  5,   "OpenLogicalChannelAck",        EXTENSION_ROOT,
19057                         dissect_h245_OpenLogicalChannelAck },
19058         {  6,   "OpenLogicalChannelReject",     EXTENSION_ROOT, 
19059                         dissect_h245_OpenLogicalChannelReject },
19060         {  7,   "CloseLogicalChannelAck",       EXTENSION_ROOT, 
19061                         dissect_h245_CloseLogicalChannelAck },
19062         {  8,   "RequestChannelCloseAck",       EXTENSION_ROOT, 
19063                         dissect_h245_RequestChannelCloseAck },
19064         {  9,   "RequestChannelCloseReject",    EXTENSION_ROOT, 
19065                         dissect_h245_RequestChannelCloseReject },
19066         { 10,   "MultiplexEntrySendAck",        EXTENSION_ROOT,
19067                         dissect_h245_MultiplexEntrySendAck },
19068         { 11,   "MultiplexEntrySendReject",     EXTENSION_ROOT,
19069                         dissect_h245_MultiplexEntrySendReject },
19070         { 12,   "RequestMultiplexEntryAck",     EXTENSION_ROOT,
19071                         dissect_h245_RequestMultiplexEntryAck },
19072         { 13,   "RequestMultiplexEntryReject",  EXTENSION_ROOT,
19073                         dissect_h245_RequestMultiplexEntryReject },
19074         { 14,   "RequestModeAck",               EXTENSION_ROOT,
19075                         dissect_h245_RequestModeAck },
19076         { 15,   "RequestModeReject",            EXTENSION_ROOT, 
19077                         dissect_h245_RequestModeReject },
19078         { 16,   "RoundTripDelayResponse",       EXTENSION_ROOT, 
19079                         dissect_h245_RoundTripDelayResponse },
19080         { 17,   "MaintenanceLoopAck",           EXTENSION_ROOT, 
19081                         dissect_h245_MaintenanceLoopAck },
19082         { 18,   "MaintenanceLoopReject",        EXTENSION_ROOT, 
19083                         dissect_h245_MaintenanceLoopReject },
19084         { 19,   "CommunicationModeResponse",    NOT_EXTENSION_ROOT,
19085                         dissect_h245_CommunicationModeResponse },
19086         { 20,   "ConferenceResponse",           NOT_EXTENSION_ROOT,
19087                         dissect_h245_ConferenceResponse },
19088         { 21,   "MultilinkResponse",            NOT_EXTENSION_ROOT,
19089                         dissect_h245_MultilinkResponse },
19090         { 22,   "LogicalChannelRateAck",        NOT_EXTENSION_ROOT,
19091                         dissect_h245_LogicalChannelRateAck },
19092         { 23,   "LogicalChannelRateReject",     NOT_EXTENSION_ROOT,
19093                         dissect_h245_LogicalChannelRateReject },
19094         {  0, NULL, 0, NULL }
19095 };
19096 static int
19097 dissect_h245_ResponseMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
19098 {
19099         guint32 value;
19100
19101         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ResponseMessage_type, ett_h245_ResponseMessage, ResponseMessage_choice, "ResponseMessage", &value);
19102
19103         if (check_col(pinfo->cinfo, COL_INFO)){
19104                 col_prepend_fstr(pinfo->cinfo, COL_INFO, "%s ",
19105                         val_to_str(value, ResponseMessage_vals, "<unknown>"));
19106         }
19107
19108         return offset;
19109 }
19110
19111
19112
19113
19114
19115
19116 static int
19117 dissect_h245_DialingInformationNumber_networkAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
19118 {
19119         offset=dissect_per_NumericString(tvb, offset, pinfo, tree, hf_h245_DialingInformationNumber_networkAddress, 0, 40);
19120
19121         return offset;
19122 }
19123
19124
19125
19126
19127 static int
19128 dissect_h245_DialingInformationNumber_subAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
19129 {
19130         offset=dissect_per_IA5String(tvb, offset, pinfo, tree, hf_h245_subAddress, 0, 40);
19131
19132         return offset;
19133 }
19134
19135
19136
19137 static per_sequence_t DialingInformationNumber_sequence[] = {
19138         { "networkAddress", EXTENSION_ROOT, NOT_OPTIONAL,
19139                 dissect_h245_DialingInformationNumber_networkAddress },
19140         { "subAddress", EXTENSION_ROOT, OPTIONAL,
19141                 dissect_h245_DialingInformationNumber_subAddress },
19142         { "networkType", EXTENSION_ROOT, NOT_OPTIONAL,
19143                 dissect_h245_networkType },
19144         { NULL, 0, 0, NULL }
19145 };
19146 static int
19147 dissect_h245_DialingInformationNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
19148 {
19149         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DialingInformationNumber, ett_h245_DialingInformationNumber, DialingInformationNumber_sequence);
19150
19151         return offset;
19152 }
19153
19154
19155 static const value_string MultimediaSystemControlMessage_vals[] = {
19156         { 0,    "Request" },
19157         { 1,    "Response" },
19158         { 2,    "Command" },
19159         { 3,    "Indication" },
19160         { 0, NULL }
19161 };
19162 static per_choice_t MultimediaSystemControlMessage_choice[] = {
19163         { 0,    "Request",      EXTENSION_ROOT, 
19164                         dissect_h245_RequestMessage },
19165         { 1,    "Response",     EXTENSION_ROOT, 
19166                         dissect_h245_ResponseMessage },
19167         { 2,    "Command",      EXTENSION_ROOT, 
19168                         dissect_h245_CommandMessage },
19169         { 3,    "Indication",   EXTENSION_ROOT, 
19170                         dissect_h245_IndicationMessage },
19171         { 0, NULL, 0, NULL }
19172 };
19173 void
19174 dissect_h245_MultimediaSystemControlMessage(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
19175 {
19176         proto_item *it;
19177         proto_tree *tr;
19178         guint32 offset=0;
19179         guint32 value;
19180
19181         if (check_col(pinfo->cinfo, COL_PROTOCOL)){
19182                 col_set_str(pinfo->cinfo, COL_PROTOCOL, "H.245");
19183         }
19184         if (check_col(pinfo->cinfo, COL_INFO)){
19185                 col_clear(pinfo->cinfo, COL_INFO);
19186         }
19187
19188         it=proto_tree_add_protocol_format(tree, proto_h245, tvb, 0, tvb_length(tvb), "H.245");
19189         tr=proto_item_add_subtree(it, ett_h245);
19190
19191         /* this code is called from at least TPKT (over TCP) and
19192            MEGACO.  Over MEGACO there is no framing so we just have to assume
19193            that as long as we havent run out of TVB data, there is more
19194            MSCM PDUsa to decode.
19195         */
19196         while(tvb_length_remaining(tvb, offset>>3)>0){
19197                 offset=dissect_per_choice(tvb, offset, pinfo, tr, hf_h245_pdu_type, ett_h245_MultimediaSystemControlMessage, MultimediaSystemControlMessage_choice, "MultimediaSystemControlMessage", &value);
19198                 /* align next PDU to octet boundary */
19199                 if(offset&0x07){
19200                         offset=(offset&0xfffffff8)+8;
19201                 }
19202         }
19203
19204         if (check_col(pinfo->cinfo, COL_INFO)){
19205                 col_prepend_fstr(pinfo->cinfo, COL_INFO, "%s ",
19206                         val_to_str(value, MultimediaSystemControlMessage_vals, "<unknown>"));
19207         }
19208         
19209 }
19210
19211
19212
19213
19214
19215
19216 void
19217 dissect_h245(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
19218 {
19219         dissect_tpkt_encap(tvb, pinfo, tree, h245_reassembly, MultimediaSystemControlMessage_handle);
19220 }
19221
19222 void
19223 proto_register_h245(void)
19224 {
19225         static hf_register_info hf[] =
19226         {
19227         { &hf_h245_pdu_type,
19228                 { "PDU Type", "h245.pdu_type", FT_UINT32, BASE_DEC,
19229                 VALS(MultimediaSystemControlMessage_vals), 0, "Type of H.245 PDU", HFILL }},
19230         { &hf_h245_IndicationMessage_type,
19231                 { "Indication Type", "h245.indication_type", FT_UINT32, BASE_DEC,
19232                 VALS(IndicationMessage_vals), 0, "Type of Indication", HFILL }},
19233         { &hf_h245_RequestMessage_type,
19234                 { "Request Type", "h245.request_type", FT_UINT32, BASE_DEC,
19235                 VALS(RequestMessage_vals), 0, "Type of Request", HFILL }},
19236         { &hf_h245_ResponseMessage_type,
19237                 { "Response Type", "h245.response_type", FT_UINT32, BASE_DEC,
19238                 VALS(ResponseMessage_vals), 0, "Type of Response", HFILL }},
19239         { &hf_h245_CommandMessage_type,
19240                 { "Command Type", "h245.command_type", FT_UINT32, BASE_DEC,
19241                 VALS(CommandMessage_vals), 0, "Type of Command", HFILL }},
19242         { &hf_h245_EndSessionCommand_type,
19243                 { "EndSessionCommand type", "h245.endsessioncommand_type", FT_UINT32, BASE_DEC,
19244                 VALS(EndSessionCommand_vals), 0, "Type of EndSessionCommand", HFILL }},
19245         { &hf_h245_PixelAspectCode,
19246                 { "PixelAspectCode", "h245.PixelAspectCode", FT_UINT32, BASE_DEC,
19247                 NULL, 0, "PixelAspectCode", HFILL }},
19248         { &hf_h245_LogicalChannelNumber,
19249                 { "LogicalChannelNumber", "h245.logicalchannelnumber", FT_UINT32, BASE_DEC,
19250                 NULL, 0, "LogicalChannelNumber", HFILL }},
19251         { &hf_h245_SequenceNumber,
19252                 { "SequenceNumber", "h245.sequencenumber", FT_UINT32, BASE_DEC,
19253                 NULL, 0, "SequenceNumber", HFILL }},
19254         { &hf_h245_OpenLogicalChannelConfirm,
19255                 { "OpenLogicalChannelConfirm", "h245.openlogicalchannelconfirm", FT_NONE, BASE_NONE,
19256                 NULL, 0, "OpenLogicalChannelConfirm sequence", HFILL }},
19257         { &hf_h245_MobileMultilinkReconfigurationIndication,
19258                 { "MobileMultilinkReconfigurationIndication", "h245.MobileMultilinkReconfigurationIndication", FT_NONE, BASE_NONE,
19259                 NULL, 0, "MobileMultilinkReconfigurationIndication sequence", HFILL }},
19260         { &hf_h245_FlowControlIndication,
19261                 { "FlowControlIndication", "h245.FlowControlIndication", FT_NONE, BASE_NONE,
19262                 NULL, 0, "FlowControlIndication sequence", HFILL }},
19263         { &hf_h245_UserInputIndication_extendedAlphanumeric,
19264                 { "UserInputIndication_extendedAlphanumeric", "h245.UserInputIndication_extendedAlphanumeric", FT_NONE, BASE_NONE,
19265                 NULL, 0, "UserInputIndication_extendedAlphanumeric sequence", HFILL }},
19266         { &hf_h245_UserInputIndication_signalUpdate_rtp,
19267                 { "UserInputIndication_signalUpdate_rtp", "h245.UserInputIndication_signalUpdate_rtp", FT_NONE, BASE_NONE,
19268                 NULL, 0, "UserInputIndication_signalUpdate_rtp sequence", HFILL }},
19269         { &hf_h245_UserInputIndication_signalUpdate,
19270                 { "UserInputIndication_signalUpdate", "h245.UserInputIndication_signalUpdate", FT_NONE, BASE_NONE,
19271                 NULL, 0, "UserInputIndication_signalUpdate sequence", HFILL }},
19272         { &hf_h245_UserInputIndication_signal_rtp,
19273                 { "UserInputIndication_signal_rtp", "h245.UserInputIndication_signal_rtp", FT_NONE, BASE_NONE,
19274                 NULL, 0, "UserInputIndication_signal_rtp sequence", HFILL }},
19275         { &hf_h245_UserInputIndication_signal,
19276                 { "UserInputIndication_signal", "h245.UserInputIndication_signal", FT_NONE, BASE_NONE,
19277                 NULL, 0, "UserInputIndication_signal sequence", HFILL }},
19278         { &hf_h245_NewATMVCIndication_reverseParameters,
19279                 { "NewATMVCIndication_reverseParameters", "h245.NewATMVCIndication_reverseParameters", FT_NONE, BASE_NONE,
19280                 NULL, 0, "NewATMVCIndication_reverseParameters sequence", HFILL }},
19281         { &hf_h245_NewATMVCIndication_aal_aal5,
19282                 { "NewATMVCIndication_aal_aal5", "h245.NewATMVCIndication_aal_aal5", FT_NONE, BASE_NONE,
19283                 NULL, 0, "NewATMVCIndication_aal_aal5 sequence", HFILL }},
19284         { &hf_h245_NewATMVCIndication_aal_aal1,
19285                 { "NewATMVCIndication_aal_aal1", "h245.NewATMVCIndication_aal_aal1", FT_NONE, BASE_NONE,
19286                 NULL, 0, "NewATMVCIndication_aal_aal1 sequence", HFILL }},
19287         { &hf_h245_NewATMVCIndication,
19288                 { "NewATMVCIndication", "h245.NewATMVCIndication", FT_NONE, BASE_NONE,
19289                 NULL, 0, "NewATMVCIndication sequence", HFILL }},
19290         { &hf_h245_VendorIdentification,
19291                 { "VendorIdentification", "h245.VendorIdentification", FT_NONE, BASE_NONE,
19292                 NULL, 0, "VendorIdentification sequence", HFILL }},
19293         { &hf_h245_MCLocationIndication,
19294                 { "MCLocationIndication", "h245.MCLocationIndication", FT_NONE, BASE_NONE,
19295                 NULL, 0, "MCLocationIndication sequence", HFILL }},
19296         { &hf_h245_H2250MaximumSkewIndication,
19297                 { "H2250MaximumSkewIndication", "h245.H2250MaximumSkewIndication", FT_NONE, BASE_NONE,
19298                 NULL, 0, "H2250MaximumSkewIndication sequence", HFILL }},
19299         { &hf_h245_H223SkewIndication,
19300                 { "H223SkewIndication", "h245.H223SkewIndication", FT_NONE, BASE_NONE,
19301                 NULL, 0, "H223SkewIndication sequence", HFILL }},
19302         { &hf_h245_JitterIndication,
19303                 { "JitterIndication", "h245.JitterIndication", FT_NONE, BASE_NONE,
19304                 NULL, 0, "JitterIndication sequence", HFILL }},
19305         { &hf_h245_MiscellaneousIndication_type_videoNotDecodedMBs,
19306                 { "MiscellaneousIndication_type_videoNotDecodedMBs", "h245.MiscellaneousIndication_type_videoNotDecodedMBs", FT_NONE, BASE_NONE,
19307                 NULL, 0, "MiscellaneousIndication_type_videoNotDecodedMBs sequence", HFILL }},
19308         { &hf_h245_MiscellaneousIndication,
19309                 { "MiscellaneousIndication", "h245.MiscellaneousIndication", FT_NONE, BASE_NONE,
19310                 NULL, 0, "MiscellaneousIndication sequence", HFILL }},
19311         { &hf_h245_VideoIndicateCompose,
19312                 { "VideoIndicateCompose", "h245.VideoIndicateCompose", FT_NONE, BASE_NONE,
19313                 NULL, 0, "VideoIndicateCompose sequence", HFILL }},
19314         { &hf_h245_TerminalYouAreSeeingInSubPictureNumber,
19315                 { "TerminalYouAreSeeingInSubPictureNumber", "h245.TerminalYouAreSeeingInSubPictureNumber", FT_NONE, BASE_NONE,
19316                 NULL, 0, "TerminalYouAreSeeingInSubPictureNumber sequence", HFILL }},
19317         { &hf_h245_FunctionNotSupported,
19318                 { "FunctionNotSupported", "h245.FunctionNotSupported", FT_NONE, BASE_NONE,
19319                 NULL, 0, "FunctionNotSupported sequence", HFILL }},
19320         { &hf_h245_MobileMultilinkReconfigurationCommand,
19321                 { "MobileMultilinkReconfigurationCommand", "h245.MobileMultilinkReconfigurationCommand", FT_NONE, BASE_NONE,
19322                 NULL, 0, "MobileMultilinkReconfigurationCommand sequence", HFILL }},
19323         { &hf_h245_NewATMVCCommand_reverseParameters,
19324                 { "NewATMVCCommand_reverseParameters", "h245.NewATMVCCommand_reverseParameters", FT_NONE, BASE_NONE,
19325                 NULL, 0, "NewATMVCCommand_reverseParameters sequence", HFILL }},
19326         { &hf_h245_NewATMVCCommand,
19327                 { "NewATMVCCommand", "h245.NewATMVCCommand", FT_NONE, BASE_NONE,
19328                 NULL, 0, "NewATMVCCommand sequence", HFILL }},
19329         { &hf_h245_NewATMVCCommand_aal_aal5,
19330                 { "NewATMVCCommand_aal_aal5", "h245.NewATMVCCommand_aal_aal5", FT_NONE, BASE_NONE,
19331                 NULL, 0, "NewATMVCCommand_aal_aal5 sequence", HFILL }},
19332         { &hf_h245_NewATMVCCommand_aal_aal1,
19333                 { "NewATMVCCommand_aal_aal1", "h245.NewATMVCCommand_aal_aal1", FT_NONE, BASE_NONE,
19334                 NULL, 0, "NewATMVCCommand_aal_aal1 sequence", HFILL }},
19335         { &hf_h245_EncryptionUpdateRequest,
19336                 { "EncryptionUpdateRequest", "h245.EncryptionUpdateRequest", FT_NONE, BASE_NONE,
19337                 NULL, 0, "EncryptionUpdateRequest sequence", HFILL }},
19338         { &hf_h245_KeyProtectionMethod,
19339                 { "KeyProtectionMethod", "h245.KeyProtectionMethod", FT_NONE, BASE_NONE,
19340                 NULL, 0, "KeyProtectionMethod sequence", HFILL }},
19341         { &hf_h245_MiscellaneousCommand_type_lostPartialPicture,
19342                 { "MiscellaneousCommand_type_lostPartialPicture", "h245.MiscellaneousCommand_type_lostPartialPicture", FT_NONE, BASE_NONE,
19343                 NULL, 0, "MiscellaneousCommand_type_lostPartialPicture sequence", HFILL }},
19344         { &hf_h245_MiscellaneousCommand_type_videoBadMBs,
19345                 { "MiscellaneousCommand_type_videoBadMBs", "h245.MiscellaneousCommand_type_videoBadMBs", FT_NONE, BASE_NONE,
19346                 NULL, 0, "MiscellaneousCommand_type_videoBadMBs sequence", HFILL }},
19347         { &hf_h245_MiscellaneousCommand_type_progressiveRefinementStart,
19348                 { "MiscellaneousCommand_type_progressiveRefinementStart", "h245.MiscellaneousCommand_type_progressiveRefinementStart", FT_NONE, BASE_NONE,
19349                 NULL, 0, "MiscellaneousCommand_type_progressiveRefinementStart sequence", HFILL }},
19350         { &hf_h245_MiscellaneousCommand_type_videoFastUpdateMB,
19351                 { "MiscellaneousCommand_type_videoFastUpdateMB", "h245.MiscellaneousCommand_type_videoFastUpdateMB", FT_NONE, BASE_NONE,
19352                 NULL, 0, "MiscellaneousCommand_type_videoFastUpdateMB sequence", HFILL }},
19353         { &hf_h245_MiscellaneousCommand_type_videoFastUpdateGOB,
19354                 { "MiscellaneousCommand_type_videoFastUpdateGOB", "h245.MiscellaneousCommand_type_videoFastUpdateGOB", FT_NONE, BASE_NONE,
19355                 NULL, 0, "MiscellaneousCommand_type_videoFastUpdateGOB sequence", HFILL }},
19356         { &hf_h245_MiscellaneousCommand,
19357                 { "MiscellaneousCommand", "h245.MiscellaneousCommand", FT_NONE, BASE_NONE,
19358                 NULL, 0, "MiscellaneousCommand sequence", HFILL }},
19359         { &hf_h245_SubstituteConferenceIDCommand,
19360                 { "SubstituteConferenceIDCommand", "h245.SubstituteConferenceIDCommand", FT_NONE, BASE_NONE,
19361                 NULL, 0, "SubstituteConferenceIDCommand sequence", HFILL }},
19362         { &hf_h245_FlowControlCommand,
19363                 { "FlowControlCommand", "h245.FlowControlCommand", FT_NONE, BASE_NONE,
19364                 NULL, 0, "FlowControlCommand sequence", HFILL }},
19365         { &hf_h245_EncryptionCommand_encryptionAlgorithmID,
19366                 { "EncryptionCommand_encryptionAlgorithmID", "h245.EncryptionCommand_encryptionAlgorithmID", FT_NONE, BASE_NONE,
19367                 NULL, 0, "EncryptionCommand_encryptionAlgorithmID sequence", HFILL }},
19368         { &hf_h245_SendTerminalCapabilitySet_specificRequest,
19369                 { "SendTerminalCapabilitySet_specificRequest", "h245.SendTerminalCapabilitySet_specificRequest", FT_NONE, BASE_NONE,
19370                 NULL, 0, "SendTerminalCapabilitySet_specificRequest sequence", HFILL }},
19371         { &hf_h245_LogicalChannelRateRelease,
19372                 { "LogicalChannelRateRelease", "h245.LogicalChannelRateRelease", FT_NONE, BASE_NONE,
19373                 NULL, 0, "LogicalChannelRateRelease sequence", HFILL }},
19374         { &hf_h245_LogicalChannelRateReject,
19375                 { "LogicalChannelRateReject", "h245.LogicalChannelRateReject", FT_NONE, BASE_NONE,
19376                 NULL, 0, "LogicalChannelRateReject sequence", HFILL }},
19377         { &hf_h245_LogicalChannelRateAck,
19378                 { "LogicalChannelRateAck", "h245.LogicalChannelRateAck", FT_NONE, BASE_NONE,
19379                 NULL, 0, "LogicalChannelRateAck sequence", HFILL }},
19380         { &hf_h245_LogicalChannelRateRequest,
19381                 { "LogicalChannelRateRequest", "h245.LogicalChannelRateRequest", FT_NONE, BASE_NONE,
19382                 NULL, 0, "LogicalChannelRateRequest sequence", HFILL }},
19383         { &hf_h245_ConnectionIdentifier,
19384                 { "ConnectionIdentifier", "h245.ConnectionIdentifier", FT_NONE, BASE_NONE,
19385                 NULL, 0, "ConnectionIdentifier sequence", HFILL }},
19386         { &hf_h245_DialingInformationNumber,
19387                 { "DialingInformationNumber", "h245.DialingInformationNumber", FT_NONE, BASE_NONE,
19388                 NULL, 0, "DialingInformationNumber sequence", HFILL }},
19389         { &hf_h245_MultilinkIndication_excessiveError,
19390                 { "MultilinkIndication_excessiveError", "h245.MultilinkIndication_excessiveError", FT_NONE, BASE_NONE,
19391                 NULL, 0, "MultilinkIndication_excessiveError sequence", HFILL }},
19392         { &hf_h245_MultilinkIndication_crcDesired,
19393                 { "MultilinkIndication_crcDesired", "h245.MultilinkIndication_crcDesired", FT_NONE, BASE_NONE,
19394                 NULL, 0, "MultilinkIndication_crcDesired sequence", HFILL }},
19395         { &hf_h245_MultilinkResponse_maximumHeaderInterval,
19396                 { "MultilinkResponse_maximumHeaderInterval", "h245.MultilinkResponse_maximumHeaderInterval", FT_NONE, BASE_NONE,
19397                 NULL, 0, "MultilinkResponse_maximumHeaderInterval sequence", HFILL }},
19398         { &hf_h245_MultilinkResponse_removeConnection,
19399                 { "MultilinkResponse_removeConnection", "h245.MultilinkResponse_removeConnection", FT_NONE, BASE_NONE,
19400                 NULL, 0, "MultilinkResponse_removeConnection sequence", HFILL }},
19401         { &hf_h245_MultilinkResponse_addConnection,
19402                 { "MultilinkResponse_addConnection", "h245.MultilinkResponse_addConnection", FT_NONE, BASE_NONE,
19403                 NULL, 0, "MultilinkResponse_addConnection sequence", HFILL }},
19404         { &hf_h245_MultilinkResponse_callInformation,
19405                 { "MultilinkResponse_callInformation", "h245.MultilinkResponse_callInformation", FT_NONE, BASE_NONE,
19406                 NULL, 0, "MultilinkResponse_callInformation sequence", HFILL }},
19407         { &hf_h245_MultilinkRequest_maximumHeaderInterval,
19408                 { "MultilinkRequest_maximumHeaderInterval", "h245.MultilinkRequest_maximumHeaderInterval", FT_NONE, BASE_NONE,
19409                 NULL, 0, "MultilinkRequest_maximumHeaderInterval sequence", HFILL }},
19410         { &hf_h245_MultilinkRequest_removeConnection,
19411                 { "MultilinkRequest_removeConnection", "h245.MultilinkRequest_removeConnection", FT_NONE, BASE_NONE,
19412                 NULL, 0, "MultilinkRequest_removeConnection sequence", HFILL }},
19413         { &hf_h245_MultilinkRequest_addConnection,
19414                 { "MultilinkRequest_addConnection", "h245.MultilinkRequest_addConnection", FT_NONE, BASE_NONE,
19415                 NULL, 0, "MultilinkRequest_addConnection sequence", HFILL }},
19416         { &hf_h245_MultilinkRequest_callInformation,
19417                 { "MultilinkRequest_callInformation", "h245.MultilinkRequest_callInformation", FT_NONE, BASE_NONE,
19418                 NULL, 0, "MultilinkRequest_callInformation sequence", HFILL }},
19419         { &hf_h245_TerminalInformation,
19420                 { "TerminalInformation", "h245.TerminalInformation", FT_NONE, BASE_NONE,
19421                 NULL, 0, "TerminalInformation sequence", HFILL }},
19422         { &hf_h245_RequestAllTerminalIDsResponse,
19423                 { "RequestAllTerminalIDsResponse", "h245.RequestAllTerminalIDsResponse", FT_NONE, BASE_NONE,
19424                 NULL, 0, "RequestAllTerminalIDsResponse sequence", HFILL }},
19425         { &hf_h245_ConferenceResponse_terminalCertificateResponse,
19426                 { "ConferenceResponse_terminalCertificateResponse", "h245.ConferenceResponse_terminalCertificateResponse", FT_NONE, BASE_NONE,
19427                 NULL, 0, "ConferenceResponse_terminalCertificateResponse sequence", HFILL }},
19428         { &hf_h245_ConferenceResponse_chairTokenOwnerResponse,
19429                 { "ConferenceResponse_chairTokenOwnerResponse", "h245.ConferenceResponse_chairTokenOwnerResponse", FT_NONE, BASE_NONE,
19430                 NULL, 0, "ConferenceResponse_chairTokenOwnerResponse sequence", HFILL }},
19431         { &hf_h245_ConferenceResponse_extensionAddressResponse,
19432                 { "ConferenceResponse_extensionAddressResponse", "h245.ConferenceResponse_extensionAddressResponse", FT_NONE, BASE_NONE,
19433                 NULL, 0, "ConferenceResponse_extensionAddressResponse sequence", HFILL }},
19434         { &hf_h245_ConferenceResponse_passwordResponse,
19435                 { "ConferenceResponse_passwordResponse", "h245.ConferenceResponse_passwordResponse", FT_NONE, BASE_NONE,
19436                 NULL, 0, "ConferenceResponse_passwordResponse sequence", HFILL }},
19437         { &hf_h245_ConferenceResponse_conferenceIDResponse,
19438                 { "ConferenceResponse_conferenceIDResponse", "h245.ConferenceResponse_conferenceIDResponse", FT_NONE, BASE_NONE,
19439                 NULL, 0, "ConferenceResponse_conferenceIDResponse sequence", HFILL }},
19440         { &hf_h245_ConferenceResponse_terminalIDResponse,
19441                 { "ConferenceResponse_terminalIDResponse", "h245.ConferenceResponse_terminalIDResponse", FT_NONE, BASE_NONE,
19442                 NULL, 0, "ConferenceResponse_terminalIDResponse sequence", HFILL }},
19443         { &hf_h245_ConferenceResponse_mCterminalIDResponse,
19444                 { "ConferenceResponse_mCterminalIDResponse", "h245.ConferenceResponse_mCterminalIDResponse", FT_NONE, BASE_NONE,
19445                 NULL, 0, "ConferenceResponse_mCterminalIDResponse sequence", HFILL }},
19446         { &hf_h245_TerminalLabel,
19447                 { "TerminalLabel", "h245.TerminalLabel", FT_NONE, BASE_NONE,
19448                 NULL, 0, "TerminalLabel sequence", HFILL }},
19449         { &hf_h245_Criteria,
19450                 { "Criteria", "h245.Criteria", FT_NONE, BASE_NONE,
19451                 NULL, 0, "Criteria sequence", HFILL }},
19452         { &hf_h245_ConferenceRequest_requestTerminalCertificate,
19453                 { "ConferenceRequest_requestTerminalCertificate", "h245.ConferenceRequest_requestTerminalCertificate", FT_NONE, BASE_NONE,
19454                 NULL, 0, "ConferenceRequest_requestTerminalCertificate sequence", HFILL }},
19455         { &hf_h245_CommunicationModeTableEntry,
19456                 { "CommunicationModeTableEntry", "h245.CommunicationModeTableEntry", FT_NONE, BASE_NONE,
19457                 NULL, 0, "CommunicationModeTableEntry sequence", HFILL }},
19458         { &hf_h245_CommunicationModeRequest,
19459                 { "CommunicationModeRequest", "h245.CommunicationModeRequest", FT_NONE, BASE_NONE,
19460                 NULL, 0, "CommunicationModeRequest sequence", HFILL }},
19461         { &hf_h245_CommunicationModeCommand,
19462                 { "CommunicationModeCommand", "h245.CommunicationModeCommand", FT_NONE, BASE_NONE,
19463                 NULL, 0, "CommunicationModeCommand sequence", HFILL }},
19464         { &hf_h245_MaintenanceLoopOffCommand,
19465                 { "MaintenanceLoopOffCommand", "h245.MaintenanceLoopOffCommand", FT_NONE, BASE_NONE,
19466                 NULL, 0, "MaintenanceLoopOffCommand sequence", HFILL }},
19467         { &hf_h245_MaintenanceLoopReject,
19468                 { "MaintenanceLoopReject", "h245.MaintenanceLoopReject", FT_NONE, BASE_NONE,
19469                 NULL, 0, "MaintenanceLoopReject sequence", HFILL }},
19470         { &hf_h245_MaintenanceLoopAck,
19471                 { "MaintenanceLoopAck", "h245.MaintenanceLoopAck", FT_NONE, BASE_NONE,
19472                 NULL, 0, "MaintenanceLoopAck sequence", HFILL }},
19473         { &hf_h245_MaintenanceLoopRequest,
19474                 { "MaintenanceLoopRequest", "h245.MaintenanceLoopRequest", FT_NONE, BASE_NONE,
19475                 NULL, 0, "MaintenanceLoopRequest sequence", HFILL }},
19476         { &hf_h245_RoundTripDelayResponse,
19477                 { "RoundTripDelayResponse", "h245.RoundTripDelayResponse", FT_NONE, BASE_NONE,
19478                 NULL, 0, "RoundTripDelayResponse sequence", HFILL }},
19479         { &hf_h245_RoundTripDelayRequest,
19480                 { "RoundTripDelayRequest", "h245.RoundTripDelayRequest", FT_NONE, BASE_NONE,
19481                 NULL, 0, "RoundTripDelayRequest sequence", HFILL }},
19482         { &hf_h245_DataMode_application_t38fax,
19483                 { "DataMode_application_t38fax", "h245.DataMode_application_t38fax", FT_NONE, BASE_NONE,
19484                 NULL, 0, "DataMode_application_t38fax sequence", HFILL }},
19485         { &hf_h245_DataMode_application_nlpid,
19486                 { "DataMode_application_nlpid", "h245.DataMode_application_nlpid", FT_NONE, BASE_NONE,
19487                 NULL, 0, "DataMode_application_nlpid sequence", HFILL }},
19488         { &hf_h245_DataMode,
19489                 { "DataMode", "h245.DataMode", FT_NONE, BASE_NONE,
19490                 NULL, 0, "DataMode sequence", HFILL }},
19491         { &hf_h245_VBDMode,
19492                 { "VBDMode", "h245.VBDMode", FT_NONE, BASE_NONE,
19493                 NULL, 0, "VBDMode sequence", HFILL }},
19494         { &hf_h245_G7231AnnexCMode_g723AnnexCAudioMode,
19495                 { "G7231AnnexCMode_g723AnnexCAudioMode", "h245.G7231AnnexCMode_g723AnnexCAudioMode", FT_NONE, BASE_NONE,
19496                 NULL, 0, "G7231AnnexCMode_g723AnnexCAudioMode sequence", HFILL }},
19497         { &hf_h245_G7231AnnexCMode,
19498                 { "G7231AnnexCMode", "h245.G7231AnnexCMode", FT_NONE, BASE_NONE,
19499                 NULL, 0, "G7231AnnexCMode sequence", HFILL }},
19500         { &hf_h245_IS13818AudioMode,
19501                 { "IS13818AudioMode", "h245.IS13818AudioMode", FT_NONE, BASE_NONE,
19502                 NULL, 0, "IS13818AudioMode sequence", HFILL }},
19503         { &hf_h245_IS11172AudioMode,
19504                 { "IS11172AudioMode", "h245.IS11172AudioMode", FT_NONE, BASE_NONE,
19505                 NULL, 0, "IS11172AudioMode sequence", HFILL }},
19506         { &hf_h245_IS11172VideoMode,
19507                 { "IS11172VideoMode", "h245.IS11172VideoMode", FT_NONE, BASE_NONE,
19508                 NULL, 0, "IS11172VideoMode sequence", HFILL }},
19509         { &hf_h245_H263VideoMode,
19510                 { "H263VideoMode", "h245.H263VideoMode", FT_NONE, BASE_NONE,
19511                 NULL, 0, "H263VideoMode sequence", HFILL }},
19512         { &hf_h245_H262VideoMode,
19513                 { "H262VideoMode", "h245.H262VideoMode", FT_NONE, BASE_NONE,
19514                 NULL, 0, "H262VideoMode sequence", HFILL }},
19515         { &hf_h245_H261VideoMode,
19516                 { "H261VideoMode", "h245.H261VideoMode", FT_NONE, BASE_NONE,
19517                 NULL, 0, "H261VideoMode sequence", HFILL }},
19518         { &hf_h245_RedundancyEncodingMode,
19519                 { "RedundancyEncodingMode", "h245.RedundancyEncodingMode", FT_NONE, BASE_NONE,
19520                 NULL, 0, "RedundancyEncodingMode sequence", HFILL }},
19521         { &hf_h245_H2250ModeParameters,
19522                 { "H2250ModeParameters", "h245.H2250ModeParameters", FT_NONE, BASE_NONE,
19523                 NULL, 0, "H2250ModeParameters sequence", HFILL }},
19524         { &hf_h245_H223ModeParameters_adaptationLayerType_al3,
19525                 { "H223ModeParameters_adaptationLayerType_al3", "h245.H223ModeParameters_adaptationLayerType_al3", FT_NONE, BASE_NONE,
19526                 NULL, 0, "H223ModeParameters_adaptationLayerType_al3 sequence", HFILL }},
19527         { &hf_h245_H223ModeParameters,
19528                 { "H223ModeParameters", "h245.H223ModeParameters", FT_NONE, BASE_NONE,
19529                 NULL, 0, "H223ModeParameters sequence", HFILL }},
19530         { &hf_h245_FECMode_rfc2733Mode_mode_separateStream_samePort,
19531                 { "FECMode_rfc2733Mode_mode_separateStream_samePort", "h245.FECMode_rfc2733Mode_mode_separateStream_samePort", FT_NONE, BASE_NONE,
19532                 NULL, 0, "FECMode_rfc2733Mode_mode_separateStream_samePort sequence", HFILL }},
19533         { &hf_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort,
19534                 { "FECMode_rfc2733Mode_mode_separateStream_differentPort", "h245.FECMode_rfc2733Mode_mode_separateStream_differentPort", FT_NONE, BASE_NONE,
19535                 NULL, 0, "FECMode_rfc2733Mode_mode_separateStream_differentPort sequence", HFILL }},
19536         { &hf_h245_FECMode_rfc2733Mode,
19537                 { "FECMode_rfc2733Mode", "h245.FECMode_rfc2733Mode", FT_NONE, BASE_NONE,
19538                 NULL, 0, "FECMode_rfc2733Mode sequence", HFILL }},
19539         { &hf_h245_MultiplePayloadStreamElementMode,
19540                 { "MultiplePayloadStreamElementMode", "h245.MultiplePayloadStreamElementMode", FT_NONE, BASE_NONE,
19541                 NULL, 0, "MultiplePayloadStreamElementMode sequence", HFILL }},
19542         { &hf_h245_MultiplePayloadStreamMode,
19543                 { "MultiplePayloadStreamMode", "h245.MultiplePayloadStreamMode", FT_NONE, BASE_NONE,
19544                 NULL, 0, "MultiplePayloadStreamMode sequence", HFILL }},
19545         { &hf_h245_RedundancyEncodingDTModeElement,
19546                 { "RedundancyEncodingDTModeElement", "h245.RedundancyEncodingDTModeElement", FT_NONE, BASE_NONE,
19547                 NULL, 0, "RedundancyEncodingDTModeElement sequence", HFILL }},
19548         { &hf_h245_RedundancyEncodingDTMode,
19549                 { "RedundancyEncodingDTMode", "h245.RedundancyEncodingDTMode", FT_NONE, BASE_NONE,
19550                 NULL, 0, "RedundancyEncodingDTMode sequence", HFILL }},
19551         { &hf_h245_MultiplexedStreamModeParameters,
19552                 { "MultiplexedStreamModeParameters", "h245.MultiplexedStreamModeParameters", FT_NONE, BASE_NONE,
19553                 NULL, 0, "MultiplexedStreamModeParameters sequence", HFILL }},
19554         { &hf_h245_H235Mode,
19555                 { "H235Mode", "h245.H235Mode", FT_NONE, BASE_NONE,
19556                 NULL, 0, "H235Mode sequence", HFILL }},
19557         { &hf_h245_ModeElement,
19558                 { "ModeElement", "h245.ModeElement", FT_NONE, BASE_NONE,
19559                 NULL, 0, "ModeElement sequence", HFILL }},
19560         { &hf_h245_RequestModeRelease,
19561                 { "RequestModeRelease", "h245.RequestModeRelease", FT_NONE, BASE_NONE,
19562                 NULL, 0, "RequestModeRelease sequence", HFILL }},
19563         { &hf_h245_RequestModeReject,
19564                 { "RequestModeReject", "h245.RequestModeReject", FT_NONE, BASE_NONE,
19565                 NULL, 0, "RequestModeReject sequence", HFILL }},
19566         { &hf_h245_RequestModeAck,
19567                 { "RequestModeAck", "h245.RequestModeAck", FT_NONE, BASE_NONE,
19568                 NULL, 0, "RequestModeAck sequence", HFILL }},
19569         { &hf_h245_RequestMode,
19570                 { "RequestMode", "h245.RequestMode", FT_NONE, BASE_NONE,
19571                 NULL, 0, "RequestMode sequence", HFILL }},
19572         { &hf_h245_RequestMultiplexEntryRelease,
19573                 { "RequestMultiplexEntryRelease", "h245.RequestMultiplexEntryRelease", FT_NONE, BASE_NONE,
19574                 NULL, 0, "RequestMultiplexEntryRelease sequence", HFILL }},
19575         { &hf_h245_RequestMultiplexEntryRejectionDescriptions,
19576                 { "RequestMultiplexEntryRejectionDescriptions", "h245.RequestMultiplexEntryRejectionDescriptions", FT_NONE, BASE_NONE,
19577                 NULL, 0, "RequestMultiplexEntryRejectionDescriptions sequence", HFILL }},
19578         { &hf_h245_RequestMultiplexEntryReject,
19579                 { "RequestMultiplexEntryReject", "h245.RequestMultiplexEntryReject", FT_NONE, BASE_NONE,
19580                 NULL, 0, "RequestMultiplexEntryReject sequence", HFILL }},
19581         { &hf_h245_RequestMultiplexEntryAck,
19582                 { "RequestMultiplexEntryAck", "h245.RequestMultiplexEntryAck", FT_NONE, BASE_NONE,
19583                 NULL, 0, "RequestMultiplexEntryAck sequence", HFILL }},
19584         { &hf_h245_RequestMultiplexEntry,
19585                 { "RequestMultiplexEntry", "h245.RequestMultiplexEntry", FT_NONE, BASE_NONE,
19586                 NULL, 0, "RequestMultiplexEntry sequence", HFILL }},
19587         { &hf_h245_MultiplexEntrySendRelease,
19588                 { "MultiplexEntrySendRelease", "h245.MultiplexEntrySendRelease", FT_NONE, BASE_NONE,
19589                 NULL, 0, "MultiplexEntrySendRelease sequence", HFILL }},
19590         { &hf_h245_MultiplexEntryRejectionDescriptions,
19591                 { "MultiplexEntryRejectionDescriptions", "h245.MultiplexEntryRejectionDescriptions", FT_NONE, BASE_NONE,
19592                 NULL, 0, "MultiplexEntryRejectionDescriptions sequence", HFILL }},
19593         { &hf_h245_MultiplexEntrySendReject,
19594                 { "MultiplexEntrySendReject", "h245.MultiplexEntrySendReject", FT_NONE, BASE_NONE,
19595                 NULL, 0, "MultiplexEntrySendReject sequence", HFILL }},
19596         { &hf_h245_MultiplexEntrySendAck,
19597                 { "MultiplexEntrySendAck", "h245.MultiplexEntrySendAck", FT_NONE, BASE_NONE,
19598                 NULL, 0, "MultiplexEntrySendAck sequence", HFILL }},
19599         { &hf_h245_MultiplexElement,
19600                 { "MultiplexElement", "h245.MultiplexElement", FT_NONE, BASE_NONE,
19601                 NULL, 0, "MultiplexElement sequence", HFILL }},
19602         { &hf_h245_MultiplexEntryDescriptor,
19603                 { "MultiplexEntryDescriptor", "h245.MultiplexEntryDescriptor", FT_NONE, BASE_NONE,
19604                 NULL, 0, "MultiplexEntryDescriptor sequence", HFILL }},
19605         { &hf_h245_MultiplexEntrySend,
19606                 { "MultiplexEntrySend", "h245.MultiplexEntrySend", FT_NONE, BASE_NONE,
19607                 NULL, 0, "MultiplexEntrySend sequence", HFILL }},
19608         { &hf_h245_RequestChannelCloseRelease,
19609                 { "RequestChannelCloseRelease", "h245.RequestChannelCloseRelease", FT_NONE, BASE_NONE,
19610                 NULL, 0, "RequestChannelCloseRelease sequence", HFILL }},
19611         { &hf_h245_RequestChannelCloseReject,
19612                 { "RequestChannelCloseReject", "h245.RequestChannelCloseReject", FT_NONE, BASE_NONE,
19613                 NULL, 0, "RequestChannelCloseReject sequence", HFILL }},
19614         { &hf_h245_RequestChannelCloseAck,
19615                 { "RequestChannelCloseAck", "h245.RequestChannelCloseAck", FT_NONE, BASE_NONE,
19616                 NULL, 0, "RequestChannelCloseAck sequence", HFILL }},
19617         { &hf_h245_RequestChannelClose,
19618                 { "RequestChannelClose", "h245.RequestChannelClose", FT_NONE, BASE_NONE,
19619                 NULL, 0, "RequestChannelClose sequence", HFILL }},
19620         { &hf_h245_CloseLogicalChannelAck,
19621                 { "CloseLogicalChannelAck", "h245.CloseLogicalChannelAck", FT_NONE, BASE_NONE,
19622                 NULL, 0, "CloseLogicalChannelAck sequence", HFILL }},
19623         { &hf_h245_CloseLogicalChannel,
19624                 { "CloseLogicalChannel", "h245.CloseLogicalChannel", FT_NONE, BASE_NONE,
19625                 NULL, 0, "CloseLogicalChannel sequence", HFILL }},
19626         { &hf_h245_H2250LogicalChannelAckParameters,
19627                 { "H2250LogicalChannelAckParameters", "h245.H2250LogicalChannelAckParameters", FT_NONE, BASE_NONE,
19628                 NULL, 0, "H2250LogicalChannelAckParameters sequence", HFILL }},
19629         { &hf_h245_OpenLogicalChannelReject,
19630                 { "OpenLogicalChannelReject", "h245.OpenLogicalChannelReject", FT_NONE, BASE_NONE,
19631                 NULL, 0, "OpenLogicalChannelReject sequence", HFILL }},
19632         { &hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters,
19633                 { "OpenLogicalChannelAck_reverseLogicalChannelParameters", "h245.OpenLogicalChannelAck_reverseLogicalChannelParameters", FT_NONE, BASE_NONE,
19634                 NULL, 0, "OpenLogicalChannelAck_reverseLogicalChannelParameters sequence", HFILL }},
19635         { &hf_h245_OpenLogicalChannelAck,
19636                 { "OpenLogicalChannelAck", "h245.OpenLogicalChannelAck", FT_NONE, BASE_NONE,
19637                 NULL, 0, "OpenLogicalChannelAck sequence", HFILL }},
19638         { &hf_h245_EscrowData,
19639                 { "EscrowData", "h245.EscrowData", FT_NONE, BASE_NONE,
19640                 NULL, 0, "EscrowData sequence", HFILL }},
19641         { &hf_h245_EncryptionSync,
19642                 { "EncryptionSync", "h245.EncryptionSync", FT_NONE, BASE_NONE,
19643                 NULL, 0, "EncryptionSync sequence", HFILL }},
19644         { &hf_h245_MulticastAddress_iP6Address,
19645                 { "MulticastAddress_iP6Address", "h245.MulticastAddress_iP6Address", FT_NONE, BASE_NONE,
19646                 NULL, 0, "MulticastAddress_iP6Address sequence", HFILL }},
19647         { &hf_h245_MulticastAddress_iPAddress,
19648                 { "MulticastAddress_iPAddress", "h245.MulticastAddress_iPAddress", FT_NONE, BASE_NONE,
19649                 NULL, 0, "MulticastAddress_iPAddress sequence", HFILL }},
19650         { &hf_h245_UnicastAddress_iPSourceRouteAddress,
19651                 { "UnicastAddress_iPSourceRouteAddress", "h245.UnicastAddress_iPSourceRouteAddress", FT_NONE, BASE_NONE,
19652                 NULL, 0, "UnicastAddress_iPSourceRouteAddress sequence", HFILL }},
19653         { &hf_h245_UnicastAddress_iP6Address,
19654                 { "UnicastAddress_iP6Address", "h245.UnicastAddress_iP6Address", FT_NONE, BASE_NONE,
19655                 NULL, 0, "UnicastAddress_iP6Address sequence", HFILL }},
19656         { &hf_h245_UnicastAddress_iPXAddress,
19657                 { "UnicastAddress_iPXAddress", "h245.UnicastAddress_iPXAddress", FT_NONE, BASE_NONE,
19658                 NULL, 0, "UnicastAddress_iPXAddress sequence", HFILL }},
19659         { &hf_h245_UnicastAddress_iPAddress,
19660                 { "UnicastAddress_iPAddress", "h245.UnicastAddress_iPAddress", FT_NONE, BASE_NONE,
19661                 NULL, 0, "UnicastAddress_iPAddress sequence", HFILL }},
19662         { &hf_h245_FECData_rfc2733_mode_separateStream_samePort,
19663                 { "FECData_rfc2733_mode_separateStream_samePort", "h245.FECData_rfc2733_mode_separateStream_samePort", FT_NONE, BASE_NONE,
19664                 NULL, 0, "FECData_rfc2733_mode_separateStream_samePort sequence", HFILL }},
19665         { &hf_h245_FECData_rfc2733_mode_separateStream_differentPort,
19666                 { "FECData_rfc2733_mode_separateStream_differentPort", "h245.FECData_rfc2733_mode_separateStream_differentPort", FT_NONE, BASE_NONE,
19667                 NULL, 0, "FECData_rfc2733_mode_separateStream_differentPort sequence", HFILL }},
19668         { &hf_h245_FECData_rfc2733,
19669                 { "FECData_rfc2733", "h245.FECData_rfc2733", FT_NONE, BASE_NONE,
19670                 NULL, 0, "FECData_rfc2733 sequence", HFILL }},
19671         { &hf_h245_MultiplePayloadStreamElement,
19672                 { "MultiplePayloadStreamElement", "h245.MultiplePayloadStreamElement", FT_NONE, BASE_NONE,
19673                 NULL, 0, "MultiplePayloadStreamElement sequence", HFILL }},
19674         { &hf_h245_MultiplePayloadStream,
19675                 { "MultiplePayloadStream", "h245.MultiplePayloadStream", FT_NONE, BASE_NONE,
19676                 NULL, 0, "MultiplePayloadStream sequence", HFILL }},
19677         { &hf_h245_RedundancyEncodingElement,
19678                 { "RedundancyEncodingElement", "h245.RedundancyEncodingElement", FT_NONE, BASE_NONE,
19679                 NULL, 0, "RedundancyEncodingElement sequence", HFILL }},
19680         { &hf_h245_RedundancyEncoding_rtpRedundancyEncoding,
19681                 { "RedundancyEncoding_rtpRedundancyEncoding", "h245.RedundancyEncoding_rtpRedundancyEncoding", FT_NONE, BASE_NONE,
19682                 NULL, 0, "RedundancyEncoding_rtpRedundancyEncoding sequence", HFILL }},
19683         { &hf_h245_RedundancyEncoding,
19684                 { "RedundancyEncoding", "h245.RedundancyEncoding", FT_NONE, BASE_NONE,
19685                 NULL, 0, "RedundancyEncoding sequence", HFILL }},
19686         { &hf_h245_RTPPayloadType,
19687                 { "RTPPayloadType", "h245.RTPPayloadType", FT_NONE, BASE_NONE,
19688                 NULL, 0, "RTPPayloadType sequence", HFILL }},
19689         { &hf_h245_H2250LogicalChannelParameters,
19690                 { "H2250LogicalChannelParameters", "h245.H2250LogicalChannelParameters", FT_NONE, BASE_NONE,
19691                 NULL, 0, "H2250LogicalChannelParameters sequence", HFILL }},
19692         { &hf_h245_V76HDLCParameters,
19693                 { "V76HDLCParameters", "h245.V76HDLCParameters", FT_NONE, BASE_NONE,
19694                 NULL, 0, "V76HDLCParameters sequence", HFILL }},
19695         { &hf_h245_V76LogicalChannelParameters_mode_eRM,
19696                 { "V76LogicalChannelParameters_mode_eRM", "h245.V76LogicalChannelParameters_mode_eRM", FT_NONE, BASE_NONE,
19697                 NULL, 0, "V76LogicalChannelParameters_mode_eRM sequence", HFILL }},
19698         { &hf_h245_V76LogicalChannelParameters,
19699                 { "V76LogicalChannelParameters", "h245.V76LogicalChannelParameters", FT_NONE, BASE_NONE,
19700                 NULL, 0, "V76LogicalChannelParameters sequence", HFILL }},
19701         { &hf_h245_H223AnnexCArqParameters,
19702                 { "H223AnnexCArqParameters", "h245.H223AnnexCArqParameters", FT_NONE, BASE_NONE,
19703                 NULL, 0, "H223AnnexCArqParameters sequence", HFILL }},
19704         { &hf_h245_H223AL3MParameters,
19705                 { "H223AL3MParameters", "h245.H223AL3MParameters", FT_NONE, BASE_NONE,
19706                 NULL, 0, "H223AL3MParameters sequence", HFILL }},
19707         { &hf_h245_H223AL2MParameters,
19708                 { "H223AL2MParameters", "h245.H223AL2MParameters", FT_NONE, BASE_NONE,
19709                 NULL, 0, "H223AL2MParameters sequence", HFILL }},
19710         { &hf_h245_H223AL1MParameters,
19711                 { "H223AL1MParameters", "h245.H223AL1MParameters", FT_NONE, BASE_NONE,
19712                 NULL, 0, "H223AL1MParameters sequence", HFILL }},
19713         { &hf_h245_H223LogicalChannelParameters_adaptionLayerType_al3,
19714                 { "H223LogicalChannelParameters_adaptionLayerType_al3", "h245.H223LogicalChannelParameters_adaptionLayerType_al3", FT_NONE, BASE_NONE,
19715                 NULL, 0, "H223LogicalChannelParameters_adaptionLayerType_al3 sequence", HFILL }},
19716         { &hf_h245_H223LogicalChannelParameters,
19717                 { "H223LogicalChannelParameters", "h245.H223LogicalChannelParameters", FT_NONE, BASE_NONE,
19718                 NULL, 0, "H223LogicalChannelParameters sequence", HFILL }},
19719         { &hf_h245_H222LogicalChannelParameters,
19720                 { "H222LogicalChannelParameters", "h245.H222LogicalChannelParameters", FT_NONE, BASE_NONE,
19721                 NULL, 0, "H222LogicalChannelParameters sequence", HFILL }},
19722         { &hf_h245_MultiplexedStreamParameter,
19723                 { "MultiplexedStreamParameter", "h245.MultiplexedStreamParameter", FT_NONE, BASE_NONE,
19724                 NULL, 0, "MultiplexedStreamParameter sequence", HFILL }},
19725         { &hf_h245_H235Media,
19726                 { "H235Media", "h245.H235Media", FT_NONE, BASE_NONE,
19727                 NULL, 0, "H235Media sequence", HFILL }},
19728         { &hf_h245_V75Parameters,
19729                 { "V75Parameters", "h245.V75Parameters", FT_NONE, BASE_NONE,
19730                 NULL, 0, "V75Parameters sequence", HFILL }},
19731         { &hf_h245_Q2931Address,
19732                 { "Q2931Address", "h245.Q2931Address", FT_NONE, BASE_NONE,
19733                 NULL, 0, "Q2931Address sequence", HFILL }},
19734         { &hf_h245_NetworkAccessParameters,
19735                 { "NetworkAccessParameters", "h245.NetworkAccessParameters", FT_NONE, BASE_NONE,
19736                 NULL, 0, "NetworkAccessParameters sequence", HFILL }},
19737         { &hf_h245_reverseLogicalChannelParameters,
19738                 { "reverseLogicalChannelParameters", "h245.reverseLogicalChannelParameters", FT_NONE, BASE_NONE,
19739                 NULL, 0, "reverseLogicalChannelParameters sequence", HFILL }},
19740         { &hf_h245_forwardLogicalChannelParameters,
19741                 { "forwardLogicalChannelParameters", "h245.forwardLogicalChannelParameters", FT_NONE, BASE_NONE,
19742                 NULL, 0, "forwardLogicalChannelParameters sequence", HFILL }},
19743         { &hf_h245_OpenLogicalChannel,
19744                 { "OpenLogicalChannel", "h245.OpenLogicalChannel", FT_NONE, BASE_NONE,
19745                 NULL, 0, "OpenLogicalChannel sequence", HFILL }},
19746         { &hf_h245_FECCapability_rfc2733_separateStream,
19747                 { "FECCapability_rfc2733_separateStream", "h245.FECCapability_rfc2733_separateStream", FT_NONE, BASE_NONE,
19748                 NULL, 0, "FECCapability_rfc2733_separateStream sequence", HFILL }},
19749         { &hf_h245_FECCapability_rfc2733,
19750                 { "FECCapability_rfc2733", "h245.FECCapability_rfc2733", FT_NONE, BASE_NONE,
19751                 NULL, 0, "FECCapability_rfc2733 sequence", HFILL }},
19752         { &hf_h245_MultiplePayloadStreamCapability,
19753                 { "MultiplePayloadStreamCapability", "h245.MultiplePayloadStreamCapability", FT_NONE, BASE_NONE,
19754                 NULL, 0, "MultiplePayloadStreamCapability sequence", HFILL }},
19755         { &hf_h245_NoPTAudioToneCapability,
19756                 { "NoPTAudioToneCapability", "h245.NoPTAudioToneCapability", FT_NONE, BASE_NONE,
19757                 NULL, 0, "NoPTAudioToneCapability sequence", HFILL }},
19758         { &hf_h245_NoPTAudioTelephonyEventCapability,
19759                 { "NoPTAudioTelephonyEventCapability", "h245.NoPTAudioTelephonyEventCapability", FT_NONE, BASE_NONE,
19760                 NULL, 0, "NoPTAudioTelephonyEventCapability sequence", HFILL }},
19761         { &hf_h245_AudioToneCapability,
19762                 { "AudioToneCapability", "h245.AudioToneCapability", FT_NONE, BASE_NONE,
19763                 NULL, 0, "AudioToneCapability sequence", HFILL }},
19764         { &hf_h245_AudioTelephonyEventCapability,
19765                 { "AudioTelephonyEventCapability", "h245.AudioTelephonyEventCapability", FT_NONE, BASE_NONE,
19766                 NULL, 0, "AudioTelephonyEventCapability sequence", HFILL }},
19767         { &hf_h245_MultiplexedStreamCapability,
19768                 { "MultiplexedStreamCapability", "h245.MultiplexedStreamCapability", FT_NONE, BASE_NONE,
19769                 NULL, 0, "MultiplexedStreamCapability sequence", HFILL }},
19770         { &hf_h245_GenericParameter,
19771                 { "GenericParameter", "h245.GenericParameter", FT_NONE, BASE_NONE,
19772                 NULL, 0, "GenericParameter sequence", HFILL }},
19773         { &hf_h245_GenericCapability,
19774                 { "GenericCapability", "h245.GenericCapability", FT_NONE, BASE_NONE,
19775                 NULL, 0, "GenericCapability sequence", HFILL }},
19776         { &hf_h245_ConferenceCapability,
19777                 { "ConferenceCapability", "h245.ConferenceCapability", FT_NONE, BASE_NONE,
19778                 NULL, 0, "ConferenceCapability sequence", HFILL }},
19779         { &hf_h245_IntegrityCapability,
19780                 { "IntegrityCapability", "h245.IntegrityCapability", FT_NONE, BASE_NONE,
19781                 NULL, 0, "IntegrityCapability sequence", HFILL }},
19782         { &hf_h245_AuthenticationCapability,
19783                 { "AuthenticationCapability", "h245.AuthenticationCapability", FT_NONE, BASE_NONE,
19784                 NULL, 0, "AuthenticationCapability sequence", HFILL }},
19785         { &hf_h245_EncryptionAuthenticationAndIntegrity,
19786                 { "EncryptionAuthenticationAndIntegrity", "h245.EncryptionAuthenticationAndIntegrity", FT_NONE, BASE_NONE,
19787                 NULL, 0, "EncryptionAuthenticationAndIntegrity sequence", HFILL }},
19788         { &hf_h245_T38FaxTcpOptions,
19789                 { "T38FaxTcpOptions", "h245.T38FaxTcpOptions", FT_NONE, BASE_NONE,
19790                 NULL, 0, "T38FaxTcpOptions sequence", HFILL }},
19791         { &hf_h245_T38FaxUdpOptions,
19792                 { "T38FaxUdpOptions", "h245.T38FaxUdpOptions", FT_NONE, BASE_NONE,
19793                 NULL, 0, "T38FaxUdpOptions sequence", HFILL }},
19794         { &hf_h245_T38FaxProfile,
19795                 { "T38FaxProfile", "h245.T38FaxProfile", FT_NONE, BASE_NONE,
19796                 NULL, 0, "T38FaxProfile sequence", HFILL }},
19797         { &hf_h245_T84Profile_t84Restricted,
19798                 { "T84Profile_t84Restricted", "h245.T84Profile_t84Restricted", FT_NONE, BASE_NONE,
19799                 NULL, 0, "T84Profile_t84Restricted sequence", HFILL }},
19800         { &hf_h245_V42bis,
19801                 { "V42bis", "h245.V42bis", FT_NONE, BASE_NONE,
19802                 NULL, 0, "V42bis sequence", HFILL }},
19803         { &hf_h245_DataApplicationCapability_application_t38fax,
19804                 { "DataApplicationCapability_application_t38fax", "h245.DataApplicationCapability_application_t38fax", FT_NONE, BASE_NONE,
19805                 NULL, 0, "DataApplicationCapability_application_t38fax sequence", HFILL }},
19806         { &hf_h245_DataApplicationCapability_application_nlpid,
19807                 { "DataApplicationCapability_application_nlpid", "h245.DataApplicationCapability_application_nlpid", FT_NONE, BASE_NONE,
19808                 NULL, 0, "DataApplicationCapability_application_nlpid sequence", HFILL }},
19809         { &hf_h245_DataApplicationCapability_application_t84,
19810                 { "DataApplicationCapability_application_t84", "h245.DataApplicationCapability_application_t84", FT_NONE, BASE_NONE,
19811                 NULL, 0, "DataApplicationCapability_application_t84 sequence", HFILL }},
19812         { &hf_h245_DataApplicationCapability,
19813                 { "DataApplicationCapability", "h245.DataApplicationCapability", FT_NONE, BASE_NONE,
19814                 NULL, 0, "DataApplicationCapability sequence", HFILL }},
19815         { &hf_h245_VBDCapability,
19816                 { "VBDCapability", "h245.VBDCapability", FT_NONE, BASE_NONE,
19817                 NULL, 0, "VBDCapability sequence", HFILL }},
19818         { &hf_h245_GSMAudioCapability,
19819                 { "GSMAudioCapability", "h245.GSMAudioCapability", FT_NONE, BASE_NONE,
19820                 NULL, 0, "GSMAudioCapability sequence", HFILL }},
19821         { &hf_h245_IS13818AudioCapability,
19822                 { "IS13818AudioCapability", "h245.IS13818AudioCapability", FT_NONE, BASE_NONE,
19823                 NULL, 0, "IS13818AudioCapability sequence", HFILL }},
19824         { &hf_h245_IS11172AudioCapability,
19825                 { "IS11172AudioCapability", "h245.IS11172AudioCapability", FT_NONE, BASE_NONE,
19826                 NULL, 0, "IS11172AudioCapability sequence", HFILL }},
19827         { &hf_h245_G7231AnnexCCapability_g723AnnexCAudioMode,
19828                 { "G7231AnnexCCapability_g723AnnexCAudioMode", "h245.G7231AnnexCCapability_g723AnnexCAudioMode", FT_NONE, BASE_NONE,
19829                 NULL, 0, "G7231AnnexCCapability_g723AnnexCAudioMode sequence", HFILL }},
19830         { &hf_h245_G7231AnnexCCapability,
19831                 { "G7231AnnexCCapability", "h245.G7231AnnexCCapability", FT_NONE, BASE_NONE,
19832                 NULL, 0, "G7231AnnexCCapability sequence", HFILL }},
19833         { &hf_h245_G729Extensions,
19834                 { "G729Extensions", "h245.G729Extensions", FT_NONE, BASE_NONE,
19835                 NULL, 0, "G729Extensions sequence", HFILL }},
19836         { &hf_h245_AudioCapability_g7231,
19837                 { "AudioCapability_g7231", "h245.AudioCapability_g7231", FT_NONE, BASE_NONE,
19838                 NULL, 0, "AudioCapability_g7231 sequence", HFILL }},
19839         { &hf_h245_IS11172VideoCapability,
19840                 { "IS11172VideoCapability", "h245.IS11172VideoCapability", FT_NONE, BASE_NONE,
19841                 NULL, 0, "IS11172VideoCapability sequence", HFILL }},
19842         { &hf_h245_H263Version3Options,
19843                 { "H263Version3Options", "h245.H263Version3Options", FT_NONE, BASE_NONE,
19844                 NULL, 0, "H263Version3Options sequence", HFILL }},
19845         { &hf_h245_H263ModeComboFlags,
19846                 { "H263ModeComboFlags", "h245.H263ModeComboFlags", FT_NONE, BASE_NONE,
19847                 NULL, 0, "H263ModeComboFlags sequence", HFILL }},
19848         { &hf_h245_H263VideoModeCombos,
19849                 { "H263VideoModeCombos", "h245.H263VideoModeCombos", FT_NONE, BASE_NONE,
19850                 NULL, 0, "H263VideoModeCombos sequence", HFILL }},
19851         { &hf_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR,
19852                 { "CustomPictureFormat_pixelAspectInformation_extendedPAR", "h245.CustomPictureFormat_pixelAspectInformation_extendedPAR", FT_NONE, BASE_NONE,
19853                 NULL, 0, "CustomPictureFormat_pixelAspectInformation_extendedPAR sequence", HFILL }},
19854         { &hf_h245_CustomPictureFormat_mPI_customPCF,
19855                 { "CustomPictureFormat_mPI_customPCF", "h245.CustomPictureFormat_mPI_customPCF", FT_NONE, BASE_NONE,
19856                 NULL, 0, "CustomPictureFormat_mPI_customPCF sequence", HFILL }},
19857         { &hf_h245_CustomPictureFormat_mPI,
19858                 { "CustomPictureFormat_mPI", "h245.CustomPictureFormat_mPI", FT_NONE, BASE_NONE,
19859                 NULL, 0, "CustomPictureFormat_mPI sequence", HFILL }},
19860         { &hf_h245_CustomPictureFormat,
19861                 { "CustomPictureFormat", "h245.CustomPictureFormat", FT_NONE, BASE_NONE,
19862                 NULL, 0, "CustomPictureFormat sequence", HFILL }},
19863         { &hf_h245_CustomPictureClockFrequency,
19864                 { "CustomPictureClockFrequency", "h245.CustomPictureClockFrequency", FT_NONE, BASE_NONE,
19865                 NULL, 0, "CustomPictureClockFrequency sequence", HFILL }},
19866         { &hf_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters,
19867                 { "RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters", "h245.RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters", FT_NONE, BASE_NONE,
19868                 NULL, 0, "RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters sequence", HFILL }},
19869         { &hf_h245_RefPictureSelection_enhancedReferencePicSelect,
19870                 { "RefPictureSelection_enhancedReferencePicSelect", "h245.RefPictureSelection_enhancedReferencePicSelect", FT_NONE, BASE_NONE,
19871                 NULL, 0, "RefPictureSelection_enhancedReferencePicSelect sequence", HFILL }},
19872         { &hf_h245_RefPictureSelection_additionalPictureMemory,
19873                 { "RefPictureSelection_additionalPictureMemory", "h245.RefPictureSelection_additionalPictureMemory", FT_NONE, BASE_NONE,
19874                 NULL, 0, "RefPictureSelection_additionalPictureMemory sequence", HFILL }},
19875         { &hf_h245_RefPictureSelection,
19876                 { "RefPictureSelection", "h245.RefPictureSelection", FT_NONE, BASE_NONE,
19877                 NULL, 0, "RefPictureSelection sequence", HFILL }},
19878         { &hf_h245_TransperencyParameters,
19879                 { "TransperencyParameters", "h245.TransperencyParameters", FT_NONE, BASE_NONE,
19880                 NULL, 0, "TransperencyParameters sequence", HFILL }},
19881         { &hf_h245_H263Options,
19882                 { "H263Options", "h245.H263Options", FT_NONE, BASE_NONE,
19883                 NULL, 0, "H263Options sequence", HFILL }},
19884         { &hf_h245_EnhancementOptions,
19885                 { "EnhancementOptions", "h245.EnhancementOptions", FT_NONE, BASE_NONE,
19886                 NULL, 0, "EnhancementOptions sequence", HFILL }},
19887         { &hf_h245_BEnhancementParameters,
19888                 { "BEnhancementParameters", "h245.BEnhancementParameters", FT_NONE, BASE_NONE,
19889                 NULL, 0, "BEnhancementParameters sequence", HFILL }},
19890         { &hf_h245_EnhancementLayerInfo,
19891                 { "EnhancementLayerInfo", "h245.EnhancementLayerInfo", FT_NONE, BASE_NONE,
19892                 NULL, 0, "EnhancementLayerInfo sequence", HFILL }},
19893         { &hf_h245_H263VideoCapability,
19894                 { "H263VideoCapability", "h245.H263VideoCapability", FT_NONE, BASE_NONE,
19895                 NULL, 0, "H263VideoCapability sequence", HFILL }},
19896         { &hf_h245_H262VideoCapability,
19897                 { "H262VideoCapability", "h245.H262VideoCapability", FT_NONE, BASE_NONE,
19898                 NULL, 0, "H262VideoCapability sequence", HFILL }},
19899         { &hf_h245_H261VideoCapability,
19900                 { "H261VideoCapability", "h245.H261VideoCapability", FT_NONE, BASE_NONE,
19901                 NULL, 0, "H261VideoCapability sequence", HFILL }},
19902         { &hf_h245_MediaDistributionCapability,
19903                 { "MediaDistributionCapability", "h245.MediaDistributionCapability", FT_NONE, BASE_NONE,
19904                 NULL, 0, "MediaDistributionCapability sequence", HFILL }},
19905         { &hf_h245_MultipointCapability,
19906                 { "MultipointCapability", "h245.MultipointCapability", FT_NONE, BASE_NONE,
19907                 NULL, 0, "MultipointCapability sequence", HFILL }},
19908         { &hf_h245_receiveMultipointCapability,
19909                 { "receiveMultipointCapability", "h245.receiveMultipointCapability", FT_NONE, BASE_NONE,
19910                 NULL, 0, "Receive MultipointCapability sequence", HFILL }},
19911         { &hf_h245_transmitMultipointCapability,
19912                 { "transmitMultipointCapability", "h245.transmitMultipointCapability", FT_NONE, BASE_NONE,
19913                 NULL, 0, "Transmit MultipointCapability sequence", HFILL }},
19914         { &hf_h245_receiveAndTransmitMultipointCapability,
19915                 { "receiveAndTransmitMultipointCapability", "h245.receiveAndTransmitMultipointCapability", FT_NONE, BASE_NONE,
19916                 NULL, 0, "Receive And Transmit MultipointCapability sequence", HFILL }},
19917         { &hf_h245_RTPH263VideoRedundancyFrameMapping,
19918                 { "RTPH263VideoRedundancyFrameMapping", "h245.RTPH263VideoRedundancyFrameMapping", FT_NONE, BASE_NONE,
19919                 NULL, 0, "RTPH263VideoRedundancyFrameMapping sequence", HFILL }},
19920         { &hf_h245_RTPH263VideoRedundancyEncoding,
19921                 { "RTPH263VideoRedundancyEncoding", "h245.RTPH263VideoRedundancyEncoding", FT_NONE, BASE_NONE,
19922                 NULL, 0, "RTPH263VideoRedundancyEncoding sequence", HFILL }},
19923         { &hf_h245_RedundancyEncodingCapability,
19924                 { "RedundancyEncodingCapability", "h245.RedundancyEncodingCapability", FT_NONE, BASE_NONE,
19925                 NULL, 0, "RedundancyEncodingCapability sequence", HFILL }},
19926         { &hf_h245_TransportCapability,
19927                 { "TransportCapability", "h245.TransportCapability", FT_NONE, BASE_NONE,
19928                 NULL, 0, "TransportCapability sequence", HFILL }},
19929         { &hf_h245_MediaChannelCapability,
19930                 { "MediaChannelCapability", "h245.MediaChannelCapability", FT_NONE, BASE_NONE,
19931                 NULL, 0, "MediaChannelCapability sequence", HFILL }},
19932         { &hf_h245_MediaTransportType_AtmAAL5Compressed,
19933                 { "MediaTransportType_AtmAAL5Compressed", "h245.MediaTransportType_AtmAAL5Compressed", FT_NONE, BASE_NONE,
19934                 NULL, 0, "MediaTransportType_AtmAAL5Compressed sequence", HFILL }},
19935         { &hf_h245_QOSCapability,
19936                 { "QOSCapability", "h245.QOSCapability", FT_NONE, BASE_NONE,
19937                 NULL, 0, "QOSCapability sequence", HFILL }},
19938         { &hf_h245_ATMParameters,
19939                 { "ATMParameters", "h245.ATMParameters", FT_NONE, BASE_NONE,
19940                 NULL, 0, "ATMParameters sequence", HFILL }},
19941         { &hf_h245_RSVPParameters,
19942                 { "RSVPParameters", "h245.RSVPParameters", FT_NONE, BASE_NONE,
19943                 NULL, 0, "RSVPParameters sequence", HFILL }},
19944         { &hf_h245_MediaPacketizationCapability,
19945                 { "MediaPacketizationCapability", "h245.MediaPacketizationCapability", FT_NONE, BASE_NONE,
19946                 NULL, 0, "MediaPacketizationCapability sequence", HFILL }},
19947         { &hf_h245_H2250Capability_mcCapability,
19948                 { "H2250Capability_mcCapability", "h245.H2250Capability_mcCapability", FT_NONE, BASE_NONE,
19949                 NULL, 0, "H2250Capability_mcCapability sequence", HFILL }},
19950         { &hf_h245_H2250Capability,
19951                 { "H2250Capability", "h245.H2250Capability", FT_NONE, BASE_NONE,
19952                 NULL, 0, "H2250Capability sequence", HFILL }},
19953         { &hf_h245_V75Capability,
19954                 { "V75Capability", "h245.V75Capability", FT_NONE, BASE_NONE,
19955                 NULL, 0, "V75Capability sequence", HFILL }},
19956         { &hf_h245_V76Capability,
19957                 { "V76Capability", "h245.V76Capability", FT_NONE, BASE_NONE,
19958                 NULL, 0, "V76Capability sequence", HFILL }},
19959         { &hf_h245_H223AnnexCCapability,
19960                 { "H223AnnexCCapability", "h245.H223AnnexCCapability", FT_NONE, BASE_NONE,
19961                 NULL, 0, "H223AnnexCCapability sequence", HFILL }},
19962         { &hf_h245_H223Capability_mobileMultilinkFrameCapability,
19963                 { "H223Capability_mobileMultilinkFrameCapability", "h245.H223Capability_mobileMultilinkFrameCapability", FT_NONE, BASE_NONE,
19964                 NULL, 0, "H223Capability_mobileMultilinkFrameCapability sequence", HFILL }},
19965         { &hf_h245_H223Capability_mobileOperationTransmitCapability,
19966                 { "H223Capability_mobileOperationTransmitCapability", "h245.H223Capability_mobileOperationTransmitCapability", FT_NONE, BASE_NONE,
19967                 NULL, 0, "H223Capability_mobileOperationTransmitCapability sequence", HFILL }},
19968         { &hf_h245_H223Capability_h223MultiplexTableCapability_enhanced,
19969                 { "H223Capability_h223MultiplexTableCapability_enhanced", "h245.H223Capability_h223MultiplexTableCapability_enhanced", FT_NONE, BASE_NONE,
19970                 NULL, 0, "H223Capability_h223MultiplexTableCapability_enhanced sequence", HFILL }},
19971         { &hf_h245_H223Capability,
19972                 { "H223Capability", "h245.H223Capability", FT_NONE, BASE_NONE,
19973                 NULL, 0, "H223Capability sequence", HFILL }},
19974         { &hf_h245_VCCapability_aal1ViaGateway,
19975                 { "VCCapability_aal1ViaGateway", "h245.VCCapability_aal1ViaGateway", FT_NONE, BASE_NONE,
19976                 NULL, 0, "VCCapability_aal1ViaGateway sequence", HFILL }},
19977         { &hf_h245_VCCapability_availableBitRates_rangeOfBitRates,
19978                 { "VCCapability_availableBitRates_rangeOfBitRates", "h245.VCCapability_availableBitRates_rangeOfBitRates", FT_NONE, BASE_NONE,
19979                 NULL, 0, "VCCapability_availableBitRates_rangeOfBitRates sequence", HFILL }},
19980         { &hf_h245_VCCapability_availableBitRates,
19981                 { "VCCapability_availableBitRates", "h245.VCCapability_availableBitRates", FT_NONE, BASE_NONE,
19982                 NULL, 0, "VCCapability_availableBitRates sequence", HFILL }},
19983         { &hf_h245_VCCapability_aal5,
19984                 { "VCCapability_aal5", "h245.VCCapability_aal5", FT_NONE, BASE_NONE,
19985                 NULL, 0, "VCCapability_aal5 sequence", HFILL }},
19986         { &hf_h245_VCCapability_aal1,
19987                 { "VCCapability_aal1", "h245.VCCapability_aal1", FT_NONE, BASE_NONE,
19988                 NULL, 0, "VCCapability_aal1 sequence", HFILL }},
19989         { &hf_h245_VCCapability,
19990                 { "VCCapability", "h245.VCCapability", FT_NONE, BASE_NONE,
19991                 NULL, 0, "VCCapability sequence", HFILL }},
19992         { &hf_h245_H222Capability,
19993                 { "H222Capability", "h245.H222Capability", FT_NONE, BASE_NONE,
19994                 NULL, 0, "H222Capability sequence", HFILL }},
19995         { &hf_h245_H235SecurityCapability,
19996                 { "H235SecurityCapability", "h245.H235SecurityCapability", FT_NONE, BASE_NONE,
19997                 NULL, 0, "H235SecurityCapability sequence", HFILL }},
19998         { &hf_h245_Capability_h233EncryptionReceiveCapability,
19999                 { "Capability_h233EncryptionReceiveCapability", "h245.Capability_h233EncryptionReceiveCapability", FT_NONE, BASE_NONE,
20000                 NULL, 0, "Capability_h233EncryptionReceiveCapability sequence", HFILL }},
20001         { &hf_h245_TerminalCapabilitySetRelease,
20002                 { "TerminalCapabilitySetRelease", "h245.TerminalCapabilitySetRelease", FT_NONE, BASE_NONE,
20003                 NULL, 0, "TerminalCapabilitySetRelease sequence", HFILL }},
20004         { &hf_h245_TerminalCapabilitySetReject,
20005                 { "TerminalCapabilitySetReject", "h245.TerminalCapabilitySetReject", FT_NONE, BASE_NONE,
20006                 NULL, 0, "TerminalCapabilitySetReject sequence", HFILL }},
20007         { &hf_h245_TerminalCapabilitySetAck,
20008                 { "TerminalCapabilitySetAck", "h245.TerminalCapabilitySetAck", FT_NONE, BASE_NONE,
20009                 NULL, 0, "TerminalCapabilitySetAck sequence", HFILL }},
20010         { &hf_h245_CapabilityDescriptor,
20011                 { "CapabilityDescriptor", "h245.CapabilityDescriptor", FT_NONE, BASE_NONE,
20012                 NULL, 0, "CapabilityDescriptor sequence", HFILL }},
20013         { &hf_h245_CapabilityTableEntry,
20014                 { "CapabilityTableEntry", "h245.CapabilityTableEntry", FT_NONE, BASE_NONE,
20015                 NULL, 0, "CapabilityTableEntry sequence", HFILL }},
20016         { &hf_h245_TerminalCapabilitySet,
20017                 { "TerminalCapabilitySet", "h245.TerminalCapabilitySet", FT_NONE, BASE_NONE,
20018                 NULL, 0, "TerminalCapabilitySet sequence", HFILL }},
20019         { &hf_h245_MasterSlaveDeterminationRelease,
20020                 { "MasterSlaveDeterminationRelease", "h245.MasterSlaveDeterminationRelease", FT_NONE, BASE_NONE,
20021                 NULL, 0, "MasterSlaveDeterminationRelease sequence", HFILL }},
20022         { &hf_h245_MasterSlaveDeterminationReject,
20023                 { "MasterSlaveDeterminationReject", "h245.MasterSlaveDeterminationReject", FT_NONE, BASE_NONE,
20024                 NULL, 0, "MasterSlaveDeterminationReject sequence", HFILL }},
20025         { &hf_h245_MasterSlaveDeterminationAck,
20026                 { "MasterSlaveDeterminationAck", "h245.MasterSlaveDeterminationAck", FT_NONE, BASE_NONE,
20027                 NULL, 0, "MasterSlaveDeterminationAck sequence", HFILL }},
20028         { &hf_h245_MasterSlaveDetermination,
20029                 { "MasterSlaveDetermination", "h245.MasterSlaveDetermination", FT_NONE, BASE_NONE,
20030                 NULL, 0, "MasterSlaveDetermination sequence", HFILL }},
20031         { &hf_h245_h221NonStandard,
20032                 { "h221NonStandard", "h245.h221NonStandard", FT_NONE, BASE_NONE,
20033                 NULL, 0, "h221NonStandard sequence", HFILL }},
20034         { &hf_h245_NonStandardParameter,
20035                 { "NonStandardParameter", "h245.NonStandardParameter", FT_NONE, BASE_NONE,
20036                 NULL, 0, "NonStandardParameter sequence", HFILL }},
20037         { &hf_h245_NonStandardMessage,
20038                 { "NonStandardMessage", "h245.NonStandardMessage", FT_NONE, BASE_NONE,
20039                 NULL, 0, "NonStandardMessage sequence", HFILL }},
20040         { &hf_h245_FlowControlIndication_restriction,
20041                 { "FlowControlIndication_restriction", "h245.FlowControlIndication_restriction_type", FT_UINT32, BASE_DEC,
20042                 VALS(FlowControlIndication_restriction_vals), 0, "FlowControlIndication_restriction choice", HFILL }},
20043         { &hf_h245_FlowControlIndication_scope,
20044                 { "FlowControlIndication_scope", "h245.FlowControlIndication_scope_type", FT_UINT32, BASE_DEC,
20045                 VALS(FlowControlIndication_scope_vals), 0, "FlowControlIndication_scope choice", HFILL }},
20046         { &hf_h245_UserInputIndication_userInputSupportIndication,
20047                 { "UserInputIndication_userInputSupportIndication type", "h245.UserInputIndication_userInputSupportIndication_type", FT_UINT32, BASE_DEC,
20048                 VALS(UserInputIndication_userInputSupportIndication_vals), 0, "Type of UserInputIndication_userInputSupportIndication choice", HFILL }},
20049         { &hf_h245_UserInputIndication,
20050                 { "UserInputIndication type", "h245.UserInputIndication_type", FT_UINT32, BASE_DEC,
20051                 VALS(UserInputIndication_vals), 0, "Type of UserInputIndication choice", HFILL }},
20052         { &hf_h245_NewATMVCIndication_reverseParameters_multiplex,
20053                 { "NewATMVCIndication_reverseParameters_multiplex type", "h245.NewATMVCIndication_reverseParameters_multiplex_type", FT_UINT32, BASE_DEC,
20054                 VALS(NewATMVCIndication_reverseParameters_multiplex_vals), 0, "Type of NewATMVCIndication_reverseParameters_multiplex choice", HFILL }},
20055         { &hf_h245_NewATMVCIndication_multiplex,
20056                 { "NewATMVCIndication_multiplex type", "h245.NewATMVCIndication_multiplex_type", FT_UINT32, BASE_DEC,
20057                 VALS(NewATMVCIndication_multiplex_vals), 0, "Type of NewATMVCIndication_multiplex choice", HFILL }},
20058         { &hf_h245_NewATMVCIndication_aal_aal1_errorCorrection,
20059                 { "NewATMVCIndication_aal_aal1_errorCorrection type", "h245.NewATMVCIndication_aal_aal1_errorCorrection_type", FT_UINT32, BASE_DEC,
20060                 VALS(NewATMVCIndication_aal_aal1_errorCorrection_vals), 0, "Type of NewATMVCIndication_aal_aal1_errorCorrection choice", HFILL }},
20061         { &hf_h245_NewATMVCIndication_aal_aal1_clockRecovery,
20062                 { "NewATMVCIndication_aal_aal1_clockRecovery type", "h245.NewATMVCIndication_aal_aal1_clockRecovery_type", FT_UINT32, BASE_DEC,
20063                 VALS(NewATMVCIndication_aal_aal1_clockRecovery_vals), 0, "Type of NewATMVCIndication_aal_aal1_clockRecovery choice", HFILL }},
20064         { &hf_h245_NewATMVCIndication_aal,
20065                 { "NewATMVCIndication_aal type", "h245.NewATMVCIndication_aal_type", FT_UINT32, BASE_DEC,
20066                 VALS(NewATMVCIndication_aal_vals), 0, "Type of NewATMVCIndication_aal choice", HFILL }},
20067         { &hf_h245_JitterIndication_scope,
20068                 { "JitterIndication_scope type", "h245.JitterIndication_scope_type", FT_UINT32, BASE_DEC,
20069                 VALS(JitterIndication_scope_vals), 0, "Type of JitterIndication_scope choice", HFILL }},
20070         { &hf_h245_MiscellaneousIndication_type,
20071                 { "MiscellaneousIndication_type type", "h245.MiscellaneousIndication_type_type", FT_UINT32, BASE_DEC,
20072                 VALS(MiscellaneousIndication_type_vals), 0, "Type of MiscellaneousIndication_type choice", HFILL }},
20073         { &hf_h245_ConferenceIndication,
20074                 { "ConferenceIndication type", "h245.ConferenceIndication_type", FT_UINT32, BASE_DEC,
20075                 VALS(ConferenceIndication_vals), 0, "Type of ConferenceIndication choice", HFILL }},
20076         { &hf_h245_FunctionNotSupported_cause,
20077                 { "FunctionNotSupported_cause type", "h245.FunctionNotSupported_cause_type", FT_UINT32, BASE_DEC,
20078                 VALS(FunctionNotSupported_cause_vals), 0, "Type of FunctionNotSupported_cause choice", HFILL }},
20079         { &hf_h245_FunctionNotUnderstood,
20080                 { "FunctionNotUnderstood type", "h245.FunctionNotUnderstood_type", FT_UINT32, BASE_DEC,
20081                 VALS(FunctionNotUnderstood_vals), 0, "Type of FunctionNotUnderstood choice", HFILL }},
20082         { &hf_h245_MobileMultilinkReconfigurationCommand_status,
20083                 { "MobileMultilinkReconfigurationCommand_status type", "h245.MobileMultilinkReconfigurationCommand_status_type", FT_UINT32, BASE_DEC,
20084                 VALS(MobileMultilinkReconfigurationCommand_status_vals), 0, "Type of MobileMultilinkReconfigurationCommand_status choice", HFILL }},
20085         { &hf_h245_NewATMVCCommand_reverseParameters_multiplex,
20086                 { "NewATMVCCommand_reverseParameters_multiplex type", "h245.NewATMVCCommand_reverseParameters_multiplex_type", FT_UINT32, BASE_DEC,
20087                 VALS(NewATMVCCommand_reverseParameters_multiplex_vals), 0, "Type of NewATMVCCommand_reverseParameters_multiplex choice", HFILL }},
20088         { &hf_h245_NewATMVCCommand_multiplex,
20089                 { "NewATMVCCommand_multiplex type", "h245.NewATMVCCommand_multiplex_type", FT_UINT32, BASE_DEC,
20090                 VALS(NewATMVCCommand_multiplex_vals), 0, "Type of NewATMVCCommand_multiplex choice", HFILL }},
20091         { &hf_h245_NewATMVCCommand_aal_aal1_errorCorrection,
20092                 { "NewATMVCCommand_aal_aal1_errorCorrection type", "h245.NewATMVCCommand_aal_aal1_errorCorrection_type", FT_UINT32, BASE_DEC,
20093                 VALS(NewATMVCCommand_aal_aal1_errorCorrection_vals), 0, "Type of NewATMVCCommand_aal_aal1_errorCorrection choice", HFILL }},
20094         { &hf_h245_NewATMVCCommand_aal_aal1_clockRecovery,
20095                 { "NewATMVCCommand_aal_aal1_clockRecovery type", "h245.NewATMVCCommand_aal_aal1_clockRecovery_type", FT_UINT32, BASE_DEC,
20096                 VALS(NewATMVCCommand_aal_aal1_clockRecovery_vals), 0, "Type of NewATMVCCommand_aal_aal1_clockRecovery choice", HFILL }},
20097         { &hf_h245_NewATMVCCommand_aal,
20098                 { "NewATMVCCommand_aal type", "h245.NewATMVCCommand_aal_type", FT_UINT32, BASE_DEC,
20099                 VALS(NewATMVCCommand_aal_vals), 0, "Type of NewATMVCCommand_aal choice", HFILL }},
20100         { &hf_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag,
20101                 { "H223MultiplexReconfiguration_h223AnnexADoubleFlag type", "h245.H223MultiplexReconfiguration_h223AnnexADoubleFlag_type", FT_UINT32, BASE_DEC,
20102                 VALS(H223MultiplexReconfiguration_h223AnnexADoubleFlag_vals), 0, "Type of H223MultiplexReconfiguration_h223AnnexADoubleFlag choice", HFILL }},
20103         { &hf_h245_H223MultiplexReconfiguration_h223ModeChange,
20104                 { "H223MultiplexReconfiguration_h223ModeChange type", "h245.H223MultiplexReconfiguration_h223ModeChange_type", FT_UINT32, BASE_DEC,
20105                 VALS(H223MultiplexReconfiguration_h223ModeChange_vals), 0, "Type of H223MultiplexReconfiguration_h223ModeChange choice", HFILL }},
20106         { &hf_h245_H223MultiplexReconfiguration,
20107                 { "H223MultiplexReconfiguration type", "h245.H223MultiplexReconfiguration_type", FT_UINT32, BASE_DEC,
20108                 VALS(H223MultiplexReconfiguration_vals), 0, "Type of H223MultiplexReconfiguration choice", HFILL }},
20109         { &hf_h245_PictureReference,
20110                 { "PictureReference type", "h245.PictureReference_type", FT_UINT32, BASE_DEC,
20111                 VALS(PictureReference_vals), 0, "Type of PictureReference choice", HFILL }},
20112         { &hf_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount,
20113                 { "MiscellaneousCommand_type_progressiveRefinementStart_repeatCount type", "h245.MiscellaneousCommand_type_progressiveRefinementStart_repeatCount_type", FT_UINT32, BASE_DEC,
20114                 VALS(MiscellaneousCommand_type_progressiveRefinementStart_repeatCount_vals), 0, "Type of MiscellaneousCommand_type_progressiveRefinementStart_repeatCount choice", HFILL }},
20115         { &hf_h245_MiscellaneousCommand_type,
20116                 { "MiscellaneousCommand_type type", "h245.MiscellaneousCommand_type_type", FT_UINT32, BASE_DEC,
20117                 VALS(MiscellaneousCommand_type_vals), 0, "Type of MiscellaneousCommand_type choice", HFILL }},
20118         { &hf_h245_ConferenceCommand,
20119                 { "ConferenceCommand type", "h245.ConferenceCommand_type", FT_UINT32, BASE_DEC,
20120                 VALS(ConferenceCommand_vals), 0, "Type of ConferenceCommand choice", HFILL }},
20121         { &hf_h245_EndSessionCommand_gstnOptions,
20122                 { "EndSessionCommand_gstnOptions type", "h245.EndSessionCommand_gstnOptions_type", FT_UINT32, BASE_DEC,
20123                 VALS(EndSessionCommand_gstnOptions_vals), 0, "Type of EndSessionCommand_gstnOptions choice", HFILL }},
20124         { &hf_h245_EndSessionCommand_isdnOptions,
20125                 { "EndSessionCommand_isdnOptions type", "h245.EndSessionCommand_isdnOptions_type", FT_UINT32, BASE_DEC,
20126                 VALS(EndSessionCommand_isdnOptions_vals), 0, "Type of EndSessionCommand_isdnOptions choice", HFILL }},
20127         { &hf_h245_FlowControlCommand_restriction,
20128                 { "FlowControlCommand_restriction type", "h245.FlowControlCommand_restriction_type", FT_UINT32, BASE_DEC,
20129                 VALS(FlowControlCommand_restriction_vals), 0, "Type of FlowControlCommand_restriction choice", HFILL }},
20130         { &hf_h245_FlowControlCommand_scope,
20131                 { "FlowControlCommand_scope type", "h245.FlowControlCommand_scope_type", FT_UINT32, BASE_DEC,
20132                 VALS(FlowControlCommand_scope_vals), 0, "Type of FlowControlCommand_scope choice", HFILL }},
20133         { &hf_h245_EncryptionCommand,
20134                 { "EncryptionCommand type", "h245.EncryptionCommand_type", FT_UINT32, BASE_DEC,
20135                 VALS(EncryptionCommand_vals), 0, "Type of EncryptionCommand choice", HFILL }},
20136         { &hf_h245_SendTerminalCapabilitySet,
20137                 { "SendTerminalCapabilitySet type", "h245.SendTerminalCapabilitySet_type", FT_UINT32, BASE_DEC,
20138                 VALS(SendTerminalCapabilitySet_vals), 0, "Type of SendTerminalCapabilitySet choice", HFILL }},
20139         { &hf_h245_LogicalChannelRateRejectReason,
20140                 { "LogicalChannelRateRejectReason type", "h245.LogicalChannelRateRejectReason_type", FT_UINT32, BASE_DEC,
20141                 VALS(LogicalChannelRateRejectReason_vals), 0, "Type of LogicalChannelRateRejectReason choice", HFILL }},
20142         { &hf_h245_DialingInformationNetworkType,
20143                 { "DialingInformationNetworkType type", "h245.DialingInformationNetworkType_type", FT_UINT32, BASE_DEC,
20144                 VALS(DialingInformationNetworkType_vals), 0, "Type of DialingInformationNetworkType choice", HFILL }},
20145         { &hf_h245_DialingInformation,
20146                 { "DialingInformation type", "h245.DialingInformation_type", FT_UINT32, BASE_DEC,
20147                 VALS(DialingInformation_vals), 0, "Type of DialingInformation choice", HFILL }},
20148         { &hf_h245_MultilinkIndication,
20149                 { "MultilinkIndication type", "h245.MultilinkIndication_type", FT_UINT32, BASE_DEC,
20150                 VALS(MultilinkIndication_vals), 0, "Type of MultilinkIndication choice", HFILL }},
20151         { &hf_h245_MultilinkResponse_addConnection_responseCode_rejected,
20152                 { "MultilinkResponse_addConnection_responseCode_rejected type", "h245.MultilinkResponse_addConnection_responseCode_rejected_type", FT_UINT32, BASE_DEC,
20153                 VALS(MultilinkResponse_addConnection_responseCode_rejected_vals), 0, "Type of MultilinkResponse_addConnection_responseCode_rejected choice", HFILL }},
20154         { &hf_h245_MultilinkResponse_addConnection_responseCode,
20155                 { "MultilinkResponse_addConnection_responseCode type", "h245.MultilinkResponse_addConnection_responseCode_type", FT_UINT32, BASE_DEC,
20156                 VALS(MultilinkResponse_addConnection_responseCode_vals), 0, "Type of MultilinkResponse_addConnection_responseCode choice", HFILL }},
20157         { &hf_h245_MultilinkResponse,
20158                 { "MultilinkResponse type", "h245.MultilinkResponse_type", FT_UINT32, BASE_DEC,
20159                 VALS(MultilinkResponse_vals), 0, "Type of MultilinkResponse choice", HFILL }},
20160         { &hf_h245_MultilinkRequest_maximumHeaderInterval_requestType,
20161                 { "MultilinkRequest_maximumHeaderInterval_requestType type", "h245.MultilinkRequest_maximumHeaderInterval_requestType_type", FT_UINT32, BASE_DEC,
20162                 VALS(MultilinkRequest_maximumHeaderInterval_requestType_vals), 0, "Type of MultilinkRequest_maximumHeaderInterval_requestType choice", HFILL }},
20163         { &hf_h245_MultilinkRequest,
20164                 { "MultilinkRequest type", "h245.MultilinkRequest_type", FT_UINT32, BASE_DEC,
20165                 VALS(MultilinkRequest_vals), 0, "Type of MultilinkRequest choice", HFILL }},
20166         { &hf_h245_RemoteMCResponse_reject,
20167                 { "RemoteMCResponse_reject type", "h245.RemoteMCResponse_reject_type", FT_UINT32, BASE_DEC,
20168                 VALS(RemoteMCResponse_reject_vals), 0, "Type of RemoteMCResponse_reject choice", HFILL }},
20169         { &hf_h245_RemoteMCResponse,
20170                 { "RemoteMCResponse type", "h245.RemoteMCResponse_type", FT_UINT32, BASE_DEC,
20171                 VALS(RemoteMCResponse_vals), 0, "Type of RemoteMCResponse choice", HFILL }},
20172         { &hf_h245_RemoteMCRequest,
20173                 { "RemoteMCRequest type", "h245.RemoteMCRequest_type", FT_UINT32, BASE_DEC,
20174                 VALS(RemoteMCRequest_vals), 0, "Type of RemoteMCRequest choice", HFILL }},
20175         { &hf_h245_ConferenceResponse_sendThisSourceResponse,
20176                 { "ConferenceResponse_sendThisSourceResponse type", "h245.ConferenceResponse_sendThisSourceResponse_type", FT_UINT32, BASE_DEC,
20177                 VALS(ConferenceResponse_sendThisSourceResponse_vals), 0, "Type of ConferenceResponse_sendThisSourceResponse choice", HFILL }},
20178         { &hf_h245_ConferenceResponse_makeTerminalBroadcasterResponse,
20179                 { "ConferenceResponse_makeTerminalBroadcasterResponse type", "h245.ConferenceResponse_makeTerminalBroadcasterResponse_type", FT_UINT32, BASE_DEC,
20180                 VALS(ConferenceResponse_makeTerminalBroadcasterResponse_vals), 0, "Type of ConferenceResponse_makeTerminalBroadcasterResponse choice", HFILL }},
20181         { &hf_h245_ConferenceResponse_broadcastMyLogicalChannelResponse,
20182                 { "ConferenceResponse_broadcastMyLogicalChannelResponse type", "h245.ConferenceResponse_broadcastMyLogicalChannelResponse_type", FT_UINT32, BASE_DEC,
20183                 VALS(ConferenceResponse_broadcastMyLogicalChannelResponse_vals), 0, "Type of ConferenceResponse_broadcastMyLogicalChannelResponse choice", HFILL }},
20184         { &hf_h245_ConferenceResponse_makeMeChairResponse,
20185                 { "ConferenceResponse_makeMeChairResponse type", "h245.ConferenceResponse_makeMeChairResponse_type", FT_UINT32, BASE_DEC,
20186                 VALS(ConferenceResponse_makeMeChairResponse_vals), 0, "Type of ConferenceResponse_makeMeChairResponse choice", HFILL }},
20187         { &hf_h245_ConferenceResponse,
20188                 { "ConferenceResponse type", "h245.ConferenceResponse_type", FT_UINT32, BASE_DEC,
20189                 VALS(ConferenceResponse_vals), 0, "Type of ConferenceResponse choice", HFILL }},
20190         { &hf_h245_ConferenceRequest,
20191                 { "ConferenceRequest type", "h245.ConferenceRequest_type", FT_UINT32, BASE_DEC,
20192                 VALS(ConferenceRequest_vals), 0, "Type of ConferenceRequest choice", HFILL }},
20193         { &hf_h245_CommunicationModeTableEntry_dataType,
20194                 { "CommunicationModeTableEntry_dataType type", "h245.CommunicationModeTableEntry_dataType_type", FT_UINT32, BASE_DEC,
20195                 VALS(CommunicationModeTableEntry_dataType_vals), 0, "Type of CommunicationModeTableEntry_dataType choice", HFILL }},
20196         { &hf_h245_CommunicationModeResponse,
20197                 { "CommunicationModeResponse type", "h245.CommunicationModeResponse_type", FT_UINT32, BASE_DEC,
20198                 VALS(CommunicationModeResponse_vals), 0, "Type of CommunicationModeResponse choice", HFILL }},
20199         { &hf_h245_MaintenanceLoopReject_cause,
20200                 { "MaintenanceLoopReject_cause type", "h245.MaintenanceLoopReject_cause_type", FT_UINT32, BASE_DEC,
20201                 VALS(MaintenanceLoopReject_cause_vals), 0, "Type of MaintenanceLoopReject_cause choice", HFILL }},
20202         { &hf_h245_MaintenanceLoopReject_type,
20203                 { "MaintenanceLoopReject_type type", "h245.MaintenanceLoopReject_type_type", FT_UINT32, BASE_DEC,
20204                 VALS(MaintenanceLoopReject_type_vals), 0, "Type of MaintenanceLoopReject_type choice", HFILL }},
20205         { &hf_h245_MaintenanceLoopAck_type,
20206                 { "MaintenanceLoopAck_type type", "h245.MaintenanceLoopAck_type_type", FT_UINT32, BASE_DEC,
20207                 VALS(MaintenanceLoopAck_type_vals), 0, "Type of MaintenanceLoopAck_type choice", HFILL }},
20208         { &hf_h245_MaintenanceLoopRequest_type,
20209                 { "MaintenanceLoopRequest_type type", "h245.MaintenanceLoopRequest_type_type", FT_UINT32, BASE_DEC,
20210                 VALS(MaintenanceLoopRequest_type_vals), 0, "Type of MaintenanceLoopRequest_type choice", HFILL }},
20211         { &hf_h245_EncryptionMode,
20212                 { "EncryptionMode type", "h245.EncryptionMode_type", FT_UINT32, BASE_DEC,
20213                 VALS(EncryptionMode_vals), 0, "Type of EncryptionMode choice", HFILL }},
20214         { &hf_h245_DataMode_application,
20215                 { "DataMode_application type", "h245.DataMode_application_type", FT_UINT32, BASE_DEC,
20216                 VALS(DataMode_application_vals), 0, "Type of DataMode_application choice", HFILL }},
20217         { &hf_h245_IS13818AudioMode_multiChannelType,
20218                 { "IS13818AudioMode_multiChannelType type", "h245.IS13818AudioMode_multiChannelType_type", FT_UINT32, BASE_DEC,
20219                 VALS(IS13818AudioMode_multiChannelType_vals), 0, "Type of IS13818AudioMode_multiChannelType choice", HFILL }},
20220         { &hf_h245_IS13818AudioMode_audioSampling,
20221                 { "IS13818AudioMode_audioSampling type", "h245.IS13818AudioMode_audioSampling_type", FT_UINT32, BASE_DEC,
20222                 VALS(IS13818AudioMode_audioSampling_vals), 0, "Type of IS13818AudioMode_audioSampling choice", HFILL }},
20223         { &hf_h245_IS13818AudioMode_audioLayer,
20224                 { "IS13818AudioMode_audioLayer type", "h245.IS13818AudioMode_audioLayer_type", FT_UINT32, BASE_DEC,
20225                 VALS(IS13818AudioMode_audioLayer_vals), 0, "Type of IS13818AudioMode_audioLayer choice", HFILL }},
20226         { &hf_h245_IS11172AudioMode_multichannelType,
20227                 { "IS11172AudioMode_multichannelType type", "h245.IS11172AudioMode_multichannelType_type", FT_UINT32, BASE_DEC,
20228                 VALS(IS11172AudioMode_multichannelType_vals), 0, "Type of IS11172AudioMode_multichannelType choice", HFILL }},
20229         { &hf_h245_IS11172AudioMode_audioSampling,
20230                 { "IS11172AudioMode_audioSampling type", "h245.IS11172AudioMode_audioSampling_type", FT_UINT32, BASE_DEC,
20231                 VALS(IS11172AudioMode_audioSampling_vals), 0, "Type of IS11172AudioMode_audioSampling choice", HFILL }},
20232         { &hf_h245_IS11172AudioMode_audioLayer,
20233                 { "IS11172AudioMode_audioLayer type", "h245.IS11172AudioMode_audioLayer_type", FT_UINT32, BASE_DEC,
20234                 VALS(IS11172AudioMode_audioLayer_vals), 0, "Type of IS11172AudioMode_audioLayer choice", HFILL }},
20235         { &hf_h245_AudioMode_g7231,
20236                 { "AudioMode_g7231 type", "h245.AudioMode_g7231_type", FT_UINT32, BASE_DEC,
20237                 VALS(AudioMode_g7231_vals), 0, "Type of AudioMode_g7231 choice", HFILL }},
20238         { &hf_h245_AudioMode,
20239                 { "AudioMode type", "h245.AudioMode_type", FT_UINT32, BASE_DEC,
20240                 VALS(AudioMode_vals), 0, "Type of AudioMode choice", HFILL }},
20241         { &hf_h245_H263VideoMode_resolution,
20242                 { "H263VideoMode_resolution type", "h245.H263VideoMode_resolution_type", FT_UINT32, BASE_DEC,
20243                 VALS(H263VideoMode_resolution_vals), 0, "Type of H263VideoMode_resolution choice", HFILL }},
20244         { &hf_h245_H262VideoMode_profileAndLevel,
20245                 { "H262VideoMode_profileAndLevel type", "h245.H262VideoMode_profileAndLevel_type", FT_UINT32, BASE_DEC,
20246                 VALS(H262VideoMode_profileAndLevel_vals), 0, "Type of H262VideoMode_profileAndLevel choice", HFILL }},
20247         { &hf_h245_H261VideoMode_resolution,
20248                 { "H261VideoMode_resolution type", "h245.H261VideoMode_resolution_type", FT_UINT32, BASE_DEC,
20249                 VALS(H261VideoMode_resolution_vals), 0, "Type of H261VideoMode_resolution choice", HFILL }},
20250         { &hf_h245_VideoMode,
20251                 { "VideoMode type", "h245.VideoMode_type", FT_UINT32, BASE_DEC,
20252                 VALS(VideoMode_vals), 0, "Type of VideoMode choice", HFILL }},
20253         { &hf_h245_RedundancyEncodingMode_secondaryEncoding,
20254                 { "RedundancyEncodingMode_secondaryEncoding type", "h245.RedundancyEncodingMode_secondaryEncoding_type", FT_UINT32, BASE_DEC,
20255                 VALS(RedundancyEncodingMode_secondaryEncoding_vals), 0, "Type of RedundancyEncodingMode_secondaryEncoding choice", HFILL }},
20256         { &hf_h245_V76ModeParameters,
20257                 { "V76ModeParameters type", "h245.V76ModeParameters_type", FT_UINT32, BASE_DEC,
20258                 VALS(V76ModeParameters_vals), 0, "Type of V76ModeParameters choice", HFILL }},
20259         { &hf_h245_H223ModeParameters_adaptationLayerType,
20260                 { "H223ModeParameters_adaptationLayerType type", "h245.H223ModeParameters_adaptationLayerType_type", FT_UINT32, BASE_DEC,
20261                 VALS(H223ModeParameters_adaptationLayerType_vals), 0, "Type of H223ModeParameters_adaptationLayerType choice", HFILL }},
20262         { &hf_h245_FECMode_rfc2733Mode_mode_separateStream,
20263                 { "FECMode_rfc2733Mode_mode_separateStream type", "h245.FECMode_rfc2733Mode_mode_separateStream_type", FT_UINT32, BASE_DEC,
20264                 VALS(FECMode_rfc2733Mode_mode_separateStream_vals), 0, "Type of FECMode_rfc2733Mode_mode_separateStream choice", HFILL }},
20265         { &hf_h245_FECMode_rfc2733Mode_mode,
20266                 { "FECMode_rfc2733Mode_mode type", "h245.FECMode_rfc2733Mode_mode_type", FT_UINT32, BASE_DEC,
20267                 VALS(FECMode_rfc2733Mode_mode_vals), 0, "Type of FECMode_rfc2733Mode_mode choice", HFILL }},
20268         { &hf_h245_FECMode,
20269                 { "FECMode type", "h245.FECMode_type", FT_UINT32, BASE_DEC,
20270                 VALS(FECMode_vals), 0, "Type of FECMode choice", HFILL }},
20271         { &hf_h245_RedundancyEncodingDTModeElement_type,
20272                 { "RedundancyEncodingDTModeElement_type type", "h245.RedundancyEncodingDTModeElement_type_type", FT_UINT32, BASE_DEC,
20273                 VALS(RedundancyEncodingDTModeElement_type_vals), 0, "Type of RedundancyEncodingDTModeElement_type choice", HFILL }},
20274         { &hf_h245_H235Mode_mediaMode,
20275                 { "H235Mode_mediaMode type", "h245.H235Mode_mediaMode_type", FT_UINT32, BASE_DEC,
20276                 VALS(H235Mode_mediaMode_vals), 0, "Type of H235Mode_mediaMode choice", HFILL }},
20277         { &hf_h245_ModeElementType,
20278                 { "ModeElementType type", "h245.ModeElementType_type", FT_UINT32, BASE_DEC,
20279                 VALS(ModeElementType_vals), 0, "Type of ModeElementType choice", HFILL }},
20280         { &hf_h245_RequestModeReject_cause,
20281                 { "RequestModeReject_cause type", "h245.RequestModeReject_cause_type", FT_UINT32, BASE_DEC,
20282                 VALS(RequestModeReject_cause_vals), 0, "Type of RequestModeReject_cause choice", HFILL }},
20283         { &hf_h245_RequestMultiplexEntryRejectionDescriptions_cause,
20284                 { "RequestMultiplexEntryRejectionDescriptions_cause type", "h245.RequestMultiplexEntryRejectionDescriptions_cause_type", FT_UINT32, BASE_DEC,
20285                 VALS(RequestMultiplexEntryRejectionDescriptions_cause_vals), 0, "Type of RequestMultiplexEntryRejectionDescriptions_cause choice", HFILL }},
20286         { &hf_h245_MultiplexEntryRejectionDescriptions_cause,
20287                 { "MultiplexEntryRejectionDescriptions_cause type", "h245.MultiplexEntryRejectionDescriptions_cause_type", FT_UINT32, BASE_DEC,
20288                 VALS(MultiplexEntryRejectionDescriptions_cause_vals), 0, "Type of MultiplexEntryRejectionDescriptions_cause choice", HFILL }},
20289         { &hf_h245_MultiplexElement_repeatCount,
20290                 { "MultiplexElement_repeatCount type", "h245.MultiplexElement_repeatCount_type", FT_UINT32, BASE_DEC,
20291                 VALS(MultiplexElement_repeatCount_vals), 0, "Type of MultiplexElement_repeatCount choice", HFILL }},
20292         { &hf_h245_MultiplexElement_type,
20293                 { "MultiplexElement_type type", "h245.MultiplexElement_type_type", FT_UINT32, BASE_DEC,
20294                 VALS(MultiplexElement_type_vals), 0, "Type of MultiplexElement_type choice", HFILL }},
20295         { &hf_h245_RequestChannelCloseReject_cause,
20296                 { "RequestChannelCloseReject_cause type", "h245.RequestChannelCloseReject_cause_type", FT_UINT32, BASE_DEC,
20297                 VALS(RequestChannelCloseReject_cause_vals), 0, "Type of RequestChannelCloseReject_cause choice", HFILL }},
20298         { &hf_h245_RequestChannelClose_reason,
20299                 { "RequestChannelClose_reason type", "h245.RequestChannelClose_reason_type", FT_UINT32, BASE_DEC,
20300                 VALS(RequestChannelClose_reason_vals), 0, "Type of RequestChannelClose_reason choice", HFILL }},
20301         { &hf_h245_CloseLogicalChannel_reason,
20302                 { "CloseLogicalChannel_reason type", "h245.CloseLogicalChannel_reason_type", FT_UINT32, BASE_DEC,
20303                 VALS(CloseLogicalChannel_reason_vals), 0, "Type of CloseLogicalChannel_reason choice", HFILL }},
20304         { &hf_h245_CloseLogicalChannel_source,
20305                 { "CloseLogicalChannel_source type", "h245.CloseLogicalChannel_source_type", FT_UINT32, BASE_DEC,
20306                 VALS(CloseLogicalChannel_source_vals), 0, "Type of CloseLogicalChannel_source choice", HFILL }},
20307         { &hf_h245_OpenLogicalChannelReject_cause,
20308                 { "OpenLogicalChannelReject_cause type", "h245.OpenLogicalChannelReject_cause_type", FT_UINT32, BASE_DEC,
20309                 VALS(OpenLogicalChannelReject_cause_vals), 0, "Type of OpenLogicalChannelReject_cause choice", HFILL }},
20310         { &hf_h245_forwardMultiplexAckParameters,
20311                 { "forwardMultiplexAckParameters type", "h245.forwardMultiplexAckParameters_type", FT_UINT32, BASE_DEC,
20312                 VALS(forwardMultiplexAckParameters_vals), 0, "Type of forwardMultiplexAckParameters choice", HFILL }},
20313         { &hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters,
20314                 { "OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters type", "h245.OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_type", FT_UINT32, BASE_DEC,
20315                 VALS(OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_vals), 0, "Type of OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters choice", HFILL }},
20316         { &hf_h245_MulticastAddress,
20317                 { "MulticastAddress type", "h245.MulticastAddress_type", FT_UINT32, BASE_DEC,
20318                 VALS(MulticastAddress_vals), 0, "Type of MulticastAddress choice", HFILL }},
20319         { &hf_h245_UnicastAddress_iPSourceRouteAddress_routing,
20320                 { "UnicastAddress_iPSourceRouteAddress_routing type", "h245.UnicastAddress_iPSourceRouteAddress_routing_type", FT_UINT32, BASE_DEC,
20321                 VALS(UnicastAddress_iPSourceRouteAddress_routing_vals), 0, "Type of UnicastAddress_iPSourceRouteAddress_routing choice", HFILL }},
20322         { &hf_h245_UnicastAddress,
20323                 { "UnicastAddress type", "h245.UnicastAddress_type", FT_UINT32, BASE_DEC,
20324                 VALS(UnicastAddress_vals), 0, "Type of UnicastAddress choice", HFILL }},
20325         { &hf_h245_mediaControlChannel,
20326                 { "mediaControlChannel type", "h245.mediaControlChannel_type", FT_UINT32, BASE_DEC,
20327                 VALS(TransportAddress_vals), 0, "Type of mediaControlChannel choice", HFILL }},
20328         { &hf_h245_mediaChannel,
20329                 { "mediaChannel type", "h245.mediaChannel_type", FT_UINT32, BASE_DEC,
20330                 VALS(TransportAddress_vals), 0, "Type of mediaChannel choice", HFILL }},
20331         { &hf_h245_localAreaAddress,
20332                 { "localAreaAddress type", "h245.localAreaAddress_type", FT_UINT32, BASE_DEC,
20333                 VALS(TransportAddress_vals), 0, "Type of localAreaAddress choice", HFILL }},
20334         { &hf_h245_signalAddress,
20335                 { "signalAddress type", "h245.signalAddress_type", FT_UINT32, BASE_DEC,
20336                 VALS(TransportAddress_vals), 0, "Type of signalAddress choice", HFILL }},
20337         { &hf_h245_FECData_rfc2733_mode_separateStream,
20338                 { "FECData_rfc2733_mode_separateStream type", "h245.FECData_rfc2733_mode_separateStream_type", FT_UINT32, BASE_DEC,
20339                 VALS(FECData_rfc2733_mode_separateStream_vals), 0, "Type of FECData_rfc2733_mode_separateStream choice", HFILL }},
20340         { &hf_h245_FECData_rfc2733_mode,
20341                 { "FECData_rfc2733_mode type", "h245.FECData_rfc2733_mode_type", FT_UINT32, BASE_DEC,
20342                 VALS(FECData_rfc2733_mode_vals), 0, "Type of FECData_rfc2733_mode choice", HFILL }},
20343         { &hf_h245_FECData,
20344                 { "FECData type", "h245.FECData_type", FT_UINT32, BASE_DEC,
20345                 VALS(FECData_vals), 0, "Type of FECData choice", HFILL }},
20346         { &hf_h245_RTPPayloadType_payloadDescriptor,
20347                 { "RTPPayloadType_payloadDescriptor type", "h245.RTPPayloadType_payloadDescriptor_type", FT_UINT32, BASE_DEC,
20348                 VALS(RTPPayloadType_payloadDescriptor_vals), 0, "Type of RTPPayloadType_payloadDescriptor choice", HFILL }},
20349         { &hf_h245_H2250LogicalChannelParameters_mediaPacketization,
20350                 { "H2250LogicalChannelParameters_mediaPacketization type", "h245.H2250LogicalChannelParameters_mediaPacketization_type", FT_UINT32, BASE_DEC,
20351                 VALS(H2250LogicalChannelParameters_mediaPacketization_vals), 0, "Type of H2250LogicalChannelParameters_mediaPacketization choice", HFILL }},
20352         { &hf_h245_CRCLength,
20353                 { "CRCLength type", "h245.CRCLength_type", FT_UINT32, BASE_DEC,
20354                 VALS(CRCLength_vals), 0, "Type of CRCLength choice", HFILL }},
20355         { &hf_h245_V76LogicalChannelParameters_mode_eRM_recovery,
20356                 { "V76LogicalChannelParameters_mode_eRM_recovery type", "h245.V76LogicalChannelParameters_mode_eRM_recovery_type", FT_UINT32, BASE_DEC,
20357                 VALS(V76LogicalChannelParameters_mode_eRM_recovery_vals), 0, "Type of V76LogicalChannelParameters_mode_eRM_recovery choice", HFILL }},
20358         { &hf_h245_V76LogicalChannelParameters_mode,
20359                 { "V76LogicalChannelParameters_mode type", "h245.V76LogicalChannelParameters_mode_type", FT_UINT32, BASE_DEC,
20360                 VALS(V76LogicalChannelParameters_mode_vals), 0, "Type of V76LogicalChannelParameters_mode choice", HFILL }},
20361         { &hf_h245_V76LogicalChannelParameters_suspendResume,
20362                 { "V76LogicalChannelParameters_suspendResume type", "h245.V76LogicalChannelParameters_suspendResume_type", FT_UINT32, BASE_DEC,
20363                 VALS(V76LogicalChannelParameters_suspendResume_vals), 0, "Type of V76LogicalChannelParameters_suspendResume choice", HFILL }},
20364         { &hf_h245_H223AnnexCArqParameters_numberOfRetransmissions,
20365                 { "H223AnnexCArqParameters_numberOfRetransmissions type", "h245.H223AnnexCArqParameters_numberOfRetransmissions_type", FT_UINT32, BASE_DEC,
20366                 VALS(H223AnnexCArqParameters_numberOfRetransmissions_vals), 0, "Type of H223AnnexCArqParameters_numberOfRetransmissions choice", HFILL }},
20367         { &hf_h245_H223AL3MParameters_arqType,
20368                 { "H223AL3MParameters_arqType type", "h245.H223AL3MParameters_arqType_type", FT_UINT32, BASE_DEC,
20369                 VALS(H223AL3MParameters_arqType_vals), 0, "Type of H223AL3MParameters_arqType choice", HFILL }},
20370         { &hf_h245_H223AL3MParameters_crcLength,
20371                 { "H223AL3MParameters_crcLength type", "h245.H223AL3MParameters_crcLength_type", FT_UINT32, BASE_DEC,
20372                 VALS(H223AL3MParameters_crcLength_vals), 0, "Type of H223AL3MParameters_crcLength choice", HFILL }},
20373         { &hf_h245_H223AL3MParameters_headerFormat,
20374                 { "H223AL3MParameters_headerFormat type", "h245.H223AL3MParameters_headerFormat_type", FT_UINT32, BASE_DEC,
20375                 VALS(H223AL3MParameters_headerFormat_vals), 0, "Type of H223AL3MParameters_headerFormat choice", HFILL }},
20376         { &hf_h245_H223AL2MParameters_headerFEC,
20377                 { "H223AL2MParameters_headerFEC type", "h245.H223AL2MParameters_headerFEC_type", FT_UINT32, BASE_DEC,
20378                 VALS(H223AL2MParameters_headerFEC_vals), 0, "Type of H223AL2MParameters_headerFEC choice", HFILL }},
20379         { &hf_h245_H223AL1MParameters_arqType,
20380                 { "H223AL1MParameters_arqType type", "h245.H223AL1MParameters_arqType_type", FT_UINT32, BASE_DEC,
20381                 VALS(H223AL1MParameters_arqType_vals), 0, "Type of H223AL1MParameters_arqType choice", HFILL }},
20382         { &hf_h245_H223AL1MParameters_crcLength,
20383                 { "H223AL1MParameters_crcLength type", "h245.H223AL1MParameters_crcLength_type", FT_UINT32, BASE_DEC,
20384                 VALS(H223AL1MParameters_crcLength_vals), 0, "Type of H223AL1MParameters_crcLength choice", HFILL }},
20385         { &hf_h245_H223AL1MParameters_headerFEC,
20386                 { "H223AL1MParameters_headerFEC type", "h245.H223AL1MParameters_headerFEC_type", FT_UINT32, BASE_DEC,
20387                 VALS(H223AL1MParameters_headerFEC_vals), 0, "Type of H223AL1MParameters_headerFEC choice", HFILL }},
20388         { &hf_h245_H223AL1MParameters_transferMode,
20389                 { "H223AL1MParameters_transferMode type", "h245.H223AL1MParameters_transferMode_type", FT_UINT32, BASE_DEC,
20390                 VALS(H223AL1MParameters_transferMode_vals), 0, "Type of H223AL1MParameters_transferMode choice", HFILL }},
20391         { &hf_h245_H223LogicalChannelParameters_adaptationLayerType,
20392                 { "H223LogicalChannelParameters_adaptationLayerType type", "h245.H223LogicalChannelParameters_adaptationLayerType_type", FT_UINT32, BASE_DEC,
20393                 VALS(H223LogicalChannelParameters_adaptationLayerType_vals), 0, "Type of H223LogicalChannelParameters_adaptationLayerType choice", HFILL }},
20394         { &hf_h245_H235Media_mediaType,
20395                 { "H235Media_mediaType type", "h245.H235Media_mediaType_type", FT_UINT32, BASE_DEC,
20396                 VALS(H235Media_mediaType_vals), 0, "Type of H235Media_mediaType choice", HFILL }},
20397         { &hf_h245_DataType,
20398                 { "DataType type", "h245.DataType_type", FT_UINT32, BASE_DEC,
20399                 VALS(DataType_vals), 0, "Type of DataType choice", HFILL }},
20400         { &hf_h245_Q2931Address_address,
20401                 { "Q2931Address_address type", "h245.Q2931Address_address_type", FT_UINT32, BASE_DEC,
20402                 VALS(Q2931Address_address_vals), 0, "Type of Q2931Address_address choice", HFILL }},
20403         { &hf_h245_NetworkAccessParameters_t120SetupProcedure,
20404                 { "NetworkAccessParameters_t120SetupProcedure type", "h245.NetworkAccessParameters_t120SetupProcedure_type", FT_UINT32, BASE_DEC,
20405                 VALS(NetworkAccessParameters_t120SetupProcedure_vals), 0, "Type of NetworkAccessParameters_t120SetupProcedure choice", HFILL }},
20406         { &hf_h245_NetworkAccessParameters_networkAddress,
20407                 { "NetworkAccessParameters_networkAddress type", "h245.NetworkAccessParameters_networkAddress_type", FT_UINT32, BASE_DEC,
20408                 VALS(NetworkAccessParameters_networkAddress_vals), 0, "Type of NetworkAccessParameters_networkAddress choice", HFILL }},
20409         { &hf_h245_NetworkAccessParameters_distribution,
20410                 { "NetworkAccessParameters_distribution type", "h245.NetworkAccessParameters_distribution_type", FT_UINT32, BASE_DEC,
20411                 VALS(NetworkAccessParameters_distribution_vals), 0, "Type of NetworkAccessParameters_distribution choice", HFILL }},
20412         { &hf_h245_reverseLogicalChannelParameters_multiplexParameters,
20413                 { "reverseLogicalChannelParameters_multiplexParameters type", "h245.reverseLogicalChannelParameters_multiplexParameters_type", FT_UINT32, BASE_DEC,
20414                 VALS(reverseLogicalChannelParameters_multiplexParameters_vals), 0, "Type of reverseLogicalChannelParameters_multiplexParameters choice", HFILL }},
20415         { &hf_h245_forwardLogicalChannelParameters_multiplexParameters,
20416                 { "forwardLogicalChannelParameters_multiplexParameters type", "h245.forwardLogicalChannelParameters_multiplexParameters_type", FT_UINT32, BASE_DEC,
20417                 VALS(forwardLogicalChannelParameters_multiplexParameters_vals), 0, "Type of forwardLogicalChannelParameters_multiplexParameters choice", HFILL }},
20418         { &hf_h245_FECCapability,
20419                 { "FECCapability type", "h245.FECCapability_type", FT_UINT32, BASE_DEC,
20420                 VALS(FECCapability_vals), 0, "Type of FECCapability choice", HFILL }},
20421         { &hf_h245_MultiplexFormat,
20422                 { "MultiplexFormat type", "h245.MultiplexFormat_type", FT_UINT32, BASE_DEC,
20423                 VALS(MultiplexFormat_vals), 0, "Type of MultiplexFormat choice", HFILL }},
20424         { &hf_h245_ParameterValue,
20425                 { "ParameterValue type", "h245.ParameterValue_type", FT_UINT32, BASE_DEC,
20426                 VALS(ParameterValue_vals), 0, "Type of ParameterValue choice", HFILL }},
20427         { &hf_h245_ParameterIdentifier,
20428                 { "ParameterIdentifier type", "h245.ParameterIdentifier_type", FT_UINT32, BASE_DEC,
20429                 VALS(ParameterIdentifier_vals), 0, "Type of ParameterIdentifier choice", HFILL }},
20430         { &hf_h245_CapabilityIdentifier,
20431                 { "CapabilityIdentifier type", "h245.CapabilityIdentifier_type", FT_UINT32, BASE_DEC,
20432                 VALS(CapabilityIdentifier_vals), 0, "Type of CapabilityIdentifier choice", HFILL }},
20433         { &hf_h245_UserInputCapability,
20434                 { "UserInputCapability type", "h245.UserInputCapability_type", FT_UINT32, BASE_DEC,
20435                 VALS(UserInputCapability_vals), 0, "Type of UserInputCapability choice", HFILL }},
20436         { &hf_h245_MediaEncryptionAlgorithm,
20437                 { "MediaEncryptionAlgorithm type", "h245.MediaEncryptionAlgorithm_type", FT_UINT32, BASE_DEC,
20438                 VALS(MediaEncryptionAlgorithm_vals), 0, "Type of MediaEncryptionAlgorithm choice", HFILL }},
20439         { &hf_h245_T38FaxUdpOptions_t38FaxUdpEC,
20440                 { "T38FaxUdpOptions_t38FaxUdpEC type", "h245.T38FaxUdpOptions_t38FaxUdpEC_type", FT_UINT32, BASE_DEC,
20441                 VALS(T38FaxUdpOptions_t38FaxUdpEC_vals), 0, "Type of T38FaxUdpOptions_t38FaxUdpEC choice", HFILL }},
20442         { &hf_h245_T38FaxRateManagement,
20443                 { "T38FaxRateManagement type", "h245.T38FaxRateManagement_type", FT_UINT32, BASE_DEC,
20444                 VALS(T38FaxRateManagement_vals), 0, "Type of T38FaxRateManagement choice", HFILL }},
20445         { &hf_h245_T84Profile,
20446                 { "T84Profile type", "h245.T84Profile_type", FT_UINT32, BASE_DEC,
20447                 VALS(T84Profile_vals), 0, "Type of T84Profile choice", HFILL }},
20448         { &hf_h245_CompressionType,
20449                 { "CompressionType type", "h245.CompressionType_type", FT_UINT32, BASE_DEC,
20450                 VALS(CompressionType_vals), 0, "Type of CompressionType choice", HFILL }},
20451         { &hf_h245_DataProtocolCapability_v76wCompression,
20452                 { "DataProtocolCapability_v76wCompression type", "h245.DataProtocolCapability_v76wCompression_type", FT_UINT32, BASE_DEC,
20453                 VALS(DataProtocolCapability_v76wCompression_vals), 0, "Type of DataProtocolCapability_v76wCompression choice", HFILL }},
20454         { &hf_h245_DataProtocolCapability,
20455                 { "DataProtocolCapability type", "h245.DataProtocolCapability_type", FT_UINT32, BASE_DEC,
20456                 VALS(DataProtocolCapability_vals), 0, "Type of DataProtocolCapability choice", HFILL }},
20457         { &hf_h245_DataApplicationCapability_application,
20458                 { "DataApplicationCapability_application type", "h245.DataApplicationCapability_application_type", FT_UINT32, BASE_DEC,
20459                 VALS(DataApplicationCapability_application_vals), 0, "Type of DataApplicationCapability_application choice", HFILL }},
20460         { &hf_h245_AudioCapability,
20461                 { "AudioCapability type", "h245.AudioCapability_type", FT_UINT32, BASE_DEC,
20462                 VALS(AudioCapability_vals), 0, "Type of AudioCapability choice", HFILL }},
20463         { &hf_h245_CustomPictureFormat_pixelAspectInformation,
20464                 { "CustomPictureFormat_pixelAspectInformation type", "h245.CustomPictureFormat_pixelAspectInformation_type", FT_UINT32, BASE_DEC,
20465                 VALS(CustomPictureFormat_pixelAspectInformation_vals), 0, "Type of CustomPictureFormat_pixelAspectInformation choice", HFILL }},
20466         { &hf_h245_RefPictureSelection_videoBackChannelSend,
20467                 { "RefPictureSelection_videoBackChannelSend type", "h245.RefPictureSelection_videoBackChannelSend_type", FT_UINT32, BASE_DEC,
20468                 VALS(RefPictureSelection_videoBackChannelSend_vals), 0, "Type of RefPictureSelection_videoBackChannelSend choice", HFILL }},
20469         { &hf_h245_VideoCapability,
20470                 { "VideoCapability type", "h245.VideoCapability_type", FT_UINT32, BASE_DEC,
20471                 VALS(VideoCapability_vals), 0, "Type of VideoCapability choice", HFILL }},
20472         { &hf_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping,
20473                 { "RTPH263VideoRedundancyEncoding_frameToThreadMapping type", "h245.RTPH263VideoRedundancyEncoding_frameToThreadMapping_type", FT_UINT32, BASE_DEC,
20474                 VALS(RTPH263VideoRedundancyEncoding_frameToThreadMapping_vals), 0, "Type of RTPH263VideoRedundancyEncoding_frameToThreadMapping choice", HFILL }},
20475         { &hf_h245_RedundancyEncodingMethod,
20476                 { "RedundancyEncodingMethod type", "h245.RedundancyEncodingMethod_type", FT_UINT32, BASE_DEC,
20477                 VALS(RedundancyEncodingMethod_vals), 0, "Type of RedundancyEncodingMethod choice", HFILL }},
20478         { &hf_h245_MediaTransportType,
20479                 { "MediaTransportType type", "h245.MediaTransportType_type", FT_UINT32, BASE_DEC,
20480                 VALS(MediaTransportType_vals), 0, "Type of MediaTransportType choice", HFILL }},
20481         { &hf_h245_QOSMode,
20482                 { "QOSMode type", "h245.QOSMode_type", FT_UINT32, BASE_DEC,
20483                 VALS(QOSMode_vals), 0, "Type of QOSMode choice", HFILL }},
20484         { &hf_h245_H223Capability_h223MultiplexTableCapability,
20485                 { "H223Capability_h223MultiplexTableCapability type", "h245.H223Capability_h223MultiplexTableCapability_type", FT_UINT32, BASE_DEC,
20486                 VALS(H223Capability_h223MultiplexTableCapability_vals), 0, "Type of H223Capability_h223MultiplexTableCapability choice", HFILL }},
20487         { &hf_h245_VCCapability_availableBitRates_type,
20488                 { "VCCapability_availableBitRates_type type", "h245.VCCapability_availableBitRates_type_type", FT_UINT32, BASE_DEC,
20489                 VALS(VCCapability_availableBitRates_type_vals), 0, "Type of VCCapability_availableBitRates_type choice", HFILL }},
20490         { &hf_h245_MultiplexCapability,
20491                 { "MultiplexCapability type", "h245.MultiplexCapability_type", FT_UINT32, BASE_DEC,
20492                 VALS(MultiplexCapability_vals), 0, "Type of MultiplexCapability choice", HFILL }},
20493         { &hf_h245_Capability,
20494                 { "Capability type", "h245.Capability_type", FT_UINT32, BASE_DEC,
20495                 VALS(Capability_vals), 0, "Type of Capability choice", HFILL }},
20496         { &hf_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded,
20497                 { "TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded type", "h245.TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded_type", FT_UINT32, BASE_DEC,
20498                 VALS(TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded_vals), 0, "Type of TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded choice", HFILL }},
20499         { &hf_h245_TerminalCapabilitySetReject_cause,
20500                 { "TerminalCapabilitySetReject_cause type", "h245.TerminalCapabilitySetReject_cause_type", FT_UINT32, BASE_DEC,
20501                 VALS(TerminalCapabilitySetReject_cause_vals), 0, "Type of TerminalCapabilitySetReject_cause choice", HFILL }},
20502         { &hf_h245_MasterSlaveDeterminationReject_cause,
20503                 { "MasterSlaveDeterminationReject_cause type", "h245.MasterSlaveDeterminationReject_cause_type", FT_UINT32, BASE_DEC,
20504                 VALS(MasterSlaveDeterminationReject_cause_vals), 0, "Type of MasterSlaveDeterminationReject_cause choice", HFILL }},
20505         { &hf_h245_MasterSlaveDeterminationAck_decision,
20506                 { "MasterSlaveDeterminationAck_decision type", "h245.MasterSlaveDeterminationAck_decision_type", FT_UINT32, BASE_DEC,
20507                 VALS(MasterSlaveDeterminationAck_decision_vals), 0, "Type of MasterSlaveDeterminationAck_decision choice", HFILL }},
20508         { &hf_h245_RequestModeAck_response_decision,
20509                 { "RequestModeAck_response_decision type", "h245.RequestModeAck_response_decision_type", FT_UINT32, BASE_DEC,
20510                 VALS(RequestModeAck_response_decision_vals), 0, "Type of RequestModeAck_response_decision choice", HFILL }},
20511         { &hf_h245_NonStandardIdentifier,
20512                 { "NonStandardIdentifier type", "h245.NonStandardIdentifier_type", FT_UINT32, BASE_DEC,
20513                 VALS(NonStandardIdentifier_vals), 0, "Type of NonStandardIdentifier choice", HFILL }},
20514         { &hf_h245_h233EncryptionTransmitCapability,
20515                 { "h233EncryptionTransmitCapability", "h245.h233EncryptionTransmitCapability", FT_BOOLEAN, 8,
20516                 TFS(&tfs_h233EncryptionTransmitCapability_bit), 0x01, "The h233EncryptionTransmitCapability bit", HFILL }},
20517         { &hf_h245_nullClockRecovery,
20518                 { "nullClockRecovery", "h245.nullClockRecovery", FT_BOOLEAN, 8,
20519                 TFS(&tfs_nullClockRecovery_bit), 0x01, "The nullClockRecovery bit", HFILL }},
20520         { &hf_h245_srtsClockRecovery,
20521                 { "srtsClockRecovery", "h245.srtsClockRecovery", FT_BOOLEAN, 8,
20522                 TFS(&tfs_srtsClockRecovery_bit), 0x01, "The srtsClockRecovery bit", HFILL }},
20523         { &hf_h245_adaptiveClockRecovery,
20524                 { "adaptiveClockRecovery", "h245.adaptiveClockRecovery", FT_BOOLEAN, 8,
20525                 TFS(&tfs_adaptiveClockRecovery_bit), 0x01, "The adaptiveClockRecovery bit", HFILL }},
20526         { &hf_h245_nullErrorCorrection,
20527                 { "nullErrorCorrection", "h245.nullErrorCorrection", FT_BOOLEAN, 8,
20528                 TFS(&tfs_nullErrorCorrection_bit), 0x01, "The nullErrorCorrection bit", HFILL }},
20529         { &hf_h245_longInterleaver,
20530                 { "longInterleaver", "h245.longInterleaver", FT_BOOLEAN, 8,
20531                 TFS(&tfs_longInterleaver_bit), 0x01, "The longInterleaver bit", HFILL }},
20532         { &hf_h245_shortInterleaver,
20533                 { "shortInterleaver", "h245.shortInterleaver", FT_BOOLEAN, 8,
20534                 TFS(&tfs_shortInterleaver_bit), 0x01, "The shortInterleaver bit", HFILL }},
20535         { &hf_h245_errorCorrectionOnly,
20536                 { "errorCorrectionOnly", "h245.errorCorrectionOnly", FT_BOOLEAN, 8,
20537                 TFS(&tfs_errorCorrectionOnly_bit), 0x01, "The errorCorrectionOnly bit", HFILL }},
20538         { &hf_h245_structuredDataTransfer,
20539                 { "structuredDataTransfer", "h245.structuredDataTransfer", FT_BOOLEAN, 8,
20540                 TFS(&tfs_structuredDataTransfer_bit), 0x01, "The structuredDataTransfer bit", HFILL }},
20541         { &hf_h245_partiallyFilledCells,
20542                 { "partiallyFilledCells", "h245.partiallyFilledCells", FT_BOOLEAN, 8,
20543                 TFS(&tfs_partiallyFilledCells_bit), 0x01, "The partiallyFilledCells bit", HFILL }},
20544         { &hf_h245_transportStream,
20545                 { "transportStream", "h245.transportStream", FT_BOOLEAN, 8,
20546                 TFS(&tfs_transportStream_bit), 0x01, "The transportStream bit", HFILL }},
20547         { &hf_h245_programStream,
20548                 { "programStream", "h245.programStream", FT_BOOLEAN, 8,
20549                 TFS(&tfs_programStream_bit), 0x01, "The programStream bit", HFILL }},
20550         { &hf_h245_transportWithIframes,
20551                 { "transportWithIframes", "h245.transportWithIframes", FT_BOOLEAN, 8,
20552                 TFS(&tfs_transportWithIframes_bit), 0x01, "The transportWithIframes bit", HFILL }},
20553         { &hf_h245_videoWithAL1,
20554                 { "videoWithAL1", "h245.videoWithAL1", FT_BOOLEAN, 8,
20555                 TFS(&tfs_videoWithAL1_bit), 0x01, "The videoWithAL1 bit", HFILL }},
20556         { &hf_h245_videoWithAL2,
20557                 { "videoWithAL2", "h245.videoWithAL2", FT_BOOLEAN, 8,
20558                 TFS(&tfs_videoWithAL2_bit), 0x01, "The videoWithAL2 bit", HFILL }},
20559         { &hf_h245_videoWithAL3,
20560                 { "videoWithAL3", "h245.videoWithAL3", FT_BOOLEAN, 8,
20561                 TFS(&tfs_videoWithAL3_bit), 0x01, "The videoWithAL3 bit", HFILL }},
20562         { &hf_h245_audioWithAL1,
20563                 { "audioWithAL1", "h245.audioWithAL1", FT_BOOLEAN, 8,
20564                 TFS(&tfs_audioWithAL1_bit), 0x01, "The audioWithAL1 bit", HFILL }},
20565         { &hf_h245_audioWithAL2,
20566                 { "audioWithAL2", "h245.audioWithAL2", FT_BOOLEAN, 8,
20567                 TFS(&tfs_audioWithAL2_bit), 0x01, "The audioWithAL2 bit", HFILL }},
20568         { &hf_h245_audioWithAL3,
20569                 { "audioWithAL3", "h245.audioWithAL3", FT_BOOLEAN, 8,
20570                 TFS(&tfs_audioWithAL3_bit), 0x01, "The audioWithAL3 bit", HFILL }},
20571         { &hf_h245_dataWithAL1,
20572                 { "dataWithAL1", "h245.dataWithAL1", FT_BOOLEAN, 8,
20573                 TFS(&tfs_dataWithAL1_bit), 0x01, "The dataWithAL1 bit", HFILL }},
20574         { &hf_h245_dataWithAL2,
20575                 { "dataWithAL2", "h245.dataWithAL2", FT_BOOLEAN, 8,
20576                 TFS(&tfs_dataWithAL2_bit), 0x01, "The dataWithAL2 bit", HFILL }},
20577         { &hf_h245_dataWithAL3,
20578                 { "dataWithAL3", "h245.dataWithAL3", FT_BOOLEAN, 8,
20579                 TFS(&tfs_dataWithAL3_bit), 0x01, "The dataWithAL3 bit", HFILL }},
20580         { &hf_h245_maxMUXPDUSizeCapability,
20581                 { "maxMUXPDUSizeCapability", "h245.maxMUXPDUSizeCapability", FT_BOOLEAN, 8,
20582                 TFS(&tfs_maxMUXPDUSizeCapability_bit), 0x01, "The maxMUXPDUSizeCapability bit", HFILL }},
20583         { &hf_h245_nsrpSupport,
20584                 { "nsrpSupport", "h245.nsrpSupport", FT_BOOLEAN, 8,
20585                 TFS(&tfs_nsrpSupport_bit), 0x01, "The nsrpSupport bit", HFILL }},
20586         { &hf_h245_modeChangeCapability,
20587                 { "modeChangeCapability", "h245.modeChangeCapability", FT_BOOLEAN, 8,
20588                 TFS(&tfs_modeChangeCapability_bit), 0x01, "The modeChangeCapability bit", HFILL }},
20589         { &hf_h245_h223AnnexA,
20590                 { "h223AnnexA", "h245.h223AnnexA", FT_BOOLEAN, 8,
20591                 TFS(&tfs_h223AnnexA_bit), 0x01, "The h223AnnexA bit", HFILL }},
20592         { &hf_h245_h223AnnexADoubleFlag_bool,
20593                 { "h223AnnexADoubleFlag_bool", "h245.h223AnnexADoubleFlag_bool", FT_BOOLEAN, 8,
20594                 TFS(&tfs_h223AnnexADoubleFlag_bool_bit), 0x01, "The h223AnnexADoubleFlag_bool bit", HFILL }},
20595         { &hf_h245_h223AnnexB,
20596                 { "h223AnnexB", "h245.h223AnnexB", FT_BOOLEAN, 8,
20597                 TFS(&tfs_h223AnnexB_bit), 0x01, "The h223AnnexB bit", HFILL }},
20598         { &hf_h245_h223AnnexBwithHeader,
20599                 { "h223AnnexBwithHeader", "h245.h223AnnexBwithHeader", FT_BOOLEAN, 8,
20600                 TFS(&tfs_h223AnnexBwithHeader_bit), 0x01, "The h223AnnexBwithHeader bit", HFILL }},
20601         { &hf_h245_videoWithAL1M,
20602                 { "videoWithAL1M", "h245.videoWithAL1M", FT_BOOLEAN, 8,
20603                 TFS(&tfs_videoWithAL1M_bit), 0x01, "The videoWithAL1M bit", HFILL }},
20604         { &hf_h245_videoWithAL2M,
20605                 { "videoWithAL2M", "h245.videoWithAL2M", FT_BOOLEAN, 8,
20606                 TFS(&tfs_videoWithAL2M_bit), 0x01, "The videoWithAL2M bit", HFILL }},
20607         { &hf_h245_videoWithAL3M,
20608                 { "videoWithAL3M", "h245.videoWithAL3M", FT_BOOLEAN, 8,
20609                 TFS(&tfs_videoWithAL3M_bit), 0x01, "The videoWithAL3M bit", HFILL }},
20610         { &hf_h245_audioWithAL1M,
20611                 { "audioWithAL1M", "h245.audioWithAL1M", FT_BOOLEAN, 8,
20612                 TFS(&tfs_audioWithAL1M_bit), 0x01, "The audioWithAL1M bit", HFILL }},
20613         { &hf_h245_audioWithAL2M,
20614                 { "audioWithAL2M", "h245.audioWithAL2M", FT_BOOLEAN, 8,
20615                 TFS(&tfs_audioWithAL2M_bit), 0x01, "The audioWithAL2M bit", HFILL }},
20616         { &hf_h245_audioWithAL3M,
20617                 { "audioWithAL3M", "h245.audioWithAL3M", FT_BOOLEAN, 8,
20618                 TFS(&tfs_audioWithAL3M_bit), 0x01, "The audioWithAL3M bit", HFILL }},
20619         { &hf_h245_dataWithAL1M,
20620                 { "dataWithAL1M", "h245.dataWithAL1M", FT_BOOLEAN, 8,
20621                 TFS(&tfs_dataWithAL1M_bit), 0x01, "The dataWithAL1M bit", HFILL }},
20622         { &hf_h245_dataWithAL2M,
20623                 { "dataWithAL2M", "h245.dataWithAL2M", FT_BOOLEAN, 8,
20624                 TFS(&tfs_dataWithAL2M_bit), 0x01, "The dataWithAL2M bit", HFILL }},
20625         { &hf_h245_dataWithAL3M,
20626                 { "dataWithAL3M", "h245.dataWithAL3M", FT_BOOLEAN, 8,
20627                 TFS(&tfs_dataWithAL3M_bit), 0x01, "The dataWithAL3M bit", HFILL }},
20628         { &hf_h245_alpduInterleaving,
20629                 { "alpduInterleaving", "h245.alpduInterleaving", FT_BOOLEAN, 8,
20630                 TFS(&tfs_alpduInterleaving_bit), 0x01, "The alpduInterleaving bit", HFILL }},
20631         { &hf_h245_rsCodeCapability,
20632                 { "rsCodeCapability", "h245.rsCodeCapability", FT_BOOLEAN, 8,
20633                 TFS(&tfs_rsCodeCapability_bit), 0x01, "The rsCodeCapability bit", HFILL }},
20634         { &hf_h245_suspendResumeCapabilitywAddress,
20635                 { "suspendResumeCapabilitywAddress", "h245.suspendResumeCapabilitywAddress", FT_BOOLEAN, 8,
20636                 TFS(&tfs_suspendResumeCapabilitywAddress_bit), 0x01, "The suspendResumeCapabilitywAddress bit", HFILL }},
20637         { &hf_h245_suspendResumeCapabilitywoAddress,
20638                 { "suspendResumeCapabilitywoAddress", "h245.suspendResumeCapabilitywoAddress", FT_BOOLEAN, 8,
20639                 TFS(&tfs_suspendResumeCapabilitywoAddress_bit), 0x01, "The suspendResumeCapabilitywoAddress bit", HFILL }},
20640         { &hf_h245_rejCapability,
20641                 { "rejCapability", "h245.rejCapability", FT_BOOLEAN, 8,
20642                 TFS(&tfs_rejCapability_bit), 0x01, "The rejCapability bit", HFILL }},
20643         { &hf_h245_sREJCapability,
20644                 { "sREJCapability", "h245.sREJCapability", FT_BOOLEAN, 8,
20645                 TFS(&tfs_sREJCapability_bit), 0x01, "The sREJCapability bit", HFILL }},
20646         { &hf_h245_mREJCapability,
20647                 { "mREJCapability", "h245.mREJCapability", FT_BOOLEAN, 8,
20648                 TFS(&tfs_mREJCapability_bit), 0x01, "The mREJCapability bit", HFILL }},
20649         { &hf_h245_crc8bitCapability,
20650                 { "crc8bitCapability", "h245.crc8bitCapability", FT_BOOLEAN, 8,
20651                 TFS(&tfs_crc8bitCapability_bit), 0x01, "The crc8bitCapability bit", HFILL }},
20652         { &hf_h245_crc16bitCapability,
20653                 { "crc16bitCapability", "h245.crc16bitCapability", FT_BOOLEAN, 8,
20654                 TFS(&tfs_crc16bitCapability_bit), 0x01, "The crc16bitCapability bit", HFILL }},
20655         { &hf_h245_crc32bitCapability,
20656                 { "crc32bitCapability", "h245.crc32bitCapability", FT_BOOLEAN, 8,
20657                 TFS(&tfs_crc32bitCapability_bit), 0x01, "The crc32bitCapability bit", HFILL }},
20658         { &hf_h245_uihCapability,
20659                 { "uihCapability", "h245.uihCapability", FT_BOOLEAN, 8,
20660                 TFS(&tfs_uihCapability_bit), 0x01, "The uihCapability bit", HFILL }},
20661         { &hf_h245_twoOctetAddressFieldCapability,
20662                 { "twoOctetAddressFieldCapability", "h245.twoOctetAddressFieldCapability", FT_BOOLEAN, 8,
20663                 TFS(&tfs_twoOctetAddressFieldCapability_bit), 0x01, "The twoOctetAddressFieldCapability bit", HFILL }},
20664         { &hf_h245_loopBackTestCapability,
20665                 { "loopBackTestCapability", "h245.loopBackTestCapability", FT_BOOLEAN, 8,
20666                 TFS(&tfs_loopBackTestCapability_bit), 0x01, "The loopBackTestCapability bit", HFILL }},
20667         { &hf_h245_audioHeader,
20668                 { "audioHeader", "h245.audioHeader", FT_BOOLEAN, 8,
20669                 TFS(&tfs_audioHeader_bit), 0x01, "The audioHeader bit", HFILL }},
20670         { &hf_h245_centralizedConferenceMC,
20671                 { "centralizedConferenceMC", "h245.centralizedConferenceMC", FT_BOOLEAN, 8,
20672                 TFS(&tfs_centralizedConferenceMC_bit), 0x01, "The centralizedConferenceMC bit", HFILL }},
20673         { &hf_h245_decentralizedConferenceMC,
20674                 { "decentralizedConferenceMC", "h245.decentralizedConferenceMC", FT_BOOLEAN, 8,
20675                 TFS(&tfs_decentralizedConferenceMC_bit), 0x01, "The decentralizedConferenceMC bit", HFILL }},
20676         { &hf_h245_rtcpVideoControlCapability,
20677                 { "rtcpVideoControlCapability", "h245.rtcpVideoControlCapability", FT_BOOLEAN, 8,
20678                 TFS(&tfs_rtcpVideoControlCapability_bit), 0x01, "The rtcpVideoControlCapability bit", HFILL }},
20679         { &hf_h245_logicalChannelSwitchingCapability,
20680                 { "logicalChannelSwitchingCapability", "h245.logicalChannelSwitchingCapability", FT_BOOLEAN, 8,
20681                 TFS(&tfs_logicalChannelSwitchingCapability_bit), 0x01, "The logicalChannelSwitchingCapability bit", HFILL }},
20682         { &hf_h245_t120DynamicPortCapability,
20683                 { "t120DynamicPortCapability", "h245.t120DynamicPortCapability", FT_BOOLEAN, 8,
20684                 TFS(&tfs_t120DynamicPortCapability_bit), 0x01, "The t120DynamicPortCapability bit", HFILL }},
20685         { &hf_h245_h261aVideoPacketization,
20686                 { "h261aVideoPacketization", "h245.h261aVideoPacketization", FT_BOOLEAN, 8,
20687                 TFS(&tfs_h261aVideoPacketization_bit), 0x01, "The h261aVideoPacketization bit", HFILL }},
20688         { &hf_h245_atmUBR,
20689                 { "atmUBR", "h245.atmUBR", FT_BOOLEAN, 8,
20690                 TFS(&tfs_atmUBR_bit), 0x01, "The atmUBR bit", HFILL }},
20691         { &hf_h245_atmrtVBR,
20692                 { "atmrtVBR", "h245.atmrtVBR", FT_BOOLEAN, 8,
20693                 TFS(&tfs_atmrtVBR_bit), 0x01, "The atmrtVBR bit", HFILL }},
20694         { &hf_h245_atmnrtVBR,
20695                 { "atmnrtVBR", "h245.atmnrtVBR", FT_BOOLEAN, 8,
20696                 TFS(&tfs_atmnrtVBR_bit), 0x01, "The atmnrtVBR bit", HFILL }},
20697         { &hf_h245_atmABR,
20698                 { "atmABR", "h245.atmABR", FT_BOOLEAN, 8,
20699                 TFS(&tfs_atmABR_bit), 0x01, "The atmABR bit", HFILL }},
20700         { &hf_h245_atmCBR,
20701                 { "atmCBR", "h245.atmCBR", FT_BOOLEAN, 8,
20702                 TFS(&tfs_atmCBR_bit), 0x01, "The atmCBR bit", HFILL }},
20703         { &hf_h245_variableDelta,
20704                 { "variableDelta", "h245.variableDelta", FT_BOOLEAN, 8,
20705                 TFS(&tfs_variableDelta_bit), 0x01, "The variableDelta bit", HFILL }},
20706         { &hf_h245_multicastCapability,
20707                 { "multicastCapability", "h245.multicastCapability", FT_BOOLEAN, 8,
20708                 TFS(&tfs_multicastCapability_bit), 0x01, "The multicastCapability bit", HFILL }},
20709         { &hf_h245_multiUniCastConference,
20710                 { "multiUniCastConference", "h245.multiUniCastConference", FT_BOOLEAN, 8,
20711                 TFS(&tfs_multiUniCastConference_bit), 0x01, "The multiUniCastConference bit", HFILL }},
20712         { &hf_h245_centralizedControl,
20713                 { "centralizedControl", "h245.centralizedControl", FT_BOOLEAN, 8,
20714                 TFS(&tfs_centralizedControl_bit), 0x01, "The centralizedControl bit", HFILL }},
20715         { &hf_h245_distributedControl,
20716                 { "distributedControl", "h245.distributedControl", FT_BOOLEAN, 8,
20717                 TFS(&tfs_distributedControl_bit), 0x01, "The distributedControl bit", HFILL }},
20718         { &hf_h245_centralizedAudio,
20719                 { "centralizedAudio", "h245.centralizedAudio", FT_BOOLEAN, 8,
20720                 TFS(&tfs_centralizedAudio_bit), 0x01, "The centralizedAudio bit", HFILL }},
20721         { &hf_h245_distributedAudio,
20722                 { "distributedAudio", "h245.distributedAudio", FT_BOOLEAN, 8,
20723                 TFS(&tfs_distributedAudio_bit), 0x01, "The distributedAudio bit", HFILL }},
20724         { &hf_h245_centralizedVideo,
20725                 { "centralizedVideo", "h245.centralizedVideo", FT_BOOLEAN, 8,
20726                 TFS(&tfs_centralizedVideo_bit), 0x01, "The centralizedVideo bit", HFILL }},
20727         { &hf_h245_distributedVideo,
20728                 { "distributedVideo", "h245.distributedVideo", FT_BOOLEAN, 8,
20729                 TFS(&tfs_distributedVideo_bit), 0x01, "The distributedVideo bit", HFILL }},
20730         { &hf_h245_temporalSpatialTradeOffCapability,
20731                 { "temporalSpatialTradeOffCapability", "h245.temporalSpatialTradeOffCapability", FT_BOOLEAN, 8,
20732                 TFS(&tfs_temporalSpatialTradeOffCapability_bit), 0x01, "The temporalSpatialTradeOffCapability bit", HFILL }},
20733         { &hf_h245_stillImageTransmission,
20734                 { "stillImageTransmission", "h245.stillImageTransmission", FT_BOOLEAN, 8,
20735                 TFS(&tfs_stillImageTransmission_bit), 0x01, "The stillImageTransmission bit", HFILL }},
20736         { &hf_h245_videoBadMBsCap,
20737                 { "videoBadMBsCap", "h245.videoBadMBsCap", FT_BOOLEAN, 8,
20738                 TFS(&tfs_videoBadMBsCap_bit), 0x01, "The videoBadMBsCap bit", HFILL }},
20739         { &hf_h245_profileAndLevelSPatML,
20740                 { "profileAndLevelSPatML", "h245.profileAndLevelSPatML", FT_BOOLEAN, 8,
20741                 TFS(&tfs_profileAndLevelSPatML_bit), 0x01, "The profileAndLevelSPatML bit", HFILL }},
20742         { &hf_h245_profileAndLevelMPatLL,
20743                 { "profileAndLevelMPatLL", "h245.profileAndLevelMPatLL", FT_BOOLEAN, 8,
20744                 TFS(&tfs_profileAndLevelMPatLL_bit), 0x01, "The profileAndLevelMPatLL bit", HFILL }},
20745         { &hf_h245_profileAndLevelMPatML,
20746                 { "profileAndLevelMPatML", "h245.profileAndLevelMPatML", FT_BOOLEAN, 8,
20747                 TFS(&tfs_profileAndLevelMPatML_bit), 0x01, "The profileAndLevelMPatML bit", HFILL }},
20748         { &hf_h245_profileAndLevelMPatH14,
20749                 { "profileAndLevelMPatH14", "h245.profileAndLevelMPatH14", FT_BOOLEAN, 8,
20750                 TFS(&tfs_profileAndLevelMPatH14_bit), 0x01, "The profileAndLevelMPatH14 bit", HFILL }},
20751         { &hf_h245_profileAndLevelMPatHL,
20752                 { "profileAndLevelMPatHL", "h245.profileAndLevelMPatHL", FT_BOOLEAN, 8,
20753                 TFS(&tfs_profileAndLevelMPatHL_bit), 0x01, "The profileAndLevelMPatHL bit", HFILL }},
20754         { &hf_h245_profileAndLevelSNRatLL,
20755                 { "profileAndLevelSNRatLL", "h245.profileAndLevelSNRatLL", FT_BOOLEAN, 8,
20756                 TFS(&tfs_profileAndLevelSNRatLL_bit), 0x01, "The profileAndLevelSNRatLL bit", HFILL }},
20757         { &hf_h245_profileAndLevelSNRatML,
20758                 { "profileAndLevelSNRatML", "h245.profileAndLevelSNRatML", FT_BOOLEAN, 8,
20759                 TFS(&tfs_profileAndLevelSNRatML_bit), 0x01, "The profileAndLevelSNRatML bit", HFILL }},
20760         { &hf_h245_profileAndLevelSpatialatH14,
20761                 { "profileAndLevelSpatialatH14", "h245.profileAndLevelSpatialatH14", FT_BOOLEAN, 8,
20762                 TFS(&tfs_profileAndLevelSpatialatH14_bit), 0x01, "The profileAndLevelSpatialatH14 bit", HFILL }},
20763         { &hf_h245_profileAndLevelHPatML,
20764                 { "profileAndLevelHPatML", "h245.profileAndLevelHPatML", FT_BOOLEAN, 8,
20765                 TFS(&tfs_profileAndLevelHPatML_bit), 0x01, "The profileAndLevelHPatML bit", HFILL }},
20766         { &hf_h245_profileAndLevelHPatH14,
20767                 { "profileAndLevelHPatH14", "h245.profileAndLevelHPatH14", FT_BOOLEAN, 8,
20768                 TFS(&tfs_profileAndLevelHPatH14_bit), 0x01, "The profileAndLevelHPatH14 bit", HFILL }},
20769         { &hf_h245_profileAndLevelHPatHL,
20770                 { "profileAndLevelHPatHL", "h245.profileAndLevelHPatHL", FT_BOOLEAN, 8,
20771                 TFS(&tfs_profileAndLevelHPatHL_bit), 0x01, "The profileAndLevelHPatHL bit", HFILL }},
20772         { &hf_h245_unrestrictedVector,
20773                 { "unrestrictedVector", "h245.unrestrictedVector", FT_BOOLEAN, 8,
20774                 TFS(&tfs_unrestrictedVector_bit), 0x01, "The unrestrictedVector bit", HFILL }},
20775         { &hf_h245_arithmeticCoding,
20776                 { "arithmeticCoding", "h245.arithmeticCoding", FT_BOOLEAN, 8,
20777                 TFS(&tfs_arithmeticCoding_bit), 0x01, "The arithmeticCoding bit", HFILL }},
20778         { &hf_h245_advancedPrediction,
20779                 { "advancedPrediction", "h245.advancedPrediction", FT_BOOLEAN, 8,
20780                 TFS(&tfs_advancedPrediction_bit), 0x01, "The advancedPrediction bit", HFILL }},
20781         { &hf_h245_pbFrames,
20782                 { "pbFrames", "h245.pbFrames", FT_BOOLEAN, 8,
20783                 TFS(&tfs_pbFrames_bit), 0x01, "The pbFrames bit", HFILL }},
20784         { &hf_h245_errorCompensation,
20785                 { "errorCompensation", "h245.errorCompensation", FT_BOOLEAN, 8,
20786                 TFS(&tfs_errorCompensation_bit), 0x01, "The errorCompensation bit", HFILL }},
20787         { &hf_h245_baseBitRateConstrained,
20788                 { "baseBitRateConstrained", "h245.baseBitRateConstrained", FT_BOOLEAN, 8,
20789                 TFS(&tfs_baseBitRateConstrained_bit), 0x01, "The baseBitRateConstrained bit", HFILL }},
20790         { &hf_h245_advancedIntraCodingMode,
20791                 { "advancedIntraCodingMode", "h245.advancedIntraCodingMode", FT_BOOLEAN, 8,
20792                 TFS(&tfs_advancedIntraCodingMode_bit), 0x01, "The advancedIntraCodingMode bit", HFILL }},
20793         { &hf_h245_deblockingFilterMode,
20794                 { "deblockingFilterMode", "h245.deblockingFilterMode", FT_BOOLEAN, 8,
20795                 TFS(&tfs_deblockingFilterMode_bit), 0x01, "The deblockingFilterMode bit", HFILL }},
20796         { &hf_h245_improvedPBFramesMode,
20797                 { "improvedPBFramesMode", "h245.improvedPBFramesMode", FT_BOOLEAN, 8,
20798                 TFS(&tfs_improvedPBFramesMode_bit), 0x01, "The improvedPBFramesMode bit", HFILL }},
20799         { &hf_h245_unlimitedMotionVectors,
20800                 { "unlimitedMotionVectors", "h245.unlimitedMotionVectors", FT_BOOLEAN, 8,
20801                 TFS(&tfs_unlimitedMotionVectors_bit), 0x01, "The unlimitedMotionVectors bit", HFILL }},
20802         { &hf_h245_fullPictureFreeze,
20803                 { "fullPictureFreeze", "h245.fullPictureFreeze", FT_BOOLEAN, 8,
20804                 TFS(&tfs_fullPictureFreeze_bit), 0x01, "The fullPictureFreeze bit", HFILL }},
20805         { &hf_h245_partialPictureFreezeAndRelease,
20806                 { "partialPictureFreezeAndRelease", "h245.partialPictureFreezeAndRelease", FT_BOOLEAN, 8,
20807                 TFS(&tfs_partialPictureFreezeAndRelease_bit), 0x01, "The partialPictureFreezeAndRelease bit", HFILL }},
20808         { &hf_h245_resizingPartPicFreezeAndRelease,
20809                 { "resizingPartPicFreezeAndRelease", "h245.resizingPartPicFreezeAndRelease", FT_BOOLEAN, 8,
20810                 TFS(&tfs_resizingPartPicFreezeAndRelease_bit), 0x01, "The resizingPartPicFreezeAndRelease bit", HFILL }},
20811         { &hf_h245_fullPictureSnapshot,
20812                 { "fullPictureSnapshot", "h245.fullPictureSnapshot", FT_BOOLEAN, 8,
20813                 TFS(&tfs_fullPictureSnapshot_bit), 0x01, "The fullPictureSnapshot bit", HFILL }},
20814         { &hf_h245_partialPictureSnapshot,
20815                 { "partialPictureSnapshot", "h245.partialPictureSnapshot", FT_BOOLEAN, 8,
20816                 TFS(&tfs_partialPictureSnapshot_bit), 0x01, "The partialPictureSnapshot bit", HFILL }},
20817         { &hf_h245_videoSegmentTagging,
20818                 { "videoSegmentTagging", "h245.videoSegmentTagging", FT_BOOLEAN, 8,
20819                 TFS(&tfs_videoSegmentTagging_bit), 0x01, "The videoSegmentTagging bit", HFILL }},
20820         { &hf_h245_progressiveRefinement,
20821                 { "progressiveRefinement", "h245.progressiveRefinement", FT_BOOLEAN, 8,
20822                 TFS(&tfs_progressiveRefinement_bit), 0x01, "The progressiveRefinement bit", HFILL }},
20823         { &hf_h245_dynamicPictureResizingByFour,
20824                 { "dynamicPictureResizingByFour", "h245.dynamicPictureResizingByFour", FT_BOOLEAN, 8,
20825                 TFS(&tfs_dynamicPictureResizingByFour_bit), 0x01, "The dynamicPictureResizingByFour bit", HFILL }},
20826         { &hf_h245_dynamicPictureResizingSixteenthPel,
20827                 { "dynamicPictureResizingSixteenthPel", "h245.dynamicPictureResizingSixteenthPel", FT_BOOLEAN, 8,
20828                 TFS(&tfs_dynamicPictureResizingSixteenthPel_bit), 0x01, "The dynamicPictureResizingSixteenthPel bit", HFILL }},
20829         { &hf_h245_dynamicWarpingHalfPel,
20830                 { "dynamicWarpingHalfPel", "h245.dynamicWarpingHalfPel", FT_BOOLEAN, 8,
20831                 TFS(&tfs_dynamicWarpingHalfPel_bit), 0x01, "The dynamicWarpingHalfPel bit", HFILL }},
20832         { &hf_h245_dynamicWarpingSixteenthPel,
20833                 { "dynamicWarpingSixteenthPel", "h245.dynamicWarpingSixteenthPel", FT_BOOLEAN, 8,
20834                 TFS(&tfs_dynamicWarpingSixteenthPel_bit), 0x01, "The dynamicWarpingSixteenthPel bit", HFILL }},
20835         { &hf_h245_independentSegmentDecoding,
20836                 { "independentSegmentDecoding", "h245.independentSegmentDecoding", FT_BOOLEAN, 8,
20837                 TFS(&tfs_independentSegmentDecoding_bit), 0x01, "The independentSegmentDecoding bit", HFILL }},
20838         { &hf_h245_slicesInOrderNonRect,
20839                 { "slicesInOrderNonRect", "h245.slicesInOrderNonRect", FT_BOOLEAN, 8,
20840                 TFS(&tfs_slicesInOrderNonRect_bit), 0x01, "The slicesInOrderNonRect bit", HFILL }},
20841         { &hf_h245_slicesInOrderRect,
20842                 { "slicesInOrderRect", "h245.slicesInOrderRect", FT_BOOLEAN, 8,
20843                 TFS(&tfs_slicesInOrderRect_bit), 0x01, "The slicesInOrderRect bit", HFILL }},
20844         { &hf_h245_slicesNoOrderNonRect,
20845                 { "slicesNoOrderNonRect", "h245.slicesNoOrderNonRect", FT_BOOLEAN, 8,
20846                 TFS(&tfs_slicesNoOrderNonRect_bit), 0x01, "The slicesNoOrderNonRect bit", HFILL }},
20847         { &hf_h245_slicesNoOrderRect,
20848                 { "slicesNoOrderRect", "h245.slicesNoOrderRect", FT_BOOLEAN, 8,
20849                 TFS(&tfs_slicesNoOrderRect_bit), 0x01, "The slicesNoOrderRect bit", HFILL }},
20850         { &hf_h245_alternateInterVLCMode,
20851                 { "alternateInterVLCMode", "h245.alternateInterVLCMode", FT_BOOLEAN, 8,
20852                 TFS(&tfs_alternateInterVLCMode_bit), 0x01, "The alternateInterVLCMode bit", HFILL }},
20853         { &hf_h245_modifiedQuantizationMode,
20854                 { "modifiedQuantizationMode", "h245.modifiedQuantizationMode", FT_BOOLEAN, 8,
20855                 TFS(&tfs_modifiedQuantizationMode_bit), 0x01, "The modifiedQuantizationMode bit", HFILL }},
20856         { &hf_h245_reducedResolutionUpdate,
20857                 { "reducedResolutionUpdate", "h245.reducedResolutionUpdate", FT_BOOLEAN, 8,
20858                 TFS(&tfs_reducedResolutionUpdate_bit), 0x01, "The reducedResolutionUpdate bit", HFILL }},
20859         { &hf_h245_separateVideoBackChannel,
20860                 { "separateVideoBackChannel", "h245.separateVideoBackChannel", FT_BOOLEAN, 8,
20861                 TFS(&tfs_separateVideoBackChannel_bit), 0x01, "The separateVideoBackChannel bit", HFILL }},
20862         { &hf_h245_videoMux,
20863                 { "videoMux", "h245.videoMux", FT_BOOLEAN, 8,
20864                 TFS(&tfs_videoMux_bit), 0x01, "The videoMux bit", HFILL }},
20865         { &hf_h245_anyPixelAspectRatio,
20866                 { "anyPixelAspectRatio", "h245.anyPixelAspectRatio", FT_BOOLEAN, 8,
20867                 TFS(&tfs_anyPixelAspectRatio_bit), 0x01, "The anyPixelAspectRatio bit", HFILL }},
20868         { &hf_h245_referencePicSelect,
20869                 { "referencePicSelect", "h245.referencePicSelect", FT_BOOLEAN, 8,
20870                 TFS(&tfs_referencePicSelect_bit), 0x01, "The referencePicSelect bit", HFILL }},
20871         { &hf_h245_enhancedReferencePicSelect_bool,
20872                 { "enhancedReferencePicSelect_bool", "h245.enhancedReferencePicSelect_bool", FT_BOOLEAN, 8,
20873                 TFS(&tfs_enhancedReferencePicSelect_bool_bit), 0x01, "The enhancedReferencePicSelect_bool bit", HFILL }},
20874         { &hf_h245_dataPartitionedSlices,
20875                 { "dataPartitionedSlices", "h245.dataPartitionedSlices", FT_BOOLEAN, 8,
20876                 TFS(&tfs_dataPartitionedSlices_bit), 0x01, "The dataPartitionedSlices bit", HFILL }},
20877         { &hf_h245_fixedPointIDCT0,
20878                 { "fixedPointIDCT0", "h245.fixedPointIDCT0", FT_BOOLEAN, 8,
20879                 TFS(&tfs_fixedPointIDCT0_bit), 0x01, "The fixedPointIDCT0 bit", HFILL }},
20880         { &hf_h245_interlacedFields,
20881                 { "interlacedFields", "h245.interlacedFields", FT_BOOLEAN, 8,
20882                 TFS(&tfs_interlacedFields_bit), 0x01, "The interlacedFields bit", HFILL }},
20883         { &hf_h245_currentPictureHeaderRepetition,
20884                 { "currentPictureHeaderRepetition", "h245.currentPictureHeaderRepetition", FT_BOOLEAN, 8,
20885                 TFS(&tfs_currentPictureHeaderRepetition_bit), 0x01, "The currentPictureHeaderRepetition bit", HFILL }},
20886         { &hf_h245_previousPictureHeaderRepetition,
20887                 { "previousPictureHeaderRepetition", "h245.previousPictureHeaderRepetition", FT_BOOLEAN, 8,
20888                 TFS(&tfs_previousPictureHeaderRepetition_bit), 0x01, "The previousPictureHeaderRepetition bit", HFILL }},
20889         { &hf_h245_nextPictureHeaderRepetition,
20890                 { "nextPictureHeaderRepetition", "h245.nextPictureHeaderRepetition", FT_BOOLEAN, 8,
20891                 TFS(&tfs_nextPictureHeaderRepetition_bit), 0x01, "The nextPictureHeaderRepetition bit", HFILL }},
20892         { &hf_h245_pictureNumber_bool,
20893                 { "pictureNumber_bool", "h245.pictureNumber_bool", FT_BOOLEAN, 8,
20894                 TFS(&tfs_pictureNumber_bool_bit), 0x01, "The pictureNumber_bool bit", HFILL }},
20895         { &hf_h245_spareReferencePictures,
20896                 { "spareReferencePictures", "h245.spareReferencePictures", FT_BOOLEAN, 8,
20897                 TFS(&tfs_spareReferencePictures_bit), 0x01, "The spareReferencePictures bit", HFILL }},
20898         { &hf_h245_constrainedBitstream,
20899                 { "constrainedBitstream", "h245.constrainedBitstream", FT_BOOLEAN, 8,
20900                 TFS(&tfs_constrainedBitstream_bit), 0x01, "The constrainedBitstream bit", HFILL }},
20901         { &hf_h245_silenceSuppression,
20902                 { "silenceSuppression", "h245.silenceSuppression", FT_BOOLEAN, 8,
20903                 TFS(&tfs_silenceSuppression_bit), 0x01, "The silenceSuppression bit", HFILL }},
20904         { &hf_h245_annexA,
20905                 { "annexA", "h245.annexA", FT_BOOLEAN, 8,
20906                 TFS(&tfs_annexA_bit), 0x01, "The annexA bit", HFILL }},
20907         { &hf_h245_annexB,
20908                 { "annexB", "h245.annexB", FT_BOOLEAN, 8,
20909                 TFS(&tfs_annexB_bit), 0x01, "The annexB bit", HFILL }},
20910         { &hf_h245_annexD,
20911                 { "annexD", "h245.annexD", FT_BOOLEAN, 8,
20912                 TFS(&tfs_annexD_bit), 0x01, "The annexD bit", HFILL }},
20913         { &hf_h245_annexE,
20914                 { "annexE", "h245.annexE", FT_BOOLEAN, 8,
20915                 TFS(&tfs_annexE_bit), 0x01, "The annexE bit", HFILL }},
20916         { &hf_h245_annexF,
20917                 { "annexF", "h245.annexF", FT_BOOLEAN, 8,
20918                 TFS(&tfs_annexF_bit), 0x01, "The annexF bit", HFILL }},
20919         { &hf_h245_annexG,
20920                 { "annexG", "h245.annexG", FT_BOOLEAN, 8,
20921                 TFS(&tfs_annexG_bit), 0x01, "The annexG bit", HFILL }},
20922         { &hf_h245_annexH,
20923                 { "annexH", "h245.annexH", FT_BOOLEAN, 8,
20924                 TFS(&tfs_annexH_bit), 0x01, "The annexH bit", HFILL }},
20925         { &hf_h245_audioLayer1,
20926                 { "audioLayer1", "h245.audioLayer1", FT_BOOLEAN, 8,
20927                 TFS(&tfs_audioLayer1_bit), 0x01, "The audioLayer1 bit", HFILL }},
20928         { &hf_h245_audioLayer2,
20929                 { "audioLayer2", "h245.audioLayer2", FT_BOOLEAN, 8,
20930                 TFS(&tfs_audioLayer2_bit), 0x01, "The audioLayer2 bit", HFILL }},
20931         { &hf_h245_audioLayer3,
20932                 { "audioLayer3", "h245.audioLayer3", FT_BOOLEAN, 8,
20933                 TFS(&tfs_audioLayer3_bit), 0x01, "The audioLayer3 bit", HFILL }},
20934         { &hf_h245_audioSampling32k,
20935                 { "audioSampling32k", "h245.audioSampling32k", FT_BOOLEAN, 8,
20936                 TFS(&tfs_audioSampling32k_bit), 0x01, "The audioSampling32k bit", HFILL }},
20937         { &hf_h245_audioSampling44k1,
20938                 { "audioSampling44k1", "h245.audioSampling44k1", FT_BOOLEAN, 8,
20939                 TFS(&tfs_audioSampling44k1_bit), 0x01, "The audioSampling44k1 bit", HFILL }},
20940         { &hf_h245_audioSampling48k,
20941                 { "audioSampling48k", "h245.audioSampling48k", FT_BOOLEAN, 8,
20942                 TFS(&tfs_audioSampling48k_bit), 0x01, "The audioSampling48k bit", HFILL }},
20943         { &hf_h245_singleChannel,
20944                 { "singleChannel", "h245.singleChannel", FT_BOOLEAN, 8,
20945                 TFS(&tfs_singleChannel_bit), 0x01, "The singleChannel bit", HFILL }},
20946         { &hf_h245_twoChannels,
20947                 { "twoChannels", "h245.twoChannels", FT_BOOLEAN, 8,
20948                 TFS(&tfs_twoChannels_bit), 0x01, "The twoChannels bit", HFILL }},
20949         { &hf_h245_audioSampling16k,
20950                 { "audioSampling16k", "h245.audioSampling16k", FT_BOOLEAN, 8,
20951                 TFS(&tfs_audioSampling16k_bit), 0x01, "The audioSampling16k bit", HFILL }},
20952         { &hf_h245_audioSampling22k05,
20953                 { "audioSampling22k05", "h245.audioSampling22k05", FT_BOOLEAN, 8,
20954                 TFS(&tfs_audioSampling22k05_bit), 0x01, "The audioSampling22k05 bit", HFILL }},
20955         { &hf_h245_audioSampling24k,
20956                 { "audioSampling24k", "h245.audioSampling24k", FT_BOOLEAN, 8,
20957                 TFS(&tfs_audioSampling24k_bit), 0x01, "The audioSampling24k bit", HFILL }},
20958         { &hf_h245_threeChannels21,
20959                 { "threeChannels21", "h245.threeChannels21", FT_BOOLEAN, 8,
20960                 TFS(&tfs_threeChannels21_bit), 0x01, "The threeChannels21 bit", HFILL }},
20961         { &hf_h245_threeChannels30,
20962                 { "threeChannels30", "h245.threeChannels30", FT_BOOLEAN, 8,
20963                 TFS(&tfs_threeChannels30_bit), 0x01, "The threeChannels30 bit", HFILL }},
20964         { &hf_h245_fourChannels2020,
20965                 { "fourChannels2020", "h245.fourChannels2020", FT_BOOLEAN, 8,
20966                 TFS(&tfs_fourChannels2020_bit), 0x01, "The fourChannels2020 bit", HFILL }},
20967         { &hf_h245_fourChannels22,
20968                 { "fourChannels22", "h245.fourChannels22", FT_BOOLEAN, 8,
20969                 TFS(&tfs_fourChannels22_bit), 0x01, "The fourChannels22 bit", HFILL }},
20970         { &hf_h245_fourChannels31,
20971                 { "fourChannels31", "h245.fourChannels31", FT_BOOLEAN, 8,
20972                 TFS(&tfs_fourChannels31_bit), 0x01, "The fourChannels31 bit", HFILL }},
20973         { &hf_h245_fiveChannels3020,
20974                 { "fiveChannels3020", "h245.fiveChannels3020", FT_BOOLEAN, 8,
20975                 TFS(&tfs_fiveChannels3020_bit), 0x01, "The fiveChannels3020 bit", HFILL }},
20976         { &hf_h245_fiveChannels32,
20977                 { "fiveChannels32", "h245.fiveChannels32", FT_BOOLEAN, 8,
20978                 TFS(&tfs_fiveChannels32_bit), 0x01, "The fiveChannels32 bit", HFILL }},
20979         { &hf_h245_lowFrequencyEnhancement,
20980                 { "lowFrequencyEnhancement", "h245.lowFrequencyEnhancement", FT_BOOLEAN, 8,
20981                 TFS(&tfs_lowFrequencyEnhancement_bit), 0x01, "The lowFrequencyEnhancement bit", HFILL }},
20982         { &hf_h245_multilingual,
20983                 { "multilingual", "h245.multilingual", FT_BOOLEAN, 8,
20984                 TFS(&tfs_multilingual_bit), 0x01, "The multilingual bit", HFILL }},
20985         { &hf_h245_comfortNoise,
20986                 { "comfortNoise", "h245.comfortNoise", FT_BOOLEAN, 8,
20987                 TFS(&tfs_comfortNoise_bit), 0x01, "The comfortNoise bit", HFILL }},
20988         { &hf_h245_scrambled,
20989                 { "scrambled", "h245.scrambled", FT_BOOLEAN, 8,
20990                 TFS(&tfs_scrambled_bit), 0x01, "The scrambled bit", HFILL }},
20991         { &hf_h245_qcif_bool,
20992                 { "qcif_bool", "h245.qcif_bool", FT_BOOLEAN, 8,
20993                 TFS(&tfs_qcif_bool_bit), 0x01, "The qcif_bool bit", HFILL }},
20994         { &hf_h245_cif_bool,
20995                 { "cif_bool", "h245.cif_bool", FT_BOOLEAN, 8,
20996                 TFS(&tfs_cif_bool_bit), 0x01, "The cif_bool bit", HFILL }},
20997         { &hf_h245_ccir601Seq,
20998                 { "ccir601Seq", "h245.ccir601Seq", FT_BOOLEAN, 8,
20999                 TFS(&tfs_ccir601Seq_bit), 0x01, "The ccir601Seq bit", HFILL }},
21000         { &hf_h245_ccir601Prog,
21001                 { "ccir601Prog", "h245.ccir601Prog", FT_BOOLEAN, 8,
21002                 TFS(&tfs_ccir601Prog_bit), 0x01, "The ccir601Prog bit", HFILL }},
21003         { &hf_h245_hdtvSeq,
21004                 { "hdtvSeq", "h245.hdtvSeq", FT_BOOLEAN, 8,
21005                 TFS(&tfs_hdtvSeq_bit), 0x01, "The hdtvSeq bit", HFILL }},
21006         { &hf_h245_hdtvProg,
21007                 { "hdtvProg", "h245.hdtvProg", FT_BOOLEAN, 8,
21008                 TFS(&tfs_hdtvProg_bit), 0x01, "The hdtvProg bit", HFILL }},
21009         { &hf_h245_g3FacsMH200x100,
21010                 { "g3FacsMH200x100", "h245.g3FacsMH200x100", FT_BOOLEAN, 8,
21011                 TFS(&tfs_g3FacsMH200x100_bit), 0x01, "The g3FacsMH200x100 bit", HFILL }},
21012         { &hf_h245_g3FacsMH200x200,
21013                 { "g3FacsMH200x200", "h245.g3FacsMH200x200", FT_BOOLEAN, 8,
21014                 TFS(&tfs_g3FacsMH200x200_bit), 0x01, "The g3FacsMH200x200 bit", HFILL }},
21015         { &hf_h245_g4FacsMMR200x100,
21016                 { "g4FacsMMR200x100", "h245.g4FacsMMR200x100", FT_BOOLEAN, 8,
21017                 TFS(&tfs_g4FacsMMR200x100_bit), 0x01, "The g4FacsMMR200x100 bit", HFILL }},
21018         { &hf_h245_g4FacsMMR200x200,
21019                 { "g4FacsMMR200x200", "h245.g4FacsMMR200x200", FT_BOOLEAN, 8,
21020                 TFS(&tfs_g4FacsMMR200x200_bit), 0x01, "The g4FacsMMR200x200 bit", HFILL }},
21021         { &hf_h245_jbig200x200Seq,
21022                 { "jbig200x200Seq", "h245.jbig200x200Seq", FT_BOOLEAN, 8,
21023                 TFS(&tfs_jbig200x200Seq_bit), 0x01, "The jbig200x200Seq bit", HFILL }},
21024         { &hf_h245_jbig200x200Prog,
21025                 { "jbig200x200Prog", "h245.jbig200x200Prog", FT_BOOLEAN, 8,
21026                 TFS(&tfs_jbig200x200Prog_bit), 0x01, "The jbig200x200Prog bit", HFILL }},
21027         { &hf_h245_jbig300x300Seq,
21028                 { "jbig300x300Seq", "h245.jbig300x300Seq", FT_BOOLEAN, 8,
21029                 TFS(&tfs_jbig300x300Seq_bit), 0x01, "The jbig300x300Seq bit", HFILL }},
21030         { &hf_h245_jbig300x300Prog,
21031                 { "jbig300x300Prog", "h245.jbig300x300Prog", FT_BOOLEAN, 8,
21032                 TFS(&tfs_jbig300x300Prog_bit), 0x01, "The jbig300x300Prog bit", HFILL }},
21033         { &hf_h245_digPhotoLow,
21034                 { "digPhotoLow", "h245.digPhotoLow", FT_BOOLEAN, 8,
21035                 TFS(&tfs_digPhotoLow_bit), 0x01, "The digPhotoLow bit", HFILL }},
21036         { &hf_h245_digPhotoMedSeq,
21037                 { "digPhotoMedSeq", "h245.digPhotoMedSeq", FT_BOOLEAN, 8,
21038                 TFS(&tfs_digPhotoMedSeq_bit), 0x01, "The digPhotoMedSeq bit", HFILL }},
21039         { &hf_h245_digPhotoMedProg,
21040                 { "digPhotoMedProg", "h245.digPhotoMedProg", FT_BOOLEAN, 8,
21041                 TFS(&tfs_digPhotoMedProg_bit), 0x01, "The digPhotoMedProg bit", HFILL }},
21042         { &hf_h245_digPhotoHighSeq,
21043                 { "digPhotoHighSeq", "h245.digPhotoHighSeq", FT_BOOLEAN, 8,
21044                 TFS(&tfs_digPhotoHighSeq_bit), 0x01, "The digPhotoHighSeq bit", HFILL }},
21045         { &hf_h245_digPhotoHighProg,
21046                 { "digPhotoHighProg", "h245.digPhotoHighProg", FT_BOOLEAN, 8,
21047                 TFS(&tfs_digPhotoHighProg_bit), 0x01, "The digPhotoHighProg bit", HFILL }},
21048         { &hf_h245_fillBitRemoval,
21049                 { "fillBitRemoval", "h245.fillBitRemoval", FT_BOOLEAN, 8,
21050                 TFS(&tfs_fillBitRemoval_bit), 0x01, "The fillBitRemoval bit", HFILL }},
21051         { &hf_h245_transcodingJBIG,
21052                 { "transcodingJBIG", "h245.transcodingJBIG", FT_BOOLEAN, 8,
21053                 TFS(&tfs_transcodingJBIG_bit), 0x01, "The transcodingJBIG bit", HFILL }},
21054         { &hf_h245_transcodingMMR,
21055                 { "transcodingMMR", "h245.transcodingMMR", FT_BOOLEAN, 8,
21056                 TFS(&tfs_transcodingMMR_bit), 0x01, "The transcodingMMR bit", HFILL }},
21057         { &hf_h245_t38TCPBidirectionalMode,
21058                 { "t38TCPBidirectionalMode", "h245.t38TCPBidirectionalMode", FT_BOOLEAN, 8,
21059                 TFS(&tfs_t38TCPBidirectionalMode_bit), 0x01, "The t38TCPBidirectionalMode bit", HFILL }},
21060         { &hf_h245_chairControlCapability,
21061                 { "chairControlCapability", "h245.chairControlCapability", FT_BOOLEAN, 8,
21062                 TFS(&tfs_chairControlCapability_bit), 0x01, "The chairControlCapability bit", HFILL }},
21063         { &hf_h245_videoIndicateMixingCapability,
21064                 { "videoIndicateMixingCapability", "h245.videoIndicateMixingCapability", FT_BOOLEAN, 8,
21065                 TFS(&tfs_videoIndicateMixingCapability_bit), 0x01, "The videoIndicateMixingCapability bit", HFILL }},
21066         { &hf_h245_multipointVisualizationCapability,
21067                 { "multipointVisualizationCapability", "h245.multipointVisualizationCapability", FT_BOOLEAN, 8,
21068                 TFS(&tfs_multipointVisualizationCapability_bit), 0x01, "The multipointVisualizationCapability bit", HFILL }},
21069         { &hf_h245_controlOnMuxStream,
21070                 { "controlOnMuxStream", "h245.controlOnMuxStream", FT_BOOLEAN, 8,
21071                 TFS(&tfs_controlOnMuxStream_bit), 0x01, "The controlOnMuxStream bit", HFILL }},
21072         { &hf_h245_redundancyEncoding_bool,
21073                 { "redundancyEncoding_bool", "h245.redundancyEncoding_bool", FT_BOOLEAN, 8,
21074                 TFS(&tfs_redundancyEncoding_bool_bit), 0x01, "The redundancyEncoding_bool bit", HFILL }},
21075         { &hf_h245_separatePort,
21076                 { "separatePort", "h245.separatePort", FT_BOOLEAN, 8,
21077                 TFS(&tfs_separatePort_bit), 0x01, "The separatePort bit", HFILL }},
21078         { &hf_h245_samePort_bool,
21079                 { "samePort_bool", "h245.samePort_bool", FT_BOOLEAN, 8,
21080                 TFS(&tfs_samePort_bool_bit), 0x01, "The samePort_bool bit", HFILL }},
21081         { &hf_h245_associateConference,
21082                 { "associateConference", "h245.associateConference", FT_BOOLEAN, 8,
21083                 TFS(&tfs_associateConference_bit), 0x01, "The associateConference bit", HFILL }},
21084         { &hf_h245_audioHeaderPresent,
21085                 { "audioHeaderPresent", "h245.audioHeaderPresent", FT_BOOLEAN, 8,
21086                 TFS(&tfs_audioHeaderPresent_bit), 0x01, "The audioHeaderPresent bit", HFILL }},
21087         { &hf_h245_segmentableFlag,
21088                 { "segmentableFlag", "h245.segmentableFlag", FT_BOOLEAN, 8,
21089                 TFS(&tfs_segmentableFlag_bit), 0x01, "The segmentableFlag bit", HFILL }},
21090         { &hf_h245_alsduSplitting,
21091                 { "alsduSplitting", "h245.alsduSplitting", FT_BOOLEAN, 8,
21092                 TFS(&tfs_alsduSplitting_bit), 0x01, "The alsduSplitting bit", HFILL }},
21093         { &hf_h245_uIH,
21094                 { "uIH", "h245.uIH", FT_BOOLEAN, 8,
21095                 TFS(&tfs_uIH_bit), 0x01, "The uIH bit", HFILL }},
21096         { &hf_h245_loopbackTestProcedure,
21097                 { "loopbackTestProcedure", "h245.loopbackTestProcedure", FT_BOOLEAN, 8,
21098                 TFS(&tfs_loopbackTestProcedure_bit), 0x01, "The loopbackTestProcedure bit", HFILL }},
21099         { &hf_h245_mediaGuaranteedDelivery,
21100                 { "mediaGuaranteedDelivery", "h245.mediaGuaranteedDelivery", FT_BOOLEAN, 8,
21101                 TFS(&tfs_mediaGuaranteedDelivery_bit), 0x01, "The mediaGuaranteedDelivery bit", HFILL }},
21102         { &hf_h245_mediaControlGuaranteedDelivery,
21103                 { "mediaControlGuaranteedDelivery", "h245.mediaControlGuaranteedDelivery", FT_BOOLEAN, 8,
21104                 TFS(&tfs_mediaControlGuaranteedDelivery_bit), 0x01, "The mediaControlGuaranteedDelivery bit", HFILL }},
21105         { &hf_h245_flowControlToZero,
21106                 { "flowControlToZero", "h245.flowControlToZero", FT_BOOLEAN, 8,
21107                 TFS(&tfs_flowControlToZero_bit), 0x01, "The flowControlToZero bit", HFILL }},
21108         { &hf_h245_multiplexCapability_bool,
21109                 { "multiplexCapability_bool", "h245.multiplexCapability_bool", FT_BOOLEAN, 8,
21110                 TFS(&tfs_multiplexCapability_bool_bit), 0x01, "The multiplexCapability_bool bit", HFILL }},
21111         { &hf_h245_secureChannel,
21112                 { "secureChannel", "h245.secureChannel", FT_BOOLEAN, 8,
21113                 TFS(&tfs_secureChannel_bit), 0x01, "The secureChannel bit", HFILL }},
21114         { &hf_h245_sharedSecret,
21115                 { "sharedSecret", "h245.sharedSecret", FT_BOOLEAN, 8,
21116                 TFS(&tfs_sharedSecret_bit), 0x01, "The sharedSecret bit", HFILL }},
21117         { &hf_h245_certProtectedKey,
21118                 { "certProtectedKey", "h245.certProtectedKey", FT_BOOLEAN, 8,
21119                 TFS(&tfs_certProtectedKey_bit), 0x01, "The certProtectedKey bit", HFILL }},
21120         { &hf_h245_bitRateLockedToPCRClock,
21121                 { "bitRateLockedToPCRClock", "h245.bitRateLockedToPCRClock", FT_BOOLEAN, 8,
21122                 TFS(&tfs_bitRateLockedToPCRClock_bit), 0x01, "The bitRateLockedToPCRClock bit", HFILL }},
21123         { &hf_h245_bitRateLockedToNetworkClock,
21124                 { "bitRateLockedToNetworkClock", "h245.bitRateLockedToNetworkClock", FT_BOOLEAN, 8,
21125                 TFS(&tfs_bitRateLockedToNetworkClock_bit), 0x01, "The bitRateLockedToNetworkClock bit", HFILL }},
21126         { &hf_h245_IS11172_BitRate,
21127                 { "BitRate", "h245.IS11172_BitRate", FT_UINT32, BASE_DEC,
21128                 NULL, 0, "IS11172 BitRate in kbit/s", HFILL }},
21129         { &hf_h245_IS13818_BitRate,
21130                 { "BitRate", "h245.IS13818_BitRate", FT_UINT32, BASE_DEC,
21131                 NULL, 0, "IS13818 BitRate in kbit/s", HFILL }},
21132         { &hf_h245_ATM_BitRate,
21133                 { "BitRate", "h245.ATM_BitRate", FT_UINT32, BASE_DEC,
21134                 NULL, 0, "ATM BitRate in 64kbit/s units", HFILL }},
21135         { &hf_h245_t35CountryCode,
21136                 { "t35CountryCode", "h245.t35CountryCode", FT_UINT32, BASE_DEC,
21137                 VALS(T35_country_code__vals), 0, "t35CountryCode value", HFILL }},
21138         { &hf_h245_t35Extension,
21139                 { "t35Extension", "h245.t35Extension", FT_UINT32, BASE_DEC,
21140                 NULL, 0, "t35Extension value", HFILL }},
21141         { &hf_h245_manufacturerCode,
21142                 { "manufacturerCode", "h245.manufacturerCode", FT_UINT32, BASE_DEC,
21143                 NULL, 0, "manufacturerCode value", HFILL }},
21144         { &hf_h245_terminalType,
21145                 { "terminalType", "h245.terminalType", FT_UINT32, BASE_DEC,
21146                 NULL, 0, "terminalType value", HFILL }},
21147         { &hf_h245_statusDeterminationNumber,
21148                 { "statusDeterminationNumber", "h245.statusDeterminationNumber", FT_UINT32, BASE_DEC,
21149                 NULL, 0, "statusDeterminationNumber value", HFILL }},
21150         { &hf_h245_CapabilityTableEntryNumber,
21151                 { "CapabilityTableEntryNumber", "h245.CapabilityTableEntryNumber", FT_UINT32, BASE_DEC,
21152                 NULL, 0, "CapabilityTableEntryNumber value", HFILL }},
21153         { &hf_h245_CapabilityDescriptorNumber,
21154                 { "CapabilityDescriptorNumber", "h245.CapabilityDescriptorNumber", FT_UINT32, BASE_DEC,
21155                 NULL, 0, "CapabilityDescriptorNumber value", HFILL }},
21156         { &hf_h245_h233IVResponseTime,
21157                 { "h233IVResponseTime", "h245.h233IVResponseTime", FT_UINT32, BASE_DEC,
21158                 NULL, 0, "h233IVResponseTime value", HFILL }},
21159         { &hf_h245_maxPendingReplacementFor,
21160                 { "maxPendingReplacementFor", "h245.maxPendingReplacementFor", FT_UINT32, BASE_DEC,
21161                 NULL, 0, "maxPendingReplacementFor value", HFILL }},
21162         { &hf_h245_numberOfVCs,
21163                 { "numberOfVCs", "h245.numberOfVCs", FT_UINT32, BASE_DEC,
21164                 NULL, 0, "numberOfVCs value", HFILL }},
21165         { &hf_h245_forwardMaximumSDUSize,
21166                 { "forwardMaximumSDUSize", "h245.forwardMaximumSDUSize", FT_UINT32, BASE_DEC,
21167                 NULL, 0, "forwardMaximumSDUSize value", HFILL }},
21168         { &hf_h245_backwardMaximumSDUSize,
21169                 { "backwardMaximumSDUSize", "h245.backwardMaximumSDUSize", FT_UINT32, BASE_DEC,
21170                 NULL, 0, "backwardMaximumSDUSize value", HFILL }},
21171         { &hf_h245_singleBitRate,
21172                 { "singleBitRate", "h245.singleBitRate", FT_UINT32, BASE_DEC,
21173                 NULL, 0, "singleBitRate value", HFILL }},
21174         { &hf_h245_lowerBitRate,
21175                 { "lowerBitRate", "h245.lowerBitRate", FT_UINT32, BASE_DEC,
21176                 NULL, 0, "lowerBitRate value", HFILL }},
21177         { &hf_h245_higherBitRate,
21178                 { "higherBitRate", "h245.higherBitRate", FT_UINT32, BASE_DEC,
21179                 NULL, 0, "higherBitRate value", HFILL }},
21180         { &hf_h245_maximumAl2SDUSize,
21181                 { "maximumAl2SDUSize", "h245.maximumAl2SDUSize", FT_UINT32, BASE_DEC,
21182                 NULL, 0, "maximumAl2SDUSize value", HFILL }},
21183         { &hf_h245_maximumAl3SDUSize,
21184                 { "maximumAl3SDUSize", "h245.maximumAl3SDUSize", FT_UINT32, BASE_DEC,
21185                 NULL, 0, "maximumAl3SDUSize value", HFILL }},
21186         { &hf_h245_maximumDelayJitter,
21187                 { "maximumDelayJitter", "h245.maximumDelayJitter", FT_UINT32, BASE_DEC,
21188                 NULL, 0, "maximumDelayJitter value", HFILL }},
21189         { &hf_h245_maximumNestingDepth,
21190                 { "maximumNestingDepth", "h245.maximumNestingDepth", FT_UINT32, BASE_DEC,
21191                 NULL, 0, "maximumNestingDepth value", HFILL }},
21192         { &hf_h245_maximumElementListSize,
21193                 { "maximumElementListSize", "h245.maximumElementListSize", FT_UINT32, BASE_DEC,
21194                 NULL, 0, "maximumElementListSize value", HFILL }},
21195         { &hf_h245_maximumSubElementListSize,
21196                 { "maximumSubElementListSize", "h245.maximumSubElementListSize", FT_UINT32, BASE_DEC,
21197                 NULL, 0, "maximumSubElementListSize value", HFILL }},
21198         { &hf_h245_h223bitRate,
21199                 { "h223bitRate", "h245.h223bitRate", FT_UINT32, BASE_DEC,
21200                 NULL, 0, "h223bitRate value", HFILL }},
21201         { &hf_h245_maximumSampleSize,
21202                 { "maximumSampleSize", "h245.maximumSampleSize", FT_UINT32, BASE_DEC,
21203                 NULL, 0, "maximumSampleSize value", HFILL }},
21204         { &hf_h245_maximumPayloadLength,
21205                 { "maximumPayloadLength", "h245.maximumPayloadLength", FT_UINT32, BASE_DEC,
21206                 NULL, 0, "maximumPayloadLength value", HFILL }},
21207         { &hf_h245_maximumAL1MPDUSize,
21208                 { "maximumAL1MPDUSize", "h245.maximumAL1MPDUSize", FT_UINT32, BASE_DEC,
21209                 NULL, 0, "maximumAL1MPDUSize value", HFILL }},
21210         { &hf_h245_maximumAL2MSDUSize,
21211                 { "maximumAL2MSDUSize", "h245.maximumAL2MSDUSize", FT_UINT32, BASE_DEC,
21212                 NULL, 0, "maximumAL2MSDUSize value", HFILL }},
21213         { &hf_h245_maximumAL3MSDUSize,
21214                 { "maximumAL3MSDUSize", "h245.maximumAL3MSDUSize", FT_UINT32, BASE_DEC,
21215                 NULL, 0, "maximumAL3MSDUSize value", HFILL }},
21216         { &hf_h245_numOfDLCS,
21217                 { "numOfDLCS", "h245.numOfDLCS", FT_UINT32, BASE_DEC,
21218                 NULL, 0, "numOfDLCS value", HFILL }},
21219         { &hf_h245_n401Capability,
21220                 { "n401Capability", "h245.n401Capability", FT_UINT32, BASE_DEC,
21221                 NULL, 0, "n401Capability value", HFILL }},
21222         { &hf_h245_maxWindowSizeCapability,
21223                 { "maxWindowSizeCapability", "h245.maxWindowSizeCapability", FT_UINT32, BASE_DEC,
21224                 NULL, 0, "maxWindowSizeCapability value", HFILL }},
21225         { &hf_h245_maximumAudioDelayJitter,
21226                 { "maximumAudioDelayJitter", "h245.maximumAudioDelayJitter", FT_UINT32, BASE_DEC,
21227                 NULL, 0, "maximumAudioDelayJitter value", HFILL }},
21228         { &hf_h245_tokenRate,
21229                 { "tokenRate", "h245.tokenRate", FT_UINT32, BASE_DEC,
21230                 NULL, 0, "tokenRate value", HFILL }},
21231         { &hf_h245_bucketSize,
21232                 { "bucketSize", "h245.bucketSize", FT_UINT32, BASE_DEC,
21233                 NULL, 0, "bucketSize value", HFILL }},
21234         { &hf_h245_peakRate,
21235                 { "peakRate", "h245.peakRate", FT_UINT32, BASE_DEC,
21236                 NULL, 0, "peakRate value", HFILL }},
21237         { &hf_h245_minPoliced,
21238                 { "minPoliced", "h245.minPoliced", FT_UINT32, BASE_DEC,
21239                 NULL, 0, "minPoliced value", HFILL }},
21240         { &hf_h245_maxPktSize,
21241                 { "maxPktSize", "h245.maxPktSize", FT_UINT32, BASE_DEC,
21242                 NULL, 0, "maxPktSize value", HFILL }},
21243         { &hf_h245_maxNTUSize,
21244                 { "maxNTUSize", "h245.maxNTUSize", FT_UINT32, BASE_DEC,
21245                 NULL, 0, "maxNTUSize value", HFILL }},
21246         { &hf_h245_numberOfThreads,
21247                 { "numberOfThreads", "h245.numberOfThreads", FT_UINT32, BASE_DEC,
21248                 NULL, 0, "numberOfThreads value", HFILL }},
21249         { &hf_h245_framesBetweenSyncPoints,
21250                 { "framesBetweenSyncPoints", "h245.framesBetweenSyncPoints", FT_UINT32, BASE_DEC,
21251                 NULL, 0, "framesBetweenSyncPoints value", HFILL }},
21252         { &hf_h245_threadNumber,
21253                 { "threadNumber", "h245.threadNumber", FT_UINT32, BASE_DEC,
21254                 NULL, 0, "threadNumber value", HFILL }},
21255         { &hf_h245_qcifMPI_1_4,
21256                 { "qcifMPI_1_4", "h245.qcifMPI_1_4", FT_UINT32, BASE_DEC,
21257                 NULL, 0, "qcifMPI_1_4 value", HFILL }},
21258         { &hf_h245_qcifMPI_1_32,
21259                 { "qcifMPI_1_32", "h245.qcifMPI_1_32", FT_UINT32, BASE_DEC,
21260                 NULL, 0, "qcifMPI_1_32 value", HFILL }},
21261         { &hf_h245_qcifMPI_1_2048,
21262                 { "qcifMPI_1_2048", "h245.qcifMPI_1_2048", FT_UINT32, BASE_DEC,
21263                 NULL, 0, "qcifMPI_1_2048 value", HFILL }},
21264         { &hf_h245_cifMPI_1_4,
21265                 { "cifMPI_1_4", "h245.cifMPI_1_4", FT_UINT32, BASE_DEC,
21266                 NULL, 0, "cifMPI_1_4 value", HFILL }},
21267         { &hf_h245_cifMPI_1_32,
21268                 { "cifMPI_1_32", "h245.cifMPI_1_32", FT_UINT32, BASE_DEC,
21269                 NULL, 0, "cifMPI_1_32 value", HFILL }},
21270         { &hf_h245_cifMPI_1_2048,
21271                 { "cifMPI_1_2048", "h245.cifMPI_1_2048", FT_UINT32, BASE_DEC,
21272                 NULL, 0, "cifMPI_1_2048 value", HFILL }},
21273         { &hf_h245_videoBitRate,
21274                 { "videoBitRate", "h245.videoBitRate", FT_UINT32, BASE_DEC,
21275                 NULL, 0, "videoBitRate value  (units 400 bit/s)", HFILL }},
21276         { &hf_h245_vbvBufferSize,
21277                 { "vbvBufferSize", "h245.vbvBufferSize", FT_UINT32, BASE_DEC,
21278                 NULL, 0, "vbvBufferSize value  (units 16384 bits)", HFILL }},
21279         { &hf_h245_samplesPerLine,
21280                 { "samplesPerLine", "h245.samplesPerLine", FT_UINT32, BASE_DEC,
21281                 NULL, 0, "samplesPerLine value", HFILL }},
21282         { &hf_h245_linesPerFrame,
21283                 { "linesPerFrame", "h245.linesPerFrame", FT_UINT32, BASE_DEC,
21284                 NULL, 0, "linesPerFrame value", HFILL }},
21285         { &hf_h245_framesPerSecond,
21286                 { "framesPerSecond", "h245.framesPerSecond", FT_UINT32, BASE_DEC,
21287                 NULL, 0, "framesPerSecond value", HFILL }},
21288         { &hf_h245_luminanceSampleRate,
21289                 { "luminanceSampleRate", "h245.luminanceSampleRate", FT_UINT32, BASE_DEC,
21290                 NULL, 0, "luminanceSampleRate value", HFILL }},
21291         { &hf_h245_sqcifMPI_1_32,
21292                 { "sqcifMPI_1_32", "h245.sqcifMPI_1_32", FT_UINT32, BASE_DEC,
21293                 NULL, 0, "sqcifMPI_1_32 value", HFILL }},
21294         { &hf_h245_sqcifMPI_1_2048,
21295                 { "sqcifMPI_1_2048", "h245.sqcifMPI_1_2048", FT_UINT32, BASE_DEC,
21296                 NULL, 0, "sqcifMPI_1_2048 value", HFILL }},
21297         { &hf_h245_cif4MPI_1_32,
21298                 { "cif4MPI_1_32", "h245.cif4MPI_1_32", FT_UINT32, BASE_DEC,
21299                 NULL, 0, "cif4MPI_1_32 value", HFILL }},
21300         { &hf_h245_cif4MPI_1_2048,
21301                 { "cif4MPI_1_2048", "h245.cif4MPI_1_2048", FT_UINT32, BASE_DEC,
21302                 NULL, 0, "cif4MPI_1_2048 value", HFILL }},
21303         { &hf_h245_cif16MPI_1_32,
21304                 { "cif16MPI_1_32", "h245.cif16MPI_1_32", FT_UINT32, BASE_DEC,
21305                 NULL, 0, "cif16MPI_1_32 value", HFILL }},
21306         { &hf_h245_cif16MPI_1_2048,
21307                 { "cif16MPI_1_2048", "h245.cif16MPI_1_2048", FT_UINT32, BASE_DEC,
21308                 NULL, 0, "cif16MPI_1_2048 value", HFILL }},
21309         { &hf_h245_maxBitRate_192400,
21310                 { "maxBitRate_192400", "h245.maxBitRate_192400", FT_UINT32, BASE_DEC,
21311                 NULL, 0, "maxBitRate_192400 value", HFILL }},
21312         { &hf_h245_hrd_B,
21313                 { "hrd_B", "h245.hrd_B", FT_UINT32, BASE_DEC,
21314                 NULL, 0, "hrd_B value", HFILL }},
21315         { &hf_h245_bppMaxKb,
21316                 { "bppMaxKb", "h245.bppMaxKb", FT_UINT32, BASE_DEC,
21317                 NULL, 0, "bppMaxKb value", HFILL }},
21318         { &hf_h245_slowSqcifMPI,
21319                 { "slowSqcifMPI", "h245.slowSqcifMPI", FT_UINT32, BASE_DEC,
21320                 NULL, 0, "slowSqcifMPI value", HFILL }},
21321         { &hf_h245_slowQcifMPI,
21322                 { "slowQcifMPI", "h245.slowQcifMPI", FT_UINT32, BASE_DEC,
21323                 NULL, 0, "slowQcifMPI value", HFILL }},
21324         { &hf_h245_slowCifMPI,
21325                 { "slowCifMPI", "h245.slowCifMPI", FT_UINT32, BASE_DEC,
21326                 NULL, 0, "slowCifMPI value", HFILL }},
21327         { &hf_h245_slowCif4MPI,
21328                 { "slowCif4MPI", "h245.slowCif4MPI", FT_UINT32, BASE_DEC,
21329                 NULL, 0, "slowCif4MPI value", HFILL }},
21330         { &hf_h245_slowCif16MPI,
21331                 { "slowCif16MPI", "h245.slowCif16MPI", FT_UINT32, BASE_DEC,
21332                 NULL, 0, "slowCif16MPI value", HFILL }},
21333         { &hf_h245_numberOfBPictures,
21334                 { "numberOfBPictures", "h245.numberOfBPictures", FT_UINT32, BASE_DEC,
21335                 NULL, 0, "numberOfBPictures value", HFILL }},
21336         { &hf_h245_presentationOrder,
21337                 { "presentationOrder", "h245.presentationOrder", FT_UINT32, BASE_DEC,
21338                 NULL, 0, "presentationOrder value", HFILL }},
21339         { &hf_h245_offset_x,
21340                 { "offset_x", "h245.offset_x", FT_UINT32, BASE_DEC,
21341                 NULL, 0, "offset_x value", HFILL }},
21342         { &hf_h245_offset_y,
21343                 { "offset_y", "h245.offset_y", FT_UINT32, BASE_DEC,
21344                 NULL, 0, "offset_y value", HFILL }},
21345         { &hf_h245_scale_x,
21346                 { "scale_x", "h245.scale_x", FT_UINT32, BASE_DEC,
21347                 NULL, 0, "scale_x value", HFILL }},
21348         { &hf_h245_scale_y,
21349                 { "scale_y", "h245.scale_y", FT_UINT32, BASE_DEC,
21350                 NULL, 0, "scale_y value", HFILL }},
21351         { &hf_h245_sqcifAdditionalPictureMemory,
21352                 { "sqcifAdditionalPictureMemory", "h245.sqcifAdditionalPictureMemory", FT_UINT32, BASE_DEC,
21353                 NULL, 0, "sqcifAdditionalPictureMemory value", HFILL }},
21354         { &hf_h245_qcifAdditionalPictureMemory,
21355                 { "qcifAdditionalPictureMemory", "h245.qcifAdditionalPictureMemory", FT_UINT32, BASE_DEC,
21356                 NULL, 0, "qcifAdditionalPictureMemory value", HFILL }},
21357         { &hf_h245_cifAdditionalPictureMemory,
21358                 { "cifAdditionalPictureMemory", "h245.cifAdditionalPictureMemory", FT_UINT32, BASE_DEC,
21359                 NULL, 0, "cifAdditionalPictureMemory value", HFILL }},
21360         { &hf_h245_cif4AdditionalPictureMemory,
21361                 { "cif4AdditionalPictureMemory", "h245.cif4AdditionalPictureMemory", FT_UINT32, BASE_DEC,
21362                 NULL, 0, "cif4AdditionalPictureMemory value", HFILL }},
21363         { &hf_h245_cif16AdditionalPictureMemory,
21364                 { "cif16AdditionalPictureMemory", "h245.cif16AdditionalPictureMemory", FT_UINT32, BASE_DEC,
21365                 NULL, 0, "cif16AdditionalPictureMemory value", HFILL }},
21366         { &hf_h245_bigCpfAdditionalPictureMemory,
21367                 { "bigCpfAdditionalPictureMemory", "h245.bigCpfAdditionalPictureMemory", FT_UINT32, BASE_DEC,
21368                 NULL, 0, "bigCpfAdditionalPictureMemory value", HFILL }},
21369         { &hf_h245_mpuHorizMBs,
21370                 { "mpuHorizMBs", "h245.mpuHorizMBs", FT_UINT32, BASE_DEC,
21371                 NULL, 0, "mpuHorizMBs value", HFILL }},
21372         { &hf_h245_mpuVertMBs,
21373                 { "mpuVertMBs", "h245.mpuVertMBs", FT_UINT32, BASE_DEC,
21374                 NULL, 0, "mpuVertMBs value", HFILL }},
21375         { &hf_h245_mpuTotalNumber,
21376                 { "mpuTotalNumber", "h245.mpuTotalNumber", FT_UINT32, BASE_DEC,
21377                 NULL, 0, "mpuTotalNumber value", HFILL }},
21378         { &hf_h245_clockConversionCode,
21379                 { "clockConversionCode", "h245.clockConversionCode", FT_UINT32, BASE_DEC,
21380                 NULL, 0, "clockConversionCode value", HFILL }},
21381         { &hf_h245_clockDivisor,
21382                 { "clockDivisor", "h245.clockDivisor", FT_UINT32, BASE_DEC,
21383                 NULL, 0, "clockDivisor value", HFILL }},
21384         { &hf_h245_maxCustomPictureWidth,
21385                 { "maxCustomPictureWidth", "h245.maxCustomPictureWidth", FT_UINT32, BASE_DEC,
21386                 NULL, 0, "maxCustomPictureWidth value", HFILL }},
21387         { &hf_h245_minCustomPictureWidth,
21388                 { "minCustomPictureWidth", "h245.minCustomPictureWidth", FT_UINT32, BASE_DEC,
21389                 NULL, 0, "minCustomPictureWidth value", HFILL }},
21390         { &hf_h245_minCustomPictureHeight,
21391                 { "minCustomPictureHeight", "h245.minCustomPictureHeight", FT_UINT32, BASE_DEC,
21392                 NULL, 0, "minCustomPictureHeight value", HFILL }},
21393         { &hf_h245_maxCustomPictureHeight,
21394                 { "maxCustomPictureHeight", "h245.maxCustomPictureHeight", FT_UINT32, BASE_DEC,
21395                 NULL, 0, "maxCustomPictureHeight value", HFILL }},
21396         { &hf_h245_standardMPI,
21397                 { "standardMPI", "h245.standardMPI", FT_UINT32, BASE_DEC,
21398                 NULL, 0, "standardMPI value", HFILL }},
21399         { &hf_h245_customMPI,
21400                 { "customMPI", "h245.customMPI", FT_UINT32, BASE_DEC,
21401                 NULL, 0, "customMPI value", HFILL }},
21402         { &hf_h245_width,
21403                 { "width", "h245.width", FT_UINT32, BASE_DEC,
21404                 NULL, 0, "width value", HFILL }},
21405         { &hf_h245_height,
21406                 { "height", "h245.height", FT_UINT32, BASE_DEC,
21407                 NULL, 0, "height value", HFILL }},
21408         { &hf_h245_pictureRate,
21409                 { "pictureRate", "h245.pictureRate", FT_UINT32, BASE_DEC,
21410                 NULL, 0, "pictureRate value", HFILL }},
21411         { &hf_h245_g711Alaw64k,
21412                 { "g711Alaw64k", "h245.g711Alaw64k", FT_UINT32, BASE_DEC,
21413                 NULL, 0, "g711Alaw64k value", HFILL }},
21414         { &hf_h245_g711Alaw56k,
21415                 { "g711Alaw56k", "h245.g711Alaw56k", FT_UINT32, BASE_DEC,
21416                 NULL, 0, "g711Alaw56k value", HFILL }},
21417         { &hf_h245_g711Ulaw64k,
21418                 { "g711Ulaw64k", "h245.g711Ulaw64k", FT_UINT32, BASE_DEC,
21419                 NULL, 0, "g711Ulaw64k value", HFILL }},
21420         { &hf_h245_g711Ulaw56k,
21421                 { "g711Ulaw56k", "h245.g711Ulaw56k", FT_UINT32, BASE_DEC,
21422                 NULL, 0, "g711Ulaw56k value", HFILL }},
21423         { &hf_h245_g722_64k,
21424                 { "g722_64k", "h245.g722_64k", FT_UINT32, BASE_DEC,
21425                 NULL, 0, "g722_64k value", HFILL }},
21426         { &hf_h245_g722_56k,
21427                 { "g722_56k", "h245.g722_56k", FT_UINT32, BASE_DEC,
21428                 NULL, 0, "g722_56k value", HFILL }},
21429         { &hf_h245_g722_48k,
21430                 { "g722_48k", "h245.g722_48k", FT_UINT32, BASE_DEC,
21431                 NULL, 0, "g722_48k value", HFILL }},
21432         { &hf_h245_maxAl_sduAudioFrames,
21433                 { "maxAl_sduAudioFrames", "h245.maxAl_sduAudioFrames", FT_UINT32, BASE_DEC,
21434                 NULL, 0, "maxAl_sduAudioFrames value", HFILL }},
21435         { &hf_h245_g728,
21436                 { "g728", "h245.g728", FT_UINT32, BASE_DEC,
21437                 NULL, 0, "g728 value", HFILL }},
21438         { &hf_h245_g729,
21439                 { "g729", "h245.g729", FT_UINT32, BASE_DEC,
21440                 NULL, 0, "g729 value", HFILL }},
21441         { &hf_h245_g729AnnexA,
21442                 { "g729AnnexA", "h245.g729AnnexA", FT_UINT32, BASE_DEC,
21443                 NULL, 0, "g729AnnexA value", HFILL }},
21444         { &hf_h245_g729wAnnexB,
21445                 { "g729wAnnexB", "h245.g729wAnnexB", FT_UINT32, BASE_DEC,
21446                 NULL, 0, "g729wAnnexB value", HFILL }},
21447         { &hf_h245_g729AnnexAwAnnexB,
21448                 { "g729AnnexAwAnnexB", "h245.g729AnnexAwAnnexB", FT_UINT32, BASE_DEC,
21449                 NULL, 0, "g729AnnexAwAnnexB value", HFILL }},
21450         { &hf_h245_audioUnit,
21451                 { "audioUnit", "h245.audioUnit", FT_UINT32, BASE_DEC,
21452                 NULL, 0, "audioUnit value", HFILL }},
21453         { &hf_h245_highRateMode0,
21454                 { "highRateMode0", "h245.highRateMode0", FT_UINT32, BASE_DEC,
21455                 NULL, 0, "highRateMode0 value", HFILL }},
21456         { &hf_h245_highRateMode1,
21457                 { "highRateMode1", "h245.highRateMode1", FT_UINT32, BASE_DEC,
21458                 NULL, 0, "highRateMode1 value", HFILL }},
21459         { &hf_h245_lowRateMode0,
21460                 { "lowRateMode0", "h245.lowRateMode0", FT_UINT32, BASE_DEC,
21461                 NULL, 0, "lowRateMode0 value", HFILL }},
21462         { &hf_h245_lowRateMode1,
21463                 { "lowRateMode1", "h245.lowRateMode1", FT_UINT32, BASE_DEC,
21464                 NULL, 0, "lowRateMode1 value", HFILL }},
21465         { &hf_h245_sidMode0,
21466                 { "sidMode0", "h245.sidMode0", FT_UINT32, BASE_DEC,
21467                 NULL, 0, "sidMode0 value", HFILL }},
21468         { &hf_h245_sidMode1,
21469                 { "sidMode1", "h245.sidMode1", FT_UINT32, BASE_DEC,
21470                 NULL, 0, "sidMode1 value", HFILL }},
21471         { &hf_h245_audioUnitSize,
21472                 { "audioUnitSize", "h245.audioUnitSize", FT_UINT32, BASE_DEC,
21473                 NULL, 0, "audioUnitSize value", HFILL }},
21474         { &hf_h245_maxBitRate_4294967295UL,
21475                 { "maxBitRate_4294967295UL", "h245.maxBitRate_4294967295UL", FT_UINT32, BASE_DEC,
21476                 NULL, 0, "maxBitRate value in units of 100bits/s", HFILL }},
21477         { &hf_h245_numberOfCodewords,
21478                 { "numberOfCodewords", "h245.numberOfCodewords", FT_UINT32, BASE_DEC,
21479                 NULL, 0, "numberOfCodewords value", HFILL }},
21480         { &hf_h245_maximumStringLength,
21481                 { "maximumStringLength", "h245.maximumStringLength", FT_UINT32, BASE_DEC,
21482                 NULL, 0, "maximumStringLength value", HFILL }},
21483         { &hf_h245_version,
21484                 { "version", "h245.version", FT_UINT32, BASE_DEC,
21485                 NULL, 0, "version value", HFILL }},
21486         { &hf_h245_standard_0_127,
21487                 { "standard_0_127", "h245.standard_0_127", FT_UINT32, BASE_DEC,
21488                 NULL, 0, "standard_0_127 value", HFILL }},
21489         { &hf_h245_booleanArray,
21490                 { "booleanArray", "h245.booleanArray", FT_UINT32, BASE_DEC,
21491                 NULL, 0, "booleanArray value", HFILL }},
21492         { &hf_h245_unsignedMin,
21493                 { "unsignedMin", "h245.unsignedMin", FT_UINT32, BASE_DEC,
21494                 NULL, 0, "unsignedMin value", HFILL }},
21495         { &hf_h245_unsignedMax,
21496                 { "unsignedMax", "h245.unsignedMax", FT_UINT32, BASE_DEC,
21497                 NULL, 0, "unsignedMax value", HFILL }},
21498         { &hf_h245_unsigned32Min,
21499                 { "unsigned32Min", "h245.unsigned32Min", FT_UINT32, BASE_DEC,
21500                 NULL, 0, "unsigned32Min value", HFILL }},
21501         { &hf_h245_unsigned32Max,
21502                 { "unsigned32Max", "h245.unsigned32Max", FT_UINT32, BASE_DEC,
21503                 NULL, 0, "unsigned32Max value", HFILL }},
21504         { &hf_h245_dynamicRTPPayloadType,
21505                 { "dynamicRTPPayloadType", "h245.dynamicRTPPayloadType", FT_UINT32, BASE_DEC,
21506                 NULL, 0, "dynamicRTPPayloadType value", HFILL }},
21507         { &hf_h245_portNumber,
21508                 { "portNumber", "h245.portNumber", FT_UINT32, BASE_DEC,
21509                 NULL, 0, "portNumber value", HFILL }},
21510         { &hf_h245_resourceID,
21511                 { "resourceID", "h245.resourceID", FT_UINT32, BASE_DEC,
21512                 NULL, 0, "resourceID value", HFILL }},
21513         { &hf_h245_subChannelID,
21514                 { "subChannelID", "h245.subChannelID", FT_UINT32, BASE_DEC,
21515                 NULL, 0, "subChannelID value", HFILL }},
21516         { &hf_h245_pcr_pid,
21517                 { "pcr_pid", "h245.pcr_pid", FT_UINT32, BASE_DEC,
21518                 NULL, 0, "pcr_pid value", HFILL }},
21519         { &hf_h245_controlFieldOctets,
21520                 { "controlFieldOctets", "h245.controlFieldOctets", FT_UINT32, BASE_DEC,
21521                 NULL, 0, "controlFieldOctets value", HFILL }},
21522         { &hf_h245_sendBufferSize,
21523                 { "sendBufferSize", "h245.sendBufferSize", FT_UINT32, BASE_DEC,
21524                 NULL, 0, "sendBufferSize value", HFILL }},
21525         { &hf_h245_rcpcCodeRate,
21526                 { "rcpcCodeRate", "h245.rcpcCodeRate", FT_UINT32, BASE_DEC,
21527                 NULL, 0, "rcpcCodeRate value", HFILL }},
21528         { &hf_h245_rsCodeCorrection,
21529                 { "rsCodeCorrection", "h245.rsCodeCorrection", FT_UINT32, BASE_DEC,
21530                 NULL, 0, "rsCodeCorrection value", HFILL }},
21531         { &hf_h245_finite_0_16,
21532                 { "finite_0_16", "h245.finite_0_16", FT_UINT32, BASE_DEC,
21533                 NULL, 0, "finite_0_16 value", HFILL }},
21534         { &hf_h245_windowSize,
21535                 { "windowSize", "h245.windowSize", FT_UINT32, BASE_DEC,
21536                 NULL, 0, "windowSize value", HFILL }},
21537         { &hf_h245_n401,
21538                 { "n401", "h245.n401", FT_UINT32, BASE_DEC,
21539                 NULL, 0, "n401 value", HFILL }},
21540         { &hf_h245_sessionID_0_255,
21541                 { "sessionID_0_255", "h245.sessionID_0_255", FT_UINT32, BASE_DEC,
21542                 NULL, 0, "sessionID_0_255 value", HFILL }},
21543         { &hf_h245_sessionID_1_255,
21544                 { "sessionID_1_255", "h245.sessionID_1_255", FT_UINT32, BASE_DEC,
21545                 NULL, 0, "sessionID_1_255 value", HFILL }},
21546         { &hf_h245_associatedSessionID,
21547                 { "associatedSessionID", "h245.associatedSessionID", FT_UINT32, BASE_DEC,
21548                 NULL, 0, "associatedSessionID value", HFILL }},
21549         { &hf_h245_payloadType,
21550                 { "payloadType", "h245.payloadType", FT_UINT32, BASE_DEC,
21551                 NULL, 0, "payloadType value", HFILL }},
21552         { &hf_h245_protectedSessionID,
21553                 { "protectedSessionID", "h245.protectedSessionID", FT_UINT32, BASE_DEC,
21554                 NULL, 0, "protectedSessionID value", HFILL }},
21555         { &hf_h245_protectedPayloadType,
21556                 { "protectedPayloadType", "h245.protectedPayloadType", FT_UINT32, BASE_DEC,
21557                 NULL, 0, "protectedPayloadType value", HFILL }},
21558         { &hf_h245_tsapIdentifier,
21559                 { "tsapIdentifier", "h245.tsapIdentifier", FT_UINT32, BASE_DEC,
21560                 NULL, 0, "tsapIdentifier value", HFILL }},
21561         { &hf_h245_synchFlag,
21562                 { "synchFlag", "h245.synchFlag", FT_UINT32, BASE_DEC,
21563                 NULL, 0, "synchFlag value", HFILL }},
21564         { &hf_h245_finite_1_65535,
21565                 { "finite_1_65535", "h245.finite_1_65535", FT_UINT32, BASE_DEC,
21566                 NULL, 0, "finite_1_65535 value", HFILL }},
21567         { &hf_h245_MultiplexTableEntryNumber,
21568                 { "MultiplexTableEntryNumber", "h245.MultiplexTableEntryNumber", FT_UINT32, BASE_DEC,
21569                 NULL, 0, "MultiplexTableEntryNumber value", HFILL }},
21570         { &hf_h245_dataModeBitRate,
21571                 { "dataModeBitRate", "h245.dataModeBitRate", FT_UINT32, BASE_DEC,
21572                 NULL, 0, "dataModeBitRate value", HFILL }},
21573         { &hf_h245_sessionDependency,
21574                 { "sessionDependency", "h245.sessionDependency", FT_UINT32, BASE_DEC,
21575                 NULL, 0, "sessionDependency value", HFILL }},
21576         { &hf_h245_sRandom,
21577                 { "sRandom", "h245.sRandom", FT_UINT32, BASE_DEC,
21578                 NULL, 0, "sRandom value", HFILL }},
21579         { &hf_h245_McuNumber,
21580                 { "McuNumber", "h245.McuNumber", FT_UINT32, BASE_DEC,
21581                 NULL, 0, "McuNumber value", HFILL }},
21582         { &hf_h245_TerminalNumber,
21583                 { "TerminalNumber", "h245.TerminalNumber", FT_UINT32, BASE_DEC,
21584                 NULL, 0, "TerminalNumber value", HFILL }},
21585         { &hf_h245_maxNumberOfAdditionalConnections,
21586                 { "maxNumberOfAdditionalConnections", "h245.maxNumberOfAdditionalConnections", FT_UINT32, BASE_DEC,
21587                 NULL, 0, "maxNumberOfAdditionalConnections value", HFILL }},
21588         { &hf_h245_requestedInterval,
21589                 { "requestedInterval", "h245.requestedInterval", FT_UINT32, BASE_DEC,
21590                 NULL, 0, "requestedInterval value", HFILL }},
21591         { &hf_h245_callAssociationNumber,
21592                 { "callAssociationNumber", "h245.callAssociationNumber", FT_UINT32, BASE_DEC,
21593                 NULL, 0, "callAssociationNumber value", HFILL }},
21594         { &hf_h245_currentInterval,
21595                 { "currentInterval", "h245.currentInterval", FT_UINT32, BASE_DEC,
21596                 NULL, 0, "currentInterval value", HFILL }},
21597         { &hf_h245_infoNotAvailable,
21598                 { "infoNotAvailable", "h245.infoNotAvailable", FT_UINT32, BASE_DEC,
21599                 NULL, 0, "infoNotAvailable value", HFILL }},
21600         { &hf_h245_channelTag,
21601                 { "channelTag", "h245.channelTag", FT_UINT32, BASE_DEC,
21602                 NULL, 0, "channelTag value", HFILL }},
21603         { &hf_h245_ConnectionIDsequenceNumber,
21604                 { "ConnectionIDsequenceNumber", "h245.ConnectionIDsequenceNumber", FT_UINT32, BASE_DEC,
21605                 NULL, 0, "ConnectionIDsequenceNumber value", HFILL }},
21606         { &hf_h245_MaximumBitRate,
21607                 { "MaximumBitRate", "h245.MaximumBitRate", FT_UINT32, BASE_DEC,
21608                 NULL, 0, "MaximumBitRate value", HFILL }},
21609         { &hf_h245_maximumBitRate_0_16777215,
21610                 { "maximumBitRate_0_16777215", "h245.maximumBitRate_0_16777215", FT_UINT32, BASE_DEC,
21611                 NULL, 0, "maximumBitRate_0_16777215 value", HFILL }},
21612         { &hf_h245_firstGOB_0_17,
21613                 { "firstGOB_0_17", "h245.firstGOB_0_17", FT_UINT32, BASE_DEC,
21614                 NULL, 0, "firstGOB_0_17 value", HFILL }},
21615         { &hf_h245_numberOfGOBs,
21616                 { "numberOfGOBs", "h245.numberOfGOBs", FT_UINT32, BASE_DEC,
21617                 NULL, 0, "numberOfGOBs value", HFILL }},
21618         { &hf_h245_videoTemporalSpatialTradeOff,
21619                 { "videoTemporalSpatialTradeOff", "h245.videoTemporalSpatialTradeOff", FT_UINT32, BASE_DEC,
21620                 NULL, 0, "videoTemporalSpatialTradeOff value", HFILL }},
21621         { &hf_h245_firstGOB_0_255,
21622                 { "firstGOB_0_255", "h245.firstGOB_0_255", FT_UINT32, BASE_DEC,
21623                 NULL, 0, "firstGOB_0_255 value", HFILL }},
21624         { &hf_h245_firstMB_1_8192,
21625                 { "firstMB_1_8192", "h245.firstMB_1_8192", FT_UINT32, BASE_DEC,
21626                 NULL, 0, "firstMB_1_8192 value", HFILL }},
21627         { &hf_h245_firstMB_1_9216,
21628                 { "firstMB_1_9216", "h245.firstMB_1_9216", FT_UINT32, BASE_DEC,
21629                 NULL, 0, "firstMB_1_9216 value", HFILL }},
21630         { &hf_h245_numberOfMBs_1_8192,
21631                 { "numberOfMBs_1_8192", "h245.numberOfMBs_1_8192", FT_UINT32, BASE_DEC,
21632                 NULL, 0, "numberOfMBs_1_8192 value", HFILL }},
21633         { &hf_h245_numberOfMBs_1_9216,
21634                 { "numberOfMBs_1_9216", "h245.numberOfMBs_1_9216", FT_UINT32, BASE_DEC,
21635                 NULL, 0, "numberOfMBs_1_9216 value", HFILL }},
21636         { &hf_h245_maxH223MUXPDUsize,
21637                 { "maxH223MUXPDUsize", "h245.maxH223MUXPDUsize", FT_UINT32, BASE_DEC,
21638                 NULL, 0, "maxH223MUXPDUsize value", HFILL }},
21639         { &hf_h245_temporalReference_0_1023,
21640                 { "temporalReference_0_1023", "h245.temporalReference_0_1023", FT_UINT32, BASE_DEC,
21641                 NULL, 0, "temporalReference_0_1023 value", HFILL }},
21642         { &hf_h245_temporalReference_0_255,
21643                 { "temporalReference_0_255", "h245.temporalReference_0_255", FT_UINT32, BASE_DEC,
21644                 NULL, 0, "temporalReference_0_255 value", HFILL }},
21645         { &hf_h245_pictureNumber,
21646                 { "pictureNumber", "h245.pictureNumber", FT_UINT32, BASE_DEC,
21647                 NULL, 0, "pictureNumber value", HFILL }},
21648         { &hf_h245_longTermPictureIndex,
21649                 { "longTermPictureIndex", "h245.longTermPictureIndex", FT_UINT32, BASE_DEC,
21650                 NULL, 0, "longTermPictureIndex value", HFILL }},
21651         { &hf_h245_sampleSize,
21652                 { "sampleSize", "h245.sampleSize", FT_UINT32, BASE_DEC,
21653                 NULL, 0, "sampleSize value", HFILL }},
21654         { &hf_h245_samplesPerFrame,
21655                 { "samplesPerFrame", "h245.samplesPerFrame", FT_UINT32, BASE_DEC,
21656                 NULL, 0, "samplesPerFrame value", HFILL }},
21657         { &hf_h245_sbeNumber,
21658                 { "sbeNumber", "h245.sbeNumber", FT_UINT32, BASE_DEC,
21659                 NULL, 0, "sbeNumber value", HFILL }},
21660         { &hf_h245_subPictureNumber,
21661                 { "subPictureNumber", "h245.subPictureNumber", FT_UINT32, BASE_DEC,
21662                 NULL, 0, "subPictureNumber value", HFILL }},
21663         { &hf_h245_compositionNumber,
21664                 { "compositionNumber", "h245.compositionNumber", FT_UINT32, BASE_DEC,
21665                 NULL, 0, "compositionNumber value", HFILL }},
21666         { &hf_h245_estimatedReceivedJitterMantissa,
21667                 { "estimatedReceivedJitterMantissa", "h245.estimatedReceivedJitterMantissa", FT_UINT32, BASE_DEC,
21668                 NULL, 0, "estimatedReceivedJitterMantissa value", HFILL }},
21669         { &hf_h245_estimatedReceivedJitterExponent,
21670                 { "estimatedReceivedJitterExponent", "h245.estimatedReceivedJitterExponent", FT_UINT32, BASE_DEC,
21671                 NULL, 0, "estimatedReceivedJitterExponent value", HFILL }},
21672         { &hf_h245_skippedFrameCount,
21673                 { "skippedFrameCount", "h245.skippedFrameCount", FT_UINT32, BASE_DEC,
21674                 NULL, 0, "skippedFrameCount value", HFILL }},
21675         { &hf_h245_additionalDecoderBuffer,
21676                 { "additionalDecoderBuffer", "h245.additionalDecoderBuffer", FT_UINT32, BASE_DEC,
21677                 NULL, 0, "additionalDecoderBuffer value", HFILL }},
21678         { &hf_h245_skew,
21679                 { "skew", "h245.skew", FT_UINT32, BASE_DEC,
21680                 NULL, 0, "skew value", HFILL }},
21681         { &hf_h245_maximumSkew,
21682                 { "maximumSkew", "h245.maximumSkew", FT_UINT32, BASE_DEC,
21683                 NULL, 0, "maximumSkew value", HFILL }},
21684         { &hf_h245_duration,
21685                 { "duration", "h245.duration", FT_UINT32, BASE_DEC,
21686                 NULL, 0, "duration value", HFILL }},
21687         { &hf_h245_timestamp,
21688                 { "timestamp", "h245.timestamp", FT_UINT32, BASE_DEC,
21689                 NULL, 0, "timestamp value", HFILL }},
21690         { &hf_h245_frame,
21691                 { "frame", "h245.frame", FT_UINT32, BASE_DEC,
21692                 NULL, 0, "frame", HFILL }},
21693         { &hf_h245_containedThread,
21694                 { "containedThread", "h245.containedThread", FT_UINT32, BASE_DEC,
21695                 NULL, 0, "containedThread value", HFILL }},
21696         { &hf_h245_t38FaxMaxDatagram,
21697                 { "t38FaxMaxDatagram", "h245.t38FaxMaxDatagram", FT_INT32, BASE_DEC,
21698                 NULL, 0, "t38FaxMaxDatagram value", HFILL }},
21699         { &hf_h245_t38FaxMaxBuffer,
21700                 { "t38FaxMaxBuffer", "h245.t38FaxMaxBuffer", FT_INT32, BASE_DEC,
21701                 NULL, 0, "t38FaxMaxBuffer value", HFILL }},
21702         { &hf_h245_expirationTime,
21703                 { "expirationTime", "h245.expirationTime", FT_UINT32, BASE_DEC,
21704                 NULL, 0, "expirationTime value", HFILL }},
21705         { &hf_h245_rfc_number,
21706                 { "RFC", "h245.rfc_number", FT_UINT32, BASE_DEC,
21707                 NULL, 0, "Number of the RFC where this can be found", HFILL }},
21708         { &hf_h245_object,
21709                 { "Object", "h245.object", FT_STRING, BASE_NONE,
21710                 NULL, 0, "Object Identifier", HFILL }},
21711         { &hf_h245_protocolIdentifier,
21712                 { "protocolIdentifier", "h245.protocolIdentifier", FT_STRING, BASE_NONE,
21713                 NULL, 0, "protocolIdentifier object", HFILL }},
21714         { &hf_h245_algorithm,
21715                 { "algorithm", "h245.algorithm", FT_STRING, BASE_NONE,
21716                 NULL, 0, "algorithm object", HFILL }},
21717         { &hf_h245_antiSpamAlgorithm,
21718                 { "antiSpamAlgorithm", "h245.antiSpamAlgorithm", FT_STRING, BASE_NONE,
21719                 NULL, 0, "antiSpamAlgorithm object", HFILL }},
21720         { &hf_h245_standard_object,
21721                 { "standard_object", "h245.standard_object", FT_STRING, BASE_NONE,
21722                 NULL, 0, "standard_object object", HFILL }},
21723         { &hf_h245_oid,
21724                 { "oid", "h245.oid", FT_STRING, BASE_NONE,
21725                 NULL, 0, "oid object", HFILL }},
21726         { &hf_h245_escrowID,
21727                 { "escrowID", "h245.escrowID", FT_STRING, BASE_NONE,
21728                 NULL, 0, "escrowID object", HFILL }},
21729         { &hf_h245_field,
21730                 { "field", "h245.field", FT_STRING, BASE_NONE,
21731                 NULL, 0, "field object", HFILL }},
21732         { &hf_h245_NonStandardParameterData,
21733                 { "data", "h245.NonStandardParameterData", FT_BYTES, BASE_HEX,
21734                 NULL, 0, "NonStandardParameterData", HFILL }},
21735         { &hf_h245_nlpidData,
21736                 { "nlpidData", "h245.nlpidData", FT_BYTES, BASE_HEX,
21737                 NULL, 0, "nlpidData octet string", HFILL }},
21738         { &hf_h245_nonCollapsingRaw,
21739                 { "nonCollapsingRaw", "h245.nonCollapsingRaw", FT_BYTES, BASE_HEX,
21740                 NULL, 0, "nonCollapsingRaw octet string", HFILL }},
21741         { &hf_h245_uuid,
21742                 { "uuid", "h245.uuid", FT_BYTES, BASE_HEX,
21743                 NULL, 0, "uuid octet string", HFILL }},
21744         { &hf_h245_octetString,
21745                 { "octetString", "h245.octetString", FT_BYTES, BASE_HEX,
21746                 NULL, 0, "octetString octet string", HFILL }},
21747         { &hf_h245_externalReference,
21748                 { "externalReference", "h245.externalReference", FT_BYTES, BASE_HEX,
21749                 NULL, 0, "externalReference octet string", HFILL }},
21750         { &hf_h245_nsapAddress,
21751                 { "nsapAddress", "h245.nsapAddress", FT_BYTES, BASE_HEX,
21752                 NULL, 0, "nsapAddress octet string", HFILL }},
21753         { &hf_h245_subaddress_1_20,
21754                 { "subaddress_1_20", "h245.subaddress_1_20", FT_BYTES, BASE_HEX,
21755                 NULL, 0, "subaddress_1_20 octet string", HFILL }},
21756         { &hf_h245_programDescriptors,
21757                 { "programDescriptors", "h245.programDescriptors", FT_BYTES, BASE_HEX,
21758                 NULL, 0, "programDescriptors octet string", HFILL }},
21759         { &hf_h245_streamDescriptors,
21760                 { "streamDescriptors", "h245.streamDescriptors", FT_BYTES, BASE_HEX,
21761                 NULL, 0, "streamDescriptors octet string", HFILL }},
21762         { &hf_h245_ipv4network,
21763                 { "ipv4network", "h245.ipv4network", FT_IPv4, BASE_NONE,
21764                 NULL, 0, "IPv4 Address", HFILL }},
21765         { &hf_h245_ipxNode,
21766                 { "ipxNode", "h245.ipxNode", FT_BYTES, BASE_HEX,
21767                 NULL, 0, "ipxNode octet string", HFILL }},
21768         { &hf_h245_ipxNetnum,
21769                 { "ipxNetnum", "h245.ipxNetnum", FT_BYTES, BASE_HEX,
21770                 NULL, 0, "ipxNetnum octet string", HFILL }},
21771         { &hf_h245_ipv6network,
21772                 { "ipv6network", "h245.ipv6network", FT_BYTES, BASE_HEX,
21773                 NULL, 0, "ipv6network octet string", HFILL }},
21774         { &hf_h245_netBios,
21775                 { "netBios", "h245.netBios", FT_BYTES, BASE_HEX,
21776                 NULL, 0, "netBios octet string", HFILL }},
21777         { &hf_h245_nsap,
21778                 { "nsap", "h245.nsap", FT_BYTES, BASE_HEX,
21779                 NULL, 0, "nsap octet string", HFILL }},
21780         { &hf_h245_h235Key,
21781                 { "h235Key", "h245.h235Key", FT_BYTES, BASE_HEX,
21782                 NULL, 0, "h235Key octet string", HFILL }},
21783         { &hf_h245_value,
21784                 { "value", "h245.value", FT_BYTES, BASE_HEX,
21785                 NULL, 0, "value octet string", HFILL }},
21786         { &hf_h245_certificateResponse,
21787                 { "certificateResponse", "h245.certificateResponse", FT_BYTES, BASE_HEX,
21788                 NULL, 0, "certificateResponse octet string", HFILL }},
21789         { &hf_h245_TerminalID,
21790                 { "TerminalID", "h245.TerminalID", FT_BYTES, BASE_HEX,
21791                 NULL, 0, "TerminalID octet string", HFILL }},
21792         { &hf_h245_ConferenceID,
21793                 { "ConferenceID", "h245.ConferenceID", FT_BYTES, BASE_HEX,
21794                 NULL, 0, "ConferenceID octet string", HFILL }},
21795         { &hf_h245_Password,
21796                 { "Password", "h245.Password", FT_BYTES, BASE_HEX,
21797                 NULL, 0, "Password octet string", HFILL }},
21798         { &hf_h245_encryptionSE,
21799                 { "encryptionSE", "h245.encryptionSE", FT_BYTES, BASE_HEX,
21800                 NULL, 0, "encryptionSE octet string", HFILL }},
21801         { &hf_h245_conferenceIdentifier,
21802                 { "conferenceIdentifier", "h245.conferenceIdentifier", FT_BYTES, BASE_HEX,
21803                 NULL, 0, "conferenceIdentifier octet string", HFILL }},
21804         { &hf_h245_returnedFunction,
21805                 { "returnedFunction", "h245.returnedFunction", FT_BYTES, BASE_HEX,
21806                 NULL, 0, "returnedFunction octet string", HFILL }},
21807         { &hf_h245_productNumber,
21808                 { "productNumber", "h245.productNumber", FT_BYTES, BASE_HEX,
21809                 NULL, 0, "productNumber octet string", HFILL }},
21810         { &hf_h245_versionNumber,
21811                 { "versionNumber", "h245.versionNumber", FT_BYTES, BASE_HEX,
21812                 NULL, 0, "versionNumber octet string", HFILL }},
21813         { &hf_h245_mediaDistributionCapability,
21814                 { "mediaDistributionCapability", "h245.mediaDistributionCapability_sequence_of", FT_NONE, BASE_NONE,
21815                 NULL, 0 , "mediaDistributionCapability sequence of", HFILL }},
21816         { &hf_h245_AlternativeCapabilitySet,
21817                 { "AlternativeCapabilitySet", "h245.AlternativeCapabilitySet", FT_NONE, BASE_NONE,
21818                 NULL, 0 , "AlternativeCapabilitySet sequence of", HFILL }},
21819         { &hf_h245_CapabilityTableEntryNumber_sequence_of,
21820                 { "CapabilityTableEntryNumber_sequence_of", "h245.CapabilityTableEntryNumber_sequence_of", FT_NONE, BASE_NONE,
21821                 NULL, 0 , "CapabilityTableEntryNumber_sequence_of sequence of", HFILL }},
21822         { &hf_h245_frameToThreadMapping_custom,
21823                 { "frameToThreadMapping_custom", "h245.frameToThreadMapping_custom", FT_NONE, BASE_NONE,
21824                 NULL, 0 , "frameToThreadMapping_custom sequence of", HFILL }},
21825         { &hf_h245_RedundancyEncodingCapability_sequence_of,
21826                 { "RedundancyEncodingCapability_sequence_of", "h245.RedundancyEncodingCapability_sequence_of", FT_NONE, BASE_NONE,
21827                 NULL, 0 , "RedundancyEncodingCapability_sequence_of sequence of", HFILL }},
21828         { &hf_h245_frameSequence,
21829                 { "frameSequence", "h245.frameSequence", FT_NONE, BASE_NONE,
21830                 NULL, 0 , "sequence of frames", HFILL }},
21831         { &hf_h245_escrowentry,
21832                 { "escrowentry", "h245.escrowentry", FT_NONE, BASE_NONE,
21833                 NULL, 0 , "escrowentry sequence of", HFILL }},
21834         { &hf_h245_elementList,
21835                 { "elementList", "h245.elementList", FT_NONE, BASE_NONE,
21836                 NULL, 0 , "elementList sequence of", HFILL }},
21837         { &hf_h245_subElementList,
21838                 { "subElementList", "h245.subElementList", FT_NONE, BASE_NONE,
21839                 NULL, 0 , "subElementList sequence of", HFILL }},
21840         { &hf_h245_requestedModes,
21841                 { "requestedModes", "h245.requestedModes", FT_NONE, BASE_NONE,
21842                 NULL, 0 , "requestedModes sequence of", HFILL }},
21843         { &hf_h245_CertSelectionCriteria,
21844                 { "CertSelectionCriteria", "h245.CertSelectionCriteria", FT_NONE, BASE_NONE,
21845                 NULL, 0 , "CertSelectionCriteria sequence of", HFILL }},
21846         { &hf_h245_capabilityTable,
21847                 { "capabilityTable", "h245.capabilityTable", FT_NONE, BASE_NONE,
21848                 NULL, 0, "capabilityTable set of", HFILL }},
21849         { &hf_h245_capabilityDescriptors,
21850                 { "capabilityDescriptors", "h245.capabilityDescriptors", FT_NONE, BASE_NONE,
21851                 NULL, 0, "capabilityDescriptors set of", HFILL }},
21852         { &hf_h245_simultaneousCapabilities,
21853                 { "simultaneousCapabilities", "h245.simultaneousCapabilities", FT_NONE, BASE_NONE,
21854                 NULL, 0, "simultaneousCapabilities set of", HFILL }},
21855         { &hf_h245_gatewayAddress,
21856                 { "gatewayAddress", "h245.gatewayAddress", FT_NONE, BASE_NONE,
21857                 NULL, 0, "gatewayAddress set of", HFILL }},
21858         { &hf_h245_snrEnhancement,
21859                 { "snrEnhancement", "h245.snrEnhancement", FT_NONE, BASE_NONE,
21860                 NULL, 0, "snrEnhancement set of", HFILL }},
21861         { &hf_h245_spatialEnhancement,
21862                 { "spatialEnhancement", "h245.spatialEnhancement", FT_NONE, BASE_NONE,
21863                 NULL, 0, "spatialEnhancement set of", HFILL }},
21864         { &hf_h245_bPictureEnhancement,
21865                 { "bPictureEnhancement", "h245.bPictureEnhancement", FT_NONE, BASE_NONE,
21866                 NULL, 0, "bPictureEnhancement set of", HFILL }},
21867         { &hf_h245_customPictureClockFrequency,
21868                 { "customPictureClockFrequency", "h245.customPictureClockFrequency", FT_NONE, BASE_NONE,
21869                 NULL, 0, "customPictureClockFrequency set of", HFILL }},
21870         { &hf_h245_customPictureFormat,
21871                 { "customPictureFormat", "h245.customPictureFormat", FT_NONE, BASE_NONE,
21872                 NULL, 0, "customPictureFormat set of", HFILL }},
21873         { &hf_h245_modeCombos,
21874                 { "modeCombos", "h245.modeCombos", FT_NONE, BASE_NONE,
21875                 NULL, 0, "modeCombos set of", HFILL }},
21876         { &hf_h245_customPCF,
21877                 { "customPCF", "h245.customPCF", FT_NONE, BASE_NONE,
21878                 NULL, 0, "customPCF set of", HFILL }},
21879         { &hf_h245_pixelAspectCode,
21880                 { "pixelAspectCode", "h245.pixelAspectCode", FT_NONE, BASE_NONE,
21881                 NULL, 0, "pixelAspectCode set of", HFILL }},
21882         { &hf_h245_extendedPAR,
21883                 { "extendedPAR", "h245.extendedPAR", FT_NONE, BASE_NONE,
21884                 NULL, 0, "extendedPAR set of", HFILL }},
21885         { &hf_h245_h263VideoCoupledModes,
21886                 { "h263VideoCoupledModes", "h245.h263VideoCoupledModes", FT_NONE, BASE_NONE,
21887                 NULL, 0, "h263VideoCoupledModes set of", HFILL }},
21888         { &hf_h245_capabilityOnMuxStream,
21889                 { "capabilityOnMuxStream", "h245.capabilityOnMuxStream", FT_NONE, BASE_NONE,
21890                 NULL, 0, "capabilityOnMuxStream set of", HFILL }},
21891         { &hf_h245_capabilities,
21892                 { "capabilities", "h245.capabilities", FT_NONE, BASE_NONE,
21893                 NULL, 0, "capabilities set of", HFILL }},
21894         { &hf_h245_multiplexEntryDescriptors,
21895                 { "multiplexEntryDescriptors", "h245.multiplexEntryDescriptors", FT_NONE, BASE_NONE,
21896                 NULL, 0, "multiplexEntryDescriptors set of", HFILL }},
21897         { &hf_h245_multiplexTableEntryNumber_set_of,
21898                 { "multiplexTableEntryNumber_set_of", "h245.multiplexTableEntryNumber_set_of", FT_NONE, BASE_NONE,
21899                 NULL, 0, "multiplexTableEntryNumber_set_of set of", HFILL }},
21900         { &hf_h245_VCCapability_set_of,
21901                 { "VCCapability_set_of", "h245.VCCapability_set_of", FT_NONE, BASE_NONE,
21902                 NULL, 0, "VCCapability_set_of set of", HFILL }},
21903         { &hf_h245_rejectionDescriptions,
21904                 { "rejectionDescriptions", "h245.rejectionDescriptions", FT_NONE, BASE_NONE,
21905                 NULL, 0, "rejectionDescriptions set of", HFILL }},
21906         { &hf_h245_entryNumbers,
21907                 { "entryNumbers", "h245.entryNumbers", FT_NONE, BASE_NONE,
21908                 NULL, 0, "entryNumbers set of", HFILL }},
21909         { &hf_h245_ModeDescription,
21910                 { "ModeDescription", "h245.ModeDescription", FT_NONE, BASE_NONE,
21911                 NULL, 0, "ModeDescription set of", HFILL }},
21912         { &hf_h245_communicationModeTable,
21913                 { "communicationModeTable", "h245.communicationModeTable", FT_NONE, BASE_NONE,
21914                 NULL, 0, "communicationModeTable set of", HFILL }},
21915         { &hf_h245_terminalListResponse,
21916                 { "terminalListResponse", "h245.terminalListResponse", FT_NONE, BASE_NONE,
21917                 NULL, 0, "terminalListResponse set of", HFILL }},
21918         { &hf_h245_differential,
21919                 { "differential", "h245.differential", FT_NONE, BASE_NONE,
21920                 NULL, 0, "differential set of", HFILL }},
21921         { &hf_h245_networkType,
21922                 { "networkType", "h245.networkType", FT_NONE, BASE_NONE,
21923                 NULL, 0, "networkType set of", HFILL }},
21924         { &hf_h245_capabilityTableEntryNumbers,
21925                 { "capabilityTableEntryNumbers", "h245.capabilityTableEntryNumbers", FT_NONE, BASE_NONE,
21926                 NULL, 0, "capabilityTableEntryNumbers set of", HFILL }},
21927         { &hf_h245_capabilityDescriptorNumbers,
21928                 { "capabilityDescriptorNumbers", "h245.capabilityDescriptorNumbers", FT_NONE, BASE_NONE,
21929                 NULL, 0, "capabilityDescriptorNumbers set of", HFILL }},
21930         { &hf_h245_qOSCapabilities,
21931                 { "qOSCapabilities", "h245.qOSCapabilities", FT_NONE, BASE_NONE,
21932                 NULL, 0 , "qOSCapabilities sequence of", HFILL }},
21933         { &hf_h245_EncryptionCapability,
21934                 { "EncryptionCapability", "h245.EncryptionCapability", FT_NONE, BASE_NONE,
21935                 NULL, 0 , "EncryptionCapability sequence of", HFILL }},
21936         { &hf_h245_containedThreads,
21937                 { "containedThreads", "h245.containedThreads", FT_NONE, BASE_NONE,
21938                 NULL, 0 , "containedThreads sequence of", HFILL }},
21939         { &hf_h245_mediaChannelCapabilities,
21940                 { "mediaChannelCapabilities", "h245.mediaChannelCapabilities", FT_NONE, BASE_NONE,
21941                 NULL, 0 , "mediaChannelCapabilities sequence of", HFILL }},
21942         { &hf_h245_rtpPayloadType_sequence_of,
21943                 { "rtpPayloadType_sequence_of", "h245.rtpPayloadType_sequence_of", FT_NONE, BASE_NONE,
21944                 NULL, 0 , "rtpPayloadType sequence of", HFILL }},
21945         { &hf_h245_centralizedData,
21946                 { "centralizedData", "h245.centralizedData_sequence_of", FT_NONE, BASE_NONE,
21947                 NULL, 0 , "centralizedData sequence of", HFILL }},
21948         { &hf_h245_distributedData,
21949                 { "distributedData", "h245.distributedData_sequence_of", FT_NONE, BASE_NONE,
21950                 NULL, 0 , "distributedData sequence of", HFILL }},
21951         { &hf_h245_nonStandardData,
21952                 { "nonStandardData", "h245.nonStandardData_sequence_of", FT_NONE, BASE_NONE,
21953                 NULL, 0 , "nonStandardData sequence of", HFILL }},
21954         { &hf_h245_collapsing,
21955                 { "collapsing", "h245.collapsing_sequence_of", FT_NONE, BASE_NONE,
21956                 NULL, 0 , "collapsing sequence of", HFILL }},
21957         { &hf_h245_nonCollapsing,
21958                 { "nonCollapsing", "h245.nonCollapsing_sequence_of", FT_NONE, BASE_NONE,
21959                 NULL, 0 , "nonCollapsing sequence of", HFILL }},
21960         { &hf_h245_supersedes,
21961                 { "supersedes", "h245.supersedes_sequence_of", FT_NONE, BASE_NONE,
21962                 NULL, 0 , "supersedes sequence of", HFILL }},
21963         { &hf_h245_genericParameter,
21964                 { "genericParameter", "h245.genericParameter_sequence_of", FT_NONE, BASE_NONE,
21965                 NULL, 0 , "genericParameter sequence of", HFILL }},
21966         { &hf_h245_secondary_REE,
21967                 { "secondary_REE", "h245.secondary_REE_sequence_of", FT_NONE, BASE_NONE,
21968                 NULL, 0 , "secondary_REE sequence of", HFILL }},
21969         { &hf_h245_elements_MPSE,
21970                 { "elements_MPSE", "h245.elements_MPSE_sequence_of", FT_NONE, BASE_NONE,
21971                 NULL, 0 , "elements_MPSE sequence of", HFILL }},
21972         { &hf_h245_secondary_REDTME,
21973                 { "secondary_REDTME", "h245.secondary_REDTME_sequence_of", FT_NONE, BASE_NONE,
21974                 NULL, 0 , "secondary_REDTME sequence of", HFILL }},
21975         { &hf_h245_elements_MPSEM,
21976                 { "elements_MPSEM", "h245.elements_MPSEM_sequence_of", FT_NONE, BASE_NONE,
21977                 NULL, 0 , "elements_MPSEM sequence of", HFILL }},
21978         { &hf_h245_TerminalInformationSO,
21979                 { "TerminalInformationSO", "h245.TerminalInformationSO_sequence_of", FT_NONE, BASE_NONE,
21980                 NULL, 0 , "TerminalInformationSO sequence of", HFILL }},
21981         { &hf_h245_lostPicture,
21982                 { "lostPicture", "h245.lostPicture_sequence_of", FT_NONE, BASE_NONE,
21983                 NULL, 0 , "lostPicture sequence of", HFILL }},
21984         { &hf_h245_recoveryReferencePicture,
21985                 { "recoveryReferencePicture", "h245.recoveryReferencePicture_sequence_of", FT_NONE, BASE_NONE,
21986                 NULL, 0 , "recoveryReferencePicture sequence of", HFILL }},
21987         { &hf_h245_iPSourceRouteAddress_route,
21988                 { "iPSourceRouteAddress_route", "h245.iPSourceRouteAddress_route", FT_NONE, BASE_NONE,
21989                 NULL, 0, "iPSourceRouteAddress_route sequence of", HFILL }},
21990         { &hf_h245_audioTelephoneEvent,
21991                 { "audioTelephoneEvent", "h245.audioTelephoneEvent", FT_STRING, FT_NONE,
21992                 NULL, 0, "audioTelephoneEvent string", HFILL }},
21993         { &hf_h245_alphanumeric,
21994                 { "alphanumeric", "h245.alphanumeric", FT_STRING, FT_NONE,
21995                 NULL, 0, "alphanumeric string", HFILL }},
21996         { &hf_h245_domainBased,
21997                 { "domainBased", "h245.domainBased", FT_STRING, FT_NONE,
21998                 NULL, 0, "String for domainBased", HFILL }},
21999         { &hf_h245_subAddress,
22000                 { "subAddress", "h245.subAddress", FT_STRING, FT_NONE,
22001                 NULL, 0, "String for subAddress", HFILL }},
22002         { &hf_h245_e164Address,
22003                 { "e164Address", "h245.e164Address", FT_STRING, FT_NONE,
22004                 NULL, 0, "String for e164Address", HFILL }},
22005         { &hf_h245_signalType,
22006                 { "signalType", "h245.signalType", FT_STRING, FT_NONE,
22007                 NULL, 0, "String for signalType", HFILL }},
22008         { &hf_h245_DialingInformationNumber_networkAddress,
22009                 { "networkAddress", "h245.DialingInformationNumber_networkAddress", FT_STRING, FT_NONE,
22010                 NULL, 0, "String for DialingInformationNumber_networkAddress", HFILL }},
22011         { &hf_h245_internationalNumber,
22012                 { "internationalNumber", "h245.internationalNumber", FT_STRING, FT_NONE,
22013                 NULL, 0, "String for internationalNumber", HFILL }},
22014         };
22015
22016         static gint *ett[] =
22017         {
22018                 &ett_h245,
22019                 &ett_h245_MultimediaSystemControlMessage,
22020                 &ett_h245_RequestMessage,
22021                 &ett_h245_ResponseMessage,
22022                 &ett_h245_IndicationMessage,
22023                 &ett_h245_CommandMessage,
22024                 &ett_h245_OpenLogicalChannelConfirm,
22025                 &ett_h245_EndSessionCommand,
22026                 &ett_h245_MobileMultilinkReconfigurationIndication,
22027                 &ett_h245_FlowControlIndication,
22028                 &ett_h245_UserInputIndication_extendedAlphanumeric,
22029                 &ett_h245_UserInputIndication_signalUpdate_rtp,
22030                 &ett_h245_UserInputIndication_signalUpdate,
22031                 &ett_h245_UserInputIndication_signal_rtp,
22032                 &ett_h245_UserInputIndication_signal,
22033                 &ett_h245_NewATMVCIndication_reverseParameters,
22034                 &ett_h245_NewATMVCIndication_aal_aal5,
22035                 &ett_h245_NewATMVCIndication_aal_aal1,
22036                 &ett_h245_NewATMVCIndication_aal,
22037                 &ett_h245_NewATMVCIndication,
22038                 &ett_h245_VendorIdentification,
22039                 &ett_h245_MCLocationIndication,
22040                 &ett_h245_H2250MaximumSkewIndication,
22041                 &ett_h245_H223SkewIndication,
22042                 &ett_h245_JitterIndication,
22043                 &ett_h245_MiscellaneousIndication_type_videoNotDecodedMBs,
22044                 &ett_h245_MiscellaneousIndication,
22045                 &ett_h245_VideoIndicateCompose,
22046                 &ett_h245_TerminalYouAreSeeingInSubPictureNumber,
22047                 &ett_h245_FunctionNotSupported,
22048                 &ett_h245_MobileMultilinkReconfigurationCommand,
22049                 &ett_h245_NewATMVCCommand_reverseParameters,
22050                 &ett_h245_NewATMVCCommand,
22051                 &ett_h245_NewATMVCCommand_aal_aal5,
22052                 &ett_h245_NewATMVCCommand_aal_aal1,
22053                 &ett_h245_EncryptionUpdateRequest,
22054                 &ett_h245_KeyProtectionMethod,
22055                 &ett_h245_MiscellaneousCommand_type_lostPartialPicture,
22056                 &ett_h245_MiscellaneousCommand_type_videoBadMBs,
22057                 &ett_h245_MiscellaneousCommand_type_progressiveRefinementStart,
22058                 &ett_h245_MiscellaneousCommand_type_videoFastUpdateMB,
22059                 &ett_h245_MiscellaneousCommand_type_videoFastUpdateGOB,
22060                 &ett_h245_MiscellaneousCommand,
22061                 &ett_h245_SubstituteConferenceIDCommand,
22062                 &ett_h245_FlowControlCommand,
22063                 &ett_h245_EncryptionCommand_encryptionAlgorithmID,
22064                 &ett_h245_SendTerminalCapabilitySet_specificRequest,
22065                 &ett_h245_LogicalChannelRateRelease,
22066                 &ett_h245_LogicalChannelRateReject,
22067                 &ett_h245_LogicalChannelRateAck,
22068                 &ett_h245_LogicalChannelRateRequest,
22069                 &ett_h245_ConnectionIdentifier,
22070                 &ett_h245_DialingInformationNumber,
22071                 &ett_h245_MultilinkIndication_excessiveError,
22072                 &ett_h245_MultilinkIndication_crcDesired,
22073                 &ett_h245_MultilinkResponse_maximumHeaderInterval,
22074                 &ett_h245_MultilinkResponse_removeConnection,
22075                 &ett_h245_MultilinkResponse_addConnection,
22076                 &ett_h245_MultilinkResponse_callInformation,
22077                 &ett_h245_MultilinkRequest_maximumHeaderInterval,
22078                 &ett_h245_MultilinkRequest_removeConnection,
22079                 &ett_h245_MultilinkRequest_addConnection,
22080                 &ett_h245_MultilinkRequest_callInformation,
22081                 &ett_h245_TerminalInformation,
22082                 &ett_h245_RequestAllTerminalIDsResponse,
22083                 &ett_h245_ConferenceResponse_terminalCertificateResponse,
22084                 &ett_h245_ConferenceResponse_chairTokenOwnerResponse,
22085                 &ett_h245_ConferenceResponse_extensionAddressResponse,
22086                 &ett_h245_ConferenceResponse_passwordResponse,
22087                 &ett_h245_ConferenceResponse_conferenceIDResponse,
22088                 &ett_h245_ConferenceResponse_terminalIDResponse,
22089                 &ett_h245_ConferenceResponse_mCterminalIDResponse,
22090                 &ett_h245_TerminalLabel,
22091                 &ett_h245_Criteria,
22092                 &ett_h245_ConferenceRequest_requestTerminalCertificate,
22093                 &ett_h245_CommunicationModeTableEntry,
22094                 &ett_h245_CommunicationModeRequest,
22095                 &ett_h245_CommunicationModeCommand,
22096                 &ett_h245_MaintenanceLoopOffCommand,
22097                 &ett_h245_MaintenanceLoopReject,
22098                 &ett_h245_MaintenanceLoopAck,
22099                 &ett_h245_MaintenanceLoopRequest,
22100                 &ett_h245_RoundTripDelayResponse,
22101                 &ett_h245_RoundTripDelayRequest,
22102                 &ett_h245_DataMode_application_t38fax,
22103                 &ett_h245_DataMode_application_nlpid,
22104                 &ett_h245_DataMode,
22105                 &ett_h245_VBDMode,
22106                 &ett_h245_G7231AnnexCMode_g723AnnexCAudioMode,
22107                 &ett_h245_G7231AnnexCMode,
22108                 &ett_h245_IS13818AudioMode,
22109                 &ett_h245_IS11172AudioMode,
22110                 &ett_h245_IS11172VideoMode,
22111                 &ett_h245_H263VideoMode,
22112                 &ett_h245_H262VideoMode,
22113                 &ett_h245_H261VideoMode,
22114                 &ett_h245_RedundancyEncodingMode,
22115                 &ett_h245_H2250ModeParameters,
22116                 &ett_h245_H223ModeParameters_adaptationLayerType_al3,
22117                 &ett_h245_H223ModeParameters,
22118                 &ett_h245_FECMode_rfc2733Mode_mode_separateStream_samePort,
22119                 &ett_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort,
22120                 &ett_h245_FECMode_rfc2733Mode,
22121                 &ett_h245_MultiplePayloadStreamElementMode,
22122                 &ett_h245_MultiplePayloadStreamMode,
22123                 &ett_h245_RedundancyEncodingDTModeElement,
22124                 &ett_h245_RedundancyEncodingDTMode,
22125                 &ett_h245_MultiplexedStreamModeParameters,
22126                 &ett_h245_H235Mode,
22127                 &ett_h245_ModeElement,
22128                 &ett_h245_RequestModeRelease,
22129                 &ett_h245_RequestModeReject,
22130                 &ett_h245_RequestModeAck,
22131                 &ett_h245_RequestMode,
22132                 &ett_h245_RequestMultiplexEntryRelease,
22133                 &ett_h245_RequestMultiplexEntryRejectionDescriptions,
22134                 &ett_h245_RequestMultiplexEntryReject,
22135                 &ett_h245_RequestMultiplexEntryAck,
22136                 &ett_h245_RequestMultiplexEntry,
22137                 &ett_h245_MultiplexEntrySendRelease,
22138                 &ett_h245_MultiplexEntryRejectionDescriptions,
22139                 &ett_h245_MultiplexEntrySendReject,
22140                 &ett_h245_MultiplexEntrySendAck,
22141                 &ett_h245_MultiplexElement,
22142                 &ett_h245_MultiplexEntryDescriptor,
22143                 &ett_h245_MultiplexEntrySend,
22144                 &ett_h245_RequestChannelCloseRelease,
22145                 &ett_h245_RequestChannelCloseReject,
22146                 &ett_h245_RequestChannelCloseAck,
22147                 &ett_h245_RequestChannelClose,
22148                 &ett_h245_CloseLogicalChannelAck,
22149                 &ett_h245_CloseLogicalChannel,
22150                 &ett_h245_H2250LogicalChannelAckParameters,
22151                 &ett_h245_OpenLogicalChannelReject,
22152                 &ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters,
22153                 &ett_h245_OpenLogicalChannelAck,
22154                 &ett_h245_EscrowData,
22155                 &ett_h245_EncryptionSync,
22156                 &ett_h245_MulticastAddress_iP6Address,
22157                 &ett_h245_MulticastAddress_iPAddress,
22158                 &ett_h245_UnicastAddress_iPSourceRouteAddress,
22159                 &ett_h245_UnicastAddress_iP6Address,
22160                 &ett_h245_UnicastAddress_iPXAddress,
22161                 &ett_h245_UnicastAddress_iPAddress,
22162                 &ett_h245_FECData_rfc2733_mode_separateStream_samePort,
22163                 &ett_h245_FECData_rfc2733_mode_separateStream_differentPort,
22164                 &ett_h245_FECData_rfc2733,
22165                 &ett_h245_MultiplePayloadStreamElement,
22166                 &ett_h245_MultiplePayloadStream,
22167                 &ett_h245_RedundancyEncodingElement,
22168                 &ett_h245_RedundancyEncoding_rtpRedundancyEncoding,
22169                 &ett_h245_RedundancyEncoding,
22170                 &ett_h245_RTPPayloadType,
22171                 &ett_h245_H2250LogicalChannelParameters,
22172                 &ett_h245_V76HDLCParameters,
22173                 &ett_h245_V76LogicalChannelParameters_mode_eRM,
22174                 &ett_h245_V76LogicalChannelParameters,
22175                 &ett_h245_H223AnnexCArqParameters,
22176                 &ett_h245_H223AL3MParameters,
22177                 &ett_h245_H223AL2MParameters,
22178                 &ett_h245_H223AL1MParameters,
22179                 &ett_h245_H223LogicalChannelParameters_adaptionLayerType_al3,
22180                 &ett_h245_H223LogicalChannelParameters,
22181                 &ett_h245_H222LogicalChannelParameters,
22182                 &ett_h245_MultiplexedStreamParameter,
22183                 &ett_h245_H235Media,
22184                 &ett_h245_V75Parameters,
22185                 &ett_h245_Q2931Address,
22186                 &ett_h245_NetworkAccessParameters,
22187                 &ett_h245_reverseLogicalChannelParameters,
22188                 &ett_h245_forwardLogicalChannelParameters,
22189                 &ett_h245_OpenLogicalChannel,
22190                 &ett_h245_FECCapability_rfc2733_separateStream,
22191                 &ett_h245_FECCapability_rfc2733,
22192                 &ett_h245_MultiplePayloadStreamCapability,
22193                 &ett_h245_NoPTAudioToneCapability,
22194                 &ett_h245_NoPTAudioTelephonyEventCapability,
22195                 &ett_h245_AudioToneCapability,
22196                 &ett_h245_AudioTelephonyEventCapability,
22197                 &ett_h245_MultiplexedStreamCapability,
22198                 &ett_h245_GenericParameter,
22199                 &ett_h245_GenericCapability,
22200                 &ett_h245_ConferenceCapability,
22201                 &ett_h245_IntegrityCapability,
22202                 &ett_h245_AuthenticationCapability,
22203                 &ett_h245_EncryptionAuthenticationAndIntegrity,
22204                 &ett_h245_T38FaxTcpOptions,
22205                 &ett_h245_T38FaxUdpOptions,
22206                 &ett_h245_T38FaxProfile,
22207                 &ett_h245_T84Profile_t84Restricted,
22208                 &ett_h245_V42bis,
22209                 &ett_h245_DataApplicationCapability_application_t38fax,
22210                 &ett_h245_DataApplicationCapability_application_nlpid,
22211                 &ett_h245_DataApplicationCapability_application_t84,
22212                 &ett_h245_DataApplicationCapability,
22213                 &ett_h245_VBDCapability,
22214                 &ett_h245_GSMAudioCapability,
22215                 &ett_h245_IS13818AudioCapability,
22216                 &ett_h245_IS11172AudioCapability,
22217                 &ett_h245_G7231AnnexCCapability_g723AnnexCAudioMode,
22218                 &ett_h245_G7231AnnexCCapability,
22219                 &ett_h245_G729Extensions,
22220                 &ett_h245_AudioCapability_g7231,
22221                 &ett_h245_IS11172VideoCapability,
22222                 &ett_h245_H263Version3Options,
22223                 &ett_h245_H263ModeComboFlags,
22224                 &ett_h245_H263VideoModeCombos,
22225                 &ett_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR,
22226                 &ett_h245_CustomPictureFormat_mPI_customPCF,
22227                 &ett_h245_CustomPictureFormat_mPI,
22228                 &ett_h245_CustomPictureFormat,
22229                 &ett_h245_CustomPictureClockFrequency,
22230                 &ett_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters,
22231                 &ett_h245_RefPictureSelection_enhancedReferencePicSelect,
22232                 &ett_h245_RefPictureSelection_additionalPictureMemory,
22233                 &ett_h245_RefPictureSelection,
22234                 &ett_h245_TransperencyParameters,
22235                 &ett_h245_H263Options,
22236                 &ett_h245_EnhancementOptions,
22237                 &ett_h245_BEnhancementParameters,
22238                 &ett_h245_EnhancementLayerInfo,
22239                 &ett_h245_H263VideoCapability,
22240                 &ett_h245_H262VideoCapability,
22241                 &ett_h245_H261VideoCapability,
22242                 &ett_h245_MediaDistributionCapability,
22243                 &ett_h245_MultipointCapability,
22244                 &ett_h245_RTPH263VideoRedundancyFrameMapping,
22245                 &ett_h245_RTPH263VideoRedundancyEncoding,
22246                 &ett_h245_RedundancyEncodingCapability,
22247                 &ett_h245_TransportCapability,
22248                 &ett_h245_MediaChannelCapability,
22249                 &ett_h245_MediaTransportType_AtmAAL5Compressed,
22250                 &ett_h245_QOSCapability,
22251                 &ett_h245_ATMParameters,
22252                 &ett_h245_RSVPParameters,
22253                 &ett_h245_MediaPacketizationCapability,
22254                 &ett_h245_H2250Capability_mcCapability,
22255                 &ett_h245_H2250Capability,
22256                 &ett_h245_V75Capability,
22257                 &ett_h245_V76Capability,
22258                 &ett_h245_H223AnnexCCapability,
22259                 &ett_h245_H223Capability_mobileMultilinkFrameCapability,
22260                 &ett_h245_H223Capability_mobileOperationTransmitCapability,
22261                 &ett_h245_H223Capability_h223MultiplexTableCapability_enhanced,
22262                 &ett_h245_H223Capability,
22263                 &ett_h245_VCCapability_aal1ViaGateway,
22264                 &ett_h245_VCCapability_availableBitRates_rangeOfBitRates,
22265                 &ett_h245_VCCapability_availableBitRates,
22266                 &ett_h245_VCCapability_aal5,
22267                 &ett_h245_VCCapability_aal1,
22268                 &ett_h245_VCCapability,
22269                 &ett_h245_H222Capability,
22270                 &ett_h245_H235SecurityCapability,
22271                 &ett_h245_Capability_h233EncryptionReceiveCapability,
22272                 &ett_h245_TerminalCapabilitySetRelease,
22273                 &ett_h245_TerminalCapabilitySetReject,
22274                 &ett_h245_TerminalCapabilitySetAck,
22275                 &ett_h245_CapabilityDescriptor,
22276                 &ett_h245_CapabilityTableEntry,
22277                 &ett_h245_TerminalCapabilitySet,
22278                 &ett_h245_MasterSlaveDeterminationRelease,
22279                 &ett_h245_MasterSlaveDeterminationReject,
22280                 &ett_h245_MasterSlaveDeterminationAck,
22281                 &ett_h245_MasterSlaveDetermination,
22282                 &ett_h245_h221NonStandard,
22283                 &ett_h245_NonStandardParameter,
22284                 &ett_h245_NonStandardMessage,
22285                 &ett_h245_FlowControlIndication_restriction,
22286                 &ett_h245_FlowControlIndication_scope,
22287                 &ett_h245_UserInputIndication_userInputSupportIndication,
22288                 &ett_h245_UserInputIndication,
22289                 &ett_h245_NewATMVCIndication_reverseParameters_multiplex,
22290                 &ett_h245_NewATMVCIndication_multiplex,
22291                 &ett_h245_NewATMVCIndication_aal_aal1_errorCorrection,
22292                 &ett_h245_NewATMVCIndication_aal_aal1_clockRecovery,
22293                 &ett_h245_JitterIndication_scope,
22294                 &ett_h245_MiscellaneousIndication_type,
22295                 &ett_h245_ConferenceIndication,
22296                 &ett_h245_FunctionNotSupported_cause,
22297                 &ett_h245_FunctionNotUnderstood,
22298                 &ett_h245_MobileMultilinkReconfigurationCommand_status,
22299                 &ett_h245_NewATMVCCommand_reverseParameters_multiplex,
22300                 &ett_h245_NewATMVCCommand_multiplex,
22301                 &ett_h245_NewATMVCCommand_aal_aal1_errorCorrection,
22302                 &ett_h245_NewATMVCCommand_aal_aal1_clockRecovery,
22303                 &ett_h245_NewATMVCCommand_aal,
22304                 &ett_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag,
22305                 &ett_h245_H223MultiplexReconfiguration_h223ModeChange,
22306                 &ett_h245_H223MultiplexReconfiguration,
22307                 &ett_h245_PictureReference,
22308                 &ett_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount,
22309                 &ett_h245_MiscellaneousCommand_type,
22310                 &ett_h245_ConferenceCommand,
22311                 &ett_h245_EndSessionCommand_gstnOptions,
22312                 &ett_h245_EndSessionCommand_isdnOptions,
22313                 &ett_h245_FlowControlCommand_restriction,
22314                 &ett_h245_FlowControlCommand_scope,
22315                 &ett_h245_EncryptionCommand,
22316                 &ett_h245_SendTerminalCapabilitySet,
22317                 &ett_h245_LogicalChannelRateRejectReason,
22318                 &ett_h245_DialingInformationNetworkType,
22319                 &ett_h245_DialingInformation,
22320                 &ett_h245_MultilinkIndication,
22321                 &ett_h245_MultilinkResponse_addConnection_responseCode_rejected,
22322                 &ett_h245_MultilinkResponse_addConnection_responseCode,
22323                 &ett_h245_MultilinkResponse,
22324                 &ett_h245_MultilinkRequest_maximumHeaderInterval_requestType,
22325                 &ett_h245_MultilinkRequest,
22326                 &ett_h245_RemoteMCResponse_reject,
22327                 &ett_h245_RemoteMCResponse,
22328                 &ett_h245_RemoteMCRequest,
22329                 &ett_h245_ConferenceResponse_sendThisSourceResponse,
22330                 &ett_h245_ConferenceResponse_makeTerminalBroadcasterResponse,
22331                 &ett_h245_ConferenceResponse_broadcastMyLogicalChannelResponse,
22332                 &ett_h245_ConferenceResponse_makeMeChairResponse,
22333                 &ett_h245_ConferenceResponse,
22334                 &ett_h245_ConferenceRequest,
22335                 &ett_h245_CommunicationModeTableEntry_dataType,
22336                 &ett_h245_CommunicationModeResponse,
22337                 &ett_h245_MaintenanceLoopReject_cause,
22338                 &ett_h245_MaintenanceLoopReject_type,
22339                 &ett_h245_MaintenanceLoopAck_type,
22340                 &ett_h245_MaintenanceLoopRequest_type,
22341                 &ett_h245_EncryptionMode,
22342                 &ett_h245_DataMode_application,
22343                 &ett_h245_IS13818AudioMode_multiChannelType,
22344                 &ett_h245_IS13818AudioMode_audioSampling,
22345                 &ett_h245_IS13818AudioMode_audioLayer,
22346                 &ett_h245_IS11172AudioMode_multichannelType,
22347                 &ett_h245_IS11172AudioMode_audioSampling,
22348                 &ett_h245_IS11172AudioMode_audioLayer,
22349                 &ett_h245_AudioMode_g7231,
22350                 &ett_h245_AudioMode,
22351                 &ett_h245_H263VideoMode_resolution,
22352                 &ett_h245_H262VideoMode_profileAndLevel,
22353                 &ett_h245_H261VideoMode_resolution,
22354                 &ett_h245_VideoMode,
22355                 &ett_h245_RedundancyEncodingMode_secondaryEncoding,
22356                 &ett_h245_V76ModeParameters,
22357                 &ett_h245_H223ModeParameters_adaptationLayerType,
22358                 &ett_h245_FECMode_rfc2733Mode_mode_separateStream,
22359                 &ett_h245_FECMode_rfc2733Mode_mode,
22360                 &ett_h245_FECMode,
22361                 &ett_h245_RedundancyEncodingDTModeElement_type,
22362                 &ett_h245_H235Mode_mediaMode,
22363                 &ett_h245_ModeElementType,
22364                 &ett_h245_RequestModeReject_cause,
22365                 &ett_h245_RequestMultiplexEntryRejectionDescriptions_cause,
22366                 &ett_h245_MultiplexEntryRejectionDescriptions_cause,
22367                 &ett_h245_MultiplexElement_repeatCount,
22368                 &ett_h245_MultiplexElement_type,
22369                 &ett_h245_RequestChannelCloseReject_cause,
22370                 &ett_h245_RequestChannelClose_reason,
22371                 &ett_h245_CloseLogicalChannel_reason,
22372                 &ett_h245_CloseLogicalChannel_source,
22373                 &ett_h245_OpenLogicalChannelReject_cause,
22374                 &ett_h245_forwardMultiplexAckParameters,
22375                 &ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters,
22376                 &ett_h245_MulticastAddress,
22377                 &ett_h245_UnicastAddress_iPSourceRouteAddress_routing,
22378                 &ett_h245_UnicastAddress,
22379                 &ett_h245_TransportAddress,
22380                 &ett_h245_FECData_rfc2733_mode_separateStream,
22381                 &ett_h245_FECData_rfc2733_mode,
22382                 &ett_h245_FECData,
22383                 &ett_h245_RTPPayloadType_payloadDescriptor,
22384                 &ett_h245_H2250LogicalChannelParameters_mediaPacketization,
22385                 &ett_h245_CRCLength,
22386                 &ett_h245_V76LogicalChannelParameters_mode_eRM_recovery,
22387                 &ett_h245_V76LogicalChannelParameters_mode,
22388                 &ett_h245_V76LogicalChannelParameters_suspendResume,
22389                 &ett_h245_H223AnnexCArqParameters_numberOfRetransmissions,
22390                 &ett_h245_H223AL3MParameters_arqType,
22391                 &ett_h245_H223AL3MParameters_crcLength,
22392                 &ett_h245_H223AL3MParameters_headerFormat,
22393                 &ett_h245_H223AL2MParameters_headerFEC,
22394                 &ett_h245_H223AL1MParameters_arqType,
22395                 &ett_h245_H223AL1MParameters_crcLength,
22396                 &ett_h245_H223AL1MParameters_headerFEC,
22397                 &ett_h245_H223AL1MParameters_transferMode,
22398                 &ett_h245_H223LogicalChannelParameters_adaptationLayerType,
22399                 &ett_h245_H235Media_mediaType,
22400                 &ett_h245_DataType,
22401                 &ett_h245_Q2931Address_address,
22402                 &ett_h245_NetworkAccessParameters_t120SetupProcedure,
22403                 &ett_h245_NetworkAccessParameters_networkAddress,
22404                 &ett_h245_NetworkAccessParameters_distribution,
22405                 &ett_h245_reverseLogicalChannelParameters_multiplexParameters,
22406                 &ett_h245_forwardLogicalChannelParameters_multiplexParameters,
22407                 &ett_h245_FECCapability,
22408                 &ett_h245_MultiplexFormat,
22409                 &ett_h245_ParameterValue,
22410                 &ett_h245_ParameterIdentifier,
22411                 &ett_h245_CapabilityIdentifier,
22412                 &ett_h245_UserInputCapability,
22413                 &ett_h245_MediaEncryptionAlgorithm,
22414                 &ett_h245_T38FaxUdpOptions_t38FaxUdpEC,
22415                 &ett_h245_T38FaxRateManagement,
22416                 &ett_h245_T84Profile,
22417                 &ett_h245_CompressionType,
22418                 &ett_h245_DataProtocolCapability_v76wCompression,
22419                 &ett_h245_DataProtocolCapability,
22420                 &ett_h245_DataApplicationCapability_application,
22421                 &ett_h245_AudioCapability,
22422                 &ett_h245_CustomPictureFormat_pixelAspectInformation,
22423                 &ett_h245_RefPictureSelection_videoBackChannelSend,
22424                 &ett_h245_VideoCapability,
22425                 &ett_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping,
22426                 &ett_h245_RedundancyEncodingMethod,
22427                 &ett_h245_MediaTransportType,
22428                 &ett_h245_QOSMode,
22429                 &ett_h245_H223Capability_h223MultiplexTableCapability,
22430                 &ett_h245_VCCapability_availableBitRates_type,
22431                 &ett_h245_MultiplexCapability,
22432                 &ett_h245_Capability,
22433                 &ett_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded,
22434                 &ett_h245_TerminalCapabilitySetReject_cause,
22435                 &ett_h245_MasterSlaveDeterminationReject_cause,
22436                 &ett_h245_MasterSlaveDeterminationAck_decision,
22437                 &ett_h245_RequestModeAck_response_decision,
22438                 &ett_h245_NonStandardIdentifier,
22439                 &ett_h245_mediaDistributionCapability,
22440                 &ett_h245_AlternativeCapabilitySet,
22441                 &ett_h245_CapabilityTableEntryNumber_sequence_of,
22442                 &ett_h245_frameToThreadMapping_custom,
22443                 &ett_h245_RedundancyEncodingCapability_sequence_of,
22444                 &ett_h245_frameSequence,
22445                 &ett_h245_EncryptionCapability,
22446                 &ett_h245_escrowentry,
22447                 &ett_h245_elementList,
22448                 &ett_h245_requestedModes,
22449                 &ett_h245_CertSelectionCriteria,
22450                 &ett_h245_capabilityTable,
22451                 &ett_h245_capabilityDescriptors,
22452                 &ett_h245_simultaneousCapabilities,
22453                 &ett_h245_gatewayAddress,
22454                 &ett_h245_snrEnhancement,
22455                 &ett_h245_spatialEnhancement,
22456                 &ett_h245_bPictureEnhancement,
22457                 &ett_h245_customPictureClockFrequency,
22458                 &ett_h245_customPictureFormat,
22459                 &ett_h245_modeCombos,
22460                 &ett_h245_customPCF,
22461                 &ett_h245_pixelAspectCode,
22462                 &ett_h245_extendedPAR,
22463                 &ett_h245_h263VideoCoupledModes,
22464                 &ett_h245_capabilityOnMuxStream,
22465                 &ett_h245_capabilities,
22466                 &ett_h245_multiplexEntryDescriptors,
22467                 &ett_h245_multiplexTableEntryNumber_set_of,
22468                 &ett_h245_VCCapability_set_of,
22469                 &ett_h245_rejectionDescriptions,
22470                 &ett_h245_entryNumbers,
22471                 &ett_h245_ModeDescription,
22472                 &ett_h245_communicationModeTable,
22473                 &ett_h245_terminalListResponse,
22474                 &ett_h245_differential,
22475                 &ett_h245_networkType,
22476                 &ett_h245_capabilityTableEntryNumbers,
22477                 &ett_h245_capabilityDescriptorNumbers,
22478                 &ett_h245_qOSCapabilities,
22479                 &ett_h245_subElementList,
22480                 &ett_h245_containedThreads,
22481                 &ett_h245_mediaChannelCapabilities,
22482                 &ett_h245_rtpPayloadType_sequence_of,
22483                 &ett_h245_centralizedData,
22484                 &ett_h245_distributedData,
22485                 &ett_h245_nonStandardData,
22486                 &ett_h245_collapsing,
22487                 &ett_h245_nonCollapsing,
22488                 &ett_h245_supersedes,
22489                 &ett_h245_genericParameter,
22490                 &ett_h245_secondary_REE,
22491                 &ett_h245_elements_MPSE,
22492                 &ett_h245_secondary_REDTME,
22493                 &ett_h245_elements_MPSEM,
22494                 &ett_h245_TerminalInformationSO,
22495                 &ett_h245_lostPicture,
22496                 &ett_h245_recoveryReferencePicture,
22497                 &ett_h245_iPSourceRouteAddress_route,
22498         };
22499         module_t *h245_module;
22500
22501         proto_h245 = proto_register_protocol("H245", "H245", "h245");
22502         proto_register_field_array(proto_h245, hf, array_length(hf));
22503         proto_register_subtree_array(ett, array_length(ett));
22504         h245_module = prefs_register_protocol(proto_h245, NULL);
22505         prefs_register_bool_preference(h245_module, "reassembly",
22506                 "Reassemble H.245 over TCP",
22507                 "Whether the dissector should reassemble H.245 PDUs spanning multiple TCP segments",
22508                 &h245_reassembly);
22509         register_dissector("h245dg", dissect_h245_MultimediaSystemControlMessage, proto_h245);
22510         register_dissector("h245", dissect_h245, proto_h245);
22511
22512         nsp_object_dissector_table = register_dissector_table("h245.nsp.object", "H.245 NonStandardParameter (object)", FT_UINT32, BASE_HEX); 
22513         nsp_h221_dissector_table = register_dissector_table("h245.nsp.h221", "H.245 NonStandardParameter (h221)", FT_UINT32, BASE_HEX); 
22514 }
22515
22516 void
22517 proto_reg_handoff_h245(void)
22518 {
22519         rtp_handle = find_dissector("rtp");
22520         rtcp_handle = find_dissector("rtcp");
22521
22522         h245_handle=create_dissector_handle(dissect_h245, proto_h245);
22523         dissector_add_handle("tcp.port", h245_handle);
22524         MultimediaSystemControlMessage_handle=create_dissector_handle(dissect_h245_MultimediaSystemControlMessage, proto_h245);
22525         dissector_add_handle("udp.port", MultimediaSystemControlMessage_handle);
22526 }