Align the --with-pcap help message with other help messages.
[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.29 2003/08/16 00:51:04 guy 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 <epan/packet.h>
34 #include <epan/conversation.h>
35
36 #include <stdio.h>
37 #include <string.h>
38
39 #include "prefs.h"
40 #include "packet-tpkt.h"
41 #include "packet-per.h"
42
43 static dissector_handle_t rtp_handle=NULL;
44 static dissector_handle_t rtcp_handle=NULL;
45
46 static dissector_handle_t h245_handle;
47 static dissector_handle_t MultimediaSystemControlMessage_handle;
48
49 static int proto_h245 = -1;             /* h245 over tpkt */
50 static int hf_h245_rfc_number = -1;
51 static int hf_h245_pdu_type = -1;
52 static int hf_h245_DialingInformationNumber_networkAddress = -1;
53 static int hf_h245_signalType = -1;
54 static int hf_h245_e164Address = -1;
55 static int hf_h245_subAddress = -1;
56 static int hf_h245_domainBased = -1;
57 static int hf_h245_internationalNumber = -1;
58 static int hf_h245_IndicationMessage_type = -1;
59 static int hf_h245_RequestMessage_type = -1;
60 static int hf_h245_ResponseMessage_type = -1;
61 static int hf_h245_CommandMessage_type = -1;
62 static int hf_h245_PixelAspectCode = -1;
63 static int hf_h245_LogicalChannelNumber = -1;
64 static int hf_h245_SequenceNumber = -1;
65 static int hf_h245_EndSessionCommand_type = -1;
66 static int hf_h245_MobileMultilinkReconfigurationIndication = -1;
67 static int hf_h245_FlowControlIndication = -1;
68 static int hf_h245_UserInputIndication_extendedAlphanumeric = -1;
69 static int hf_h245_UserInputIndication_signalUpdate_rtp = -1;
70 static int hf_h245_UserInputIndication_signalUpdate = -1;
71 static int hf_h245_UserInputIndication_signal_rtp = -1;
72 static int hf_h245_UserInputIndication_signal = -1;
73 static int hf_h245_NewATMVCIndication_reverseParameters = -1;
74 static int hf_h245_NewATMVCIndication_aal_aal5 = -1;
75 static int hf_h245_NewATMVCIndication_aal_aal1 = -1;
76 static int hf_h245_NewATMVCIndication_aal = -1;
77 static int hf_h245_NewATMVCIndication = -1;
78 static int hf_h245_VendorIdentification = -1;
79 static int hf_h245_MCLocationIndication = -1;
80 static int hf_h245_H2250MaximumSkewIndication = -1;
81 static int hf_h245_H223SkewIndication = -1;
82 static int hf_h245_JitterIndication = -1;
83 static int hf_h245_MiscellaneousIndication_type_videoNotDecodedMBs = -1;
84 static int hf_h245_MiscellaneousIndication = -1;
85 static int hf_h245_VideoIndicateCompose = -1;
86 static int hf_h245_TerminalYouAreSeeingInSubPictureNumber = -1;
87 static int hf_h245_FunctionNotSupported = -1;
88 static int hf_h245_MobileMultilinkReconfigurationCommand = -1;
89 static int hf_h245_NewATMVCCommand_reverseParameters = -1;
90 static int hf_h245_NewATMVCCommand = -1;
91 static int hf_h245_NewATMVCCommand_aal_aal5 = -1;
92 static int hf_h245_NewATMVCCommand_aal_aal1 = -1;
93 static int hf_h245_EncryptionUpdateRequest = -1;
94 static int hf_h245_KeyProtectionMethod = -1;
95 static int hf_h245_MiscellaneousCommand_type_lostPartialPicture = -1;
96 static int hf_h245_MiscellaneousCommand_type_videoBadMBs = -1;
97 static int hf_h245_MiscellaneousCommand_type_progressiveRefinementStart = -1;
98 static int hf_h245_MiscellaneousCommand_type_videoFastUpdateMB = -1;
99 static int hf_h245_MiscellaneousCommand_type_videoFastUpdateGOB = -1;
100 static int hf_h245_MiscellaneousCommand = -1;
101 static int hf_h245_SubstituteConferenceIDCommand = -1;
102 static int hf_h245_FlowControlCommand = -1;
103 static int hf_h245_EncryptionCommand_encryptionAlgorithmID = -1;
104 static int hf_h245_SendTerminalCapabilitySet_specificRequest = -1;
105 static int hf_h245_LogicalChannelRateRelease = -1;
106 static int hf_h245_LogicalChannelRateReject = -1;
107 static int hf_h245_LogicalChannelRateAck = -1;
108 static int hf_h245_LogicalChannelRateRequest = -1;
109 static int hf_h245_ConnectionIdentifier = -1;
110 static int hf_h245_DialingInformationNumber = -1;
111 static int hf_h245_MultilinkIndication_excessiveError = -1;
112 static int hf_h245_MultilinkIndication_crcDesired = -1;
113 static int hf_h245_MultilinkResponse_maximumHeaderInterval = -1;
114 static int hf_h245_MultilinkResponse_removeConnection = -1;
115 static int hf_h245_MultilinkResponse_addConnection = -1;
116 static int hf_h245_MultilinkResponse_callInformation = -1;
117 static int hf_h245_MultilinkRequest_maximumHeaderInterval = -1;
118 static int hf_h245_MultilinkRequest_removeConnection = -1;
119 static int hf_h245_MultilinkRequest_addConnection = -1;
120 static int hf_h245_MultilinkRequest_callInformation = -1;
121 static int hf_h245_TerminalInformation = -1;
122 static int hf_h245_RequestAllTerminalIDsResponse = -1;
123 static int hf_h245_ConferenceResponse_terminalCertificateResponse = -1;
124 static int hf_h245_ConferenceResponse_chairTokenOwnerResponse = -1;
125 static int hf_h245_ConferenceResponse_extensionAddressResponse = -1;
126 static int hf_h245_ConferenceResponse_passwordResponse = -1;
127 static int hf_h245_ConferenceResponse_conferenceIDResponse = -1;
128 static int hf_h245_ConferenceResponse_terminalIDResponse = -1;
129 static int hf_h245_ConferenceResponse_mCterminalIDResponse = -1;
130 static int hf_h245_TerminalLabel = -1;
131 static int hf_h245_Criteria = -1;
132 static int hf_h245_ConferenceRequest_requestTerminalCertificate = -1;
133 static int hf_h245_CommunicationModeTableEntry = -1;
134 static int hf_h245_CommunicationModeRequest = -1;
135 static int hf_h245_CommunicationModeCommand = -1;
136 static int hf_h245_MaintenanceLoopOffCommand = -1;
137 static int hf_h245_MaintenanceLoopReject = -1;
138 static int hf_h245_MaintenanceLoopAck = -1;
139 static int hf_h245_MaintenanceLoopRequest = -1;
140 static int hf_h245_RoundTripDelayResponse = -1;
141 static int hf_h245_RoundTripDelayRequest = -1;
142 static int hf_h245_DataMode_application_t38fax = -1;
143 static int hf_h245_DataMode_application_nlpid = -1;
144 static int hf_h245_DataMode = -1;
145 static int hf_h245_VBDMode = -1;
146 static int hf_h245_G7231AnnexCMode_g723AnnexCAudioMode = -1;
147 static int hf_h245_G7231AnnexCMode = -1;
148 static int hf_h245_IS13818AudioMode = -1;
149 static int hf_h245_IS11172AudioMode = -1;
150 static int hf_h245_IS11172VideoMode = -1;
151 static int hf_h245_H263VideoMode = -1;
152 static int hf_h245_H262VideoMode = -1;
153 static int hf_h245_H261VideoMode = -1;
154 static int hf_h245_RedundancyEncodingMode = -1;
155 static int hf_h245_H2250ModeParameters = -1;
156 static int hf_h245_H223ModeParameters_adaptationLayerType_al3 = -1;
157 static int hf_h245_H223ModeParameters = -1;
158 static int hf_h245_FECMode_rfc2733Mode_mode_separateStream_samePort = -1;
159 static int hf_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort = -1;
160 static int hf_h245_FECMode_rfc2733Mode = -1;
161 static int hf_h245_MultiplePayloadStreamElementMode = -1;
162 static int hf_h245_MultiplePayloadStreamMode = -1;
163 static int hf_h245_RedundancyEncodingDTModeElement = -1;
164 static int hf_h245_RedundancyEncodingDTMode = -1;
165 static int hf_h245_MultiplexedStreamModeParameters = -1;
166 static int hf_h245_H235Mode = -1;
167 static int hf_h245_ModeElement = -1;
168 static int hf_h245_RequestModeRelease = -1;
169 static int hf_h245_RequestModeReject = -1;
170 static int hf_h245_RequestModeAck = -1;
171 static int hf_h245_RequestMode = -1;
172 static int hf_h245_RequestMultiplexEntryRelease = -1;
173 static int hf_h245_RequestMultiplexEntryRejectionDescriptions = -1;
174 static int hf_h245_RequestMultiplexEntryReject = -1;
175 static int hf_h245_RequestMultiplexEntryAck = -1;
176 static int hf_h245_RequestMultiplexEntry = -1;
177 static int hf_h245_MultiplexEntrySendRelease = -1;
178 static int hf_h245_MultiplexEntryRejectionDescriptions = -1;
179 static int hf_h245_MultiplexEntrySendReject = -1;
180 static int hf_h245_MultiplexEntrySendAck = -1;
181 static int hf_h245_MultiplexElement = -1;
182 static int hf_h245_MultiplexEntryDescriptor = -1;
183 static int hf_h245_MultiplexEntrySend = -1;
184 static int hf_h245_RequestChannelCloseRelease = -1;
185 static int hf_h245_RequestChannelCloseReject = -1;
186 static int hf_h245_RequestChannelCloseAck = -1;
187 static int hf_h245_RequestChannelClose = -1;
188 static int hf_h245_CloseLogicalChannelAck = -1;
189 static int hf_h245_CloseLogicalChannel = -1;
190 static int hf_h245_H2250LogicalChannelAckParameters = -1;
191 static int hf_h245_OpenLogicalChannelConfirm = -1;
192 static int hf_h245_OpenLogicalChannelReject = -1;
193 static int hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters = -1;
194 static int hf_h245_OpenLogicalChannelAck = -1;
195 static int hf_h245_EscrowData = -1;
196 static int hf_h245_EncryptionSync = -1;
197 static int hf_h245_MulticastAddress_iP6Address = -1;
198 static int hf_h245_MulticastAddress_iPAddress = -1;
199 static int hf_h245_UnicastAddress_iPSourceRouteAddress = -1;
200 static int hf_h245_UnicastAddress_iP6Address = -1;
201 static int hf_h245_UnicastAddress_iPXAddress = -1;
202 static int hf_h245_UnicastAddress_iPAddress = -1;
203 static int hf_h245_FECData_rfc2733_mode_separateStream_samePort = -1;
204 static int hf_h245_FECData_rfc2733_mode_separateStream_differentPort = -1;
205 static int hf_h245_FECData_rfc2733 = -1;
206 static int hf_h245_MultiplePayloadStreamElement = -1;
207 static int hf_h245_MultiplePayloadStream = -1;
208 static int hf_h245_RedundancyEncodingElement = -1;
209 static int hf_h245_RedundancyEncoding_rtpRedundancyEncoding = -1;
210 static int hf_h245_RedundancyEncoding = -1;
211 static int hf_h245_RTPPayloadType = -1;
212 static int hf_h245_H2250LogicalChannelParameters = -1;
213 static int hf_h245_V76HDLCParameters = -1;
214 static int hf_h245_V76LogicalChannelParameters_mode_eRM = -1;
215 static int hf_h245_V76LogicalChannelParameters = -1;
216 static int hf_h245_H223AnnexCArqParameters = -1;
217 static int hf_h245_H223AL3MParameters = -1;
218 static int hf_h245_H223AL2MParameters = -1;
219 static int hf_h245_H223AL1MParameters = -1;
220 static int hf_h245_H223LogicalChannelParameters_adaptionLayerType_al3 = -1;
221 static int hf_h245_H223LogicalChannelParameters = -1;
222 static int hf_h245_H222LogicalChannelParameters = -1;
223 static int hf_h245_MultiplexedStreamParameter = -1;
224 static int hf_h245_H235Media = -1;
225 static int hf_h245_V75Parameters = -1;
226 static int hf_h245_Q2931Address = -1;
227 static int hf_h245_NetworkAccessParameters = -1;
228 static int hf_h245_reverseLogicalChannelParameters = -1;
229 static int hf_h245_forwardLogicalChannelParameters = -1;
230 static int hf_h245_OpenLogicalChannel = -1;
231 static int hf_h245_FECCapability_rfc2733_separateStream = -1;
232 static int hf_h245_FECCapability_rfc2733 = -1;
233 static int hf_h245_MultiplePayloadStreamCapability = -1;
234 static int hf_h245_NoPTAudioToneCapability = -1;
235 static int hf_h245_NoPTAudioTelephonyEventCapability = -1;
236 static int hf_h245_AudioToneCapability = -1;
237 static int hf_h245_AudioTelephonyEventCapability = -1;
238 static int hf_h245_MultiplexedStreamCapability = -1;
239 static int hf_h245_GenericParameter = -1;
240 static int hf_h245_GenericCapability = -1;
241 static int hf_h245_ConferenceCapability = -1;
242 static int hf_h245_IntegrityCapability = -1;
243 static int hf_h245_AuthenticationCapability = -1;
244 static int hf_h245_EncryptionAuthenticationAndIntegrity = -1;
245 static int hf_h245_T38FaxTcpOptions = -1;
246 static int hf_h245_T38FaxUdpOptions = -1;
247 static int hf_h245_T38FaxProfile = -1;
248 static int hf_h245_T84Profile_t84Restricted = -1;
249 static int hf_h245_V42bis = -1;
250 static int hf_h245_DataApplicationCapability_application_t38fax = -1;
251 static int hf_h245_DataApplicationCapability_application_nlpid = -1;
252 static int hf_h245_DataApplicationCapability_application_t84 = -1;
253 static int hf_h245_DataApplicationCapability = -1;
254 static int hf_h245_VBDCapability = -1;
255 static int hf_h245_GSMAudioCapability = -1;
256 static int hf_h245_IS13818AudioCapability = -1;
257 static int hf_h245_IS11172AudioCapability = -1;
258 static int hf_h245_G7231AnnexCCapability_g723AnnexCAudioMode = -1;
259 static int hf_h245_G7231AnnexCCapability = -1;
260 static int hf_h245_G729Extensions = -1;
261 static int hf_h245_AudioCapability_g7231 = -1;
262 static int hf_h245_IS11172VideoCapability = -1;
263 static int hf_h245_H263Version3Options = -1;
264 static int hf_h245_H263ModeComboFlags = -1;
265 static int hf_h245_H263VideoModeCombos = -1;
266 static int hf_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR = -1;
267 static int hf_h245_CustomPictureFormat_mPI_customPCF = -1;
268 static int hf_h245_CustomPictureFormat_mPI = -1;
269 static int hf_h245_CustomPictureFormat = -1;
270 static int hf_h245_CustomPictureClockFrequency = -1;
271 static int hf_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters = -1;
272 static int hf_h245_RefPictureSelection_enhancedReferencePicSelect = -1;
273 static int hf_h245_RefPictureSelection_additionalPictureMemory = -1;
274 static int hf_h245_RefPictureSelection = -1;
275 static int hf_h245_TransperencyParameters = -1;
276 static int hf_h245_H263Options = -1;
277 static int hf_h245_EnhancementOptions = -1;
278 static int hf_h245_BEnhancementParameters = -1;
279 static int hf_h245_EnhancementLayerInfo = -1;
280 static int hf_h245_H263VideoCapability = -1;
281 static int hf_h245_H262VideoCapability = -1;
282 static int hf_h245_H261VideoCapability = -1;
283 static int hf_h245_MediaDistributionCapability = -1;
284 static int hf_h245_MultipointCapability = -1;
285 static int hf_h245_receiveMultipointCapability = -1;
286 static int hf_h245_transmitMultipointCapability = -1;
287 static int hf_h245_receiveAndTransmitMultipointCapability = -1;
288 static int hf_h245_RTPH263VideoRedundancyFrameMapping = -1;
289 static int hf_h245_RTPH263VideoRedundancyEncoding = -1;
290 static int hf_h245_RedundancyEncodingCapability = -1;
291 static int hf_h245_TransportCapability = -1;
292 static int hf_h245_MediaChannelCapability = -1;
293 static int hf_h245_MediaTransportType_AtmAAL5Compressed = -1;
294 static int hf_h245_QOSCapability = -1;
295 static int hf_h245_ATMParameters = -1;
296 static int hf_h245_RSVPParameters = -1;
297 static int hf_h245_MediaPacketizationCapability = -1;
298 static int hf_h245_H2250Capability_mcCapability = -1;
299 static int hf_h245_H2250Capability = -1;
300 static int hf_h245_V75Capability = -1;
301 static int hf_h245_V76Capability = -1;
302 static int hf_h245_H223AnnexCCapability = -1;
303 static int hf_h245_H223Capability_mobileMultilinkFrameCapability = -1;
304 static int hf_h245_H223Capability_mobileOperationTransmitCapability = -1;
305 static int hf_h245_H223Capability_h223MultiplexTableCapability_enhanced = -1;
306 static int hf_h245_H223Capability = -1;
307 static int hf_h245_VCCapability_aal1ViaGateway = -1;
308 static int hf_h245_VCCapability_availableBitRates_rangeOfBitRates = -1;
309 static int hf_h245_VCCapability_availableBitRates = -1;
310 static int hf_h245_VCCapability_aal5 = -1;
311 static int hf_h245_VCCapability_aal1 = -1;
312 static int hf_h245_VCCapability = -1;
313 static int hf_h245_H222Capability = -1;
314 static int hf_h245_H235SecurityCapability = -1;
315 static int hf_h245_Capability_h233EncryptionReceiveCapability = -1;
316 static int hf_h245_TerminalCapabilitySetRelease = -1;
317 static int hf_h245_TerminalCapabilitySetReject = -1;
318 static int hf_h245_TerminalCapabilitySetAck = -1;
319 static int hf_h245_CapabilityDescriptor = -1;
320 static int hf_h245_CapabilityTableEntry = -1;
321 static int hf_h245_TerminalCapabilitySet = -1;
322 static int hf_h245_MasterSlaveDeterminationRelease = -1;
323 static int hf_h245_MasterSlaveDeterminationReject = -1;
324 static int hf_h245_MasterSlaveDeterminationAck = -1;
325 static int hf_h245_MasterSlaveDetermination = -1;
326 static int hf_h245_h221NonStandard = -1;
327 static int hf_h245_NonStandardParameter = -1;
328 static int hf_h245_NonStandardMessage = -1;
329 static int hf_h245_FlowControlIndication_restriction = -1;
330 static int hf_h245_FlowControlIndication_scope = -1;
331 static int hf_h245_UserInputIndication_userInputSupportIndication = -1;
332 static int hf_h245_UserInputIndication = -1;
333 static int hf_h245_NewATMVCIndication_reverseParameters_multiplex = -1;
334 static int hf_h245_NewATMVCIndication_multiplex = -1;
335 static int hf_h245_NewATMVCIndication_aal_aal1_errorCorrection = -1;
336 static int hf_h245_NewATMVCIndication_aal_aal1_clockRecovery = -1;
337 static int hf_h245_JitterIndication_scope = -1;
338 static int hf_h245_MiscellaneousIndication_type = -1;
339 static int hf_h245_ConferenceIndication = -1;
340 static int hf_h245_FunctionNotSupported_cause = -1;
341 static int hf_h245_FunctionNotUnderstood = -1;
342 static int hf_h245_MobileMultilinkReconfigurationCommand_status = -1;
343 static int hf_h245_NewATMVCCommand_reverseParameters_multiplex = -1;
344 static int hf_h245_NewATMVCCommand_multiplex = -1;
345 static int hf_h245_NewATMVCCommand_aal_aal1_errorCorrection = -1;
346 static int hf_h245_NewATMVCCommand_aal_aal1_clockRecovery = -1;
347 static int hf_h245_NewATMVCCommand_aal = -1;
348 static int hf_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag = -1;
349 static int hf_h245_H223MultiplexReconfiguration_h223ModeChange = -1;
350 static int hf_h245_H223MultiplexReconfiguration = -1;
351 static int hf_h245_PictureReference = -1;
352 static int hf_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount = -1;
353 static int hf_h245_MiscellaneousCommand_type = -1;
354 static int hf_h245_ConferenceCommand = -1;
355 static int hf_h245_EndSessionCommand_gstnOptions = -1;
356 static int hf_h245_EndSessionCommand_isdnOptions = -1;
357 static int hf_h245_FlowControlCommand_restriction = -1;
358 static int hf_h245_FlowControlCommand_scope = -1;
359 static int hf_h245_EncryptionCommand = -1;
360 static int hf_h245_SendTerminalCapabilitySet = -1;
361 static int hf_h245_LogicalChannelRateRejectReason = -1;
362 static int hf_h245_DialingInformationNetworkType = -1;
363 static int hf_h245_DialingInformation = -1;
364 static int hf_h245_MultilinkIndication = -1;
365 static int hf_h245_MultilinkResponse_addConnection_responseCode_rejected = -1;
366 static int hf_h245_MultilinkResponse_addConnection_responseCode = -1;
367 static int hf_h245_MultilinkResponse = -1;
368 static int hf_h245_MultilinkRequest_maximumHeaderInterval_requestType = -1;
369 static int hf_h245_MultilinkRequest = -1;
370 static int hf_h245_RemoteMCResponse_reject = -1;
371 static int hf_h245_RemoteMCResponse = -1;
372 static int hf_h245_RemoteMCRequest = -1;
373 static int hf_h245_ConferenceResponse_sendThisSourceResponse = -1;
374 static int hf_h245_ConferenceResponse_makeTerminalBroadcasterResponse = -1;
375 static int hf_h245_ConferenceResponse_broadcastMyLogicalChannelResponse = -1;
376 static int hf_h245_ConferenceResponse_makeMeChairResponse = -1;
377 static int hf_h245_ConferenceResponse = -1;
378 static int hf_h245_ConferenceRequest = -1;
379 static int hf_h245_CommunicationModeTableEntry_dataType = -1;
380 static int hf_h245_CommunicationModeResponse = -1;
381 static int hf_h245_MaintenanceLoopReject_cause = -1;
382 static int hf_h245_MaintenanceLoopReject_type = -1;
383 static int hf_h245_MaintenanceLoopAck_type = -1;
384 static int hf_h245_MaintenanceLoopRequest_type = -1;
385 static int hf_h245_EncryptionMode = -1;
386 static int hf_h245_DataMode_application = -1;
387 static int hf_h245_IS13818AudioMode_multiChannelType = -1;
388 static int hf_h245_IS13818AudioMode_audioSampling = -1;
389 static int hf_h245_IS13818AudioMode_audioLayer = -1;
390 static int hf_h245_IS11172AudioMode_multichannelType = -1;
391 static int hf_h245_IS11172AudioMode_audioSampling = -1;
392 static int hf_h245_IS11172AudioMode_audioLayer = -1;
393 static int hf_h245_AudioMode_g7231 = -1;
394 static int hf_h245_AudioMode = -1;
395 static int hf_h245_H263VideoMode_resolution = -1;
396 static int hf_h245_H262VideoMode_profileAndLevel = -1;
397 static int hf_h245_H261VideoMode_resolution = -1;
398 static int hf_h245_VideoMode = -1;
399 static int hf_h245_RedundancyEncodingMode_secondaryEncoding = -1;
400 static int hf_h245_V76ModeParameters = -1;
401 static int hf_h245_H223ModeParameters_adaptationLayerType = -1;
402 static int hf_h245_FECMode_rfc2733Mode_mode_separateStream = -1;
403 static int hf_h245_FECMode_rfc2733Mode_mode = -1;
404 static int hf_h245_FECMode = -1;
405 static int hf_h245_RedundancyEncodingDTModeElement_type = -1;
406 static int hf_h245_H235Mode_mediaMode = -1;
407 static int hf_h245_ModeElementType = -1;
408 static int hf_h245_RequestModeReject_cause = -1;
409 static int hf_h245_RequestMultiplexEntryRejectionDescriptions_cause = -1;
410 static int hf_h245_MultiplexEntryRejectionDescriptions_cause = -1;
411 static int hf_h245_MultiplexElement_repeatCount = -1;
412 static int hf_h245_MultiplexElement_type = -1;
413 static int hf_h245_RequestChannelCloseReject_cause = -1;
414 static int hf_h245_RequestChannelClose_reason = -1;
415 static int hf_h245_CloseLogicalChannel_reason = -1;
416 static int hf_h245_CloseLogicalChannel_source = -1;
417 static int hf_h245_OpenLogicalChannelReject_cause = -1;
418 static int hf_h245_forwardMultiplexAckParameters = -1;
419 static int hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters = -1;
420 static int hf_h245_MulticastAddress = -1;
421 static int hf_h245_UnicastAddress_iPSourceRouteAddress_routing = -1;
422 static int hf_h245_UnicastAddress = -1;
423 static int hf_h245_mediaControlChannel = -1;
424 static int hf_h245_localAreaAddress = -1;
425 static int hf_h245_mediaChannel = -1;
426 static int hf_h245_signalAddress = -1;
427 static int hf_h245_FECData_rfc2733_mode_separateStream = -1;
428 static int hf_h245_FECData_rfc2733_mode = -1;
429 static int hf_h245_FECData = -1;
430 static int hf_h245_RTPPayloadType_payloadDescriptor = -1;
431 static int hf_h245_H2250LogicalChannelParameters_mediaPacketization = -1;
432 static int hf_h245_CRCLength = -1;
433 static int hf_h245_V76LogicalChannelParameters_mode_eRM_recovery = -1;
434 static int hf_h245_V76LogicalChannelParameters_mode = -1;
435 static int hf_h245_V76LogicalChannelParameters_suspendResume = -1;
436 static int hf_h245_H223AnnexCArqParameters_numberOfRetransmissions = -1;
437 static int hf_h245_H223AL3MParameters_arqType = -1;
438 static int hf_h245_H223AL3MParameters_crcLength = -1;
439 static int hf_h245_H223AL3MParameters_headerFormat = -1;
440 static int hf_h245_H223AL2MParameters_headerFEC = -1;
441 static int hf_h245_H223AL1MParameters_arqType = -1;
442 static int hf_h245_H223AL1MParameters_crcLength = -1;
443 static int hf_h245_H223AL1MParameters_headerFEC = -1;
444 static int hf_h245_H223AL1MParameters_transferMode = -1;
445 static int hf_h245_H223LogicalChannelParameters_adaptationLayerType = -1;
446 static int hf_h245_H235Media_mediaType = -1;
447 static int hf_h245_DataType = -1;
448 static int hf_h245_Q2931Address_address = -1;
449 static int hf_h245_NetworkAccessParameters_t120SetupProcedure = -1;
450 static int hf_h245_NetworkAccessParameters_networkAddress = -1;
451 static int hf_h245_NetworkAccessParameters_distribution = -1;
452 static int hf_h245_reverseLogicalChannelParameters_multiplexParameters = -1;
453 static int hf_h245_forwardLogicalChannelParameters_multiplexParameters = -1;
454 static int hf_h245_FECCapability = -1;
455 static int hf_h245_MultiplexFormat = -1;
456 static int hf_h245_ParameterValue = -1;
457 static int hf_h245_ParameterIdentifier = -1;
458 static int hf_h245_CapabilityIdentifier = -1;
459 static int hf_h245_UserInputCapability = -1;
460 static int hf_h245_MediaEncryptionAlgorithm = -1;
461 static int hf_h245_T38FaxUdpOptions_t38FaxUdpEC = -1;
462 static int hf_h245_T38FaxRateManagement = -1;
463 static int hf_h245_T84Profile = -1;
464 static int hf_h245_CompressionType = -1;
465 static int hf_h245_DataProtocolCapability_v76wCompression = -1;
466 static int hf_h245_DataProtocolCapability = -1;
467 static int hf_h245_DataApplicationCapability_application = -1;
468 static int hf_h245_AudioCapability = -1;
469 static int hf_h245_CustomPictureFormat_pixelAspectInformation = -1;
470 static int hf_h245_RefPictureSelection_videoBackChannelSend = -1;
471 static int hf_h245_VideoCapability = -1;
472 static int hf_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping = -1;
473 static int hf_h245_RedundancyEncodingMethod = -1;
474 static int hf_h245_MediaTransportType = -1;
475 static int hf_h245_QOSMode = -1;
476 static int hf_h245_H223Capability_h223MultiplexTableCapability = -1;
477 static int hf_h245_VCCapability_availableBitRates_type = -1;
478 static int hf_h245_MultiplexCapability = -1;
479 static int hf_h245_Capability = -1;
480 static int hf_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded = -1;
481 static int hf_h245_TerminalCapabilitySetReject_cause = -1;
482 static int hf_h245_MasterSlaveDeterminationReject_cause = -1;
483 static int hf_h245_MasterSlaveDeterminationAck_decision = -1;
484 static int hf_h245_RequestModeAck_response_decision = -1;
485 static int hf_h245_NonStandardIdentifier = -1;
486 static int hf_h245_h233EncryptionTransmitCapability = -1;
487 static int hf_h245_nullClockRecovery = -1;
488 static int hf_h245_srtsClockRecovery = -1;
489 static int hf_h245_adaptiveClockRecovery = -1;
490 static int hf_h245_nullErrorCorrection = -1;
491 static int hf_h245_longInterleaver = -1;
492 static int hf_h245_shortInterleaver = -1;
493 static int hf_h245_errorCorrectionOnly = -1;
494 static int hf_h245_structuredDataTransfer = -1;
495 static int hf_h245_partiallyFilledCells = -1;
496 static int hf_h245_transportStream = -1;
497 static int hf_h245_programStream = -1;
498 static int hf_h245_transportWithIframes = -1;
499 static int hf_h245_videoWithAL1 = -1;
500 static int hf_h245_videoWithAL2 = -1;
501 static int hf_h245_videoWithAL3 = -1;
502 static int hf_h245_audioWithAL1 = -1;
503 static int hf_h245_audioWithAL2 = -1;
504 static int hf_h245_audioWithAL3 = -1;
505 static int hf_h245_dataWithAL1 = -1;
506 static int hf_h245_dataWithAL2 = -1;
507 static int hf_h245_dataWithAL3 = -1;
508 static int hf_h245_maxMUXPDUSizeCapability = -1;
509 static int hf_h245_nsrpSupport = -1;
510 static int hf_h245_modeChangeCapability = -1;
511 static int hf_h245_h223AnnexA = -1;
512 static int hf_h245_h223AnnexADoubleFlag_bool = -1;
513 static int hf_h245_h223AnnexB = -1;
514 static int hf_h245_h223AnnexBwithHeader = -1;
515 static int hf_h245_videoWithAL1M = -1;
516 static int hf_h245_videoWithAL2M = -1;
517 static int hf_h245_videoWithAL3M = -1;
518 static int hf_h245_audioWithAL1M = -1;
519 static int hf_h245_audioWithAL2M = -1;
520 static int hf_h245_audioWithAL3M = -1;
521 static int hf_h245_dataWithAL1M = -1;
522 static int hf_h245_dataWithAL2M = -1;
523 static int hf_h245_dataWithAL3M = -1;
524 static int hf_h245_alpduInterleaving = -1;
525 static int hf_h245_rsCodeCapability = -1;
526 static int hf_h245_suspendResumeCapabilitywAddress = -1;
527 static int hf_h245_suspendResumeCapabilitywoAddress = -1;
528 static int hf_h245_rejCapability = -1;
529 static int hf_h245_sREJCapability = -1;
530 static int hf_h245_mREJCapability = -1;
531 static int hf_h245_crc8bitCapability = -1;
532 static int hf_h245_crc16bitCapability = -1;
533 static int hf_h245_crc32bitCapability = -1;
534 static int hf_h245_uihCapability = -1;
535 static int hf_h245_twoOctetAddressFieldCapability = -1;
536 static int hf_h245_loopBackTestCapability = -1;
537 static int hf_h245_audioHeader = -1;
538 static int hf_h245_centralizedConferenceMC = -1;
539 static int hf_h245_decentralizedConferenceMC = -1;
540 static int hf_h245_rtcpVideoControlCapability = -1;
541 static int hf_h245_logicalChannelSwitchingCapability = -1;
542 static int hf_h245_t120DynamicPortCapability = -1;
543 static int hf_h245_h261aVideoPacketization = -1;
544 static int hf_h245_atmUBR = -1;
545 static int hf_h245_atmrtVBR = -1;
546 static int hf_h245_atmnrtVBR = -1;
547 static int hf_h245_atmABR = -1;
548 static int hf_h245_atmCBR = -1;
549 static int hf_h245_variableDelta = -1;
550 static int hf_h245_multicastCapability = -1;
551 static int hf_h245_multiUniCastConference = -1;
552 static int hf_h245_centralizedControl = -1;
553 static int hf_h245_distributedControl = -1;
554 static int hf_h245_centralizedAudio = -1;
555 static int hf_h245_distributedAudio = -1;
556 static int hf_h245_centralizedVideo = -1;
557 static int hf_h245_distributedVideo = -1;
558 static int hf_h245_temporalSpatialTradeOffCapability = -1;
559 static int hf_h245_stillImageTransmission = -1;
560 static int hf_h245_videoBadMBsCap = -1;
561 static int hf_h245_profileAndLevelSPatML = -1;
562 static int hf_h245_profileAndLevelMPatLL = -1;
563 static int hf_h245_profileAndLevelMPatML = -1;
564 static int hf_h245_profileAndLevelMPatH14 = -1;
565 static int hf_h245_profileAndLevelMPatHL = -1;
566 static int hf_h245_profileAndLevelSNRatLL = -1;
567 static int hf_h245_profileAndLevelSNRatML = -1;
568 static int hf_h245_profileAndLevelSpatialatH14 = -1;
569 static int hf_h245_profileAndLevelHPatML = -1;
570 static int hf_h245_profileAndLevelHPatH14 = -1;
571 static int hf_h245_profileAndLevelHPatHL = -1;
572 static int hf_h245_unrestrictedVector = -1;
573 static int hf_h245_arithmeticCoding = -1;
574 static int hf_h245_advancedPrediction = -1;
575 static int hf_h245_pbFrames = -1;
576 static int hf_h245_errorCompensation = -1;
577 static int hf_h245_baseBitRateConstrained = -1;
578 static int hf_h245_advancedIntraCodingMode = -1;
579 static int hf_h245_deblockingFilterMode = -1;
580 static int hf_h245_improvedPBFramesMode = -1;
581 static int hf_h245_unlimitedMotionVectors = -1;
582 static int hf_h245_fullPictureFreeze = -1;
583 static int hf_h245_partialPictureFreezeAndRelease = -1;
584 static int hf_h245_resizingPartPicFreezeAndRelease = -1;
585 static int hf_h245_fullPictureSnapshot = -1;
586 static int hf_h245_partialPictureSnapshot = -1;
587 static int hf_h245_videoSegmentTagging = -1;
588 static int hf_h245_progressiveRefinement = -1;
589 static int hf_h245_dynamicPictureResizingByFour = -1;
590 static int hf_h245_dynamicPictureResizingSixteenthPel = -1;
591 static int hf_h245_dynamicWarpingHalfPel = -1;
592 static int hf_h245_dynamicWarpingSixteenthPel = -1;
593 static int hf_h245_independentSegmentDecoding = -1;
594 static int hf_h245_slicesInOrderNonRect = -1;
595 static int hf_h245_slicesInOrderRect = -1;
596 static int hf_h245_slicesNoOrderNonRect = -1;
597 static int hf_h245_slicesNoOrderRect = -1;
598 static int hf_h245_alternateInterVLCMode = -1;
599 static int hf_h245_modifiedQuantizationMode = -1;
600 static int hf_h245_reducedResolutionUpdate = -1;
601 static int hf_h245_separateVideoBackChannel = -1;
602 static int hf_h245_videoMux = -1;
603 static int hf_h245_anyPixelAspectRatio = -1;
604 static int hf_h245_referencePicSelect = -1;
605 static int hf_h245_enhancedReferencePicSelect_bool = -1;
606 static int hf_h245_dataPartitionedSlices = -1;
607 static int hf_h245_fixedPointIDCT0 = -1;
608 static int hf_h245_interlacedFields = -1;
609 static int hf_h245_currentPictureHeaderRepetition = -1;
610 static int hf_h245_previousPictureHeaderRepetition = -1;
611 static int hf_h245_nextPictureHeaderRepetition = -1;
612 static int hf_h245_pictureNumber_bool = -1;
613 static int hf_h245_spareReferencePictures = -1;
614 static int hf_h245_constrainedBitstream = -1;
615 static int hf_h245_silenceSuppression = -1;
616 static int hf_h245_annexA = -1;
617 static int hf_h245_annexB = -1;
618 static int hf_h245_annexD = -1;
619 static int hf_h245_annexE = -1;
620 static int hf_h245_annexF = -1;
621 static int hf_h245_annexG = -1;
622 static int hf_h245_annexH = -1;
623 static int hf_h245_audioLayer1 = -1;
624 static int hf_h245_audioLayer2 = -1;
625 static int hf_h245_audioLayer3 = -1;
626 static int hf_h245_audioSampling32k = -1;
627 static int hf_h245_audioSampling44k1 = -1;
628 static int hf_h245_audioSampling48k = -1;
629 static int hf_h245_singleChannel = -1;
630 static int hf_h245_twoChannels = -1;
631 static int hf_h245_audioSampling16k = -1;
632 static int hf_h245_audioSampling22k05 = -1;
633 static int hf_h245_audioSampling24k = -1;
634 static int hf_h245_threeChannels21 = -1;
635 static int hf_h245_threeChannels30 = -1;
636 static int hf_h245_fourChannels2020 = -1;
637 static int hf_h245_fourChannels22 = -1;
638 static int hf_h245_fourChannels31 = -1;
639 static int hf_h245_fiveChannels3020 = -1;
640 static int hf_h245_fiveChannels32 = -1;
641 static int hf_h245_lowFrequencyEnhancement = -1;
642 static int hf_h245_multilingual = -1;
643 static int hf_h245_comfortNoise = -1;
644 static int hf_h245_scrambled = -1;
645 static int hf_h245_qcif_bool = -1;
646 static int hf_h245_cif_bool = -1;
647 static int hf_h245_ccir601Seq = -1;
648 static int hf_h245_ccir601Prog = -1;
649 static int hf_h245_hdtvSeq = -1;
650 static int hf_h245_hdtvProg = -1;
651 static int hf_h245_g3FacsMH200x100 = -1;
652 static int hf_h245_g3FacsMH200x200 = -1;
653 static int hf_h245_g4FacsMMR200x100 = -1;
654 static int hf_h245_g4FacsMMR200x200 = -1;
655 static int hf_h245_jbig200x200Seq = -1;
656 static int hf_h245_jbig200x200Prog = -1;
657 static int hf_h245_jbig300x300Seq = -1;
658 static int hf_h245_jbig300x300Prog = -1;
659 static int hf_h245_digPhotoLow = -1;
660 static int hf_h245_digPhotoMedSeq = -1;
661 static int hf_h245_digPhotoMedProg = -1;
662 static int hf_h245_digPhotoHighSeq = -1;
663 static int hf_h245_digPhotoHighProg = -1;
664 static int hf_h245_fillBitRemoval = -1;
665 static int hf_h245_transcodingJBIG = -1;
666 static int hf_h245_transcodingMMR = -1;
667 static int hf_h245_t38TCPBidirectionalMode = -1;
668 static int hf_h245_chairControlCapability = -1;
669 static int hf_h245_videoIndicateMixingCapability = -1;
670 static int hf_h245_multipointVisualizationCapability = -1;
671 static int hf_h245_controlOnMuxStream = -1;
672 static int hf_h245_redundancyEncoding_bool = -1;
673 static int hf_h245_separatePort = -1;
674 static int hf_h245_samePort_bool = -1;
675 static int hf_h245_associateConference = -1;
676 static int hf_h245_audioHeaderPresent = -1;
677 static int hf_h245_segmentableFlag = -1;
678 static int hf_h245_alsduSplitting = -1;
679 static int hf_h245_uIH = -1;
680 static int hf_h245_loopbackTestProcedure = -1;
681 static int hf_h245_mediaGuaranteedDelivery = -1;
682 static int hf_h245_mediaControlGuaranteedDelivery = -1;
683 static int hf_h245_flowControlToZero = -1;
684 static int hf_h245_multiplexCapability_bool = -1;
685 static int hf_h245_secureChannel = -1;
686 static int hf_h245_sharedSecret = -1;
687 static int hf_h245_certProtectedKey = -1;
688 static int hf_h245_bitRateLockedToPCRClock = -1;
689 static int hf_h245_bitRateLockedToNetworkClock = -1;
690 static int hf_h245_IS11172_BitRate = -1;
691 static int hf_h245_IS13818_BitRate = -1;
692 static int hf_h245_ATM_BitRate = -1;
693 static int hf_h245_t35CountryCode = -1;
694 static int hf_h245_t35Extension = -1;
695 static int hf_h245_manufacturerCode = -1;
696 static int hf_h245_terminalType = -1;
697 static int hf_h245_statusDeterminationNumber = -1;
698 static int hf_h245_CapabilityTableEntryNumber = -1;
699 static int hf_h245_CapabilityDescriptorNumber = -1;
700 static int hf_h245_h233IVResponseTime = -1;
701 static int hf_h245_maxPendingReplacementFor = -1;
702 static int hf_h245_numberOfVCs = -1;
703 static int hf_h245_forwardMaximumSDUSize = -1;
704 static int hf_h245_backwardMaximumSDUSize = -1;
705 static int hf_h245_singleBitRate = -1;
706 static int hf_h245_lowerBitRate = -1;
707 static int hf_h245_higherBitRate = -1;
708 static int hf_h245_maximumAl2SDUSize = -1;
709 static int hf_h245_maximumAl3SDUSize = -1;
710 static int hf_h245_maximumDelayJitter = -1;
711 static int hf_h245_maximumNestingDepth = -1;
712 static int hf_h245_maximumElementListSize = -1;
713 static int hf_h245_maximumSubElementListSize = -1;
714 static int hf_h245_h223bitRate = -1;
715 static int hf_h245_maximumSampleSize = -1;
716 static int hf_h245_maximumPayloadLength = -1;
717 static int hf_h245_maximumAL1MPDUSize = -1;
718 static int hf_h245_maximumAL2MSDUSize = -1;
719 static int hf_h245_maximumAL3MSDUSize = -1;
720 static int hf_h245_numOfDLCS = -1;
721 static int hf_h245_n401Capability = -1;
722 static int hf_h245_maxWindowSizeCapability = -1;
723 static int hf_h245_maximumAudioDelayJitter = -1;
724 static int hf_h245_tokenRate = -1;
725 static int hf_h245_bucketSize = -1;
726 static int hf_h245_peakRate = -1;
727 static int hf_h245_minPoliced = -1;
728 static int hf_h245_maxPktSize = -1;
729 static int hf_h245_maxNTUSize = -1;
730 static int hf_h245_numberOfThreads = -1;
731 static int hf_h245_framesBetweenSyncPoints = -1;
732 static int hf_h245_threadNumber = -1;
733 static int hf_h245_qcifMPI_1_4 = -1;
734 static int hf_h245_qcifMPI_1_32 = -1;
735 static int hf_h245_qcifMPI_1_2048 = -1;
736 static int hf_h245_cifMPI_1_4 = -1;
737 static int hf_h245_cifMPI_1_32 = -1;
738 static int hf_h245_cifMPI_1_2048 = -1;
739 static int hf_h245_videoBitRate = -1;
740 static int hf_h245_vbvBufferSize = -1;
741 static int hf_h245_samplesPerLine = -1;
742 static int hf_h245_linesPerFrame = -1;
743 static int hf_h245_framesPerSecond = -1;
744 static int hf_h245_luminanceSampleRate = -1;
745 static int hf_h245_sqcifMPI_1_32 = -1;
746 static int hf_h245_sqcifMPI_1_2048 = -1;
747 static int hf_h245_cif4MPI_1_32 = -1;
748 static int hf_h245_cif4MPI_1_2048 = -1;
749 static int hf_h245_cif16MPI_1_32 = -1;
750 static int hf_h245_cif16MPI_1_2048 = -1;
751 static int hf_h245_maxBitRate_192400 = -1;
752 static int hf_h245_hrd_B = -1;
753 static int hf_h245_bppMaxKb = -1;
754 static int hf_h245_slowSqcifMPI = -1;
755 static int hf_h245_slowQcifMPI = -1;
756 static int hf_h245_slowCifMPI = -1;
757 static int hf_h245_slowCif4MPI = -1;
758 static int hf_h245_slowCif16MPI = -1;
759 static int hf_h245_numberOfBPictures = -1;
760 static int hf_h245_presentationOrder = -1;
761 static int hf_h245_offset_x = -1;
762 static int hf_h245_offset_y = -1;
763 static int hf_h245_scale_x = -1;
764 static int hf_h245_scale_y = -1;
765 static int hf_h245_sqcifAdditionalPictureMemory = -1;
766 static int hf_h245_qcifAdditionalPictureMemory = -1;
767 static int hf_h245_cifAdditionalPictureMemory = -1;
768 static int hf_h245_cif4AdditionalPictureMemory = -1;
769 static int hf_h245_cif16AdditionalPictureMemory = -1;
770 static int hf_h245_bigCpfAdditionalPictureMemory = -1;
771 static int hf_h245_mpuHorizMBs = -1;
772 static int hf_h245_mpuVertMBs = -1;
773 static int hf_h245_mpuTotalNumber = -1;
774 static int hf_h245_clockConversionCode = -1;
775 static int hf_h245_clockDivisor = -1;
776 static int hf_h245_maxCustomPictureWidth = -1;
777 static int hf_h245_minCustomPictureWidth = -1;
778 static int hf_h245_minCustomPictureHeight = -1;
779 static int hf_h245_maxCustomPictureHeight = -1;
780 static int hf_h245_standardMPI = -1;
781 static int hf_h245_customMPI = -1;
782 static int hf_h245_width = -1;
783 static int hf_h245_height = -1;
784 static int hf_h245_pictureRate = -1;
785 static int hf_h245_g711Alaw64k = -1;
786 static int hf_h245_g711Alaw56k = -1;
787 static int hf_h245_g711Ulaw64k = -1;
788 static int hf_h245_g711Ulaw56k = -1;
789 static int hf_h245_g722_64k = -1;
790 static int hf_h245_g722_56k = -1;
791 static int hf_h245_g722_48k = -1;
792 static int hf_h245_maxAl_sduAudioFrames = -1;
793 static int hf_h245_g728 = -1;
794 static int hf_h245_g729 = -1;
795 static int hf_h245_g729AnnexA = -1;
796 static int hf_h245_g729wAnnexB = -1;
797 static int hf_h245_g729AnnexAwAnnexB = -1;
798 static int hf_h245_audioUnit = -1;
799 static int hf_h245_highRateMode0 = -1;
800 static int hf_h245_highRateMode1 = -1;
801 static int hf_h245_lowRateMode0 = -1;
802 static int hf_h245_lowRateMode1 = -1;
803 static int hf_h245_sidMode0 = -1;
804 static int hf_h245_sidMode1 = -1;
805 static int hf_h245_audioUnitSize = -1;
806 static int hf_h245_maxBitRate_4294967295UL = -1;
807 static int hf_h245_numberOfCodewords = -1;
808 static int hf_h245_maximumStringLength = -1;
809 static int hf_h245_version = -1;
810 static int hf_h245_standard_0_127 = -1;
811 static int hf_h245_booleanArray = -1;
812 static int hf_h245_unsignedMin = -1;
813 static int hf_h245_unsignedMax = -1;
814 static int hf_h245_unsigned32Min = -1;
815 static int hf_h245_unsigned32Max = -1;
816 static int hf_h245_dynamicRTPPayloadType = -1;
817 static int hf_h245_portNumber = -1;
818 static int hf_h245_resourceID = -1;
819 static int hf_h245_subChannelID = -1;
820 static int hf_h245_pcr_pid = -1;
821 static int hf_h245_controlFieldOctets = -1;
822 static int hf_h245_sendBufferSize = -1;
823 static int hf_h245_rcpcCodeRate = -1;
824 static int hf_h245_rsCodeCorrection = -1;
825 static int hf_h245_finite_0_16 = -1;
826 static int hf_h245_windowSize = -1;
827 static int hf_h245_n401 = -1;
828 static int hf_h245_sessionID_0_255 = -1;
829 static int hf_h245_sessionID_1_255 = -1;
830 static int hf_h245_associatedSessionID = -1;
831 static int hf_h245_payloadType = -1;
832 static int hf_h245_protectedSessionID = -1;
833 static int hf_h245_protectedPayloadType = -1;
834 static int hf_h245_tsapIdentifier = -1;
835 static int hf_h245_synchFlag = -1;
836 static int hf_h245_finite_1_65535 = -1;
837 static int hf_h245_MultiplexTableEntryNumber = -1;
838 static int hf_h245_dataModeBitRate = -1;
839 static int hf_h245_sessionDependency = -1;
840 static int hf_h245_sRandom = -1;
841 static int hf_h245_McuNumber = -1;
842 static int hf_h245_TerminalNumber = -1;
843 static int hf_h245_maxNumberOfAdditionalConnections = -1;
844 static int hf_h245_requestedInterval = -1;
845 static int hf_h245_callAssociationNumber = -1;
846 static int hf_h245_currentInterval = -1;
847 static int hf_h245_infoNotAvailable = -1;
848 static int hf_h245_channelTag = -1;
849 static int hf_h245_ConnectionIDsequenceNumber = -1;
850 static int hf_h245_MaximumBitRate = -1;
851 static int hf_h245_maximumBitRate_0_16777215 = -1;
852 static int hf_h245_firstGOB_0_17 = -1;
853 static int hf_h245_numberOfGOBs = -1;
854 static int hf_h245_videoTemporalSpatialTradeOff = -1;
855 static int hf_h245_firstGOB_0_255 = -1;
856 static int hf_h245_firstMB_1_8192 = -1;
857 static int hf_h245_firstMB_1_9216 = -1;
858 static int hf_h245_numberOfMBs_1_8192 = -1;
859 static int hf_h245_numberOfMBs_1_9216 = -1;
860 static int hf_h245_maxH223MUXPDUsize = -1;
861 static int hf_h245_temporalReference_0_1023 = -1;
862 static int hf_h245_temporalReference_0_255 = -1;
863 static int hf_h245_pictureNumber = -1;
864 static int hf_h245_longTermPictureIndex = -1;
865 static int hf_h245_sampleSize = -1;
866 static int hf_h245_samplesPerFrame = -1;
867 static int hf_h245_sbeNumber = -1;
868 static int hf_h245_subPictureNumber = -1;
869 static int hf_h245_compositionNumber = -1;
870 static int hf_h245_estimatedReceivedJitterMantissa = -1;
871 static int hf_h245_estimatedReceivedJitterExponent = -1;
872 static int hf_h245_skippedFrameCount = -1;
873 static int hf_h245_additionalDecoderBuffer = -1;
874 static int hf_h245_skew = -1;
875 static int hf_h245_maximumSkew = -1;
876 static int hf_h245_duration = -1;
877 static int hf_h245_timestamp = -1;
878 static int hf_h245_frame = -1;
879 static int hf_h245_containedThread = -1;
880 static int hf_h245_t38FaxMaxBuffer = -1;
881 static int hf_h245_t38FaxMaxDatagram = -1;
882 static int hf_h245_expirationTime = -1;
883 static int hf_h245_object = -1;
884 static int hf_h245_protocolIdentifier = -1;
885 static int hf_h245_algorithm = -1;
886 static int hf_h245_antiSpamAlgorithm = -1;
887 static int hf_h245_standard_object = -1;
888 static int hf_h245_oid = -1;
889 static int hf_h245_escrowID = -1;
890 static int hf_h245_field = -1;
891 static int hf_h245_NonStandardParameterData = -1;
892 static int hf_h245_nlpidData = -1;
893 static int hf_h245_nonCollapsingRaw = -1;
894 static int hf_h245_uuid = -1;
895 static int hf_h245_octetString = -1;
896 static int hf_h245_externalReference = -1;
897 static int hf_h245_nsapAddress = -1;
898 static int hf_h245_subaddress_1_20 = -1;
899 static int hf_h245_programDescriptors = -1;
900 static int hf_h245_streamDescriptors = -1;
901 static int hf_h245_ipv4network = -1;
902 static int hf_h245_ipxNode = -1;
903 static int hf_h245_ipxNetnum = -1;
904 static int hf_h245_ipv6network = -1;
905 static int hf_h245_netBios = -1;
906 static int hf_h245_nsap = -1;
907 static int hf_h245_h235Key = -1;
908 static int hf_h245_value = -1;
909 static int hf_h245_certificateResponse = -1;
910 static int hf_h245_TerminalID = -1;
911 static int hf_h245_ConferenceID = -1;
912 static int hf_h245_Password = -1;
913 static int hf_h245_encryptionSE = -1;
914 static int hf_h245_conferenceIdentifier = -1;
915 static int hf_h245_returnedFunction = -1;
916 static int hf_h245_productNumber = -1;
917 static int hf_h245_versionNumber = -1;
918 static int hf_h245_mediaDistributionCapability = -1;
919 static int hf_h245_AlternativeCapabilitySet = -1;
920 static int hf_h245_frameToThreadMapping_custom = -1;
921 static int hf_h245_RedundancyEncodingCapability_sequence_of = -1;
922 static int hf_h245_frameSequence = -1;
923 static int hf_h245_EncryptionCapability = -1;
924 static int hf_h245_escrowentry = -1;
925 static int hf_h245_elementList = -1;
926 static int hf_h245_subElementList = -1;
927 static int hf_h245_requestedModes = -1;
928 static int hf_h245_CertSelectionCriteria = -1;
929 static int hf_h245_capabilityTable = -1;
930 static int hf_h245_capabilityDescriptors = -1;
931 static int hf_h245_simultaneousCapabilities = -1;
932 static int hf_h245_gatewayAddress = -1;
933 static int hf_h245_snrEnhancement = -1;
934 static int hf_h245_spatialEnhancement = -1;
935 static int hf_h245_bPictureEnhancement = -1;
936 static int hf_h245_customPictureClockFrequency = -1;
937 static int hf_h245_customPictureFormat = -1;
938 static int hf_h245_modeCombos = -1;
939 static int hf_h245_customPCF = -1;
940 static int hf_h245_pixelAspectCode = -1;
941 static int hf_h245_extendedPAR = -1;
942 static int hf_h245_h263VideoCoupledModes = -1;
943 static int hf_h245_capabilityOnMuxStream = -1;
944 static int hf_h245_capabilities = -1;
945 static int hf_h245_multiplexEntryDescriptors = -1;
946 static int hf_h245_multiplexTableEntryNumber_set_of = -1;
947 static int hf_h245_VCCapability_set_of = -1;
948 static int hf_h245_rejectionDescriptions = -1;
949 static int hf_h245_entryNumbers = -1;
950 static int hf_h245_ModeDescription = -1;
951 static int hf_h245_communicationModeTable = -1;
952 static int hf_h245_terminalListResponse = -1;
953 static int hf_h245_differential = -1;
954 static int hf_h245_networkType = -1;
955 static int hf_h245_capabilityTableEntryNumbers = -1;
956 static int hf_h245_capabilityDescriptorNumbers = -1;
957 static int hf_h245_qOSCapabilities = -1;
958 static int hf_h245_containedThreads = -1;
959 static int hf_h245_CapabilityTableEntryNumber_sequence_of = -1;
960 static int hf_h245_mediaChannelCapabilities = -1;
961 static int hf_h245_rtpPayloadType_sequence_of = -1;
962 static int hf_h245_centralizedData = -1;
963 static int hf_h245_distributedData = -1;
964 static int hf_h245_nonStandardData = -1;
965 static int hf_h245_collapsing = -1;
966 static int hf_h245_nonCollapsing = -1;
967 static int hf_h245_supersedes = -1;
968 static int hf_h245_genericParameter = -1;
969 static int hf_h245_secondary_REE = -1;
970 static int hf_h245_elements_MPSE = -1;
971 static int hf_h245_secondary_REDTME = -1;
972 static int hf_h245_elements_MPSEM = -1;
973 static int hf_h245_TerminalInformationSO = -1;
974 static int hf_h245_lostPicture = -1;
975 static int hf_h245_recoveryReferencePicture = -1;
976 static int hf_h245_iPSourceRouteAddress_route = -1;
977 static int hf_h245_audioTelephoneEvent = -1;
978 static int hf_h245_alphanumeric = -1;
979
980 static gint ett_h245 = -1;
981 static gint ett_h245_VCCapability_set_of = -1;
982 static gint ett_h245_MultimediaSystemControlMessage = -1;
983 static gint ett_h245_RequestMessage = -1;
984 static gint ett_h245_ResponseMessage = -1;
985 static gint ett_h245_IndicationMessage = -1;
986 static gint ett_h245_CommandMessage = -1;
987 static gint ett_h245_EndSessionCommand = -1;
988 static gint ett_h245_MobileMultilinkReconfigurationIndication = -1;
989 static gint ett_h245_FlowControlIndication = -1;
990 static gint ett_h245_UserInputIndication_extendedAlphanumeric = -1;
991 static gint ett_h245_UserInputIndication_signalUpdate_rtp = -1;
992 static gint ett_h245_UserInputIndication_signalUpdate = -1;
993 static gint ett_h245_UserInputIndication_signal_rtp = -1;
994 static gint ett_h245_UserInputIndication_signal = -1;
995 static gint ett_h245_NewATMVCIndication_reverseParameters = -1;
996 static gint ett_h245_NewATMVCIndication_aal_aal5 = -1;
997 static gint ett_h245_NewATMVCIndication_aal_aal1 = -1;
998 static gint ett_h245_NewATMVCIndication_aal = -1;
999 static gint ett_h245_NewATMVCIndication = -1;
1000 static gint ett_h245_VendorIdentification = -1;
1001 static gint ett_h245_MCLocationIndication = -1;
1002 static gint ett_h245_H2250MaximumSkewIndication = -1;
1003 static gint ett_h245_H223SkewIndication = -1;
1004 static gint ett_h245_JitterIndication = -1;
1005 static gint ett_h245_AlternativeCapabilitySet = -1;
1006 static gint ett_h245_MiscellaneousIndication_type_videoNotDecodedMBs = -1;
1007 static gint ett_h245_MiscellaneousIndication = -1;
1008 static gint ett_h245_VideoIndicateCompose = -1;
1009 static gint ett_h245_TerminalYouAreSeeingInSubPictureNumber = -1;
1010 static gint ett_h245_FunctionNotSupported = -1;
1011 static gint ett_h245_MobileMultilinkReconfigurationCommand = -1;
1012 static gint ett_h245_NewATMVCCommand_reverseParameters = -1;
1013 static gint ett_h245_NewATMVCCommand = -1;
1014 static gint ett_h245_NewATMVCCommand_aal_aal5 = -1;
1015 static gint ett_h245_NewATMVCCommand_aal_aal1 = -1;
1016 static gint ett_h245_EncryptionUpdateRequest = -1;
1017 static gint ett_h245_KeyProtectionMethod = -1;
1018 static gint ett_h245_MiscellaneousCommand_type_lostPartialPicture = -1;
1019 static gint ett_h245_MiscellaneousCommand_type_videoBadMBs = -1;
1020 static gint ett_h245_MiscellaneousCommand_type_progressiveRefinementStart = -1;
1021 static gint ett_h245_MiscellaneousCommand_type_videoFastUpdateMB = -1;
1022 static gint ett_h245_MiscellaneousCommand_type_videoFastUpdateGOB = -1;
1023 static gint ett_h245_MiscellaneousCommand = -1;
1024 static gint ett_h245_SubstituteConferenceIDCommand = -1;
1025 static gint ett_h245_FlowControlCommand = -1;
1026 static gint ett_h245_EncryptionCommand_encryptionAlgorithmID = -1;
1027 static gint ett_h245_SendTerminalCapabilitySet_specificRequest = -1;
1028 static gint ett_h245_LogicalChannelRateRelease = -1;
1029 static gint ett_h245_LogicalChannelRateReject = -1;
1030 static gint ett_h245_LogicalChannelRateAck = -1;
1031 static gint ett_h245_LogicalChannelRateRequest = -1;
1032 static gint ett_h245_ConnectionIdentifier = -1;
1033 static gint ett_h245_DialingInformationNumber = -1;
1034 static gint ett_h245_MultilinkIndication_excessiveError = -1;
1035 static gint ett_h245_MultilinkIndication_crcDesired = -1;
1036 static gint ett_h245_MultilinkResponse_maximumHeaderInterval = -1;
1037 static gint ett_h245_MultilinkResponse_removeConnection = -1;
1038 static gint ett_h245_MultilinkResponse_addConnection = -1;
1039 static gint ett_h245_MultilinkResponse_callInformation = -1;
1040 static gint ett_h245_MultilinkRequest_maximumHeaderInterval = -1;
1041 static gint ett_h245_MultilinkRequest_removeConnection = -1;
1042 static gint ett_h245_MultilinkRequest_addConnection = -1;
1043 static gint ett_h245_MultilinkRequest_callInformation = -1;
1044 static gint ett_h245_TerminalInformation = -1;
1045 static gint ett_h245_RequestAllTerminalIDsResponse = -1;
1046 static gint ett_h245_ConferenceResponse_terminalCertificateResponse = -1;
1047 static gint ett_h245_ConferenceResponse_chairTokenOwnerResponse = -1;
1048 static gint ett_h245_ConferenceResponse_extensionAddressResponse = -1;
1049 static gint ett_h245_ConferenceResponse_passwordResponse = -1;
1050 static gint ett_h245_ConferenceResponse_conferenceIDResponse = -1;
1051 static gint ett_h245_ConferenceResponse_terminalIDResponse = -1;
1052 static gint ett_h245_ConferenceResponse_mCterminalIDResponse = -1;
1053 static gint ett_h245_TerminalLabel = -1;
1054 static gint ett_h245_Criteria = -1;
1055 static gint ett_h245_ConferenceRequest_requestTerminalCertificate = -1;
1056 static gint ett_h245_CommunicationModeTableEntry = -1;
1057 static gint ett_h245_CommunicationModeRequest = -1;
1058 static gint ett_h245_CommunicationModeCommand = -1;
1059 static gint ett_h245_MaintenanceLoopOffCommand = -1;
1060 static gint ett_h245_MaintenanceLoopReject = -1;
1061 static gint ett_h245_MaintenanceLoopAck = -1;
1062 static gint ett_h245_MaintenanceLoopRequest = -1;
1063 static gint ett_h245_RoundTripDelayResponse = -1;
1064 static gint ett_h245_RoundTripDelayRequest = -1;
1065 static gint ett_h245_DataMode_application_t38fax = -1;
1066 static gint ett_h245_DataMode_application_nlpid = -1;
1067 static gint ett_h245_DataMode = -1;
1068 static gint ett_h245_VBDMode = -1;
1069 static gint ett_h245_G7231AnnexCMode_g723AnnexCAudioMode = -1;
1070 static gint ett_h245_G7231AnnexCMode = -1;
1071 static gint ett_h245_IS13818AudioMode = -1;
1072 static gint ett_h245_IS11172AudioMode = -1;
1073 static gint ett_h245_IS11172VideoMode = -1;
1074 static gint ett_h245_H263VideoMode = -1;
1075 static gint ett_h245_H262VideoMode = -1;
1076 static gint ett_h245_H261VideoMode = -1;
1077 static gint ett_h245_RedundancyEncodingMode = -1;
1078 static gint ett_h245_H2250ModeParameters = -1;
1079 static gint ett_h245_H223ModeParameters_adaptationLayerType_al3 = -1;
1080 static gint ett_h245_H223ModeParameters = -1;
1081 static gint ett_h245_FECMode_rfc2733Mode_mode_separateStream_samePort = -1;
1082 static gint ett_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort = -1;
1083 static gint ett_h245_FECMode_rfc2733Mode = -1;
1084 static gint ett_h245_MultiplePayloadStreamElementMode = -1;
1085 static gint ett_h245_MultiplePayloadStreamMode = -1;
1086 static gint ett_h245_RedundancyEncodingDTModeElement = -1;
1087 static gint ett_h245_RedundancyEncodingDTMode = -1;
1088 static gint ett_h245_MultiplexedStreamModeParameters = -1;
1089 static gint ett_h245_H235Mode = -1;
1090 static gint ett_h245_ModeElement = -1;
1091 static gint ett_h245_RequestModeRelease = -1;
1092 static gint ett_h245_RequestModeReject = -1;
1093 static gint ett_h245_RequestModeAck = -1;
1094 static gint ett_h245_RequestMode = -1;
1095 static gint ett_h245_RequestMultiplexEntryRelease = -1;
1096 static gint ett_h245_RequestMultiplexEntryRejectionDescriptions = -1;
1097 static gint ett_h245_RequestMultiplexEntryReject = -1;
1098 static gint ett_h245_RequestMultiplexEntryAck = -1;
1099 static gint ett_h245_RequestMultiplexEntry = -1;
1100 static gint ett_h245_MultiplexEntrySendRelease = -1;
1101 static gint ett_h245_MultiplexEntryRejectionDescriptions = -1;
1102 static gint ett_h245_MultiplexEntrySendReject = -1;
1103 static gint ett_h245_MultiplexEntrySendAck = -1;
1104 static gint ett_h245_MultiplexElement = -1;
1105 static gint ett_h245_MultiplexEntryDescriptor = -1;
1106 static gint ett_h245_MultiplexEntrySend = -1;
1107 static gint ett_h245_RequestChannelCloseRelease = -1;
1108 static gint ett_h245_RequestChannelCloseReject = -1;
1109 static gint ett_h245_RequestChannelCloseAck = -1;
1110 static gint ett_h245_RequestChannelClose = -1;
1111 static gint ett_h245_CloseLogicalChannelAck = -1;
1112 static gint ett_h245_CloseLogicalChannel = -1;
1113 static gint ett_h245_H2250LogicalChannelAckParameters = -1;
1114 static gint ett_h245_OpenLogicalChannelConfirm = -1;
1115 static gint ett_h245_OpenLogicalChannelReject = -1;
1116 static gint ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters = -1;
1117 static gint ett_h245_OpenLogicalChannelAck = -1;
1118 static gint ett_h245_EscrowData = -1;
1119 static gint ett_h245_EncryptionSync = -1;
1120 static gint ett_h245_MulticastAddress_iP6Address = -1;
1121 static gint ett_h245_MulticastAddress_iPAddress = -1;
1122 static gint ett_h245_UnicastAddress_iPSourceRouteAddress = -1;
1123 static gint ett_h245_UnicastAddress_iP6Address = -1;
1124 static gint ett_h245_UnicastAddress_iPXAddress = -1;
1125 static gint ett_h245_UnicastAddress_iPAddress = -1;
1126 static gint ett_h245_FECData_rfc2733_mode_separateStream_samePort = -1;
1127 static gint ett_h245_FECData_rfc2733_mode_separateStream_differentPort = -1;
1128 static gint ett_h245_FECData_rfc2733 = -1;
1129 static gint ett_h245_MultiplePayloadStreamElement = -1;
1130 static gint ett_h245_MultiplePayloadStream = -1;
1131 static gint ett_h245_RedundancyEncodingElement = -1;
1132 static gint ett_h245_RedundancyEncoding_rtpRedundancyEncoding = -1;
1133 static gint ett_h245_RedundancyEncoding = -1;
1134 static gint ett_h245_RTPPayloadType = -1;
1135 static gint ett_h245_H2250LogicalChannelParameters = -1;
1136 static gint ett_h245_V76HDLCParameters = -1;
1137 static gint ett_h245_V76LogicalChannelParameters_mode_eRM = -1;
1138 static gint ett_h245_V76LogicalChannelParameters = -1;
1139 static gint ett_h245_H223AnnexCArqParameters = -1;
1140 static gint ett_h245_H223AL3MParameters = -1;
1141 static gint ett_h245_H223AL2MParameters = -1;
1142 static gint ett_h245_H223AL1MParameters = -1;
1143 static gint ett_h245_H223LogicalChannelParameters_adaptionLayerType_al3 = -1;
1144 static gint ett_h245_H223LogicalChannelParameters = -1;
1145 static gint ett_h245_H222LogicalChannelParameters = -1;
1146 static gint ett_h245_MultiplexedStreamParameter = -1;
1147 static gint ett_h245_H235Media = -1;
1148 static gint ett_h245_V75Parameters = -1;
1149 static gint ett_h245_Q2931Address = -1;
1150 static gint ett_h245_NetworkAccessParameters = -1;
1151 static gint ett_h245_reverseLogicalChannelParameters = -1;
1152 static gint ett_h245_forwardLogicalChannelParameters = -1;
1153 static gint ett_h245_OpenLogicalChannel = -1;
1154 static gint ett_h245_FECCapability_rfc2733_separateStream = -1;
1155 static gint ett_h245_FECCapability_rfc2733 = -1;
1156 static gint ett_h245_MultiplePayloadStreamCapability = -1;
1157 static gint ett_h245_NoPTAudioToneCapability = -1;
1158 static gint ett_h245_NoPTAudioTelephonyEventCapability = -1;
1159 static gint ett_h245_AudioToneCapability = -1;
1160 static gint ett_h245_AudioTelephonyEventCapability = -1;
1161 static gint ett_h245_MultiplexedStreamCapability = -1;
1162 static gint ett_h245_GenericParameter = -1;
1163 static gint ett_h245_GenericCapability = -1;
1164 static gint ett_h245_ConferenceCapability = -1;
1165 static gint ett_h245_IntegrityCapability = -1;
1166 static gint ett_h245_AuthenticationCapability = -1;
1167 static gint ett_h245_EncryptionAuthenticationAndIntegrity = -1;
1168 static gint ett_h245_T38FaxTcpOptions = -1;
1169 static gint ett_h245_T38FaxUdpOptions = -1;
1170 static gint ett_h245_T38FaxProfile = -1;
1171 static gint ett_h245_T84Profile_t84Restricted = -1;
1172 static gint ett_h245_V42bis = -1;
1173 static gint ett_h245_DataApplicationCapability_application_t38fax = -1;
1174 static gint ett_h245_DataApplicationCapability_application_nlpid = -1;
1175 static gint ett_h245_DataApplicationCapability_application_t84 = -1;
1176 static gint ett_h245_DataApplicationCapability = -1;
1177 static gint ett_h245_VBDCapability = -1;
1178 static gint ett_h245_GSMAudioCapability = -1;
1179 static gint ett_h245_IS13818AudioCapability = -1;
1180 static gint ett_h245_IS11172AudioCapability = -1;
1181 static gint ett_h245_G7231AnnexCCapability_g723AnnexCAudioMode = -1;
1182 static gint ett_h245_G7231AnnexCCapability = -1;
1183 static gint ett_h245_G729Extensions = -1;
1184 static gint ett_h245_AudioCapability_g7231 = -1;
1185 static gint ett_h245_IS11172VideoCapability = -1;
1186 static gint ett_h245_H263Version3Options = -1;
1187 static gint ett_h245_H263ModeComboFlags = -1;
1188 static gint ett_h245_H263VideoModeCombos = -1;
1189 static gint ett_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR = -1;
1190 static gint ett_h245_CustomPictureFormat_mPI_customPCF = -1;
1191 static gint ett_h245_CustomPictureFormat_mPI = -1;
1192 static gint ett_h245_CustomPictureFormat = -1;
1193 static gint ett_h245_CustomPictureClockFrequency = -1;
1194 static gint ett_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters = -1;
1195 static gint ett_h245_RefPictureSelection_enhancedReferencePicSelect = -1;
1196 static gint ett_h245_RefPictureSelection_additionalPictureMemory = -1;
1197 static gint ett_h245_RefPictureSelection = -1;
1198 static gint ett_h245_TransperencyParameters = -1;
1199 static gint ett_h245_H263Options = -1;
1200 static gint ett_h245_EnhancementOptions = -1;
1201 static gint ett_h245_BEnhancementParameters = -1;
1202 static gint ett_h245_EnhancementLayerInfo = -1;
1203 static gint ett_h245_H263VideoCapability = -1;
1204 static gint ett_h245_H262VideoCapability = -1;
1205 static gint ett_h245_H261VideoCapability = -1;
1206 static gint ett_h245_MediaDistributionCapability = -1;
1207 static gint ett_h245_MultipointCapability = -1;
1208 static gint ett_h245_RTPH263VideoRedundancyFrameMapping = -1;
1209 static gint ett_h245_RTPH263VideoRedundancyEncoding = -1;
1210 static gint ett_h245_RedundancyEncodingCapability = -1;
1211 static gint ett_h245_TransportCapability = -1;
1212 static gint ett_h245_MediaChannelCapability = -1;
1213 static gint ett_h245_MediaTransportType_AtmAAL5Compressed = -1;
1214 static gint ett_h245_QOSCapability = -1;
1215 static gint ett_h245_ATMParameters = -1;
1216 static gint ett_h245_RSVPParameters = -1;
1217 static gint ett_h245_MediaPacketizationCapability = -1;
1218 static gint ett_h245_H2250Capability_mcCapability = -1;
1219 static gint ett_h245_H2250Capability = -1;
1220 static gint ett_h245_V75Capability = -1;
1221 static gint ett_h245_V76Capability = -1;
1222 static gint ett_h245_H223AnnexCCapability = -1;
1223 static gint ett_h245_H223Capability_mobileMultilinkFrameCapability = -1;
1224 static gint ett_h245_H223Capability_mobileOperationTransmitCapability = -1;
1225 static gint ett_h245_H223Capability_h223MultiplexTableCapability_enhanced = -1;
1226 static gint ett_h245_H223Capability = -1;
1227 static gint ett_h245_VCCapability_aal1ViaGateway = -1;
1228 static gint ett_h245_VCCapability_availableBitRates_rangeOfBitRates = -1;
1229 static gint ett_h245_VCCapability_availableBitRates = -1;
1230 static gint ett_h245_VCCapability_aal5 = -1;
1231 static gint ett_h245_VCCapability_aal1 = -1;
1232 static gint ett_h245_VCCapability = -1;
1233 static gint ett_h245_H222Capability = -1;
1234 static gint ett_h245_H235SecurityCapability = -1;
1235 static gint ett_h245_Capability_h233EncryptionReceiveCapability = -1;
1236 static gint ett_h245_TerminalCapabilitySetRelease = -1;
1237 static gint ett_h245_TerminalCapabilitySetReject = -1;
1238 static gint ett_h245_TerminalCapabilitySetAck = -1;
1239 static gint ett_h245_CapabilityDescriptor = -1;
1240 static gint ett_h245_CapabilityTableEntry = -1;
1241 static gint ett_h245_TerminalCapabilitySet = -1;
1242 static gint ett_h245_MasterSlaveDeterminationRelease = -1;
1243 static gint ett_h245_MasterSlaveDeterminationReject = -1;
1244 static gint ett_h245_MasterSlaveDeterminationAck = -1;
1245 static gint ett_h245_MasterSlaveDetermination = -1;
1246 static gint ett_h245_h221NonStandard = -1;
1247 static gint ett_h245_NonStandardParameter = -1;
1248 static gint ett_h245_NonStandardMessage = -1;
1249 static gint ett_h245_FlowControlIndication_restriction = -1;
1250 static gint ett_h245_FlowControlIndication_scope = -1;
1251 static gint ett_h245_UserInputIndication_userInputSupportIndication = -1;
1252 static gint ett_h245_UserInputIndication = -1;
1253 static gint ett_h245_NewATMVCIndication_reverseParameters_multiplex = -1;
1254 static gint ett_h245_NewATMVCIndication_multiplex = -1;
1255 static gint ett_h245_NewATMVCIndication_aal_aal1_errorCorrection = -1;
1256 static gint ett_h245_NewATMVCIndication_aal_aal1_clockRecovery = -1;
1257 static gint ett_h245_JitterIndication_scope = -1;
1258 static gint ett_h245_MiscellaneousIndication_type = -1;
1259 static gint ett_h245_ConferenceIndication = -1;
1260 static gint ett_h245_FunctionNotSupported_cause = -1;
1261 static gint ett_h245_FunctionNotUnderstood = -1;
1262 static gint ett_h245_MobileMultilinkReconfigurationCommand_status = -1;
1263 static gint ett_h245_NewATMVCCommand_reverseParameters_multiplex = -1;
1264 static gint ett_h245_NewATMVCCommand_multiplex = -1;
1265 static gint ett_h245_NewATMVCCommand_aal_aal1_errorCorrection = -1;
1266 static gint ett_h245_NewATMVCCommand_aal_aal1_clockRecovery = -1;
1267 static gint ett_h245_NewATMVCCommand_aal = -1;
1268 static gint ett_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag = -1;
1269 static gint ett_h245_H223MultiplexReconfiguration_h223ModeChange = -1;
1270 static gint ett_h245_H223MultiplexReconfiguration = -1;
1271 static gint ett_h245_PictureReference = -1;
1272 static gint ett_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount = -1;
1273 static gint ett_h245_MiscellaneousCommand_type = -1;
1274 static gint ett_h245_ConferenceCommand = -1;
1275 static gint ett_h245_EndSessionCommand_gstnOptions = -1;
1276 static gint ett_h245_EndSessionCommand_isdnOptions = -1;
1277 static gint ett_h245_FlowControlCommand_restriction = -1;
1278 static gint ett_h245_FlowControlCommand_scope = -1;
1279 static gint ett_h245_EncryptionCommand = -1;
1280 static gint ett_h245_SendTerminalCapabilitySet = -1;
1281 static gint ett_h245_LogicalChannelRateRejectReason = -1;
1282 static gint ett_h245_DialingInformationNetworkType = -1;
1283 static gint ett_h245_DialingInformation = -1;
1284 static gint ett_h245_MultilinkIndication = -1;
1285 static gint ett_h245_MultilinkResponse_addConnection_responseCode_rejected = -1;
1286 static gint ett_h245_MultilinkResponse_addConnection_responseCode = -1;
1287 static gint ett_h245_MultilinkResponse = -1;
1288 static gint ett_h245_MultilinkRequest_maximumHeaderInterval_requestType = -1;
1289 static gint ett_h245_MultilinkRequest = -1;
1290 static gint ett_h245_RemoteMCResponse_reject = -1;
1291 static gint ett_h245_RemoteMCResponse = -1;
1292 static gint ett_h245_RemoteMCRequest = -1;
1293 static gint ett_h245_ConferenceResponse_sendThisSourceResponse = -1;
1294 static gint ett_h245_ConferenceResponse_makeTerminalBroadcasterResponse = -1;
1295 static gint ett_h245_ConferenceResponse_broadcastMyLogicalChannelResponse = -1;
1296 static gint ett_h245_ConferenceResponse_makeMeChairResponse = -1;
1297 static gint ett_h245_ConferenceResponse = -1;
1298 static gint ett_h245_ConferenceRequest = -1;
1299 static gint ett_h245_CommunicationModeTableEntry_dataType = -1;
1300 static gint ett_h245_CommunicationModeResponse = -1;
1301 static gint ett_h245_MaintenanceLoopReject_cause = -1;
1302 static gint ett_h245_MaintenanceLoopReject_type = -1;
1303 static gint ett_h245_MaintenanceLoopAck_type = -1;
1304 static gint ett_h245_MaintenanceLoopRequest_type = -1;
1305 static gint ett_h245_EncryptionMode = -1;
1306 static gint ett_h245_DataMode_application = -1;
1307 static gint ett_h245_IS13818AudioMode_multiChannelType = -1;
1308 static gint ett_h245_IS13818AudioMode_audioSampling = -1;
1309 static gint ett_h245_IS13818AudioMode_audioLayer = -1;
1310 static gint ett_h245_IS11172AudioMode_multichannelType = -1;
1311 static gint ett_h245_IS11172AudioMode_audioSampling = -1;
1312 static gint ett_h245_IS11172AudioMode_audioLayer = -1;
1313 static gint ett_h245_AudioMode_g7231 = -1;
1314 static gint ett_h245_AudioMode = -1;
1315 static gint ett_h245_H263VideoMode_resolution = -1;
1316 static gint ett_h245_H262VideoMode_profileAndLevel = -1;
1317 static gint ett_h245_H261VideoMode_resolution = -1;
1318 static gint ett_h245_VideoMode = -1;
1319 static gint ett_h245_RedundancyEncodingMode_secondaryEncoding = -1;
1320 static gint ett_h245_V76ModeParameters = -1;
1321 static gint ett_h245_H223ModeParameters_adaptationLayerType = -1;
1322 static gint ett_h245_FECMode_rfc2733Mode_mode_separateStream = -1;
1323 static gint ett_h245_FECMode_rfc2733Mode_mode = -1;
1324 static gint ett_h245_FECMode = -1;
1325 static gint ett_h245_RedundancyEncodingDTModeElement_type = -1;
1326 static gint ett_h245_H235Mode_mediaMode = -1;
1327 static gint ett_h245_ModeElementType = -1;
1328 static gint ett_h245_RequestModeReject_cause = -1;
1329 static gint ett_h245_RequestMultiplexEntryRejectionDescriptions_cause = -1;
1330 static gint ett_h245_MultiplexEntryRejectionDescriptions_cause = -1;
1331 static gint ett_h245_MultiplexElement_repeatCount = -1;
1332 static gint ett_h245_MultiplexElement_type = -1;
1333 static gint ett_h245_RequestChannelCloseReject_cause = -1;
1334 static gint ett_h245_RequestChannelClose_reason = -1;
1335 static gint ett_h245_CloseLogicalChannel_reason = -1;
1336 static gint ett_h245_CloseLogicalChannel_source = -1;
1337 static gint ett_h245_OpenLogicalChannelReject_cause = -1;
1338 static gint ett_h245_forwardMultiplexAckParameters = -1;
1339 static gint ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters = -1;
1340 static gint ett_h245_MulticastAddress = -1;
1341 static gint ett_h245_UnicastAddress_iPSourceRouteAddress_routing = -1;
1342 static gint ett_h245_UnicastAddress = -1;
1343 static gint ett_h245_TransportAddress = -1;
1344 static gint ett_h245_FECData_rfc2733_mode_separateStream = -1;
1345 static gint ett_h245_FECData_rfc2733_mode = -1;
1346 static gint ett_h245_FECData = -1;
1347 static gint ett_h245_RTPPayloadType_payloadDescriptor = -1;
1348 static gint ett_h245_H2250LogicalChannelParameters_mediaPacketization = -1;
1349 static gint ett_h245_CRCLength = -1;
1350 static gint ett_h245_V76LogicalChannelParameters_mode_eRM_recovery = -1;
1351 static gint ett_h245_V76LogicalChannelParameters_mode = -1;
1352 static gint ett_h245_V76LogicalChannelParameters_suspendResume = -1;
1353 static gint ett_h245_H223AnnexCArqParameters_numberOfRetransmissions = -1;
1354 static gint ett_h245_H223AL3MParameters_arqType = -1;
1355 static gint ett_h245_H223AL3MParameters_crcLength = -1;
1356 static gint ett_h245_H223AL3MParameters_headerFormat = -1;
1357 static gint ett_h245_H223AL2MParameters_headerFEC = -1;
1358 static gint ett_h245_H223AL1MParameters_arqType = -1;
1359 static gint ett_h245_H223AL1MParameters_crcLength = -1;
1360 static gint ett_h245_H223AL1MParameters_headerFEC = -1;
1361 static gint ett_h245_H223AL1MParameters_transferMode = -1;
1362 static gint ett_h245_H223LogicalChannelParameters_adaptationLayerType = -1;
1363 static gint ett_h245_H235Media_mediaType = -1;
1364 static gint ett_h245_DataType = -1;
1365 static gint ett_h245_Q2931Address_address = -1;
1366 static gint ett_h245_NetworkAccessParameters_t120SetupProcedure = -1;
1367 static gint ett_h245_NetworkAccessParameters_networkAddress = -1;
1368 static gint ett_h245_NetworkAccessParameters_distribution = -1;
1369 static gint ett_h245_reverseLogicalChannelParameters_multiplexParameters = -1;
1370 static gint ett_h245_forwardLogicalChannelParameters_multiplexParameters = -1;
1371 static gint ett_h245_FECCapability = -1;
1372 static gint ett_h245_MultiplexFormat = -1;
1373 static gint ett_h245_ParameterValue = -1;
1374 static gint ett_h245_ParameterIdentifier = -1;
1375 static gint ett_h245_CapabilityIdentifier = -1;
1376 static gint ett_h245_UserInputCapability = -1;
1377 static gint ett_h245_MediaEncryptionAlgorithm = -1;
1378 static gint ett_h245_T38FaxUdpOptions_t38FaxUdpEC = -1;
1379 static gint ett_h245_T38FaxRateManagement = -1;
1380 static gint ett_h245_T84Profile = -1;
1381 static gint ett_h245_CompressionType = -1;
1382 static gint ett_h245_DataProtocolCapability_v76wCompression = -1;
1383 static gint ett_h245_DataProtocolCapability = -1;
1384 static gint ett_h245_DataApplicationCapability_application = -1;
1385 static gint ett_h245_AudioCapability = -1;
1386 static gint ett_h245_CustomPictureFormat_pixelAspectInformation = -1;
1387 static gint ett_h245_RefPictureSelection_videoBackChannelSend = -1;
1388 static gint ett_h245_VideoCapability = -1;
1389 static gint ett_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping = -1;
1390 static gint ett_h245_RedundancyEncodingMethod = -1;
1391 static gint ett_h245_MediaTransportType = -1;
1392 static gint ett_h245_QOSMode = -1;
1393 static gint ett_h245_H223Capability_h223MultiplexTableCapability = -1;
1394 static gint ett_h245_VCCapability_availableBitRates_type = -1;
1395 static gint ett_h245_MultiplexCapability = -1;
1396 static gint ett_h245_Capability = -1;
1397 static gint ett_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded = -1;
1398 static gint ett_h245_TerminalCapabilitySetReject_cause = -1;
1399 static gint ett_h245_MasterSlaveDeterminationReject_cause = -1;
1400 static gint ett_h245_MasterSlaveDeterminationAck_decision = -1;
1401 static gint ett_h245_RequestModeAck_response_decision = -1;
1402 static gint ett_h245_NonStandardIdentifier = -1;
1403 static gint ett_h245_mediaDistributionCapability = -1;
1404 static gint ett_h245_frameToThreadMapping_custom = -1;
1405 static gint ett_h245_RedundancyEncodingCapability_sequence_of = -1;
1406 static gint ett_h245_frameSequence = -1;
1407 static gint ett_h245_EncryptionCapability = -1;
1408 static gint ett_h245_escrowentry = -1;
1409 static gint ett_h245_elementList = -1;
1410 static gint ett_h245_requestedModes = -1;
1411 static gint ett_h245_CertSelectionCriteria = -1;
1412 static gint ett_h245_capabilityTable = -1;
1413 static gint ett_h245_capabilityDescriptors = -1;
1414 static gint ett_h245_simultaneousCapabilities = -1;
1415 static gint ett_h245_gatewayAddress = -1;
1416 static gint ett_h245_snrEnhancement = -1;
1417 static gint ett_h245_spatialEnhancement = -1;
1418 static gint ett_h245_bPictureEnhancement = -1;
1419 static gint ett_h245_customPictureClockFrequency = -1;
1420 static gint ett_h245_customPictureFormat = -1;
1421 static gint ett_h245_modeCombos = -1;
1422 static gint ett_h245_customPCF = -1;
1423 static gint ett_h245_pixelAspectCode = -1;
1424 static gint ett_h245_extendedPAR = -1;
1425 static gint ett_h245_h263VideoCoupledModes = -1;
1426 static gint ett_h245_capabilityOnMuxStream = -1;
1427 static gint ett_h245_capabilities = -1;
1428 static gint ett_h245_multiplexEntryDescriptors = -1;
1429 static gint ett_h245_multiplexTableEntryNumber_set_of = -1;
1430 static gint ett_h245_rejectionDescriptions = -1;
1431 static gint ett_h245_entryNumbers = -1;
1432 static gint ett_h245_ModeDescription = -1;
1433 static gint ett_h245_communicationModeTable = -1;
1434 static gint ett_h245_terminalListResponse = -1;
1435 static gint ett_h245_differential = -1;
1436 static gint ett_h245_networkType = -1;
1437 static gint ett_h245_capabilityTableEntryNumbers = -1;
1438 static gint ett_h245_capabilityDescriptorNumbers = -1;
1439 static gint ett_h245_qOSCapabilities = -1;
1440 static gint ett_h245_subElementList = -1;
1441 static gint ett_h245_containedThreads = -1;
1442 static gint ett_h245_CapabilityTableEntryNumber_sequence_of = -1;
1443 static gint ett_h245_mediaChannelCapabilities = -1;
1444 static gint ett_h245_rtpPayloadType_sequence_of = -1;
1445 static gint ett_h245_centralizedData = -1;
1446 static gint ett_h245_distributedData = -1;
1447 static gint ett_h245_nonStandardData = -1;
1448 static gint ett_h245_collapsing = -1;
1449 static gint ett_h245_nonCollapsing = -1;
1450 static gint ett_h245_supersedes = -1;
1451 static gint ett_h245_genericParameter = -1;
1452 static gint ett_h245_secondary_REE = -1;
1453 static gint ett_h245_elements_MPSE = -1;
1454 static gint ett_h245_secondary_REDTME = -1;
1455 static gint ett_h245_elements_MPSEM = -1;
1456 static gint ett_h245_TerminalInformationSO = -1;
1457 static gint ett_h245_lostPicture = -1;
1458 static gint ett_h245_recoveryReferencePicture = -1;
1459 static gint ett_h245_iPSourceRouteAddress_route = -1;
1460
1461 static guint32 ipv4_address;
1462 static guint32 ipv4_port;
1463
1464
1465
1466 static gboolean h245_reassembly = TRUE;
1467
1468 static int
1469 dissect_h245_NULL(tvbuff_t *tvb _U_, int offset, packet_info *pinfo _U_, proto_tree *tree _U_)
1470 {
1471         return offset;
1472 }
1473
1474
1475
1476
1477
1478
1479
1480
1481 static const value_string MasterSlaveDeterminationAck_decision_vals[] = {
1482         {  0, "master" },
1483         {  1, "slave" },
1484         {  0, NULL }
1485 };
1486 static per_choice_t MasterSlaveDeterminationAck_decision_choice[] = {
1487         {  0, "master", NO_EXTENSIONS, 
1488                 dissect_h245_NULL },
1489         {  1, "slave", NO_EXTENSIONS, 
1490                 dissect_h245_NULL },
1491         {  0, NULL, 0, NULL }
1492 };
1493 static int
1494 dissect_h245_MasterSlaveDeterminationAck_decision(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1495 {
1496         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDeterminationAck_decision, ett_h245_MasterSlaveDeterminationAck_decision, MasterSlaveDeterminationAck_decision_choice, "Decision", NULL);
1497
1498         return offset;
1499 }
1500
1501
1502
1503 static per_sequence_t MasterSlaveDeterminationAck_sequence[] = {
1504         { "decision", EXTENSION_ROOT, NOT_OPTIONAL, 
1505                 dissect_h245_MasterSlaveDeterminationAck_decision },
1506         { NULL, 0, 0, NULL }
1507 };
1508 static int
1509 dissect_h245_MasterSlaveDeterminationAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1510 {
1511         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDeterminationAck, ett_h245_MasterSlaveDeterminationAck, MasterSlaveDeterminationAck_sequence);
1512
1513         return offset;
1514 }
1515
1516
1517 static const value_string MasterSlaveDeterminationReject_cause_vals[] = {
1518         {  0, "identicalNumbers" },
1519         {  0, NULL }
1520 };
1521 static per_choice_t MasterSlaveDeterminationReject_cause_choice[] = {
1522         {  0, "identicalNumbers", EXTENSION_ROOT, 
1523                         dissect_h245_NULL },
1524         {  0, NULL, 0, NULL }
1525 };
1526 static int
1527 dissect_h245_MasterSlaveDeterminationReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1528 {
1529         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDeterminationReject_cause, ett_h245_MasterSlaveDeterminationReject_cause, MasterSlaveDeterminationReject_cause_choice, "Cause", NULL);
1530
1531         return offset;
1532 }
1533
1534
1535
1536 static per_sequence_t MasterSlaveDeterminationReject_sequence[] = {
1537         { "cause", EXTENSION_ROOT, NOT_OPTIONAL, 
1538                 dissect_h245_MasterSlaveDeterminationReject_cause },
1539         { NULL, 0, 0, NULL }
1540 };
1541 static int
1542 dissect_h245_MasterSlaveDeterminationReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1543 {
1544         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDeterminationReject, ett_h245_MasterSlaveDeterminationReject, MasterSlaveDeterminationReject_sequence);
1545
1546         return offset;
1547 }
1548
1549
1550
1551 static const value_string QOSMode_vals[] = {
1552         {  0, "guaranteedQOS" },
1553         {  1, "controlledLoad" },
1554         {  0, NULL }
1555 };
1556 static per_choice_t QOSMode_choice[] = {
1557         {  0, "guaranteedQOS", EXTENSION_ROOT, 
1558                         dissect_h245_NULL },
1559         {  1, "controlledLoad", EXTENSION_ROOT, 
1560                         dissect_h245_NULL },
1561         {  0, NULL, 0, NULL }
1562 };
1563 static int
1564 dissect_h245_QOSMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1565 {
1566         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_QOSMode, ett_h245_QOSMode, QOSMode_choice, "QOSMode", NULL);
1567
1568         return offset;
1569 }
1570
1571
1572
1573 static const value_string RefPictureSelection_videoBackChannelSend_vals[] = {
1574         {  0, "none" },
1575         {  1, "ackMessageOnly" },
1576         {  2, "nackMessageOnly" },
1577         {  3, "ackOrNackMessageOnly" },
1578         {  4, "ackAndNackMessage" },
1579         {  0, NULL }
1580 };
1581 static per_choice_t RefPictureSelection_videoBackChannelSend_choice[] = {
1582         {  0, "none", EXTENSION_ROOT, 
1583                         dissect_h245_NULL },
1584         {  1, "ackMessageOnly", EXTENSION_ROOT, 
1585                         dissect_h245_NULL },
1586         {  2, "nackMessageOnly", EXTENSION_ROOT, 
1587                         dissect_h245_NULL },
1588         {  3, "ackOrNackMessageOnly", EXTENSION_ROOT, 
1589                         dissect_h245_NULL },
1590         {  4, "ackAndNackMessage", EXTENSION_ROOT, 
1591                         dissect_h245_NULL },
1592         {  0, NULL, 0, NULL }
1593 };
1594 static int
1595 dissect_h245_RefPictureSelection_videoBackChannelSend(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1596 {
1597         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RefPictureSelection_videoBackChannelSend, ett_h245_RefPictureSelection_videoBackChannelSend, RefPictureSelection_videoBackChannelSend_choice, "videoBackChannelSend", NULL);
1598
1599         return offset;
1600 }
1601
1602
1603
1604 static const value_string T38FaxRateManagement_vals[] = {
1605         {  0, "localTCF" },
1606         {  1, "transferredTCF" },
1607         {  0, NULL }
1608 };
1609 static per_choice_t T38FaxRateManagement_choice[] = {
1610         {  0, "localTCF", EXTENSION_ROOT, 
1611                         dissect_h245_NULL },
1612         {  1, "transferredTCF", EXTENSION_ROOT, 
1613                         dissect_h245_NULL },
1614         {  0, NULL, 0, NULL }
1615 };
1616 static int
1617 dissect_h245_T38FaxRateManagement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1618 {
1619         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_T38FaxRateManagement, ett_h245_T38FaxRateManagement, T38FaxRateManagement_choice, "T38FaxRateManagement", NULL);
1620
1621         return offset;
1622 }
1623
1624
1625
1626 static const value_string T38FaxUdpOptions_t38FaxUdpEC_vals[] = {
1627         {  0, "t38UDPFEC" },
1628         {  1, "t38UDPRedundancy" },
1629         {  0, NULL }
1630 };
1631 static per_choice_t T38FaxUdpOptions_t38FaxUdpEC_choice[] = {
1632         {  0, "t38UDPFEC", EXTENSION_ROOT, 
1633                         dissect_h245_NULL },
1634         {  1, "t38UDPRedundancy", EXTENSION_ROOT, 
1635                         dissect_h245_NULL },
1636         {  0, NULL, 0, NULL }
1637 };
1638 static int
1639 dissect_h245_T38FaxUdpOptions_t38FaxUdpEC(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1640 {
1641         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_T38FaxUdpOptions_t38FaxUdpEC, ett_h245_T38FaxUdpOptions_t38FaxUdpEC, T38FaxUdpOptions_t38FaxUdpEC_choice, "t38FaxUdpEC", NULL);
1642
1643         return offset;
1644 }
1645
1646
1647
1648 static const value_string NetworkAccessParameters_distribution_vals[] = {
1649         {  0, "unicast" },
1650         {  1, "multicast" },
1651         {  0, NULL }
1652 };
1653 static per_choice_t NetworkAccessParameters_distribution_choice[] = {
1654         {  0, "unicast", EXTENSION_ROOT, 
1655                         dissect_h245_NULL },
1656         {  1, "multicast", EXTENSION_ROOT, 
1657                         dissect_h245_NULL },
1658         {  0, NULL, 0, NULL }
1659 };
1660 static int
1661 dissect_h245_NetworkAccessParameters_distribution(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1662 {
1663         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NetworkAccessParameters_distribution, ett_h245_NetworkAccessParameters_distribution, NetworkAccessParameters_distribution_choice, "Distribution", NULL);
1664
1665         return offset;
1666 }
1667
1668
1669
1670 static const value_string NetworkAccessParameters_t120SetupProcedure_vals[] = {
1671         {  0, "originateCall" },
1672         {  1, "waitForCall" },
1673         {  2, "issueQuery" },
1674         {  0, NULL }
1675 };
1676 static per_choice_t NetworkAccessParameters_t120SetupProcedure_choice[] = {
1677         {  0, "originateCall", EXTENSION_ROOT, 
1678                         dissect_h245_NULL },
1679         {  1, "waitForCall", EXTENSION_ROOT, 
1680                         dissect_h245_NULL },
1681         {  2, "issueQuery", EXTENSION_ROOT, 
1682                         dissect_h245_NULL },
1683         {  0, NULL, 0, NULL }
1684 };
1685 static int
1686 dissect_h245_NetworkAccessParameters_t120SetupProcedure(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1687 {
1688         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NetworkAccessParameters_t120SetupProcedure, ett_h245_NetworkAccessParameters_t120SetupProcedure, NetworkAccessParameters_t120SetupProcedure_choice, "t120SetupProcedure", NULL);
1689
1690         return offset;
1691 }
1692
1693
1694
1695 static const value_string H223AL1MParameters_transferMode_vals[] = {
1696         {  0, "framed" },
1697         {  1, "unframed" },
1698         {  0, NULL }
1699 };
1700 static per_choice_t H223AL1MParameters_transferMode_choice[] = {
1701         {  0, "framed", EXTENSION_ROOT, 
1702                         dissect_h245_NULL },
1703         {  1, "unframed", EXTENSION_ROOT, 
1704                         dissect_h245_NULL },
1705         {  0, NULL, 0, NULL }
1706 };
1707 static int
1708 dissect_h245_H223AL1MParameters_transferMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1709 {
1710         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL1MParameters_transferMode, ett_h245_H223AL1MParameters_transferMode, H223AL1MParameters_transferMode_choice, "transferMode", NULL);
1711
1712         return offset;
1713 }
1714
1715
1716
1717 static const value_string H223AL1MParameters_headerFEC_vals[] = {
1718         {  0, "sebch16-7" },
1719         {  1, "golay24-12" },
1720         {  0, NULL }
1721 };
1722 static per_choice_t H223AL1MParameters_headerFEC_choice[] = {
1723         {  0, "sebch16-7", EXTENSION_ROOT, 
1724                         dissect_h245_NULL },
1725         {  1, "golay24-12", EXTENSION_ROOT, 
1726                         dissect_h245_NULL },
1727         {  0, NULL, 0, NULL }
1728 };
1729 static int
1730 dissect_h245_H223AL1MParameters_headerFEC(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1731 {
1732         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL1MParameters_headerFEC, ett_h245_H223AL1MParameters_headerFEC, H223AL1MParameters_headerFEC_choice, "headerFEC", NULL);
1733
1734         return offset;
1735 }
1736
1737
1738
1739 static const value_string H223AL1MParameters_crcLength_vals[] = {
1740         {  0, "crc4bit" },
1741         {  1, "crc12bit" },
1742         {  2, "crc20bit" },
1743         {  3, "crc28bit" },
1744         {  4, "crc8bit" },
1745         {  5, "crc16bit" },
1746         {  6, "crc32bit" },
1747         {  7, "crcNotUsed" },
1748         {  0, NULL }
1749 };
1750 static per_choice_t H223AL1MParameters_crcLength_choice[] = {
1751         {  0, "crc4bit", EXTENSION_ROOT, 
1752                         dissect_h245_NULL },
1753         {  1, "crc12bit", EXTENSION_ROOT, 
1754                         dissect_h245_NULL },
1755         {  2, "crc20bit", EXTENSION_ROOT, 
1756                         dissect_h245_NULL },
1757         {  3, "crc28bit", EXTENSION_ROOT, 
1758                         dissect_h245_NULL },
1759         {  4, "crc8bit", NOT_EXTENSION_ROOT, 
1760                         dissect_h245_NULL },
1761         {  5, "crc16bit", NOT_EXTENSION_ROOT, 
1762                         dissect_h245_NULL },
1763         {  6, "crc32bit", NOT_EXTENSION_ROOT, 
1764                         dissect_h245_NULL },
1765         {  7, "crcNotUsed", NOT_EXTENSION_ROOT, 
1766                         dissect_h245_NULL },
1767         {  0, NULL, 0, NULL }
1768 };
1769 static int
1770 dissect_h245_H223AL1MParameters_crcLength(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1771 {
1772         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL1MParameters_crcLength, ett_h245_H223AL1MParameters_crcLength, H223AL1MParameters_crcLength_choice, "crcLength", NULL);
1773
1774         return offset;
1775 }
1776
1777
1778
1779 static const value_string H223AL2MParameters_headerFEC_vals[] = {
1780         {  0, "sebch16-5" },
1781         {  1, "golay24-12" },
1782         {  0, NULL }
1783 };
1784 static per_choice_t H223AL2MParameters_headerFEC_choice[] = {
1785         {  0, "sebch16-5", EXTENSION_ROOT, 
1786                         dissect_h245_NULL },
1787         {  1, "golay24-12", EXTENSION_ROOT, 
1788                         dissect_h245_NULL },
1789         {  0, NULL, 0, NULL }
1790 };
1791 static int
1792 dissect_h245_H223AL2MParameters_headerFEC(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1793 {
1794         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL2MParameters_headerFEC, ett_h245_H223AL2MParameters_headerFEC, H223AL2MParameters_headerFEC_choice, "headerFEC", NULL);
1795
1796         return offset;
1797 }
1798
1799
1800
1801
1802 static const value_string H223AL3MParameters_headerFormat_vals[] = {
1803         {  0, "sebch16-7" },
1804         {  1, "golay24-12" },
1805         {  0, NULL }
1806 };
1807 static per_choice_t H223AL3MParameters_headerFormat_choice[] = {
1808         {  0, "sebch16-7", EXTENSION_ROOT, 
1809                         dissect_h245_NULL },
1810         {  1, "golay24-12", EXTENSION_ROOT, 
1811                         dissect_h245_NULL },
1812         {  0, NULL, 0, NULL }
1813 };
1814 static int
1815 dissect_h245_H223AL3MParameters_headerFormat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1816 {
1817         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL3MParameters_headerFormat, ett_h245_H223AL3MParameters_headerFormat, H223AL3MParameters_headerFormat_choice, "headerFormat", NULL);
1818
1819         return offset;
1820 }
1821
1822
1823
1824
1825 static const value_string H223AL3MParameters_crcLength_vals[] = {
1826         {  0, "crc4bit" },
1827         {  1, "crc12bit" },
1828         {  2, "crc20bit" },
1829         {  3, "crc28bit" },
1830         {  4, "crc8bit" },
1831         {  5, "crc16bit" },
1832         {  6, "crc32bit" },
1833         {  7, "crcNotUsed" },
1834         {  0, NULL }
1835 };
1836 static per_choice_t H223AL3MParameters_crcLength_choice[] = {
1837         {  0, "crc4bit", EXTENSION_ROOT, 
1838                         dissect_h245_NULL },
1839         {  1, "crc12bit", EXTENSION_ROOT, 
1840                         dissect_h245_NULL },
1841         {  2, "crc20bit", EXTENSION_ROOT, 
1842                         dissect_h245_NULL },
1843         {  3, "crc28bit", EXTENSION_ROOT, 
1844                         dissect_h245_NULL },
1845         {  4, "crc8bit", NOT_EXTENSION_ROOT, 
1846                         dissect_h245_NULL },
1847         {  5, "crc16bit", NOT_EXTENSION_ROOT, 
1848                         dissect_h245_NULL },
1849         {  6, "crc32bit", NOT_EXTENSION_ROOT, 
1850                         dissect_h245_NULL },
1851         {  7, "crcNotUsed", NOT_EXTENSION_ROOT, 
1852                         dissect_h245_NULL },
1853         {  0, NULL, 0, NULL }
1854 };
1855 static int
1856 dissect_h245_H223AL3MParameters_crcLength(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1857 {
1858         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL3MParameters_crcLength, ett_h245_H223AL3MParameters_crcLength, H223AL3MParameters_crcLength_choice, "crcLength", NULL);
1859
1860         return offset;
1861 }
1862
1863
1864
1865
1866 static const value_string V76LogicalChannelParameters_suspendResume_vals[] = {
1867         {  0, "noSuspendResume" },
1868         {  1, "suspendResumewAddress" },
1869         {  2, "suspendResumewoAddress" },
1870         {  0, NULL }
1871 };
1872 static per_choice_t V76LogicalChannelParameters_suspendResume_choice[] = {
1873         {  0, "noSuspendResume", EXTENSION_ROOT, 
1874                         dissect_h245_NULL },
1875         {  1, "suspendResumewAddress", EXTENSION_ROOT, 
1876                         dissect_h245_NULL },
1877         {  2, "suspendResumewoAddress", EXTENSION_ROOT, 
1878                         dissect_h245_NULL },
1879         {  0, NULL, 0, NULL }
1880 };
1881 static int
1882 dissect_h245_V76LogicalChannelParameters_suspendResume(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1883 {
1884         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_V76LogicalChannelParameters_suspendResume, ett_h245_V76LogicalChannelParameters_suspendResume, V76LogicalChannelParameters_suspendResume_choice, "suspendResume", NULL);
1885
1886         return offset;
1887 }
1888
1889
1890
1891
1892 static const value_string V76LogicalChannelParameters_mode_eRM_recovery_vals[] = {
1893         {  0, "rej" },
1894         {  1, "sREJ" },
1895         {  2, "mSREJ" },
1896         {  0, NULL }
1897 };
1898 static per_choice_t V76LogicalChannelParameters_mode_eRM_recovery_choice[] = {
1899         {  0, "rej", EXTENSION_ROOT, 
1900                         dissect_h245_NULL },
1901         {  1, "sREJ", EXTENSION_ROOT, 
1902                         dissect_h245_NULL },
1903         {  2, "mSREJ", EXTENSION_ROOT, 
1904                         dissect_h245_NULL },
1905         {  0, NULL, 0, NULL }
1906 };
1907 static int
1908 dissect_h245_V76LogicalChannelParameters_mode_eRM_recovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1909 {
1910         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);
1911
1912         return offset;
1913 }
1914
1915
1916
1917
1918 static const value_string CRCLength_vals[] = {
1919         {  0, "crc8bit" },
1920         {  1, "crc16bit" },
1921         {  2, "crc32bit" },
1922         {  0, NULL }
1923 };
1924 static per_choice_t CRCLength_choice[] = {
1925         {  0, "crc8bit", EXTENSION_ROOT, 
1926                         dissect_h245_NULL },
1927         {  1, "crc16bit", EXTENSION_ROOT, 
1928                         dissect_h245_NULL },
1929         {  2, "crc32bit", EXTENSION_ROOT, 
1930                         dissect_h245_NULL },
1931         {  0, NULL, 0, NULL }
1932 };
1933 static int
1934 dissect_h245_CRCLength(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1935 {
1936         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CRCLength, ett_h245_CRCLength, CRCLength_choice, "CRCLength", NULL);
1937
1938         return offset;
1939 }
1940
1941
1942
1943
1944 static const value_string UnicastAddress_iPSourceRouteAddress_routing_vals[] = {
1945         {  0, "strict" },
1946         {  1, "loose" },
1947         {  0, NULL }
1948 };
1949 static per_choice_t UnicastAddress_iPSourceRouteAddress_routing_choice[] = {
1950         {  0, "strict", NO_EXTENSIONS, 
1951                         dissect_h245_NULL },
1952         {  1, "loose", NO_EXTENSIONS, 
1953                         dissect_h245_NULL },
1954         {  0, NULL, 0, NULL }
1955 };
1956 static int
1957 dissect_h245_UnicastAddress_iPSourceRouteAddress_routing(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1958 {
1959         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_UnicastAddress_iPSourceRouteAddress_routing, ett_h245_UnicastAddress_iPSourceRouteAddress_routing, UnicastAddress_iPSourceRouteAddress_routing_choice, "routing", NULL);
1960
1961         return offset;
1962 }
1963
1964
1965
1966
1967 static const value_string OpenLogicalChannelReject_cause_vals[] = {
1968         {  0, "unspecified" },
1969         {  1, "unsuitableReverseParameters" },
1970         {  2, "dataTypeNotSupported" },
1971         {  3, "dataTypeNotAvailable" },
1972         {  4, "unknownDataType" },
1973         {  5, "dataTypeALCombinationNotSupported" },
1974         {  6, "multicastChannelNotAllowed" },
1975         {  7, "insufficientBandwidth" },
1976         {  8, "separateStackEstablishmentFailed" },
1977         {  9, "invalidSessionID" },
1978         { 10, "masterSlaveConflict" },
1979         { 11, "waitForCommunicationMode" },
1980         { 12, "invalidDependentChannel" },
1981         { 13, "replacementForRejected" },
1982         {  0, NULL }
1983 };
1984 static per_choice_t OpenLogicalChannelReject_cause_choice[] = {
1985         {  0, "unspecified", EXTENSION_ROOT, 
1986                         dissect_h245_NULL },
1987         {  1, "unsuitableReverseParameters", EXTENSION_ROOT, 
1988                         dissect_h245_NULL },
1989         {  2, "dataTypeNotSupported", EXTENSION_ROOT, 
1990                         dissect_h245_NULL },
1991         {  3, "dataTypeNotAvailable", EXTENSION_ROOT, 
1992                         dissect_h245_NULL },
1993         {  4, "unknownDataType", EXTENSION_ROOT, 
1994                         dissect_h245_NULL },
1995         {  5, "dataTypeALCombinationNotSupported", EXTENSION_ROOT, 
1996                         dissect_h245_NULL },
1997         {  6, "multicastChannelNotAllowed", NOT_EXTENSION_ROOT, 
1998                         dissect_h245_NULL },
1999         {  7, "insufficientBandwidth", NOT_EXTENSION_ROOT, 
2000                         dissect_h245_NULL },
2001         {  8, "separateStackEstablishmentFailed", NOT_EXTENSION_ROOT, 
2002                         dissect_h245_NULL },
2003         {  9, "invalidSessionID", NOT_EXTENSION_ROOT, 
2004                         dissect_h245_NULL },
2005         { 10, "masterSlaveConflict", NOT_EXTENSION_ROOT, 
2006                         dissect_h245_NULL },
2007         { 11, "waitForCommunicationMode", NOT_EXTENSION_ROOT, 
2008                         dissect_h245_NULL },
2009         { 12, "invalidDependentChannel", NOT_EXTENSION_ROOT, 
2010                         dissect_h245_NULL },
2011         { 13, "replacementForRejected", NOT_EXTENSION_ROOT, 
2012                         dissect_h245_NULL },
2013         {  0, NULL, 0, NULL }
2014 };
2015 static int
2016 dissect_h245_OpenLogicalChannelReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2017 {
2018         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelReject_cause, ett_h245_OpenLogicalChannelReject_cause, OpenLogicalChannelReject_cause_choice, "cause", NULL);
2019
2020         return offset;
2021 }
2022
2023
2024
2025 static const value_string CloseLogicalChannel_source_vals[] = {
2026         {  0, "user" },
2027         {  1, "lcse" },
2028         {  0, NULL }
2029 };
2030 static per_choice_t CloseLogicalChannel_source_choice[] = {
2031         {  0, "user", NO_EXTENSIONS, 
2032                         dissect_h245_NULL },
2033         {  1, "lcse", NO_EXTENSIONS, 
2034                         dissect_h245_NULL },
2035         {  0, NULL, 0, NULL }
2036 };
2037 static int
2038 dissect_h245_CloseLogicalChannel_source(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2039 {
2040         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CloseLogicalChannel_source, ett_h245_CloseLogicalChannel_source, CloseLogicalChannel_source_choice, "source", NULL);
2041
2042         return offset;
2043 }
2044
2045
2046 static const value_string CloseLogicalChannel_reason_vals[] = {
2047         {  0, "unknown" },
2048         {  1, "reopen" },
2049         {  2, "reservationFailure" },
2050         {  0, NULL }
2051 };
2052 static per_choice_t CloseLogicalChannel_reason_choice[] = {
2053         {  0, "unknown", EXTENSION_ROOT, 
2054                         dissect_h245_NULL },
2055         {  1, "reopen", EXTENSION_ROOT, 
2056                         dissect_h245_NULL },
2057         {  2, "reservationFailure", EXTENSION_ROOT, 
2058                         dissect_h245_NULL },
2059         {  0, NULL, 0, NULL }
2060 };
2061 static int
2062 dissect_h245_CloseLogicalChannel_reason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2063 {
2064         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CloseLogicalChannel_reason, ett_h245_CloseLogicalChannel_reason, CloseLogicalChannel_reason_choice, "reason", NULL);
2065
2066         return offset;
2067 }
2068
2069
2070
2071 static const value_string RequestChannelClose_reason_vals[] = {
2072         {  0, "unknown" },
2073         {  1, "normal" },
2074         {  2, "reopen" },
2075         {  3, "reservationFailure" },
2076         {  0, NULL }
2077 };
2078 static per_choice_t RequestChannelClose_reason_choice[] = {
2079         {  0, "unknown", EXTENSION_ROOT, 
2080                         dissect_h245_NULL },
2081         {  1, "normal", EXTENSION_ROOT, 
2082                         dissect_h245_NULL },
2083         {  2, "reopen", EXTENSION_ROOT, 
2084                         dissect_h245_NULL },
2085         {  3, "reservationFailure", EXTENSION_ROOT, 
2086                         dissect_h245_NULL },
2087         {  0, NULL, 0, NULL }
2088 };
2089 static int
2090 dissect_h245_RequestChannelClose_reason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2091 {
2092         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestChannelClose_reason, ett_h245_RequestChannelClose_reason, RequestChannelClose_reason_choice, "reason", NULL);
2093
2094         return offset;
2095 }
2096
2097
2098
2099 static const value_string RequestChannelCloseReject_cause_vals[] = {
2100         {  0, "unspecified" },
2101         {  0, NULL }
2102 };
2103 static per_choice_t RequestChannelCloseReject_cause_choice[] = {
2104         {  0, "unspecified", EXTENSION_ROOT, 
2105                         dissect_h245_NULL },
2106         {  0, NULL, 0, NULL }
2107 };
2108 static int
2109 dissect_h245_RequestChannelCloseReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2110 {
2111         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestChannelCloseReject_cause, ett_h245_RequestChannelCloseReject_cause, RequestChannelCloseReject_cause_choice, "cause", NULL);
2112
2113         return offset;
2114 }
2115
2116
2117
2118
2119 static const value_string MultiplexEntryRejectionDescriptions_cause_vals[] = {
2120         {  0, "unspecifiedCause" },
2121         {  1, "descriptorTooComplex" },
2122         {  0, NULL }
2123 };
2124 static per_choice_t MultiplexEntryRejectionDescriptions_cause_choice[] = {
2125         {  0, "unspecifiedCause", EXTENSION_ROOT, 
2126                         dissect_h245_NULL },
2127         {  1, "descriptorTooComplex", EXTENSION_ROOT, 
2128                         dissect_h245_NULL },
2129         {  0, NULL, 0, NULL }
2130 };
2131 static int
2132 dissect_h245_MultiplexEntryRejectionDescriptions_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2133 {
2134         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultiplexEntryRejectionDescriptions_cause, ett_h245_MultiplexEntryRejectionDescriptions_cause, MultiplexEntryRejectionDescriptions_cause_choice, "cause", NULL);
2135
2136         return offset;
2137 }
2138
2139
2140
2141 static const value_string RequestMultiplexEntryRejectionDescriptions_cause_vals[] = {
2142         {  0, "unspecifiedCause" },
2143         {  0, NULL }
2144 };
2145 static per_choice_t RequestMultiplexEntryRejectionDescriptions_cause_choice[] = {
2146         {  0, "unspecifiedCause", EXTENSION_ROOT, 
2147                         dissect_h245_NULL },
2148         {  0, NULL, 0, NULL }
2149 };
2150 static int
2151 dissect_h245_RequestMultiplexEntryRejectionDescriptions_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2152 {
2153         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntryRejectionDescriptions_cause, ett_h245_RequestMultiplexEntryRejectionDescriptions_cause, RequestMultiplexEntryRejectionDescriptions_cause_choice, "cause", NULL);
2154
2155         return offset;
2156 }
2157
2158
2159
2160 static const value_string RequestModeReject_cause_vals[] = {
2161         {  0, "modeUnavailable" },
2162         {  1, "multipointConstraint" },
2163         {  2, "requestDenied" },
2164         {  0, NULL }
2165 };
2166 static per_choice_t RequestModeReject_cause_choice[] = {
2167         {  0, "modeUnavailable", EXTENSION_ROOT, 
2168                         dissect_h245_NULL },
2169         {  1, "multipointConstraint", EXTENSION_ROOT, 
2170                         dissect_h245_NULL },
2171         {  2, "requestDenied", EXTENSION_ROOT, 
2172                         dissect_h245_NULL },
2173         {  0, NULL, 0, NULL }
2174 };
2175 static int
2176 dissect_h245_RequestModeReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2177 {
2178         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestModeReject_cause, ett_h245_RequestModeReject_cause, RequestModeReject_cause_choice, "cause", NULL);
2179
2180         return offset;
2181 }
2182
2183
2184
2185
2186 static const value_string V76ModeParameters_vals[] = {
2187         {  0, "suspendResumewAddress" },
2188         {  1, "suspendResumewoAddress" },
2189         {  0, NULL }
2190 };
2191 static per_choice_t V76ModeParameters_choice[] = {
2192         {  0, "suspendResumewAddress", EXTENSION_ROOT, 
2193                         dissect_h245_NULL },
2194         {  1, "suspendResumewoAddress", EXTENSION_ROOT, 
2195                         dissect_h245_NULL },
2196         {  0, NULL, 0, NULL }
2197 };
2198 static int
2199 dissect_h245_V76ModeParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2200 {
2201         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_V76ModeParameters, ett_h245_V76ModeParameters, V76ModeParameters_choice, "V76ModeParameters", NULL);
2202
2203         return offset;
2204 }
2205
2206
2207
2208 static const value_string H262VideoMode_profileAndLevel_vals[] = {
2209         {  0, "profileAndLevel-SPatML" },
2210         {  1, "profileAndLevel-MPatLL" },
2211         {  2, "profileAndLevel-MPatML" },
2212         {  3, "profileAndLevel-MPatH-14" },
2213         {  4, "profileAndLevel-MPatHL" },
2214         {  5, "profileAndLevel-SNRatLL" },
2215         {  6, "profileAndLevel-SNRatML" },
2216         {  7, "profileAndLevel-SpatialH-14" },
2217         {  8, "profileAndLevel-HPatML" },
2218         {  9, "profileAndLevel-HPatH-14" },
2219         { 10, "profileAndLevel-HPatHL" },
2220         {  0, NULL }
2221 };
2222 static per_choice_t H262VideoMode_profileAndLevel_choice[] = {
2223         {  0, "profileAndLevel-SPatML", EXTENSION_ROOT, 
2224                         dissect_h245_NULL },
2225         {  1, "profileAndLevel-MPatLL", EXTENSION_ROOT, 
2226                         dissect_h245_NULL },
2227         {  2, "profileAndLevel-MPatML", EXTENSION_ROOT, 
2228                         dissect_h245_NULL },
2229         {  3, "profileAndLevel-MPatH-14", EXTENSION_ROOT, 
2230                         dissect_h245_NULL },
2231         {  4, "profileAndLevel-MPatHL", EXTENSION_ROOT, 
2232                         dissect_h245_NULL },
2233         {  5, "profileAndLevel-SNRatLL", EXTENSION_ROOT, 
2234                         dissect_h245_NULL },
2235         {  6, "profileAndLevel-SNRatML", EXTENSION_ROOT, 
2236                         dissect_h245_NULL },
2237         {  7, "profileAndLevel-SpatialH-14", EXTENSION_ROOT, 
2238                         dissect_h245_NULL },
2239         {  8, "profileAndLevel-HPatML", EXTENSION_ROOT, 
2240                         dissect_h245_NULL },
2241         {  9, "profileAndLevel-HPatH-14", EXTENSION_ROOT, 
2242                         dissect_h245_NULL },
2243         { 10, "profileAndLevel-HPatHL", EXTENSION_ROOT, 
2244                         dissect_h245_NULL },
2245         {  0, NULL, 0, NULL }
2246 };
2247 static int
2248 dissect_h245_H262VideoMode_profileAndLevel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2249 {
2250         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H262VideoMode_profileAndLevel, ett_h245_H262VideoMode_profileAndLevel, H262VideoMode_profileAndLevel_choice, "profileAndLevel", NULL);
2251
2252         return offset;
2253 }
2254
2255
2256
2257
2258 static const value_string H263VideoMode_resolution_vals[] = {
2259         {  0, "sqcif" },
2260         {  1, "qcif" },
2261         {  2, "cif" },
2262         {  3, "cif4" },
2263         {  4, "cif16" },
2264         {  5, "custom" },
2265         {  0, NULL }
2266 };
2267 static per_choice_t H263VideoMode_resolution_choice[] = {
2268         {  0, "sqcif", EXTENSION_ROOT, 
2269                         dissect_h245_NULL },
2270         {  1, "qcif", EXTENSION_ROOT, 
2271                         dissect_h245_NULL },
2272         {  2, "cif", EXTENSION_ROOT, 
2273                         dissect_h245_NULL },
2274         {  3, "cif4", EXTENSION_ROOT, 
2275                         dissect_h245_NULL },
2276         {  4, "cif16", EXTENSION_ROOT, 
2277                         dissect_h245_NULL },
2278         {  5, "custom", NOT_EXTENSION_ROOT, 
2279                         dissect_h245_NULL },
2280         {  0, NULL, 0, NULL }
2281 };
2282 static int
2283 dissect_h245_H263VideoMode_resolution(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2284 {
2285         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H263VideoMode_resolution, ett_h245_H263VideoMode_resolution, H263VideoMode_resolution_choice, "resolution", NULL);
2286
2287         return offset;
2288 }
2289
2290
2291 static const value_string AudioMode_g7231_vals[] = {
2292         {  0, "noSilenceSuppressionLowRate" },
2293         {  1, "noSilenceSuppressionHighRate" },
2294         {  2, "silenceSuppressionLowRate" },
2295         {  3, "silenceSuppressionHighRate" },
2296         {  0, NULL }
2297 };
2298 static per_choice_t AudioMode_g7231_choice[] = {
2299         {  0, "noSilenceSuppressionLowRate", NO_EXTENSIONS, 
2300                         dissect_h245_NULL },
2301         {  1, "noSilenceSuppressionHighRate", NO_EXTENSIONS, 
2302                         dissect_h245_NULL },
2303         {  2, "silenceSuppressionLowRate", NO_EXTENSIONS, 
2304                         dissect_h245_NULL },
2305         {  3, "silenceSuppressionHighRate", NO_EXTENSIONS, 
2306                         dissect_h245_NULL },
2307         {  0, NULL, 0, NULL }
2308 };
2309 static int
2310 dissect_h245_AudioMode_g7231(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2311 {
2312         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_AudioMode_g7231, ett_h245_AudioMode_g7231, AudioMode_g7231_choice, "g7231", NULL);
2313
2314         return offset;
2315 }
2316
2317
2318
2319 static const value_string IS11172AudioMode_audioLayer_vals[] = {
2320         {  0, "audioLayer1" },
2321         {  1, "audioLayer2" },
2322         {  2, "audioLayer3" },
2323         {  0, NULL }
2324 };
2325 static per_choice_t IS11172AudioMode_audioLayer_choice[] = {
2326         {  0, "audioLayer1", NO_EXTENSIONS, 
2327                         dissect_h245_NULL },
2328         {  1, "audioLayer2", NO_EXTENSIONS, 
2329                         dissect_h245_NULL },
2330         {  2, "audioLayer3", NO_EXTENSIONS, 
2331                         dissect_h245_NULL },
2332         {  0, NULL, 0, NULL }
2333 };
2334 static int
2335 dissect_h245_IS11172AudioMode_audioLayer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2336 {
2337         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS11172AudioMode_audioLayer, ett_h245_IS11172AudioMode_audioLayer, IS11172AudioMode_audioLayer_choice, "audioLayer", NULL);
2338
2339         return offset;
2340 }
2341
2342
2343
2344 static const value_string IS11172AudioMode_audioSampling_vals[] = {
2345         {  0, "audioSampling32k" },
2346         {  1, "audioSampling44k1" },
2347         {  2, "audioSampling48k" },
2348         {  0, NULL }
2349 };
2350 static per_choice_t IS11172AudioMode_audioSampling_choice[] = {
2351         {  0, "audioSampling32k", NO_EXTENSIONS, 
2352                         dissect_h245_NULL },
2353         {  1, "audioSampling44k1", NO_EXTENSIONS, 
2354                         dissect_h245_NULL },
2355         {  2, "audioSampling48k", NO_EXTENSIONS, 
2356                         dissect_h245_NULL },
2357         {  0, NULL, 0, NULL }
2358 };
2359 static int
2360 dissect_h245_IS11172AudioMode_audioSampling(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2361 {
2362         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS11172AudioMode_audioSampling, ett_h245_IS11172AudioMode_audioSampling, IS11172AudioMode_audioSampling_choice, "audioSampling", NULL);
2363
2364         return offset;
2365 }
2366
2367
2368
2369 static const value_string IS11172AudioMode_multichannelType_vals[] = {
2370         {  0, "singleChannel" },
2371         {  1, "twoChannelStereo" },
2372         {  2, "twoChannelDual" },
2373         {  0, NULL }
2374 };
2375 static per_choice_t IS11172AudioMode_multichannelType_choice[] = {
2376         {  0, "singleChannel", NO_EXTENSIONS, 
2377                         dissect_h245_NULL },
2378         {  1, "twoChannelStereo", NO_EXTENSIONS, 
2379                         dissect_h245_NULL },
2380         {  2, "twoChannelDual", NO_EXTENSIONS, 
2381                         dissect_h245_NULL },
2382         {  0, NULL, 0, NULL }
2383 };
2384 static int
2385 dissect_h245_IS11172AudioMode_multichannelType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2386 {
2387         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS11172AudioMode_multichannelType, ett_h245_IS11172AudioMode_multichannelType, IS11172AudioMode_multichannelType_choice, "multichannelType", NULL);
2388
2389         return offset;
2390 }
2391
2392
2393
2394
2395 static const value_string IS13818AudioMode_audioLayer_vals[] = {
2396         {  0, "audioLayer1" },
2397         {  1, "audioLayer2" },
2398         {  2, "audioLayer3" },
2399         {  0, NULL }
2400 };
2401 static per_choice_t IS13818AudioMode_audioLayer_choice[] = {
2402         {  0, "audioLayer1", NO_EXTENSIONS, 
2403                         dissect_h245_NULL },
2404         {  1, "audioLayer2", NO_EXTENSIONS, 
2405                         dissect_h245_NULL },
2406         {  2, "audioLayer3", NO_EXTENSIONS, 
2407                         dissect_h245_NULL },
2408         {  0, NULL, 0, NULL }
2409 };
2410 static int
2411 dissect_h245_IS13818AudioMode_audioLayer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2412 {
2413         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS13818AudioMode_audioLayer, ett_h245_IS13818AudioMode_audioLayer, IS13818AudioMode_audioLayer_choice, "audioLayer", NULL);
2414
2415         return offset;
2416 }
2417
2418
2419
2420
2421 static const value_string IS13818AudioMode_audioSampling_vals[] = {
2422         {  0, "audioSampling16k" },
2423         {  1, "audioSampling22k05" },
2424         {  2, "audioSampling24k" },
2425         {  3, "audioSampling32k" },
2426         {  4, "audioSampling44k1" },
2427         {  5, "audioSampling48k" },
2428         {  0, NULL }
2429 };
2430 static per_choice_t IS13818AudioMode_audioSampling_choice[] = {
2431         {  0, "audioSampling16k", NO_EXTENSIONS, 
2432                         dissect_h245_NULL },
2433         {  1, "audioSampling22k05", NO_EXTENSIONS, 
2434                         dissect_h245_NULL },
2435         {  2, "audioSampling24k", NO_EXTENSIONS, 
2436                         dissect_h245_NULL },
2437         {  3, "audioSampling32k", NO_EXTENSIONS, 
2438                         dissect_h245_NULL },
2439         {  4, "audioSampling44k1", NO_EXTENSIONS, 
2440                         dissect_h245_NULL },
2441         {  5, "audioSampling48k", NO_EXTENSIONS, 
2442                         dissect_h245_NULL },
2443         {  0, NULL, 0, NULL }
2444 };
2445 static int
2446 dissect_h245_IS13818AudioMode_audioSampling(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2447 {
2448         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS13818AudioMode_audioSampling, ett_h245_IS13818AudioMode_audioSampling, IS13818AudioMode_audioSampling_choice, "audioSampling", NULL);
2449
2450         return offset;
2451 }
2452
2453
2454
2455
2456 static const value_string IS13818AudioMode_multiChannelType_vals[] = {
2457         {  0, "singleChannel" },
2458         {  1, "twoChannelStereo" },
2459         {  2, "twoChannelDual" },
2460         {  3, "threeChannels2-1" },
2461         {  4, "threeChannels3-0" },
2462         {  5, "fourChannels2-0-2-0" },
2463         {  6, "fourChannels2-2" },
2464         {  7, "fourChannels3-1" },
2465         {  8, "fiveChannels3-0-2-0" },
2466         {  9, "fiveChannels3-2" },
2467         {  0, NULL }
2468 };
2469 static per_choice_t IS13818AudioMode_multiChannelType_choice[] = {
2470         {  0, "singleChannel", NO_EXTENSIONS, 
2471                         dissect_h245_NULL },
2472         {  1, "twoChannelStereo", NO_EXTENSIONS, 
2473                         dissect_h245_NULL },
2474         {  2, "twoChannelDual", NO_EXTENSIONS, 
2475                         dissect_h245_NULL },
2476         {  3, "threeChannels2-1", NO_EXTENSIONS, 
2477                         dissect_h245_NULL },
2478         {  4, "threeChannels3-0", NO_EXTENSIONS, 
2479                         dissect_h245_NULL },
2480         {  5, "fourChannels2-0-2-0", NO_EXTENSIONS, 
2481                         dissect_h245_NULL },
2482         {  6, "fourChannels2-2", NO_EXTENSIONS, 
2483                         dissect_h245_NULL },
2484         {  7, "fourChannels3-1", NO_EXTENSIONS, 
2485                         dissect_h245_NULL },
2486         {  8, "fiveChannels3-0-2-0", NO_EXTENSIONS, 
2487                         dissect_h245_NULL },
2488         {  9, "fiveChannels3-2", NO_EXTENSIONS, 
2489                         dissect_h245_NULL },
2490         {  0, NULL, 0, NULL }
2491 };
2492 static int
2493 dissect_h245_IS13818AudioMode_multiChannelType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2494 {
2495         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IS13818AudioMode_multiChannelType, ett_h245_IS13818AudioMode_multiChannelType, IS13818AudioMode_multiChannelType_choice, "multiChannelType", NULL);
2496
2497         return offset;
2498 }
2499
2500
2501
2502
2503 static const value_string MaintenanceLoopReject_cause_vals[] = {
2504         {  0, "canNotPerformLoop" },
2505         {  0, NULL }
2506 };
2507 static per_choice_t MaintenanceLoopReject_cause_choice[] = {
2508         {  0, "canNotPerformLoop", EXTENSION_ROOT, 
2509                         dissect_h245_NULL },
2510         {  0, NULL, 0, NULL }
2511 };
2512 static int
2513 dissect_h245_MaintenanceLoopReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2514 {
2515         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopReject_cause, ett_h245_MaintenanceLoopReject_cause, MaintenanceLoopReject_cause_choice, "cause", NULL);
2516
2517         return offset;
2518 }
2519
2520
2521
2522
2523 static const value_string ConferenceResponse_makeMeChairResponse_vals[] = {
2524         {  0, "grantedChairToken" },
2525         {  1, "deniedChairToken" },
2526         {  0, NULL }
2527 };
2528 static per_choice_t ConferenceResponse_makeMeChairResponse_choice[] = {
2529         {  0, "grantedChairToken", EXTENSION_ROOT, 
2530                         dissect_h245_NULL },
2531         {  1, "deniedChairToken", EXTENSION_ROOT, 
2532                         dissect_h245_NULL },
2533         {  0, NULL, 0, NULL }
2534 };
2535 static int
2536 dissect_h245_ConferenceResponse_makeMeChairResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2537 {
2538         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_makeMeChairResponse, ett_h245_ConferenceResponse_makeMeChairResponse, ConferenceResponse_makeMeChairResponse_choice, "makeMeChairResponse", NULL);
2539
2540         return offset;
2541 }
2542
2543
2544
2545
2546 static const value_string ConferenceResponse_broadcastMyLogicalChannelResponse_vals[] = {
2547         {  0, "grantedBroadcastMyLogicalChannel" },
2548         {  1, "deniedBroadcastMyLogicalChannel" },
2549         {  0, NULL }
2550 };
2551 static per_choice_t ConferenceResponse_broadcastMyLogicalChannelResponse_choice[] = {
2552         {  0, "grantedBroadcastMyLogicalChannel", EXTENSION_ROOT, 
2553                         dissect_h245_NULL },
2554         {  1, "deniedBroadcastMyLogicalChannel", EXTENSION_ROOT, 
2555                         dissect_h245_NULL },
2556         {  0, NULL, 0, NULL }
2557 };
2558 static int
2559 dissect_h245_ConferenceResponse_broadcastMyLogicalChannelResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2560 {
2561         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_broadcastMyLogicalChannelResponse, ett_h245_ConferenceResponse_broadcastMyLogicalChannelResponse, ConferenceResponse_broadcastMyLogicalChannelResponse_choice, "broadcastMyLogicalChannelResponse", NULL);
2562
2563         return offset;
2564 }
2565
2566
2567
2568 static const value_string ConferenceResponse_makeTerminalBroadcasterResponse_vals[] = {
2569         {  0, "grantedMakeTerminalBroadcaster" },
2570         {  1, "deniedMakeTerminalBroadcaster" },
2571         {  0, NULL }
2572 };
2573 static per_choice_t ConferenceResponse_makeTerminalBroadcasterResponse_choice[] = {
2574         {  0, "grantedMakeTerminalBroadcaster", EXTENSION_ROOT, 
2575                         dissect_h245_NULL },
2576         {  1, "deniedMakeTerminalBroadcaster", EXTENSION_ROOT, 
2577                         dissect_h245_NULL },
2578         {  0, NULL, 0, NULL }
2579 };
2580 static int
2581 dissect_h245_ConferenceResponse_makeTerminalBroadcasterResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2582 {
2583         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_makeTerminalBroadcasterResponse, ett_h245_ConferenceResponse_makeTerminalBroadcasterResponse, ConferenceResponse_makeTerminalBroadcasterResponse_choice, "makeTerminalBroadcasterResponse", NULL);
2584
2585         return offset;
2586 }
2587
2588
2589
2590
2591 static const value_string ConferenceResponse_sendThisSourceResponse_vals[] = {
2592         {  0, "grantedSendThisSource" },
2593         {  1, "deniedSendThisSource" },
2594         {  0, NULL }
2595 };
2596 static per_choice_t ConferenceResponse_sendThisSourceResponse_choice[] = {
2597         {  0, "grantedSendThisSource", EXTENSION_ROOT, 
2598                         dissect_h245_NULL },
2599         {  1, "deniedSendThisSource", EXTENSION_ROOT, 
2600                         dissect_h245_NULL },
2601         {  0, NULL, 0, NULL }
2602 };
2603 static int
2604 dissect_h245_ConferenceResponse_sendThisSourceResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2605 {
2606         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_sendThisSourceResponse, ett_h245_ConferenceResponse_sendThisSourceResponse, ConferenceResponse_sendThisSourceResponse_choice, "sendThisSourceResponse", NULL);
2607
2608         return offset;
2609 }
2610
2611
2612
2613 static const value_string RemoteMCRequest_vals[] = {
2614         {  0, "masterActivate" },
2615         {  1, "slaveActivate" },
2616         {  2, "deActivate" },
2617         {  0, NULL }
2618 };
2619 static per_choice_t RemoteMCRequest_choice[] = {
2620         {  0, "masterActivate", EXTENSION_ROOT, 
2621                         dissect_h245_NULL },
2622         {  1, "slaveActivate", EXTENSION_ROOT, 
2623                         dissect_h245_NULL },
2624         {  2, "deActivate", EXTENSION_ROOT, 
2625                         dissect_h245_NULL },
2626         {  0, NULL, 0, NULL }
2627 };
2628 static int
2629 dissect_h245_RemoteMCRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2630 {
2631         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RemoteMCRequest, ett_h245_RemoteMCRequest, RemoteMCRequest_choice, "RemoteMCRequest", NULL);
2632
2633         return offset;
2634 }
2635
2636
2637
2638
2639 static const value_string RemoteMCResponse_reject_vals[] = {
2640         {  0, "unspecified" },
2641         {  1, "functionNotSupported" },
2642         {  0, NULL }
2643 };
2644 static per_choice_t RemoteMCResponse_reject_choice[] = {
2645         {  0, "unspecified", EXTENSION_ROOT, 
2646                         dissect_h245_NULL },
2647         {  1, "functionNotSupported", EXTENSION_ROOT, 
2648                         dissect_h245_NULL },
2649         {  0, NULL, 0, NULL }
2650 };
2651 static int
2652 dissect_h245_RemoteMCResponse_reject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2653 {
2654         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RemoteMCResponse_reject, ett_h245_RemoteMCResponse_reject, RemoteMCResponse_reject_choice, "reject", NULL);
2655
2656         return offset;
2657 }
2658
2659
2660
2661
2662 static const value_string RemoteMCResponse_vals[] = {
2663         {  0, "accept" },
2664         {  1, "reject" },
2665         {  0, NULL }
2666 };
2667 static per_choice_t RemoteMCResponse_choice[] = {
2668         {  0, "accept", EXTENSION_ROOT, 
2669                         dissect_h245_NULL },
2670         {  1, "reject", EXTENSION_ROOT, 
2671                         dissect_h245_RemoteMCResponse_reject },
2672         {  0, NULL, 0, NULL }
2673 };
2674 static int
2675 dissect_h245_RemoteMCResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2676 {
2677         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RemoteMCResponse, ett_h245_RemoteMCResponse, RemoteMCResponse_choice, "RemoteMCResponse", NULL);
2678
2679         return offset;
2680 }
2681
2682
2683
2684
2685 static const value_string MultilinkResponse_addConnection_responseCode_rejected_vals[] = {
2686         {  0, "connectionNotAvailable" },
2687         {  1, "userRejected" },
2688         {  0, NULL }
2689 };
2690 static per_choice_t MultilinkResponse_addConnection_responseCode_rejected_choice[] = {
2691         {  0, "connectionNotAvailable", EXTENSION_ROOT, 
2692                         dissect_h245_NULL },
2693         {  1, "userRejected", EXTENSION_ROOT, 
2694                         dissect_h245_NULL },
2695         {  0, NULL, 0, NULL }
2696 };
2697 static int
2698 dissect_h245_MultilinkResponse_addConnection_responseCode_rejected(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2699 {
2700         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);
2701
2702         return offset;
2703 }
2704
2705
2706
2707 static const value_string MultilinkResponse_addConnection_responseCode_vals[] = {
2708         {  0, "accepted" },
2709         {  1, "rejected" },
2710         {  0, NULL }
2711 };
2712 static per_choice_t MultilinkResponse_addConnection_responseCode_choice[] = {
2713         {  0, "accepted", EXTENSION_ROOT, 
2714                         dissect_h245_NULL },
2715         {  1, "rejected", EXTENSION_ROOT, 
2716                         dissect_h245_MultilinkResponse_addConnection_responseCode_rejected },
2717         {  0, NULL, 0, NULL }
2718 };
2719 static int
2720 dissect_h245_MultilinkResponse_addConnection_responseCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2721 {
2722         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse_addConnection_responseCode, ett_h245_MultilinkResponse_addConnection_responseCode, MultilinkResponse_addConnection_responseCode_choice, "responseCode", NULL);
2723
2724         return offset;
2725 }
2726
2727
2728
2729 static const value_string LogicalChannelRateRejectReason_vals[] = {
2730         {  0, "undefinedReason" },
2731         {  1, "insufficientResources" },
2732         {  0, NULL }
2733 };
2734 static per_choice_t LogicalChannelRateRejectReason_choice[] = {
2735         {  0, "undefinedReason", EXTENSION_ROOT, 
2736                         dissect_h245_NULL },
2737         {  1, "insufficientResources", EXTENSION_ROOT, 
2738                         dissect_h245_NULL },
2739         {  0, NULL, 0, NULL }
2740 };
2741 static int
2742 dissect_h245_LogicalChannelRateRejectReason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2743 {
2744         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_LogicalChannelRateRejectReason, ett_h245_LogicalChannelRateRejectReason, LogicalChannelRateRejectReason_choice, "LogicalChannelRateRejectReason", NULL);
2745
2746         return offset;
2747 }
2748
2749
2750
2751
2752 static const value_string EndSessionCommand_gstnOptions_vals[] = {
2753         {  0, "telephonyMode" },
2754         {  1, "v8bis" },
2755         {  2, "v34DSVD" },
2756         {  3, "v34DuplexFax" },
2757         {  4, "v34H324" },
2758         {  0, NULL }
2759 };
2760 static per_choice_t EndSessionCommand_gstnOptions_choice[] = {
2761         {  0, "telephonyMode", EXTENSION_ROOT, 
2762                         dissect_h245_NULL },
2763         {  1, "v8bis", EXTENSION_ROOT, 
2764                         dissect_h245_NULL },
2765         {  2, "v34DSVD", EXTENSION_ROOT, 
2766                         dissect_h245_NULL },
2767         {  3, "v34DuplexFax", EXTENSION_ROOT, 
2768                         dissect_h245_NULL },
2769         {  4, "v34H324", EXTENSION_ROOT, 
2770                         dissect_h245_NULL },
2771         {  0, NULL, 0, NULL }
2772 };
2773 static int
2774 dissect_h245_EndSessionCommand_gstnOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2775 {
2776         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_EndSessionCommand_gstnOptions, ett_h245_EndSessionCommand_gstnOptions, EndSessionCommand_gstnOptions_choice, "gstnOptions", NULL);
2777
2778         return offset;
2779 }
2780
2781
2782
2783
2784 static const value_string EndSessionCommand_isdnOptions_vals[] = {
2785         {  0, "telephonyMode" },
2786         {  1, "v140" },
2787         {  2, "terminalOnHold" },
2788         {  0, NULL }
2789 };
2790 static per_choice_t EndSessionCommand_isdnOptions_choice[] = {
2791         {  0, "telephonyMode", EXTENSION_ROOT, 
2792                         dissect_h245_NULL },
2793         {  1, "v140", EXTENSION_ROOT, 
2794                         dissect_h245_NULL },
2795         {  2, "terminalOnHold", EXTENSION_ROOT, 
2796                         dissect_h245_NULL },
2797         {  0, NULL, 0, NULL }
2798 };
2799 static int
2800 dissect_h245_EndSessionCommand_isdnOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2801 {
2802         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_EndSessionCommand_isdnOptions, ett_h245_EndSessionCommand_isdnOptions, EndSessionCommand_isdnOptions_choice, "isdnOptions", NULL);
2803
2804         return offset;
2805 }
2806
2807
2808
2809
2810 static const value_string MiscellaneousCommand_type_progressiveRefinementStart_repeatCount_vals[] = {
2811         {  0, "doOneProgression" },
2812         {  1, "doContinousProgressions" },
2813         {  2, "doOneIndependentProgression" },
2814         {  3, "doContinousIndependentProgressions" },
2815         {  0, NULL }
2816 };
2817 static per_choice_t MiscellaneousCommand_type_progressiveRefinementStart_repeatCount_choice[] = {
2818         {  0, "doOneProgression", EXTENSION_ROOT, 
2819                         dissect_h245_NULL },
2820         {  1, "doContinousProgressions", EXTENSION_ROOT, 
2821                         dissect_h245_NULL },
2822         {  2, "doOneIndependentProgression", EXTENSION_ROOT, 
2823                         dissect_h245_NULL },
2824         {  3, "doContinousIndependentProgressions", EXTENSION_ROOT, 
2825                         dissect_h245_NULL },
2826         {  0, NULL, 0, NULL }
2827 };
2828 static int
2829 dissect_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2830 {
2831         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);
2832
2833         return offset;
2834 }
2835
2836
2837
2838 static per_sequence_t MiscellaneousCommand_type_progressiveRefinementStart_sequence[] = {
2839         { "repeatCount", EXTENSION_ROOT, NOT_OPTIONAL, 
2840                 dissect_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount },
2841         { NULL, 0, 0, NULL }
2842 };
2843 static int
2844 dissect_h245_MiscellaneousCommand_type_progressiveRefinementStart(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2845 {
2846         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type_progressiveRefinementStart, ett_h245_MiscellaneousCommand_type_progressiveRefinementStart, MiscellaneousCommand_type_progressiveRefinementStart_sequence);
2847
2848         return offset;
2849 }
2850
2851
2852
2853
2854 static const value_string H223MultiplexReconfiguration_h223ModeChange_vals[] = {
2855         {  0, "toLevel0" },
2856         {  1, "toLevel1" },
2857         {  2, "toLevel2" },
2858         {  3, "toLevel2WithOptionalHeader" },
2859         {  0, NULL }
2860 };
2861 static per_choice_t H223MultiplexReconfiguration_h223ModeChange_choice[] = {
2862         {  0, "toLevel0", EXTENSION_ROOT, 
2863                         dissect_h245_NULL },
2864         {  1, "toLevel1", EXTENSION_ROOT, 
2865                         dissect_h245_NULL },
2866         {  2, "toLevel2", EXTENSION_ROOT, 
2867                         dissect_h245_NULL },
2868         {  3, "toLevel2WithOptionalHeader", EXTENSION_ROOT, 
2869                         dissect_h245_NULL },
2870         {  0, NULL, 0, NULL }
2871 };
2872 static int
2873 dissect_h245_H223MultiplexReconfiguration_h223ModeChange(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2874 {
2875         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223MultiplexReconfiguration_h223ModeChange, ett_h245_H223MultiplexReconfiguration_h223ModeChange, H223MultiplexReconfiguration_h223ModeChange_choice, "h223ModeChange", NULL);
2876
2877         return offset;
2878 }
2879
2880
2881
2882
2883 static const value_string H223MultiplexReconfiguration_h223AnnexADoubleFlag_vals[] = {
2884         {  0, "start" },
2885         {  1, "stop" },
2886         {  0, NULL }
2887 };
2888 static per_choice_t H223MultiplexReconfiguration_h223AnnexADoubleFlag_choice[] = {
2889         {  0, "start", EXTENSION_ROOT, 
2890                         dissect_h245_NULL },
2891         {  1, "stop", EXTENSION_ROOT, 
2892                         dissect_h245_NULL },
2893         {  0, NULL, 0, NULL }
2894 };
2895 static int
2896 dissect_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2897 {
2898         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag, ett_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag, H223MultiplexReconfiguration_h223AnnexADoubleFlag_choice, "h223AnnexADoubleFlag", NULL);
2899
2900         return offset;
2901 }
2902
2903
2904
2905
2906 static const value_string H223MultiplexReconfiguration_vals[] = {
2907         {  0, "h233ModeChange" },
2908         {  1, "h223AnnexADoubleFlag" },
2909         {  0, NULL }
2910 };
2911 static per_choice_t H223MultiplexReconfiguration_choice[] = {
2912         {  0, "h233ModeChange", EXTENSION_ROOT, 
2913                         dissect_h245_H223MultiplexReconfiguration_h223ModeChange },
2914         {  1, "h223AnnexADoubleFlag", EXTENSION_ROOT, 
2915                         dissect_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag },
2916         {  0, NULL, 0, NULL }
2917 };
2918 static int
2919 dissect_h245_H223MultiplexReconfiguration(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2920 {
2921         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223MultiplexReconfiguration, ett_h245_H223MultiplexReconfiguration, H223MultiplexReconfiguration_choice, "H223MultiplexReconfiguration", NULL);
2922
2923         return offset;
2924 }
2925
2926
2927
2928
2929 static const value_string NewATMVCCommand_aal_aal1_clockRecovery_vals[] = {
2930         {  0, "nullClockRecovery" },
2931         {  1, "srtsClockRecovery" },
2932         {  2, "adaptiveClockRecovery" },
2933         {  0, NULL }
2934 };
2935 static per_choice_t NewATMVCCommand_aal_aal1_clockRecovery_choice[] = {
2936         {  0, "nullClockRecovery", EXTENSION_ROOT, 
2937                         dissect_h245_NULL },
2938         {  1, "srtsClockRecovery", EXTENSION_ROOT, 
2939                         dissect_h245_NULL },
2940         {  2, "adaptiveClockRecovery", EXTENSION_ROOT, 
2941                         dissect_h245_NULL },
2942         {  0, NULL, 0, NULL }
2943 };
2944 static int
2945 dissect_h245_NewATMVCCommand_aal_aal1_clockRecovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2946 {
2947         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);
2948
2949         return offset;
2950 }
2951
2952
2953
2954
2955
2956 static const value_string NewATMVCCommand_aal_aal1_errorCorrection_vals[] = {
2957         {  0, "nullErrorCorrection" },
2958         {  1, "longInterleaver" },
2959         {  2, "shortInterleaver" },
2960         {  3, "errorCorrectionOnly" },
2961         {  0, NULL }
2962 };
2963 static per_choice_t NewATMVCCommand_aal_aal1_errorCorrection_choice[] = {
2964         {  0, "nullErrorCorrection", EXTENSION_ROOT, 
2965                         dissect_h245_NULL },
2966         {  1, "longInterleaver", EXTENSION_ROOT, 
2967                         dissect_h245_NULL },
2968         {  2, "shortInterleaver", EXTENSION_ROOT, 
2969                         dissect_h245_NULL },
2970         {  3, "errorCorrectionOnly", EXTENSION_ROOT, 
2971                         dissect_h245_NULL },
2972         {  0, NULL, 0, NULL }
2973 };
2974 static int
2975 dissect_h245_NewATMVCCommand_aal_aal1_errorCorrection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2976 {
2977         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);
2978
2979         return offset;
2980 }
2981
2982
2983
2984
2985 static const value_string NewATMVCCommand_multiplex_vals[] = {
2986         {  0, "noMultiplex" },
2987         {  1, "transportStream" },
2988         {  2, "programStream" },
2989         {  0, NULL }
2990 };
2991 static per_choice_t NewATMVCCommand_multiplex_choice[] = {
2992         {  0, "noMultiplex", EXTENSION_ROOT, 
2993                         dissect_h245_NULL },
2994         {  1, "transportStream", EXTENSION_ROOT, 
2995                         dissect_h245_NULL },
2996         {  2, "programStream", EXTENSION_ROOT, 
2997                         dissect_h245_NULL },
2998         {  0, NULL, 0, NULL }
2999 };
3000 static int
3001 dissect_h245_NewATMVCCommand_multiplex(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3002 {
3003         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_multiplex, ett_h245_NewATMVCCommand_multiplex, NewATMVCCommand_multiplex_choice, "multiplex", NULL);
3004
3005         return offset;
3006 }
3007
3008
3009
3010
3011 static const value_string NewATMVCCommand_reverseParameters_multiplex_vals[] = {
3012         {  0, "noMultiplex" },
3013         {  1, "transportStream" },
3014         {  2, "programStream" },
3015         {  0, NULL }
3016 };
3017 static per_choice_t NewATMVCCommand_reverseParameters_multiplex_choice[] = {
3018         {  0, "noMultiplex", EXTENSION_ROOT, 
3019                         dissect_h245_NULL },
3020         {  1, "transportStream", EXTENSION_ROOT, 
3021                         dissect_h245_NULL },
3022         {  2, "programStream", EXTENSION_ROOT, 
3023                         dissect_h245_NULL },
3024         {  0, NULL, 0, NULL }
3025 };
3026 static int
3027 dissect_h245_NewATMVCCommand_reverseParameters_multiplex(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3028 {
3029         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_reverseParameters_multiplex, ett_h245_NewATMVCCommand_reverseParameters_multiplex, NewATMVCCommand_reverseParameters_multiplex_choice, "multiplex", NULL);
3030
3031         return offset;
3032 }
3033
3034
3035
3036 static const value_string MobileMultilinkReconfigurationCommand_status_vals[] = {
3037         {  0, "synchronized" },
3038         {  1, "reconfiguration" },
3039         {  0, NULL }
3040 };
3041 static per_choice_t MobileMultilinkReconfigurationCommand_status_choice[] = {
3042         {  0, "synchronized", EXTENSION_ROOT, 
3043                         dissect_h245_NULL },
3044         {  1, "reconfiguration", EXTENSION_ROOT, 
3045                         dissect_h245_NULL },
3046         {  0, NULL, 0, NULL }
3047 };
3048 static int
3049 dissect_h245_MobileMultilinkReconfigurationCommand_status(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3050 {
3051         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MobileMultilinkReconfigurationCommand_status, ett_h245_MobileMultilinkReconfigurationCommand_status, MobileMultilinkReconfigurationCommand_status_choice, "status", NULL);
3052
3053         return offset;
3054 }
3055
3056
3057
3058
3059 static const value_string FunctionNotSupported_cause_vals[] = {
3060         {  0, "syntaxError" },
3061         {  1, "semanticError" },
3062         {  2, "unknownFunction" },
3063         {  0, NULL }
3064 };
3065 static per_choice_t FunctionNotSupported_cause_choice[] = {
3066         {  0, "syntaxError", EXTENSION_ROOT, 
3067                         dissect_h245_NULL },
3068         {  1, "semanticError", EXTENSION_ROOT, 
3069                         dissect_h245_NULL },
3070         {  2, "unknownFunction", EXTENSION_ROOT, 
3071                         dissect_h245_NULL },
3072         {  0, NULL, 0, NULL }
3073 };
3074 static int
3075 dissect_h245_FunctionNotSupported_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3076 {
3077         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FunctionNotSupported_cause, ett_h245_FunctionNotSupported_cause, FunctionNotSupported_cause_choice, "cause", NULL);
3078
3079         return offset;
3080 }
3081
3082
3083
3084
3085 static const value_string NewATMVCIndication_aal_aal1_clockRecovery_vals[] = {
3086         {  0, "nullClockRecovery" },
3087         {  1, "srtsClockRecovery" },
3088         {  2, "adaptiveClockRecovery" },
3089         {  0, NULL }
3090 };
3091 static per_choice_t NewATMVCIndication_aal_aal1_clockRecovery_choice[] = {
3092         {  0, "nullClockRecovery", EXTENSION_ROOT, 
3093                         dissect_h245_NULL },
3094         {  1, "srtsClockRecovery", EXTENSION_ROOT, 
3095                         dissect_h245_NULL },
3096         {  2, "adaptiveClockRecovery", EXTENSION_ROOT, 
3097                         dissect_h245_NULL },
3098         {  0, NULL, 0, NULL }
3099 };
3100 static int
3101 dissect_h245_NewATMVCIndication_aal_aal1_clockRecovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3102 {
3103         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);
3104
3105         return offset;
3106 }
3107
3108
3109
3110 static const value_string NewATMVCIndication_aal_aal1_errorCorrection_vals[] = {
3111         {  0, "nullErrorCorrection" },
3112         {  1, "longInterleaver" },
3113         {  2, "shortInterleaver" },
3114         {  3, "errorCorrectionOnly" },
3115         {  0, NULL }
3116 };
3117 static per_choice_t NewATMVCIndication_aal_aal1_errorCorrection_choice[] = {
3118         {  0, "nullErrorCorrection", EXTENSION_ROOT, 
3119                         dissect_h245_NULL },
3120         {  1, "longInterleaver", EXTENSION_ROOT, 
3121                         dissect_h245_NULL },
3122         {  2, "shortInterleaver", EXTENSION_ROOT, 
3123                         dissect_h245_NULL },
3124         {  3, "errorCorrectionOnly", EXTENSION_ROOT, 
3125                         dissect_h245_NULL },
3126         {  0, NULL, 0, NULL }
3127 };
3128 static int
3129 dissect_h245_NewATMVCIndication_aal_aal1_errorCorrection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3130 {
3131         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);
3132
3133         return offset;
3134 }
3135
3136
3137
3138
3139 static const value_string NewATMVCIndication_multiplex_vals[] = {
3140         {  0, "noMultiplex" },
3141         {  1, "transportStream" },
3142         {  2, "programStream" },
3143         {  0, NULL }
3144 };
3145 static per_choice_t NewATMVCIndication_multiplex_choice[] = {
3146         {  0, "noMultiplex", EXTENSION_ROOT, 
3147                         dissect_h245_NULL },
3148         {  1, "transportStream", EXTENSION_ROOT, 
3149                         dissect_h245_NULL },
3150         {  2, "programStream", EXTENSION_ROOT, 
3151                         dissect_h245_NULL },
3152         {  0, NULL, 0, NULL }
3153 };
3154 static int
3155 dissect_h245_NewATMVCIndication_multiplex(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3156 {
3157         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_multiplex, ett_h245_NewATMVCIndication_multiplex, NewATMVCIndication_multiplex_choice, "multiplex", NULL);
3158
3159         return offset;
3160 }
3161
3162
3163
3164
3165 static const value_string NewATMVCIndication_reverseParameters_multiplex_vals[] = {
3166         {  0, "noMultiplex" },
3167         {  1, "transportStream" },
3168         {  2, "programStream" },
3169         {  0, NULL }
3170 };
3171 static per_choice_t NewATMVCIndication_reverseParameters_multiplex_choice[] = {
3172         {  0, "noMultiplex", EXTENSION_ROOT, 
3173                         dissect_h245_NULL },
3174         {  1, "transportStream", EXTENSION_ROOT, 
3175                         dissect_h245_NULL },
3176         {  2, "programStream", EXTENSION_ROOT, 
3177                         dissect_h245_NULL },
3178         {  0, NULL, 0, NULL }
3179 };
3180 static int
3181 dissect_h245_NewATMVCIndication_reverseParameters_multiplex(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3182 {
3183         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_reverseParameters_multiplex, ett_h245_NewATMVCIndication_reverseParameters_multiplex, NewATMVCIndication_reverseParameters_multiplex_choice, "multiplex", NULL);
3184
3185         return offset;
3186 }
3187
3188
3189
3190 static int
3191 dissect_h245_LogicalChannelNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3192 {
3193         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
3194                 tree, hf_h245_LogicalChannelNumber, 1, 65535, 
3195                 NULL, NULL, FALSE);
3196         return offset;
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, 0, 65535, 
3204                 NULL, NULL, FALSE);
3205         return offset;
3206 }
3207
3208
3209 static int
3210 dissect_h245_SequenceNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3211 {
3212         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
3213                 tree, hf_h245_SequenceNumber, 0, 255, 
3214                 NULL, NULL, FALSE);
3215         return offset;
3216 }
3217
3218
3219
3220
3221 static const value_string MaintenanceLoopRequest_type_vals[] = {
3222         {  0, "systemLoop" },
3223         {  1, "mediaLoop" },
3224         {  2, "logicalChannelLoop" },
3225         {  0, NULL }
3226 };
3227 static per_choice_t MaintenanceLoopRequest_type_choice[] = {
3228         {  0, "systemLoop", EXTENSION_ROOT, 
3229                         dissect_h245_NULL },
3230         {  1, "mediaLoop", EXTENSION_ROOT, 
3231                         dissect_h245_LogicalChannelNumber },
3232         {  2, "logicalChannelLoop", EXTENSION_ROOT, 
3233                         dissect_h245_LogicalChannelNumber },
3234         {  0, NULL, 0, NULL }
3235 };
3236 static int
3237 dissect_h245_MaintenanceLoopRequest_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3238 {
3239         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopRequest_type, ett_h245_MaintenanceLoopRequest_type, MaintenanceLoopRequest_type_choice, "type", NULL);
3240
3241         return offset;
3242 }
3243
3244
3245
3246
3247 static const value_string MaintenanceLoopAck_type_vals[] = {
3248         {  0, "systemLoop" },
3249         {  1, "mediaLoop" },
3250         {  2, "logicalChannelLoop" },
3251         {  0, NULL }
3252 };
3253 static per_choice_t MaintenanceLoopAck_type_choice[] = {
3254         {  0, "systemLoop", EXTENSION_ROOT, 
3255                         dissect_h245_NULL },
3256         {  1, "mediaLoop", EXTENSION_ROOT, 
3257                         dissect_h245_LogicalChannelNumber },
3258         {  2, "logicalChannelLoop", EXTENSION_ROOT, 
3259                         dissect_h245_LogicalChannelNumber },
3260         {  0, NULL, 0, NULL }
3261 };
3262 static int
3263 dissect_h245_MaintenanceLoopAck_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3264 {
3265         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopAck_type, ett_h245_MaintenanceLoopAck_type, MaintenanceLoopAck_type_choice, "type", NULL);
3266
3267         return offset;
3268 }
3269
3270
3271
3272
3273 static const value_string MaintenanceLoopReject_type_vals[] = {
3274         {  0, "systemLoop" },
3275         {  1, "mediaLoop" },
3276         {  2, "logicalChannelLoop" },
3277         {  0, NULL }
3278 };
3279 static per_choice_t MaintenanceLoopReject_type_choice[] = {
3280         {  0, "systemLoop", EXTENSION_ROOT, 
3281                         dissect_h245_NULL },
3282         {  1, "mediaLoop", EXTENSION_ROOT, 
3283                         dissect_h245_LogicalChannelNumber },
3284         {  2, "logicalChannelLoop", EXTENSION_ROOT, 
3285                         dissect_h245_LogicalChannelNumber },
3286         {  0, NULL, 0, NULL }
3287 };
3288 static int
3289 dissect_h245_MaintenanceLoopReject_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3290 {
3291         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopReject_type, ett_h245_MaintenanceLoopReject_type, MaintenanceLoopReject_type_choice, "type", NULL);
3292
3293         return offset;
3294 }
3295
3296
3297
3298
3299 static per_sequence_t OpenLogicalChannelReject_sequence[] = {
3300         { "forwardLogicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3301                 dissect_h245_LogicalChannelNumber },
3302         { "cause", EXTENSION_ROOT, NOT_OPTIONAL, 
3303                 dissect_h245_OpenLogicalChannelReject_cause },
3304         { NULL, 0, 0, NULL }
3305 };
3306 static int
3307 dissect_h245_OpenLogicalChannelReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3308 {
3309         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelReject, ett_h245_OpenLogicalChannelReject, OpenLogicalChannelReject_sequence);
3310
3311         return offset;
3312 }
3313
3314
3315
3316
3317 static per_sequence_t CloseLogicalChannel_sequence[] = {
3318         { "forwardLogicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3319                 dissect_h245_LogicalChannelNumber },
3320         { "source", EXTENSION_ROOT, NOT_OPTIONAL, 
3321                 dissect_h245_CloseLogicalChannel_source },
3322         { "reason", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
3323                 dissect_h245_CloseLogicalChannel_reason },
3324         { NULL, 0, 0, NULL }
3325 };
3326 static int
3327 dissect_h245_CloseLogicalChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3328 {
3329         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CloseLogicalChannel, ett_h245_CloseLogicalChannel, CloseLogicalChannel_sequence);
3330
3331         return offset;
3332 }
3333
3334
3335
3336
3337 static per_sequence_t CloseLogicalChannelAck_sequence[] = {
3338         { "forwardLogicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3339                 dissect_h245_LogicalChannelNumber },
3340         { NULL, 0, 0, NULL }
3341 };
3342 static int
3343 dissect_h245_CloseLogicalChannelAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3344 {
3345         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CloseLogicalChannelAck, ett_h245_CloseLogicalChannelAck, CloseLogicalChannelAck_sequence);
3346
3347         return offset;
3348 }
3349
3350
3351
3352
3353 static per_sequence_t RequestChannelCloseAck_sequence[] = {
3354         { "forwardLogiclChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3355                 dissect_h245_LogicalChannelNumber },
3356         { NULL, 0, 0, NULL }
3357 };
3358 static int
3359 dissect_h245_RequestChannelCloseAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3360 {
3361         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestChannelCloseAck, ett_h245_RequestChannelCloseAck, RequestChannelCloseAck_sequence);
3362
3363         return offset;
3364 }
3365
3366
3367
3368
3369 static per_sequence_t RequestChannelCloseReject_sequence[] = {
3370         { "forwardLogicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3371                 dissect_h245_LogicalChannelNumber },
3372         { "cause", EXTENSION_ROOT, NOT_OPTIONAL, 
3373                 dissect_h245_RequestChannelCloseReject_cause },
3374         { NULL, 0, 0, NULL }
3375 };
3376 static int
3377 dissect_h245_RequestChannelCloseReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3378 {
3379         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestChannelCloseReject, ett_h245_RequestChannelCloseReject, RequestChannelCloseReject_sequence);
3380
3381         return offset;
3382 }
3383
3384
3385
3386
3387 static per_sequence_t RequestChannelCloseRelease_sequence[] = {
3388         { "forwardLogicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3389                 dissect_h245_LogicalChannelNumber },
3390         { NULL, 0, 0, NULL }
3391 };
3392 static int
3393 dissect_h245_RequestChannelCloseRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3394 {
3395         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestChannelCloseRelease, ett_h245_RequestChannelCloseRelease, RequestChannelCloseRelease_sequence);
3396
3397         return offset;
3398 }
3399
3400
3401
3402
3403
3404 static per_sequence_t MultiplexedStreamModeParameters_sequence[] = {
3405         { "logicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3406                 dissect_h245_LogicalChannelNumber },
3407         { NULL, 0, 0, NULL }
3408 };
3409 static int
3410 dissect_h245_MultiplexedStreamModeParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3411 {
3412         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexedStreamModeParameters, ett_h245_MultiplexedStreamModeParameters, MultiplexedStreamModeParameters_sequence);
3413
3414         return offset;
3415 }
3416
3417
3418
3419
3420 static per_sequence_t MaintenanceLoopRequest_sequence[] = {
3421         { "type", EXTENSION_ROOT, NOT_OPTIONAL, 
3422                 dissect_h245_MaintenanceLoopRequest_type },
3423         { NULL, 0, 0, NULL }
3424 };
3425 static int
3426 dissect_h245_MaintenanceLoopRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3427 {
3428         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopRequest, ett_h245_MaintenanceLoopRequest, MaintenanceLoopRequest_sequence);
3429
3430         return offset;
3431 }
3432
3433
3434
3435
3436 static per_sequence_t MaintenanceLoopAck_sequence[] = {
3437         { "type", EXTENSION_ROOT, NOT_OPTIONAL, 
3438                 dissect_h245_MaintenanceLoopAck_type },
3439         { NULL, 0, 0, NULL }
3440 };
3441 static int
3442 dissect_h245_MaintenanceLoopAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3443 {
3444         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopAck, ett_h245_MaintenanceLoopAck, MaintenanceLoopAck_sequence);
3445
3446         return offset;
3447 }
3448
3449
3450
3451 static per_sequence_t MaintenanceLoopReject_sequence[] = {
3452         { "type", EXTENSION_ROOT, NOT_OPTIONAL, 
3453                         dissect_h245_MaintenanceLoopReject_type },
3454         { "cause", EXTENSION_ROOT, NOT_OPTIONAL, 
3455                         dissect_h245_MaintenanceLoopReject_cause },
3456         { NULL, 0, 0, NULL }
3457 };
3458 static int
3459 dissect_h245_MaintenanceLoopReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3460 {
3461         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopReject, ett_h245_MaintenanceLoopReject, MaintenanceLoopReject_sequence);
3462
3463         return offset;
3464 }
3465
3466
3467
3468 static per_sequence_t UserInputIndication_signalUpdate_rtp_sequence[] = {
3469         { "logicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3470                         dissect_h245_LogicalChannelNumber },
3471         { NULL, 0, 0, NULL }
3472 };
3473 static int
3474 dissect_h245_UserInputIndication_signalUpdate_rtp(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3475 {
3476         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_signalUpdate_rtp, ett_h245_UserInputIndication_signalUpdate_rtp, UserInputIndication_signalUpdate_rtp_sequence);
3477
3478         return offset;
3479 }
3480
3481
3482
3483 static per_sequence_t OpenLogicalChannelConfirm_sequence[] = {
3484         { "forwardLogicalChannelNumber",        EXTENSION_ROOT, NOT_OPTIONAL, 
3485                         dissect_h245_LogicalChannelNumber },
3486         { NULL, 0, 0, NULL }
3487 };
3488 static int
3489 dissect_h245_OpenLogicalChannelConfirm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3490 {
3491         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelConfirm, ett_h245_OpenLogicalChannelConfirm, OpenLogicalChannelConfirm_sequence);
3492
3493         return offset;
3494 }
3495
3496
3497
3498 static per_sequence_t TerminalCapabilitySetAck_sequence[] = {
3499         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3500                 dissect_h245_SequenceNumber },
3501         { NULL, 0, 0, NULL }
3502 };
3503 static int
3504 dissect_h245_TerminalCapabilitySetAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3505 {
3506         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySetAck, ett_h245_TerminalCapabilitySetAck, TerminalCapabilitySetAck_sequence);
3507
3508         return offset;
3509 }
3510
3511
3512
3513 static per_sequence_t RequestModeReject_sequence[] = {
3514         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3515                 dissect_h245_SequenceNumber },
3516         { "cause", EXTENSION_ROOT, NOT_OPTIONAL, 
3517                 dissect_h245_RequestModeReject_cause },
3518         { NULL, 0, 0, NULL }
3519 };
3520 static int
3521 dissect_h245_RequestModeReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3522 {
3523         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestModeReject, ett_h245_RequestModeReject, RequestModeReject_sequence);
3524
3525         return offset;
3526 }
3527
3528
3529
3530
3531 static per_sequence_t RoundTripDelayRequest_sequence[] = {
3532         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3533                 dissect_h245_SequenceNumber },
3534         { NULL, 0, 0, NULL }
3535 };
3536 static int
3537 dissect_h245_RoundTripDelayRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3538 {
3539         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RoundTripDelayRequest, ett_h245_RoundTripDelayRequest, RoundTripDelayRequest_sequence);
3540
3541         return offset;
3542 }
3543
3544
3545
3546
3547 static per_sequence_t RoundTripDelayResponse_sequence[] = {
3548         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3549                 dissect_h245_SequenceNumber },
3550         { NULL, 0, 0, NULL }
3551 };
3552 static int
3553 dissect_h245_RoundTripDelayResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3554 {
3555         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RoundTripDelayResponse, ett_h245_RoundTripDelayResponse, RoundTripDelayResponse_sequence);
3556
3557         return offset;
3558 }
3559
3560
3561
3562 static per_sequence_t MultilinkResponse_addConnection_sequence[] = {
3563         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
3564                 dissect_h245_SequenceNumber },
3565         { "responseCode", EXTENSION_ROOT, NOT_OPTIONAL, 
3566                 dissect_h245_MultilinkResponse_addConnection_responseCode },
3567         { NULL, 0, 0, NULL }
3568 };
3569 static int
3570 dissect_h245_MultilinkResponse_addConnection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3571 {
3572         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse_addConnection, ett_h245_MultilinkResponse_addConnection, MultilinkResponse_addConnection_sequence);
3573
3574         return offset;
3575 }
3576
3577
3578
3579
3580 static const true_false_string tfs_h233EncryptionTransmitCapability_bit = {
3581         "h233EncryptionTransmitCapability bit is SET",
3582         "h233EncryptionTransmitCapability bit is CLEAR"
3583 };
3584 static int
3585 dissect_h245_h233EncryptionTransmitCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3586 {
3587         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h233EncryptionTransmitCapability, NULL, NULL);
3588
3589         return offset;
3590 }
3591
3592
3593 static const true_false_string tfs_nullClockRecovery_bit = {
3594         "nullClockRecovery bit is SET",
3595         "nullClockRecovery bit is CLEAR"
3596 };
3597 static int
3598 dissect_h245_nullClockRecovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3599 {
3600         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_nullClockRecovery, NULL, NULL);
3601
3602         return offset;
3603 }
3604
3605
3606 static const true_false_string tfs_srtsClockRecovery_bit = {
3607         "srtsClockRecovery bit is SET",
3608         "srtsClockRecovery bit is CLEAR"
3609 };
3610 static int
3611 dissect_h245_srtsClockRecovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3612 {
3613         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_srtsClockRecovery, NULL, NULL);
3614
3615         return offset;
3616 }
3617
3618
3619
3620 static const true_false_string tfs_adaptiveClockRecovery_bit = {
3621         "adaptiveClockRecovery bit is SET",
3622         "adaptiveClockRecovery bit is CLEAR"
3623 };
3624 static int
3625 dissect_h245_adaptiveClockRecovery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3626 {
3627         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_adaptiveClockRecovery, NULL, NULL);
3628
3629         return offset;
3630 }
3631
3632
3633
3634
3635 static const true_false_string tfs_nullErrorCorrection_bit = {
3636         "nullErrorCorrection bit is SET",
3637         "nullErrorCorrection bit is CLEAR"
3638 };
3639 static int
3640 dissect_h245_nullErrorCorrection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3641 {
3642         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_nullErrorCorrection, NULL, NULL);
3643
3644         return offset;
3645 }
3646
3647
3648
3649 static const true_false_string tfs_longInterleaver_bit = {
3650         "longInterleaver bit is SET",
3651         "longInterleaver bit is CLEAR"
3652 };
3653 static int
3654 dissect_h245_longInterleaver(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3655 {
3656         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_longInterleaver, NULL, NULL);
3657
3658         return offset;
3659 }
3660
3661
3662
3663 static const true_false_string tfs_shortInterleaver_bit = {
3664         "shortInterleaver bit is SET",
3665         "shortInterleaver bit is CLEAR"
3666 };
3667 static int
3668 dissect_h245_shortInterleaver(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3669 {
3670         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_shortInterleaver, NULL, NULL);
3671
3672         return offset;
3673 }
3674
3675
3676
3677 static const true_false_string tfs_errorCorrectionOnly_bit = {
3678         "errorCorrectionOnly bit is SET",
3679         "errorCorrectionOnly bit is CLEAR"
3680 };
3681 static int
3682 dissect_h245_errorCorrectionOnly(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3683 {
3684         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_errorCorrectionOnly, NULL, NULL);
3685
3686         return offset;
3687 }
3688
3689
3690
3691
3692
3693 static const true_false_string tfs_structuredDataTransfer_bit = {
3694         "structuredDataTransfer bit is SET",
3695         "structuredDataTransfer bit is CLEAR"
3696 };
3697 static int
3698 dissect_h245_structuredDataTransfer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3699 {
3700         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_structuredDataTransfer, NULL, NULL);
3701
3702         return offset;
3703 }
3704
3705
3706
3707
3708
3709 static const true_false_string tfs_partiallyFilledCells_bit = {
3710         "partiallyFilledCells bit is SET",
3711         "partiallyFilledCells bit is CLEAR"
3712 };
3713 static int
3714 dissect_h245_partiallyFilledCells(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3715 {
3716         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_partiallyFilledCells, NULL, NULL);
3717
3718         return offset;
3719 }
3720
3721
3722
3723
3724 static per_sequence_t VCCapability_aal1_sequence[] = {
3725         { "nullClockRecovery", EXTENSION_ROOT, NOT_OPTIONAL, 
3726                 dissect_h245_nullClockRecovery },
3727         { "srtsClockRecovery", EXTENSION_ROOT, NOT_OPTIONAL, 
3728                 dissect_h245_srtsClockRecovery },
3729         { "adaptiveClockRecovery", EXTENSION_ROOT, NOT_OPTIONAL, 
3730                 dissect_h245_adaptiveClockRecovery },
3731         { "nullErrorCorrection", EXTENSION_ROOT, NOT_OPTIONAL, 
3732                 dissect_h245_nullErrorCorrection },
3733         { "longInterleaver", EXTENSION_ROOT, NOT_OPTIONAL, 
3734                 dissect_h245_longInterleaver },
3735         { "shortInterleaver", EXTENSION_ROOT, NOT_OPTIONAL, 
3736                 dissect_h245_shortInterleaver },
3737         { "errorCorrectionOnly", EXTENSION_ROOT, NOT_OPTIONAL, 
3738                 dissect_h245_errorCorrectionOnly },
3739         { "structuredDataTransfer", EXTENSION_ROOT, NOT_OPTIONAL, 
3740                 dissect_h245_structuredDataTransfer },
3741         { "partiallyFilledCells", EXTENSION_ROOT, NOT_OPTIONAL, 
3742                 dissect_h245_partiallyFilledCells },
3743         { NULL, 0, 0, NULL }
3744 };
3745 static int
3746 dissect_h245_VCCapability_aal1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3747 {
3748         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability_aal1, ett_h245_VCCapability_aal1, VCCapability_aal1_sequence);
3749
3750         return offset;
3751 }
3752
3753
3754
3755
3756
3757 static per_sequence_t NewATMVCCommand_aal_aal1_sequence[] = {
3758         { "clockRecovery", EXTENSION_ROOT, NOT_OPTIONAL, 
3759                 dissect_h245_NewATMVCCommand_aal_aal1_clockRecovery },
3760         { "errorCorrection", EXTENSION_ROOT, NOT_OPTIONAL, 
3761                 dissect_h245_NewATMVCCommand_aal_aal1_errorCorrection },
3762         { "structuredDataTransfer", EXTENSION_ROOT, NOT_OPTIONAL, 
3763                 dissect_h245_structuredDataTransfer },
3764         { "partiallyFilledCells", EXTENSION_ROOT, NOT_OPTIONAL, 
3765                 dissect_h245_partiallyFilledCells },
3766         { NULL, 0, 0, NULL }
3767 };
3768 static int
3769 dissect_h245_NewATMVCCommand_aal_aal1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3770 {
3771         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_aal_aal1, ett_h245_NewATMVCCommand_aal_aal1, NewATMVCCommand_aal_aal1_sequence);
3772
3773         return offset;
3774 }
3775
3776
3777
3778 static per_sequence_t NewATMVCIndication_aal_aal1_sequence[] = {
3779         { "clockRecovery", EXTENSION_ROOT, NOT_OPTIONAL, 
3780                 dissect_h245_NewATMVCIndication_aal_aal1_clockRecovery },
3781         { "errorCorrection", EXTENSION_ROOT, NOT_OPTIONAL, 
3782                 dissect_h245_NewATMVCIndication_aal_aal1_errorCorrection },
3783         { "structuredDataTransfer", EXTENSION_ROOT, NOT_OPTIONAL, 
3784                 dissect_h245_structuredDataTransfer },
3785         { "partiallyFilledCells", EXTENSION_ROOT, NOT_OPTIONAL, 
3786                 dissect_h245_partiallyFilledCells },
3787         { NULL, 0, 0, NULL }
3788 };
3789 static int
3790 dissect_h245_NewATMVCIndication_aal_aal1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3791 {
3792         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_aal_aal1, ett_h245_NewATMVCIndication_aal_aal1, NewATMVCIndication_aal_aal1_sequence);
3793
3794         return offset;
3795 }
3796
3797
3798
3799
3800
3801 static const true_false_string tfs_transportStream_bit = {
3802         "transportStream bit is SET",
3803         "transportStream bit is CLEAR"
3804 };
3805 static int
3806 dissect_h245_transportStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3807 {
3808         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_transportStream, NULL, NULL);
3809
3810         return offset;
3811 }
3812
3813
3814
3815
3816
3817 static const true_false_string tfs_programStream_bit = {
3818         "programStream bit is SET",
3819         "programStream bit is CLEAR"
3820 };
3821 static int
3822 dissect_h245_programStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3823 {
3824         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_programStream, NULL, NULL);
3825
3826         return offset;
3827 }
3828
3829
3830
3831
3832
3833 static const true_false_string tfs_videoWithAL1_bit = {
3834         "videoWithAL1 bit is SET",
3835         "videoWithAL1 bit is CLEAR"
3836 };
3837 static int
3838 dissect_h245_videoWithAL1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3839 {
3840         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL1, NULL, NULL);
3841
3842         return offset;
3843 }
3844
3845
3846
3847
3848
3849 static const true_false_string tfs_videoWithAL2_bit = {
3850         "videoWithAL2 bit is SET",
3851         "videoWithAL2 bit is CLEAR"
3852 };
3853 static int
3854 dissect_h245_videoWithAL2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3855 {
3856         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL2, NULL, NULL);
3857
3858         return offset;
3859 }
3860
3861
3862
3863
3864
3865 static const true_false_string tfs_videoWithAL3_bit = {
3866         "videoWithAL3 bit is SET",
3867         "videoWithAL3 bit is CLEAR"
3868 };
3869 static int
3870 dissect_h245_videoWithAL3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3871 {
3872         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL3, NULL, NULL);
3873
3874         return offset;
3875 }
3876
3877
3878
3879
3880
3881 static const true_false_string tfs_audioWithAL1_bit = {
3882         "audioWithAL1 bit is SET",
3883         "audioWithAL1 bit is CLEAR"
3884 };
3885 static int
3886 dissect_h245_audioWithAL1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3887 {
3888         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL1, NULL, NULL);
3889
3890         return offset;
3891 }
3892
3893
3894
3895
3896
3897 static const true_false_string tfs_audioWithAL2_bit = {
3898         "audioWithAL2 bit is SET",
3899         "audioWithAL2 bit is CLEAR"
3900 };
3901 static int
3902 dissect_h245_audioWithAL2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3903 {
3904         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL2, NULL, NULL);
3905
3906         return offset;
3907 }
3908
3909
3910
3911
3912
3913 static const true_false_string tfs_audioWithAL3_bit = {
3914         "audioWithAL3 bit is SET",
3915         "audioWithAL3 bit is CLEAR"
3916 };
3917 static int
3918 dissect_h245_audioWithAL3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3919 {
3920         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL3, NULL, NULL);
3921
3922         return offset;
3923 }
3924
3925
3926
3927
3928
3929 static const true_false_string tfs_dataWithAL1_bit = {
3930         "dataWithAL1 bit is SET",
3931         "dataWithAL1 bit is CLEAR"
3932 };
3933 static int
3934 dissect_h245_dataWithAL1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3935 {
3936         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL1, NULL, NULL);
3937
3938         return offset;
3939 }
3940
3941
3942
3943
3944
3945 static const true_false_string tfs_dataWithAL2_bit = {
3946         "dataWithAL2 bit is SET",
3947         "dataWithAL2 bit is CLEAR"
3948 };
3949 static int
3950 dissect_h245_dataWithAL2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3951 {
3952         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL2, NULL, NULL);
3953
3954         return offset;
3955 }
3956
3957
3958
3959
3960
3961 static const true_false_string tfs_dataWithAL3_bit = {
3962         "dataWithAL3 bit is SET",
3963         "dataWithAL3 bit is CLEAR"
3964 };
3965 static int
3966 dissect_h245_dataWithAL3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3967 {
3968         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL3, NULL, NULL);
3969
3970         return offset;
3971 }
3972
3973
3974
3975 static const true_false_string tfs_maxMUXPDUSizeCapability_bit = {
3976         "maxMUXPDUSizeCapability bit is SET",
3977         "maxMUXPDUSizeCapability bit is CLEAR"
3978 };
3979 static int
3980 dissect_h245_maxMUXPDUSizeCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3981 {
3982         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_maxMUXPDUSizeCapability, NULL, NULL);
3983
3984         return offset;
3985 }
3986
3987
3988
3989
3990
3991
3992 static const true_false_string tfs_nsrpSupport_bit = {
3993         "nsrpSupport bit is SET",
3994         "nsrpSupport bit is CLEAR"
3995 };
3996 static int
3997 dissect_h245_nsrpSupport(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3998 {
3999         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_nsrpSupport, NULL, NULL);
4000
4001         return offset;
4002 }
4003
4004
4005
4006
4007
4008 static const true_false_string tfs_modeChangeCapability_bit = {
4009         "modeChangeCapability bit is SET",
4010         "modeChangeCapability bit is CLEAR"
4011 };
4012 static int
4013 dissect_h245_modeChangeCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4014 {
4015         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_modeChangeCapability, NULL, NULL);
4016
4017         return offset;
4018 }
4019
4020
4021
4022
4023
4024 static const true_false_string tfs_h223AnnexA_bit = {
4025         "h223AnnexA bit is SET",
4026         "h223AnnexA bit is CLEAR"
4027 };
4028 static int
4029 dissect_h245_h223AnnexA(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4030 {
4031         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h223AnnexA, NULL, NULL);
4032
4033         return offset;
4034 }
4035
4036
4037
4038
4039
4040
4041 static const true_false_string tfs_h223AnnexADoubleFlag_bool_bit = {
4042         "h223AnnexADoubleFlag_bool bit is SET",
4043         "h223AnnexADoubleFlag_bool bit is CLEAR"
4044 };
4045 static int
4046 dissect_h245_h223AnnexADoubleFlag_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4047 {
4048         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h223AnnexADoubleFlag_bool, NULL, NULL);
4049
4050         return offset;
4051 }
4052
4053
4054
4055
4056
4057 static const true_false_string tfs_h223AnnexB_bit = {
4058         "h223AnnexB bit is SET",
4059         "h223AnnexB bit is CLEAR"
4060 };
4061 static int
4062 dissect_h245_h223AnnexB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4063 {
4064         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h223AnnexB, NULL, NULL);
4065
4066         return offset;
4067 }
4068
4069
4070
4071
4072
4073 static const true_false_string tfs_h223AnnexBwithHeader_bit = {
4074         "h223AnnexBwithHeader bit is SET",
4075         "h223AnnexBwithHeader bit is CLEAR"
4076 };
4077 static int
4078 dissect_h245_h223AnnexBwithHeader(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4079 {
4080         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h223AnnexBwithHeader, NULL, NULL);
4081
4082         return offset;
4083 }
4084
4085
4086
4087 static per_sequence_t H223Capability_mobileOperationTransmitCapability_sequence[] = {
4088         { "modeChangeCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
4089                 dissect_h245_modeChangeCapability },
4090         { "h223AnnexA", EXTENSION_ROOT, NOT_OPTIONAL, 
4091                 dissect_h245_h223AnnexA },
4092         { "h223AnnexADoubleFlag", EXTENSION_ROOT, NOT_OPTIONAL, 
4093                 dissect_h245_h223AnnexADoubleFlag_bool },
4094         { "h223AnnexB", EXTENSION_ROOT, NOT_OPTIONAL,
4095                 dissect_h245_h223AnnexB },
4096         { "h223AnnexBwithHeader", EXTENSION_ROOT, NOT_OPTIONAL, 
4097                 dissect_h245_h223AnnexBwithHeader },
4098         { NULL, 0, 0, NULL }
4099 };
4100 static int
4101 dissect_h245_H223Capability_mobileOperationTransmitCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4102 {
4103         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223Capability_mobileOperationTransmitCapability, ett_h245_H223Capability_mobileOperationTransmitCapability, H223Capability_mobileOperationTransmitCapability_sequence);
4104
4105         return offset;
4106 }
4107
4108
4109
4110
4111
4112 static const true_false_string tfs_videoWithAL1M_bit = {
4113         "videoWithAL1M bit is SET",
4114         "videoWithAL1M bit is CLEAR"
4115 };
4116 static int
4117 dissect_h245_videoWithAL1M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4118 {
4119         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL1M, NULL, NULL);
4120
4121         return offset;
4122 }
4123
4124
4125
4126
4127 static const true_false_string tfs_videoWithAL2M_bit = {
4128         "videoWithAL2M bit is SET",
4129         "videoWithAL2M bit is CLEAR"
4130 };
4131 static int
4132 dissect_h245_videoWithAL2M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4133 {
4134         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL2M, NULL, NULL);
4135
4136         return offset;
4137 }
4138
4139
4140
4141
4142
4143 static const true_false_string tfs_videoWithAL3M_bit = {
4144         "videoWithAL3M bit is SET",
4145         "videoWithAL3M bit is CLEAR"
4146 };
4147 static int
4148 dissect_h245_videoWithAL3M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4149 {
4150         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoWithAL3M, NULL, NULL);
4151
4152         return offset;
4153 }
4154
4155
4156
4157
4158
4159 static const true_false_string tfs_audioWithAL1M_bit = {
4160         "audioWithAL1M bit is SET",
4161         "audioWithAL1M bit is CLEAR"
4162 };
4163 static int
4164 dissect_h245_audioWithAL1M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4165 {
4166         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL1M, NULL, NULL);
4167
4168         return offset;
4169 }
4170
4171
4172
4173
4174
4175 static const true_false_string tfs_audioWithAL2M_bit = {
4176         "audioWithAL2M bit is SET",
4177         "audioWithAL2M bit is CLEAR"
4178 };
4179 static int
4180 dissect_h245_audioWithAL2M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4181 {
4182         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL2M, NULL, NULL);
4183
4184         return offset;
4185 }
4186
4187
4188
4189
4190
4191 static const true_false_string tfs_audioWithAL3M_bit = {
4192         "audioWithAL3M bit is SET",
4193         "audioWithAL3M bit is CLEAR"
4194 };
4195 static int
4196 dissect_h245_audioWithAL3M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4197 {
4198         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioWithAL3M, NULL, NULL);
4199
4200         return offset;
4201 }
4202
4203
4204
4205
4206
4207 static const true_false_string tfs_dataWithAL1M_bit = {
4208         "dataWithAL1M bit is SET",
4209         "dataWithAL1M bit is CLEAR"
4210 };
4211 static int
4212 dissect_h245_dataWithAL1M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4213 {
4214         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL1M, NULL, NULL);
4215
4216         return offset;
4217 }
4218
4219
4220
4221
4222
4223 static const true_false_string tfs_dataWithAL2M_bit = {
4224         "dataWithAL2M bit is SET",
4225         "dataWithAL2M bit is CLEAR"
4226 };
4227 static int
4228 dissect_h245_dataWithAL2M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4229 {
4230         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL2M, NULL, NULL);
4231
4232         return offset;
4233 }
4234
4235
4236
4237
4238
4239 static const true_false_string tfs_dataWithAL3M_bit = {
4240         "dataWithAL3M bit is SET",
4241         "dataWithAL3M bit is CLEAR"
4242 };
4243 static int
4244 dissect_h245_dataWithAL3M(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4245 {
4246         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataWithAL3M, NULL, NULL);
4247
4248         return offset;
4249 }
4250
4251
4252
4253
4254
4255 static const true_false_string tfs_alpduInterleaving_bit = {
4256         "alpduInterleaving bit is SET",
4257         "alpduInterleaving bit is CLEAR"
4258 };
4259 static int
4260 dissect_h245_alpduInterleaving(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4261 {
4262         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_alpduInterleaving, NULL, NULL);
4263
4264         return offset;
4265 }
4266
4267
4268
4269 static per_sequence_t H223AL2MParameters_sequence[] = {
4270         { "headerFEC", EXTENSION_ROOT, NOT_OPTIONAL, 
4271                 dissect_h245_H223AL2MParameters_headerFEC },
4272         { "alpduInterleaving", EXTENSION_ROOT, NOT_OPTIONAL, 
4273                 dissect_h245_alpduInterleaving },
4274         { NULL, 0, 0, NULL }
4275 };
4276 static int
4277 dissect_h245_H223AL2MParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4278 {
4279         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223AL2MParameters, ett_h245_H223AL2MParameters, H223AL2MParameters_sequence);
4280
4281         return offset;
4282 }
4283
4284
4285
4286
4287
4288 static const true_false_string tfs_rsCodeCapability_bit = {
4289         "rsCodeCapability bit is SET",
4290         "rsCodeCapability bit is CLEAR"
4291 };
4292 static int
4293 dissect_h245_rsCodeCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4294 {
4295         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_rsCodeCapability, NULL, NULL);
4296
4297         return offset;
4298 }
4299
4300
4301
4302
4303
4304 static const true_false_string tfs_suspendResumeCapabilitywAddress_bit = {
4305         "suspendResumeCapabilitywAddress bit is SET",
4306         "suspendResumeCapabilitywAddress bit is CLEAR"
4307 };
4308 static int
4309 dissect_h245_suspendResumeCapabilitywAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4310 {
4311         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_suspendResumeCapabilitywAddress, NULL, NULL);
4312
4313         return offset;
4314 }
4315
4316
4317
4318
4319
4320 static const true_false_string tfs_suspendResumeCapabilitywoAddress_bit = {
4321         "suspendResumeCapabilitywoAddress bit is SET",
4322         "suspendResumeCapabilitywoAddress bit is CLEAR"
4323 };
4324 static int
4325 dissect_h245_suspendResumeCapabilitywoAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4326 {
4327         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_suspendResumeCapabilitywoAddress, NULL, NULL);
4328
4329         return offset;
4330 }
4331
4332
4333
4334
4335
4336 static const true_false_string tfs_rejCapability_bit = {
4337         "rejCapability bit is SET",
4338         "rejCapability bit is CLEAR"
4339 };
4340 static int
4341 dissect_h245_rejCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4342 {
4343         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_rejCapability, NULL, NULL);
4344
4345         return offset;
4346 }
4347
4348
4349
4350
4351
4352 static const true_false_string tfs_sREJCapability_bit = {
4353         "sREJCapability bit is SET",
4354         "sREJCapability bit is CLEAR"
4355 };
4356 static int
4357 dissect_h245_sREJCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4358 {
4359         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_sREJCapability, NULL, NULL);
4360
4361         return offset;
4362 }
4363
4364
4365
4366
4367
4368
4369 static const true_false_string tfs_mREJCapability_bit = {
4370         "mREJCapability bit is SET",
4371         "mREJCapability bit is CLEAR"
4372 };
4373 static int
4374 dissect_h245_mREJCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4375 {
4376         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_mREJCapability, NULL, NULL);
4377
4378         return offset;
4379 }
4380
4381
4382
4383
4384
4385
4386 static const true_false_string tfs_crc8bitCapability_bit = {
4387         "crc8bitCapability bit is SET",
4388         "crc8bitCapability bit is CLEAR"
4389 };
4390 static int
4391 dissect_h245_crc8bitCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4392 {
4393         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_crc8bitCapability, NULL, NULL);
4394
4395         return offset;
4396 }
4397
4398
4399
4400
4401
4402 static const true_false_string tfs_crc16bitCapability_bit = {
4403         "crc16bitCapability bit is SET",
4404         "crc16bitCapability bit is CLEAR"
4405 };
4406 static int
4407 dissect_h245_crc16bitCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4408 {
4409         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_crc16bitCapability, NULL, NULL);
4410
4411         return offset;
4412 }
4413
4414
4415
4416
4417
4418
4419 static const true_false_string tfs_crc32bitCapability_bit = {
4420         "crc32bitCapability bit is SET",
4421         "crc32bitCapability bit is CLEAR"
4422 };
4423 static int
4424 dissect_h245_crc32bitCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4425 {
4426         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_crc32bitCapability, NULL, NULL);
4427
4428         return offset;
4429 }
4430
4431
4432
4433
4434
4435 static const true_false_string tfs_uihCapability_bit = {
4436         "uihCapability bit is SET",
4437         "uihCapability bit is CLEAR"
4438 };
4439 static int
4440 dissect_h245_uihCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4441 {
4442         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_uihCapability, NULL, NULL);
4443
4444         return offset;
4445 }
4446
4447
4448
4449
4450
4451 static const true_false_string tfs_twoOctetAddressFieldCapability_bit = {
4452         "twoOctetAddressFieldCapability bit is SET",
4453         "twoOctetAddressFieldCapability bit is CLEAR"
4454 };
4455 static int
4456 dissect_h245_twoOctetAddressFieldCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4457 {
4458         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_twoOctetAddressFieldCapability, NULL, NULL);
4459
4460         return offset;
4461 }
4462
4463
4464
4465
4466
4467 static const true_false_string tfs_loopBackTestCapability_bit = {
4468         "loopBackTestCapability bit is SET",
4469         "loopBackTestCapability bit is CLEAR"
4470 };
4471 static int
4472 dissect_h245_loopBackTestCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4473 {
4474         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_loopBackTestCapability, NULL, NULL);
4475
4476         return offset;
4477 }
4478
4479
4480
4481
4482
4483
4484 static const true_false_string tfs_audioHeader_bit = {
4485         "audioHeader bit is SET",
4486         "audioHeader bit is CLEAR"
4487 };
4488 static int
4489 dissect_h245_audioHeader(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4490 {
4491         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioHeader, NULL, NULL);
4492
4493         return offset;
4494 }
4495
4496
4497
4498 static per_sequence_t V75Capability_sequence[] = {
4499         { "audioHeader", EXTENSION_ROOT, NOT_OPTIONAL, 
4500                 dissect_h245_audioHeader },
4501         { NULL, 0, 0, NULL }
4502 };
4503 static int
4504 dissect_h245_V75Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4505 {
4506         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V75Capability, ett_h245_V75Capability, V75Capability_sequence);
4507
4508         return offset;
4509 }
4510
4511
4512
4513
4514
4515 static const true_false_string tfs_centralizedConferenceMC_bit = {
4516         "centralizedConferenceMC bit is SET",
4517         "centralizedConferenceMC bit is CLEAR"
4518 };
4519 static int
4520 dissect_h245_centralizedConferenceMC(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4521 {
4522         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_centralizedConferenceMC, NULL, NULL);
4523
4524         return offset;
4525 }
4526
4527
4528
4529
4530
4531 static const true_false_string tfs_decentralizedConferenceMC_bit = {
4532         "decentralizedConferenceMC bit is SET",
4533         "decentralizedConferenceMC bit is CLEAR"
4534 };
4535 static int
4536 dissect_h245_decentralizedConferenceMC(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4537 {
4538         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_decentralizedConferenceMC, NULL, NULL);
4539
4540         return offset;
4541 }
4542
4543
4544
4545
4546 static per_sequence_t H2250Capability_mcCapability_sequence[] = {
4547         { "centralizedConferenceMC", EXTENSION_ROOT, NOT_OPTIONAL, 
4548                 dissect_h245_centralizedConferenceMC },
4549         { "decentralizedConferenceMC", EXTENSION_ROOT, NOT_OPTIONAL,
4550                 dissect_h245_decentralizedConferenceMC },
4551         { NULL, 0, 0, NULL }
4552 };
4553 static int
4554 dissect_h245_H2250Capability_mcCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4555 {
4556         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250Capability_mcCapability, ett_h245_H2250Capability_mcCapability, H2250Capability_mcCapability_sequence);
4557
4558         return offset;
4559 }
4560
4561
4562
4563
4564
4565 static const true_false_string tfs_rtcpVideoControlCapability_bit = {
4566         "rtcpVideoControlCapability bit is SET",
4567         "rtcpVideoControlCapability bit is CLEAR"
4568 };
4569 static int
4570 dissect_h245_rtcpVideoControlCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4571 {
4572         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_rtcpVideoControlCapability, NULL, NULL);
4573
4574         return offset;
4575 }
4576
4577
4578
4579
4580
4581
4582 static const true_false_string tfs_logicalChannelSwitchingCapability_bit = {
4583         "logicalChannelSwitchingCapability bit is SET",
4584         "logicalChannelSwitchingCapability bit is CLEAR"
4585 };
4586 static int
4587 dissect_h245_logicalChannelSwitchingCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4588 {
4589         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_logicalChannelSwitchingCapability, NULL, NULL);
4590
4591         return offset;
4592 }
4593
4594
4595
4596
4597
4598 static const true_false_string tfs_t120DynamicPortCapability_bit = {
4599         "t120DynamicPortCapability bit is SET",
4600         "t120DynamicPortCapability bit is CLEAR"
4601 };
4602 static int
4603 dissect_h245_t120DynamicPortCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4604 {
4605         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_t120DynamicPortCapability, NULL, NULL);
4606
4607         return offset;
4608 }
4609
4610
4611
4612
4613
4614 static const true_false_string tfs_h261aVideoPacketization_bit = {
4615         "h261aVideoPacketization bit is SET",
4616         "h261aVideoPacketization bit is CLEAR"
4617 };
4618 static int
4619 dissect_h245_h261aVideoPacketization(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4620 {
4621         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_h261aVideoPacketization, NULL, NULL);
4622
4623         return offset;
4624 }
4625
4626
4627
4628
4629
4630 static const true_false_string tfs_atmUBR_bit = {
4631         "atmUBR bit is SET",
4632         "atmUBR bit is CLEAR"
4633 };
4634 static int
4635 dissect_h245_atmUBR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4636 {
4637         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_atmUBR, NULL, NULL);
4638
4639         return offset;
4640 }
4641
4642
4643
4644
4645 static const true_false_string tfs_atmrtVBR_bit = {
4646         "atmrtVBR bit is SET",
4647         "atmrtVBR bit is CLEAR"
4648 };
4649 static int
4650 dissect_h245_atmrtVBR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4651 {
4652         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_atmrtVBR, NULL, NULL);
4653
4654         return offset;
4655 }
4656
4657
4658
4659
4660
4661 static const true_false_string tfs_atmnrtVBR_bit = {
4662         "atmnrtVBR bit is SET",
4663         "atmnrtVBR bit is CLEAR"
4664 };
4665 static int
4666 dissect_h245_atmnrtVBR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4667 {
4668         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_atmnrtVBR, NULL, NULL);
4669
4670         return offset;
4671 }
4672
4673
4674
4675
4676
4677 static const true_false_string tfs_atmABR_bit = {
4678         "atmABR bit is SET",
4679         "atmABR bit is CLEAR"
4680 };
4681 static int
4682 dissect_h245_atmABR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4683 {
4684         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_atmABR, NULL, NULL);
4685
4686         return offset;
4687 }
4688
4689
4690
4691
4692
4693
4694 static const true_false_string tfs_atmCBR_bit = {
4695         "atmCBR bit is SET",
4696         "atmCBR bit is CLEAR"
4697 };
4698 static int
4699 dissect_h245_atmCBR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4700 {
4701         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_atmCBR, NULL, NULL);
4702
4703         return offset;
4704 }
4705
4706
4707
4708
4709
4710 static const true_false_string tfs_variableDelta_bit = {
4711         "variableDelta bit is SET",
4712         "variableDelta bit is CLEAR"
4713 };
4714 static int
4715 dissect_h245_variableDelta(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4716 {
4717         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_variableDelta, NULL, NULL);
4718
4719         return offset;
4720 }
4721
4722
4723
4724 static per_sequence_t MediaTransportType_AtmAAL5Compressed_sequence[] = {
4725         { "variable-delta", EXTENSION_ROOT, NOT_OPTIONAL, 
4726                 dissect_h245_variableDelta },
4727         { NULL, 0, 0, NULL }
4728 };
4729 static int
4730 dissect_h245_MediaTransportType_AtmAAL5Compressed(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4731 {
4732         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MediaTransportType_AtmAAL5Compressed, ett_h245_MediaTransportType_AtmAAL5Compressed, MediaTransportType_AtmAAL5Compressed_sequence);
4733
4734         return offset;
4735 }
4736
4737
4738
4739
4740 static const value_string MediaTransportType_vals[] = {
4741         {  0, "ip-UDP" },
4742         {  1, "ip-TCP" },
4743         {  2, "atm-AAL5-UNIDIR" },
4744         {  3, "atm-AAL5-BIDIR" },
4745         {  4, "atm-AAL5-compressed" },
4746         {  0, NULL }
4747 };
4748 static per_choice_t MediaTransportType_choice[] = {
4749         {  0, "ip-UDP", EXTENSION_ROOT, 
4750                         dissect_h245_NULL },
4751         {  1, "ip-TCP", EXTENSION_ROOT, 
4752                         dissect_h245_NULL },
4753         {  2, "atm-AAL5-UNIDIR", EXTENSION_ROOT, 
4754                         dissect_h245_NULL },
4755         {  3, "atm-AAL5-BIDIR", EXTENSION_ROOT, 
4756                         dissect_h245_NULL },
4757         {  4, "atm-AAL5-compressed", NOT_EXTENSION_ROOT, 
4758                         dissect_h245_MediaTransportType_AtmAAL5Compressed },
4759         {  0, NULL, 0, NULL }
4760 };
4761 static int
4762 dissect_h245_MediaTransportType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4763 {
4764         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MediaTransportType, ett_h245_MediaTransportType, MediaTransportType_choice, "MediaTransportType", NULL);
4765
4766         return offset;
4767 }
4768
4769
4770
4771 static per_sequence_t MediaChannelCapability_sequence[] = {
4772         { "mediaTransport", EXTENSION_ROOT, OPTIONAL, 
4773                 dissect_h245_MediaTransportType },
4774         { NULL, 0, 0, NULL }
4775 };
4776 static int
4777 dissect_h245_MediaChannelCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4778 {
4779         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MediaChannelCapability, ett_h245_MediaChannelCapability, MediaChannelCapability_sequence);
4780
4781         return offset;
4782 }
4783
4784
4785
4786
4787
4788 static const true_false_string tfs_multicastCapability_bit = {
4789         "multicastCapability bit is SET",
4790         "multicastCapability bit is CLEAR"
4791 };
4792 static int
4793 dissect_h245_multicastCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4794 {
4795         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_multicastCapability, NULL, NULL);
4796
4797         return offset;
4798 }
4799
4800
4801
4802
4803
4804
4805 static const true_false_string tfs_multiUniCastConference_bit = {
4806         "multiUniCastConference bit is SET",
4807         "multiUniCastConference bit is CLEAR"
4808 };
4809 static int
4810 dissect_h245_multiUniCastConference(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4811 {
4812         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_multiUniCastConference, NULL, NULL);
4813
4814         return offset;
4815 }
4816
4817
4818
4819
4820
4821 static const true_false_string tfs_centralizedControl_bit = {
4822         "centralizedControl bit is SET",
4823         "centralizedControl bit is CLEAR"
4824 };
4825 static int
4826 dissect_h245_centralizedControl(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4827 {
4828         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_centralizedControl, NULL, NULL);
4829
4830         return offset;
4831 }
4832
4833
4834
4835
4836
4837 static const true_false_string tfs_distributedControl_bit = {
4838         "distributedControl bit is SET",
4839         "distributedControl bit is CLEAR"
4840 };
4841 static int
4842 dissect_h245_distributedControl(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4843 {
4844         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_distributedControl, NULL, NULL);
4845
4846         return offset;
4847 }
4848
4849
4850
4851
4852
4853 static const true_false_string tfs_centralizedAudio_bit = {
4854         "centralizedAudio bit is SET",
4855         "centralizedAudio bit is CLEAR"
4856 };
4857 static int
4858 dissect_h245_centralizedAudio(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4859 {
4860         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_centralizedAudio, NULL, NULL);
4861
4862         return offset;
4863 }
4864
4865
4866
4867
4868
4869 static const true_false_string tfs_distributedAudio_bit = {
4870         "distributedAudio bit is SET",
4871         "distributedAudio bit is CLEAR"
4872 };
4873 static int
4874 dissect_h245_distributedAudio(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4875 {
4876         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_distributedAudio, NULL, NULL);
4877
4878         return offset;
4879 }
4880
4881
4882
4883
4884
4885 static const true_false_string tfs_centralizedVideo_bit = {
4886         "centralizedVideo bit is SET",
4887         "centralizedVideo bit is CLEAR"
4888 };
4889 static int
4890 dissect_h245_centralizedVideo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4891 {
4892         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_centralizedVideo, NULL, NULL);
4893
4894         return offset;
4895 }
4896
4897
4898
4899
4900 static const true_false_string tfs_distributedVideo_bit = {
4901         "distributedVideo bit is SET",
4902         "distributedVideo bit is CLEAR"
4903 };
4904 static int
4905 dissect_h245_distributedVideo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4906 {
4907         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_distributedVideo, NULL, NULL);
4908
4909         return offset;
4910 }
4911
4912
4913
4914
4915
4916
4917 static const true_false_string tfs_temporalSpatialTradeOffCapability_bit = {
4918         "temporalSpatialTradeOffCapability bit is SET",
4919         "temporalSpatialTradeOffCapability bit is CLEAR"
4920 };
4921 static int
4922 dissect_h245_temporalSpatialTradeOffCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4923 {
4924         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_temporalSpatialTradeOffCapability, NULL, NULL);
4925
4926         return offset;
4927 }
4928
4929
4930
4931
4932
4933 static const true_false_string tfs_stillImageTransmission_bit = {
4934         "stillImageTransmission bit is SET",
4935         "stillImageTransmission bit is CLEAR"
4936 };
4937 static int
4938 dissect_h245_stillImageTransmission(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4939 {
4940         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_stillImageTransmission, NULL, NULL);
4941
4942         return offset;
4943 }
4944
4945
4946
4947
4948
4949 static const true_false_string tfs_videoBadMBsCap_bit = {
4950         "videoBadMBsCap bit is SET",
4951         "videoBadMBsCap bit is CLEAR"
4952 };
4953 static int
4954 dissect_h245_videoBadMBsCap(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4955 {
4956         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoBadMBsCap, NULL, NULL);
4957
4958         return offset;
4959 }
4960
4961
4962
4963
4964
4965 static const true_false_string tfs_profileAndLevelSPatML_bit = {
4966         "profileAndLevelSPatML bit is SET",
4967         "profileAndLevelSPatML bit is CLEAR"
4968 };
4969 static int
4970 dissect_h245_profileAndLevelSPatML(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4971 {
4972         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelSPatML, NULL, NULL);
4973
4974         return offset;
4975 }
4976
4977
4978
4979
4980
4981 static const true_false_string tfs_profileAndLevelMPatLL_bit = {
4982         "profileAndLevelMPatLL bit is SET",
4983         "profileAndLevelMPatLL bit is CLEAR"
4984 };
4985 static int
4986 dissect_h245_profileAndLevelMPatLL(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4987 {
4988         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelMPatLL, NULL, NULL);
4989
4990         return offset;
4991 }
4992
4993
4994
4995
4996
4997 static const true_false_string tfs_profileAndLevelMPatML_bit = {
4998         "profileAndLevelMPatML bit is SET",
4999         "profileAndLevelMPatML bit is CLEAR"
5000 };
5001 static int
5002 dissect_h245_profileAndLevelMPatML(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5003 {
5004         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelMPatML, NULL, NULL);
5005
5006         return offset;
5007 }
5008
5009
5010
5011
5012
5013 static const true_false_string tfs_profileAndLevelMPatH14_bit = {
5014         "profileAndLevelMPatH14 bit is SET",
5015         "profileAndLevelMPatH14 bit is CLEAR"
5016 };
5017 static int
5018 dissect_h245_profileAndLevelMPatH14(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5019 {
5020         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelMPatH14, NULL, NULL);
5021
5022         return offset;
5023 }
5024
5025
5026
5027
5028
5029 static const true_false_string tfs_profileAndLevelMPatHL_bit = {
5030         "profileAndLevelMPatHL bit is SET",
5031         "profileAndLevelMPatHL bit is CLEAR"
5032 };
5033 static int
5034 dissect_h245_profileAndLevelMPatHL(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5035 {
5036         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelMPatHL, NULL, NULL);
5037
5038         return offset;
5039 }
5040
5041
5042
5043
5044
5045 static const true_false_string tfs_profileAndLevelSNRatLL_bit = {
5046         "profileAndLevelSNRatLL bit is SET",
5047         "profileAndLevelSNRatLL bit is CLEAR"
5048 };
5049 static int
5050 dissect_h245_profileAndLevelSNRatLL(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5051 {
5052         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelSNRatLL, NULL, NULL);
5053
5054         return offset;
5055 }
5056
5057
5058
5059
5060
5061 static const true_false_string tfs_profileAndLevelSNRatML_bit = {
5062         "profileAndLevelSNRatML bit is SET",
5063         "profileAndLevelSNRatML bit is CLEAR"
5064 };
5065 static int
5066 dissect_h245_profileAndLevelSNRatML(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5067 {
5068         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelSNRatML, NULL, NULL);
5069
5070         return offset;
5071 }
5072
5073
5074
5075
5076
5077 static const true_false_string tfs_profileAndLevelSpatialatH14_bit = {
5078         "profileAndLevelSpatialatH14 bit is SET",
5079         "profileAndLevelSpatialatH14 bit is CLEAR"
5080 };
5081 static int
5082 dissect_h245_profileAndLevelSpatialatH14(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5083 {
5084         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelSpatialatH14, NULL, NULL);
5085
5086         return offset;
5087 }
5088
5089
5090
5091
5092
5093 static const true_false_string tfs_profileAndLevelHPatML_bit = {
5094         "profileAndLevelHPatML bit is SET",
5095         "profileAndLevelHPatML bit is CLEAR"
5096 };
5097 static int
5098 dissect_h245_profileAndLevelHPatML(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5099 {
5100         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelHPatML, NULL, NULL);
5101
5102         return offset;
5103 }
5104
5105
5106
5107
5108 static const true_false_string tfs_profileAndLevelHPatH14_bit = {
5109         "profileAndLevelHPatH14 bit is SET",
5110         "profileAndLevelHPatH14 bit is CLEAR"
5111 };
5112 static int
5113 dissect_h245_profileAndLevelHPatH14(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5114 {
5115         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelHPatH14, NULL, NULL);
5116
5117         return offset;
5118 }
5119
5120
5121
5122
5123
5124 static const true_false_string tfs_profileAndLevelHPatHL_bit = {
5125         "profileAndLevelHPatHL bit is SET",
5126         "profileAndLevelHPatHL bit is CLEAR"
5127 };
5128 static int
5129 dissect_h245_profileAndLevelHPatHL(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5130 {
5131         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_profileAndLevelHPatHL, NULL, NULL);
5132
5133         return offset;
5134 }
5135
5136
5137
5138
5139
5140 static const true_false_string tfs_unrestrictedVector_bit = {
5141         "unrestrictedVector bit is SET",
5142         "unrestrictedVector bit is CLEAR"
5143 };
5144 static int
5145 dissect_h245_unrestrictedVector(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5146 {
5147         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_unrestrictedVector, NULL, NULL);
5148
5149         return offset;
5150 }
5151
5152
5153
5154
5155
5156 static const true_false_string tfs_arithmeticCoding_bit = {
5157         "arithmeticCoding bit is SET",
5158         "arithmeticCoding bit is CLEAR"
5159 };
5160 static int
5161 dissect_h245_arithmeticCoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5162 {
5163         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_arithmeticCoding, NULL, NULL);
5164
5165         return offset;
5166 }
5167
5168
5169
5170
5171
5172 static const true_false_string tfs_advancedPrediction_bit = {
5173         "advancedPrediction bit is SET",
5174         "advancedPrediction bit is CLEAR"
5175 };
5176 static int
5177 dissect_h245_advancedPrediction(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5178 {
5179         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_advancedPrediction, NULL, NULL);
5180
5181         return offset;
5182 }
5183
5184
5185
5186
5187
5188 static const true_false_string tfs_pbFrames_bit = {
5189         "pbFrames bit is SET",
5190         "pbFrames bit is CLEAR"
5191 };
5192 static int
5193 dissect_h245_pbFrames(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5194 {
5195         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_pbFrames, NULL, NULL);
5196
5197         return offset;
5198 }
5199
5200
5201
5202
5203
5204 static const true_false_string tfs_errorCompensation_bit = {
5205         "errorCompensation bit is SET",
5206         "errorCompensation bit is CLEAR"
5207 };
5208 static int
5209 dissect_h245_errorCompensation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5210 {
5211         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_errorCompensation, NULL, NULL);
5212
5213         return offset;
5214 }
5215
5216
5217
5218
5219
5220
5221 static const true_false_string tfs_baseBitRateConstrained_bit = {
5222         "baseBitRateConstrained bit is SET",
5223         "baseBitRateConstrained bit is CLEAR"
5224 };
5225 static int
5226 dissect_h245_baseBitRateConstrained(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5227 {
5228         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_baseBitRateConstrained, NULL, NULL);
5229
5230         return offset;
5231 }
5232
5233
5234
5235
5236
5237 static const true_false_string tfs_advancedIntraCodingMode_bit = {
5238         "advancedIntraCodingMode bit is SET",
5239         "advancedIntraCodingMode bit is CLEAR"
5240 };
5241 static int
5242 dissect_h245_advancedIntraCodingMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5243 {
5244         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_advancedIntraCodingMode, NULL, NULL);
5245
5246         return offset;
5247 }
5248
5249
5250
5251
5252 static const true_false_string tfs_deblockingFilterMode_bit = {
5253         "deblockingFilterMode bit is SET",
5254         "deblockingFilterMode bit is CLEAR"
5255 };
5256 static int
5257 dissect_h245_deblockingFilterMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5258 {
5259         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_deblockingFilterMode, NULL, NULL);
5260
5261         return offset;
5262 }
5263
5264
5265
5266
5267
5268 static const true_false_string tfs_improvedPBFramesMode_bit = {
5269         "improvedPBFramesMode bit is SET",
5270         "improvedPBFramesMode bit is CLEAR"
5271 };
5272 static int
5273 dissect_h245_improvedPBFramesMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5274 {
5275         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_improvedPBFramesMode, NULL, NULL);
5276
5277         return offset;
5278 }
5279
5280
5281
5282
5283 static const true_false_string tfs_unlimitedMotionVectors_bit = {
5284         "unlimitedMotionVectors bit is SET",
5285         "unlimitedMotionVectors bit is CLEAR"
5286 };
5287 static int
5288 dissect_h245_unlimitedMotionVectors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5289 {
5290         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_unlimitedMotionVectors, NULL, NULL);
5291
5292         return offset;
5293 }
5294
5295
5296
5297
5298
5299 static const true_false_string tfs_fullPictureFreeze_bit = {
5300         "fullPictureFreeze bit is SET",
5301         "fullPictureFreeze bit is CLEAR"
5302 };
5303 static int
5304 dissect_h245_fullPictureFreeze(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5305 {
5306         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fullPictureFreeze, NULL, NULL);
5307
5308         return offset;
5309 }
5310
5311
5312
5313
5314
5315 static const true_false_string tfs_partialPictureFreezeAndRelease_bit = {
5316         "partialPictureFreezeAndRelease bit is SET",
5317         "partialPictureFreezeAndRelease bit is CLEAR"
5318 };
5319 static int
5320 dissect_h245_partialPictureFreezeAndRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5321 {
5322         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_partialPictureFreezeAndRelease, NULL, NULL);
5323
5324         return offset;
5325 }
5326
5327
5328
5329
5330 static const true_false_string tfs_resizingPartPicFreezeAndRelease_bit = {
5331         "resizingPartPicFreezeAndRelease bit is SET",
5332         "resizingPartPicFreezeAndRelease bit is CLEAR"
5333 };
5334 static int
5335 dissect_h245_resizingPartPicFreezeAndRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5336 {
5337         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_resizingPartPicFreezeAndRelease, NULL, NULL);
5338
5339         return offset;
5340 }
5341
5342
5343
5344
5345 static const true_false_string tfs_fullPictureSnapshot_bit = {
5346         "fullPictureSnapshot bit is SET",
5347         "fullPictureSnapshot bit is CLEAR"
5348 };
5349 static int
5350 dissect_h245_fullPictureSnapshot(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5351 {
5352         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fullPictureSnapshot, NULL, NULL);
5353
5354         return offset;
5355 }
5356
5357
5358
5359
5360
5361 static const true_false_string tfs_partialPictureSnapshot_bit = {
5362         "partialPictureSnapshot bit is SET",
5363         "partialPictureSnapshot bit is CLEAR"
5364 };
5365 static int
5366 dissect_h245_partialPictureSnapshot(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5367 {
5368         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_partialPictureSnapshot, NULL, NULL);
5369
5370         return offset;
5371 }
5372
5373
5374
5375
5376 static const true_false_string tfs_videoSegmentTagging_bit = {
5377         "videoSegmentTagging bit is SET",
5378         "videoSegmentTagging bit is CLEAR"
5379 };
5380 static int
5381 dissect_h245_videoSegmentTagging(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5382 {
5383         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoSegmentTagging, NULL, NULL);
5384
5385         return offset;
5386 }
5387
5388
5389
5390
5391
5392 static const true_false_string tfs_progressiveRefinement_bit = {
5393         "progressiveRefinement bit is SET",
5394         "progressiveRefinement bit is CLEAR"
5395 };
5396 static int
5397 dissect_h245_progressiveRefinement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5398 {
5399         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_progressiveRefinement, NULL, NULL);
5400
5401         return offset;
5402 }
5403
5404
5405
5406
5407
5408 static const true_false_string tfs_dynamicPictureResizingByFour_bit = {
5409         "dynamicPictureResizingByFour bit is SET",
5410         "dynamicPictureResizingByFour bit is CLEAR"
5411 };
5412 static int
5413 dissect_h245_dynamicPictureResizingByFour(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5414 {
5415         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dynamicPictureResizingByFour, NULL, NULL);
5416
5417         return offset;
5418 }
5419
5420
5421
5422
5423 static const true_false_string tfs_dynamicPictureResizingSixteenthPel_bit = {
5424         "dynamicPictureResizingSixteenthPel bit is SET",
5425         "dynamicPictureResizingSixteenthPel bit is CLEAR"
5426 };
5427 static int
5428 dissect_h245_dynamicPictureResizingSixteenthPel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5429 {
5430         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dynamicPictureResizingSixteenthPel, NULL, NULL);
5431
5432         return offset;
5433 }
5434
5435
5436
5437
5438
5439 static const true_false_string tfs_dynamicWarpingHalfPel_bit = {
5440         "dynamicWarpingHalfPel bit is SET",
5441         "dynamicWarpingHalfPel bit is CLEAR"
5442 };
5443 static int
5444 dissect_h245_dynamicWarpingHalfPel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5445 {
5446         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dynamicWarpingHalfPel, NULL, NULL);
5447
5448         return offset;
5449 }
5450
5451
5452
5453
5454
5455 static const true_false_string tfs_dynamicWarpingSixteenthPel_bit = {
5456         "dynamicWarpingSixteenthPel bit is SET",
5457         "dynamicWarpingSixteenthPel bit is CLEAR"
5458 };
5459 static int
5460 dissect_h245_dynamicWarpingSixteenthPel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5461 {
5462         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dynamicWarpingSixteenthPel, NULL, NULL);
5463
5464         return offset;
5465 }
5466
5467
5468
5469
5470
5471 static const true_false_string tfs_independentSegmentDecoding_bit = {
5472         "independentSegmentDecoding bit is SET",
5473         "independentSegmentDecoding bit is CLEAR"
5474 };
5475 static int
5476 dissect_h245_independentSegmentDecoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5477 {
5478         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_independentSegmentDecoding, NULL, NULL);
5479
5480         return offset;
5481 }
5482
5483
5484
5485
5486
5487 static const true_false_string tfs_slicesInOrderNonRect_bit = {
5488         "slicesInOrderNonRect bit is SET",
5489         "slicesInOrderNonRect bit is CLEAR"
5490 };
5491 static int
5492 dissect_h245_slicesInOrderNonRect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5493 {
5494         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_slicesInOrderNonRect, NULL, NULL);
5495
5496         return offset;
5497 }
5498
5499
5500
5501
5502
5503 static const true_false_string tfs_slicesInOrderRect_bit = {
5504         "slicesInOrderRect bit is SET",
5505         "slicesInOrderRect bit is CLEAR"
5506 };
5507 static int
5508 dissect_h245_slicesInOrderRect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5509 {
5510         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_slicesInOrderRect, NULL, NULL);
5511
5512         return offset;
5513 }
5514
5515
5516
5517
5518
5519 static const true_false_string tfs_slicesNoOrderNonRect_bit = {
5520         "slicesNoOrderNonRect bit is SET",
5521         "slicesNoOrderNonRect bit is CLEAR"
5522 };
5523 static int
5524 dissect_h245_slicesNoOrderNonRect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5525 {
5526         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_slicesNoOrderNonRect, NULL, NULL);
5527
5528         return offset;
5529 }
5530
5531
5532
5533
5534
5535 static const true_false_string tfs_slicesNoOrderRect_bit = {
5536         "slicesNoOrderRect bit is SET",
5537         "slicesNoOrderRect bit is CLEAR"
5538 };
5539 static int
5540 dissect_h245_slicesNoOrderRect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5541 {
5542         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_slicesNoOrderRect, NULL, NULL);
5543
5544         return offset;
5545 }
5546
5547
5548
5549
5550
5551 static const true_false_string tfs_alternateInterVLCMode_bit = {
5552         "alternateInterVLCMode bit is SET",
5553         "alternateInterVLCMode bit is CLEAR"
5554 };
5555 static int
5556 dissect_h245_alternateInterVLCMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5557 {
5558         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_alternateInterVLCMode, NULL, NULL);
5559
5560         return offset;
5561 }
5562
5563
5564
5565
5566
5567 static const true_false_string tfs_modifiedQuantizationMode_bit = {
5568         "modifiedQuantizationMode bit is SET",
5569         "modifiedQuantizationMode bit is CLEAR"
5570 };
5571 static int
5572 dissect_h245_modifiedQuantizationMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5573 {
5574         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_modifiedQuantizationMode, NULL, NULL);
5575
5576         return offset;
5577 }
5578
5579
5580
5581
5582
5583 static const true_false_string tfs_reducedResolutionUpdate_bit = {
5584         "reducedResolutionUpdate bit is SET",
5585         "reducedResolutionUpdate bit is CLEAR"
5586 };
5587 static int
5588 dissect_h245_reducedResolutionUpdate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5589 {
5590         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_reducedResolutionUpdate, NULL, NULL);
5591
5592         return offset;
5593 }
5594
5595
5596
5597
5598
5599 static const true_false_string tfs_separateVideoBackChannel_bit = {
5600         "separateVideoBackChannel bit is SET",
5601         "separateVideoBackChannel bit is CLEAR"
5602 };
5603 static int
5604 dissect_h245_separateVideoBackChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5605 {
5606         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_separateVideoBackChannel, NULL, NULL);
5607
5608         return offset;
5609 }
5610
5611
5612
5613
5614
5615 static const true_false_string tfs_videoMux_bit = {
5616         "videoMux bit is SET",
5617         "videoMux bit is CLEAR"
5618 };
5619 static int
5620 dissect_h245_videoMux(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5621 {
5622         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoMux, NULL, NULL);
5623
5624         return offset;
5625 }
5626
5627
5628
5629
5630
5631 static const true_false_string tfs_anyPixelAspectRatio_bit = {
5632         "anyPixelAspectRatio bit is SET",
5633         "anyPixelAspectRatio bit is CLEAR"
5634 };
5635 static int
5636 dissect_h245_anyPixelAspectRatio(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5637 {
5638         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_anyPixelAspectRatio, NULL, NULL);
5639
5640         return offset;
5641 }
5642
5643
5644
5645
5646
5647 static const true_false_string tfs_referencePicSelect_bit = {
5648         "referencePicSelect bit is SET",
5649         "referencePicSelect bit is CLEAR"
5650 };
5651 static int
5652 dissect_h245_referencePicSelect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5653 {
5654         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_referencePicSelect, NULL, NULL);
5655
5656         return offset;
5657 }
5658
5659
5660
5661
5662
5663 static const true_false_string tfs_enhancedReferencePicSelect_bool_bit = {
5664         "enhancedReferencePicSelect_bool bit is SET",
5665         "enhancedReferencePicSelect_bool bit is CLEAR"
5666 };
5667 static int
5668 dissect_h245_enhancedReferencePicSelect_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5669 {
5670         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_enhancedReferencePicSelect_bool, NULL, NULL);
5671
5672         return offset;
5673 }
5674
5675
5676
5677
5678
5679 static const true_false_string tfs_dataPartitionedSlices_bit = {
5680         "dataPartitionedSlices bit is SET",
5681         "dataPartitionedSlices bit is CLEAR"
5682 };
5683 static int
5684 dissect_h245_dataPartitionedSlices(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5685 {
5686         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_dataPartitionedSlices, NULL, NULL);
5687
5688         return offset;
5689 }
5690
5691
5692
5693
5694
5695 static const true_false_string tfs_fixedPointIDCT0_bit = {
5696         "fixedPointIDCT0 bit is SET",
5697         "fixedPointIDCT0 bit is CLEAR"
5698 };
5699 static int
5700 dissect_h245_fixedPointIDCT0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5701 {
5702         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fixedPointIDCT0, NULL, NULL);
5703
5704         return offset;
5705 }
5706
5707
5708
5709
5710
5711 static const true_false_string tfs_interlacedFields_bit = {
5712         "interlacedFields bit is SET",
5713         "interlacedFields bit is CLEAR"
5714 };
5715 static int
5716 dissect_h245_interlacedFields(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5717 {
5718         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_interlacedFields, NULL, NULL);
5719
5720         return offset;
5721 }
5722
5723
5724
5725
5726
5727 static const true_false_string tfs_currentPictureHeaderRepetition_bit = {
5728         "currentPictureHeaderRepetition bit is SET",
5729         "currentPictureHeaderRepetition bit is CLEAR"
5730 };
5731 static int
5732 dissect_h245_currentPictureHeaderRepetition(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5733 {
5734         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_currentPictureHeaderRepetition, NULL, NULL);
5735
5736         return offset;
5737 }
5738
5739
5740
5741
5742
5743 static const true_false_string tfs_previousPictureHeaderRepetition_bit = {
5744         "previousPictureHeaderRepetition bit is SET",
5745         "previousPictureHeaderRepetition bit is CLEAR"
5746 };
5747 static int
5748 dissect_h245_previousPictureHeaderRepetition(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5749 {
5750         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_previousPictureHeaderRepetition, NULL, NULL);
5751
5752         return offset;
5753 }
5754
5755
5756
5757
5758
5759 static const true_false_string tfs_nextPictureHeaderRepetition_bit = {
5760         "nextPictureHeaderRepetition bit is SET",
5761         "nextPictureHeaderRepetition bit is CLEAR"
5762 };
5763 static int
5764 dissect_h245_nextPictureHeaderRepetition(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5765 {
5766         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_nextPictureHeaderRepetition, NULL, NULL);
5767
5768         return offset;
5769 }
5770
5771
5772
5773
5774
5775 static const true_false_string tfs_pictureNumber_bool_bit = {
5776         "pictureNumber_bool bit is SET",
5777         "pictureNumber_bool bit is CLEAR"
5778 };
5779 static int
5780 dissect_h245_pictureNumber_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5781 {
5782         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_pictureNumber_bool, NULL, NULL);
5783
5784         return offset;
5785 }
5786
5787
5788
5789
5790
5791 static const true_false_string tfs_spareReferencePictures_bit = {
5792         "spareReferencePictures bit is SET",
5793         "spareReferencePictures bit is CLEAR"
5794 };
5795 static int
5796 dissect_h245_spareReferencePictures(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5797 {
5798         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_spareReferencePictures, NULL, NULL);
5799
5800         return offset;
5801 }
5802
5803
5804
5805 static per_sequence_t H263Version3Options_sequence[] = {
5806         { "dataPartitionedSlices", EXTENSION_ROOT, NOT_OPTIONAL, 
5807                 dissect_h245_dataPartitionedSlices },
5808         { "fixedPointIDCTO", EXTENSION_ROOT, NOT_OPTIONAL,
5809                 dissect_h245_fixedPointIDCT0 },
5810         { "interlacedFields", EXTENSION_ROOT, NOT_OPTIONAL, 
5811                 dissect_h245_interlacedFields},
5812         { "currentPictureHeaderRepetition", EXTENSION_ROOT, NOT_OPTIONAL, 
5813                 dissect_h245_currentPictureHeaderRepetition },
5814         { "previousPictureHeaderRepetition", EXTENSION_ROOT, NOT_OPTIONAL, 
5815                 dissect_h245_previousPictureHeaderRepetition },
5816         { "nextPictureHeaderRepetition", EXTENSION_ROOT, NOT_OPTIONAL, 
5817                 dissect_h245_nextPictureHeaderRepetition },
5818         { "pictureNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
5819                 dissect_h245_pictureNumber_bool },
5820         { "spareReferencePictures", EXTENSION_ROOT, NOT_OPTIONAL, 
5821                 dissect_h245_spareReferencePictures },
5822         { NULL, 0, 0, NULL }
5823 };
5824 static int
5825 dissect_h245_H263Version3Options(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5826 {
5827         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263Version3Options, ett_h245_H263Version3Options, H263Version3Options_sequence);
5828
5829         return offset;
5830 }
5831
5832
5833
5834
5835
5836 static per_sequence_t H263ModeComboFlags_sequence[] = {
5837         { "unrestrictedVector", EXTENSION_ROOT, NOT_OPTIONAL, 
5838                 dissect_h245_unrestrictedVector },
5839         { "arithmeticCoding", EXTENSION_ROOT, NOT_OPTIONAL, 
5840                 dissect_h245_arithmeticCoding },
5841         { "advancedPrediction", EXTENSION_ROOT, NOT_OPTIONAL, 
5842                 dissect_h245_advancedPrediction },
5843         { "pbFrames", EXTENSION_ROOT, NOT_OPTIONAL, 
5844                 dissect_h245_pbFrames },
5845         { "advancedIntraCodingMode", EXTENSION_ROOT, NOT_OPTIONAL, 
5846                 dissect_h245_advancedIntraCodingMode },
5847         { "deblockingFilterMode", EXTENSION_ROOT, NOT_OPTIONAL, 
5848                 dissect_h245_deblockingFilterMode },
5849         { "unlimitedMotionVectors", EXTENSION_ROOT, NOT_OPTIONAL, 
5850                 dissect_h245_unlimitedMotionVectors },
5851         { "slicesInOrder-NonRect", EXTENSION_ROOT, NOT_OPTIONAL, 
5852                 dissect_h245_slicesInOrderNonRect },
5853         { "slicesInOrder-Rect", EXTENSION_ROOT, NOT_OPTIONAL, 
5854                 dissect_h245_slicesInOrderRect },
5855         { "slicesNoOrder-NonRect", EXTENSION_ROOT, NOT_OPTIONAL,
5856                 dissect_h245_slicesNoOrderNonRect },
5857         { "slicesNoOrder-Rect", EXTENSION_ROOT, NOT_OPTIONAL, 
5858                 dissect_h245_slicesNoOrderRect },
5859         { "improvedPBFramesMode", EXTENSION_ROOT, NOT_OPTIONAL, 
5860                 dissect_h245_improvedPBFramesMode },
5861         { "referencePicSelect", EXTENSION_ROOT, NOT_OPTIONAL, 
5862                 dissect_h245_referencePicSelect },
5863         { "dynamicPictureResizingByFour", EXTENSION_ROOT, NOT_OPTIONAL, 
5864                 dissect_h245_dynamicPictureResizingByFour },
5865         { "dynamicPictureResizingSixteenthPel", EXTENSION_ROOT, NOT_OPTIONAL,
5866                 dissect_h245_dynamicPictureResizingSixteenthPel },
5867         { "dynamicWarpingHalfPel", EXTENSION_ROOT, NOT_OPTIONAL,
5868                 dissect_h245_dynamicWarpingHalfPel },
5869         { "dynamicWarpingSixteenthPel", EXTENSION_ROOT, NOT_OPTIONAL,
5870                 dissect_h245_dynamicWarpingSixteenthPel },
5871         { "reducedResolutionUpdate", EXTENSION_ROOT, NOT_OPTIONAL, 
5872                 dissect_h245_reducedResolutionUpdate },
5873         { "independentSegmentDecoding", EXTENSION_ROOT, NOT_OPTIONAL, 
5874                 dissect_h245_independentSegmentDecoding },
5875         { "alternateInterVLCMode", EXTENSION_ROOT, NOT_OPTIONAL, 
5876                 dissect_h245_alternateInterVLCMode },
5877         { "modifiedQuantizationMode", EXTENSION_ROOT, NOT_OPTIONAL,
5878                 dissect_h245_modifiedQuantizationMode },
5879         { "enhancedReferencePicSelect", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
5880                 dissect_h245_enhancedReferencePicSelect_bool },
5881         { "h263Version3Options", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
5882                 dissect_h245_H263Version3Options },
5883         { NULL, 0, 0, NULL }
5884 };
5885 static int
5886 dissect_h245_H263ModeComboFlags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5887 {
5888         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263ModeComboFlags, ett_h245_H263ModeComboFlags, H263ModeComboFlags_sequence);
5889
5890         return offset;
5891 }
5892
5893
5894
5895
5896
5897 static const true_false_string tfs_constrainedBitstream_bit = {
5898         "constrainedBitstream bit is SET",
5899         "constrainedBitstream bit is CLEAR"
5900 };
5901 static int
5902 dissect_h245_constrainedBitstream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5903 {
5904         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_constrainedBitstream, NULL, NULL);
5905
5906         return offset;
5907 }
5908
5909
5910
5911
5912
5913 static const true_false_string tfs_silenceSuppression_bit = {
5914         "silenceSuppression bit is SET",
5915         "silenceSuppression bit is CLEAR"
5916 };
5917 static int
5918 dissect_h245_silenceSuppression(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5919 {
5920         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_silenceSuppression, NULL, NULL);
5921
5922         return offset;
5923 }
5924
5925
5926
5927
5928
5929 static const true_false_string tfs_annexA_bit = {
5930         "annexA bit is SET",
5931         "annexA bit is CLEAR"
5932 };
5933 static int
5934 dissect_h245_annexA(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5935 {
5936         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexA, NULL, NULL);
5937
5938         return offset;
5939 }
5940
5941
5942
5943
5944
5945 static const true_false_string tfs_annexB_bit = {
5946         "annexB bit is SET",
5947         "annexB bit is CLEAR"
5948 };
5949 static int
5950 dissect_h245_annexB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5951 {
5952         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexB, NULL, NULL);
5953
5954         return offset;
5955 }
5956
5957
5958
5959
5960
5961 static const true_false_string tfs_annexD_bit = {
5962         "annexD bit is SET",
5963         "annexD bit is CLEAR"
5964 };
5965 static int
5966 dissect_h245_annexD(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5967 {
5968         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexD, NULL, NULL);
5969
5970         return offset;
5971 }
5972
5973
5974
5975
5976
5977 static const true_false_string tfs_annexE_bit = {
5978         "annexE bit is SET",
5979         "annexE bit is CLEAR"
5980 };
5981 static int
5982 dissect_h245_annexE(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5983 {
5984         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexE, NULL, NULL);
5985
5986         return offset;
5987 }
5988
5989
5990
5991
5992
5993 static const true_false_string tfs_annexF_bit = {
5994         "annexF bit is SET",
5995         "annexF bit is CLEAR"
5996 };
5997 static int
5998 dissect_h245_annexF(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5999 {
6000         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexF, NULL, NULL);
6001
6002         return offset;
6003 }
6004
6005
6006
6007
6008
6009 static const true_false_string tfs_annexG_bit = {
6010         "annexG bit is SET",
6011         "annexG bit is CLEAR"
6012 };
6013 static int
6014 dissect_h245_annexG(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6015 {
6016         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexG, NULL, NULL);
6017
6018         return offset;
6019 }
6020
6021
6022
6023
6024
6025 static const true_false_string tfs_annexH_bit = {
6026         "annexH bit is SET",
6027         "annexH bit is CLEAR"
6028 };
6029 static int
6030 dissect_h245_annexH(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6031 {
6032         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_annexH, NULL, NULL);
6033
6034         return offset;
6035 }
6036
6037
6038
6039
6040
6041 static const true_false_string tfs_audioLayer1_bit = {
6042         "audioLayer1 bit is SET",
6043         "audioLayer1 bit is CLEAR"
6044 };
6045 static int
6046 dissect_h245_audioLayer1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6047 {
6048         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioLayer1, NULL, NULL);
6049
6050         return offset;
6051 }
6052
6053
6054
6055
6056
6057 static const true_false_string tfs_audioLayer2_bit = {
6058         "audioLayer2 bit is SET",
6059         "audioLayer2 bit is CLEAR"
6060 };
6061 static int
6062 dissect_h245_audioLayer2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6063 {
6064         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioLayer2, NULL, NULL);
6065
6066         return offset;
6067 }
6068
6069
6070
6071
6072
6073 static const true_false_string tfs_audioLayer3_bit = {
6074         "audioLayer3 bit is SET",
6075         "audioLayer3 bit is CLEAR"
6076 };
6077 static int
6078 dissect_h245_audioLayer3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6079 {
6080         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioLayer3, NULL, NULL);
6081
6082         return offset;
6083 }
6084
6085
6086
6087
6088
6089 static const true_false_string tfs_audioSampling32k_bit = {
6090         "audioSampling32k bit is SET",
6091         "audioSampling32k bit is CLEAR"
6092 };
6093 static int
6094 dissect_h245_audioSampling32k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6095 {
6096         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling32k, NULL, NULL);
6097
6098         return offset;
6099 }
6100
6101
6102
6103
6104
6105 static const true_false_string tfs_audioSampling44k1_bit = {
6106         "audioSampling44k1 bit is SET",
6107         "audioSampling44k1 bit is CLEAR"
6108 };
6109 static int
6110 dissect_h245_audioSampling44k1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6111 {
6112         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling44k1, NULL, NULL);
6113
6114         return offset;
6115 }
6116
6117
6118
6119
6120
6121 static const true_false_string tfs_audioSampling48k_bit = {
6122         "audioSampling48k bit is SET",
6123         "audioSampling48k bit is CLEAR"
6124 };
6125 static int
6126 dissect_h245_audioSampling48k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6127 {
6128         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling48k, NULL, NULL);
6129
6130         return offset;
6131 }
6132
6133
6134
6135
6136
6137 static const true_false_string tfs_singleChannel_bit = {
6138         "singleChannel bit is SET",
6139         "singleChannel bit is CLEAR"
6140 };
6141 static int
6142 dissect_h245_singleChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6143 {
6144         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_singleChannel, NULL, NULL);
6145
6146         return offset;
6147 }
6148
6149
6150
6151
6152
6153 static const true_false_string tfs_twoChannels_bit = {
6154         "twoChannels bit is SET",
6155         "twoChannels bit is CLEAR"
6156 };
6157 static int
6158 dissect_h245_twoChannels(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6159 {
6160         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_twoChannels, NULL, NULL);
6161
6162         return offset;
6163 }
6164
6165
6166
6167
6168
6169 static const true_false_string tfs_audioSampling16k_bit = {
6170         "audioSampling16k bit is SET",
6171         "audioSampling16k bit is CLEAR"
6172 };
6173 static int
6174 dissect_h245_audioSampling16k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6175 {
6176         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling16k, NULL, NULL);
6177
6178         return offset;
6179 }
6180
6181
6182
6183
6184
6185 static const true_false_string tfs_audioSampling22k05_bit = {
6186         "audioSampling22k05 bit is SET",
6187         "audioSampling22k05 bit is CLEAR"
6188 };
6189 static int
6190 dissect_h245_audioSampling22k05(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6191 {
6192         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling22k05, NULL, NULL);
6193
6194         return offset;
6195 }
6196
6197
6198
6199
6200
6201 static const true_false_string tfs_audioSampling24k_bit = {
6202         "audioSampling24k bit is SET",
6203         "audioSampling24k bit is CLEAR"
6204 };
6205 static int
6206 dissect_h245_audioSampling24k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6207 {
6208         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioSampling24k, NULL, NULL);
6209
6210         return offset;
6211 }
6212
6213
6214
6215
6216
6217 static const true_false_string tfs_threeChannels21_bit = {
6218         "threeChannels21 bit is SET",
6219         "threeChannels21 bit is CLEAR"
6220 };
6221 static int
6222 dissect_h245_threeChannels21(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6223 {
6224         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_threeChannels21, NULL, NULL);
6225
6226         return offset;
6227 }
6228
6229
6230
6231
6232
6233 static const true_false_string tfs_threeChannels30_bit = {
6234         "threeChannels30 bit is SET",
6235         "threeChannels30 bit is CLEAR"
6236 };
6237 static int
6238 dissect_h245_threeChannels30(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6239 {
6240         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_threeChannels30, NULL, NULL);
6241
6242         return offset;
6243 }
6244
6245
6246
6247
6248
6249 static const true_false_string tfs_fourChannels2020_bit = {
6250         "fourChannels2020 bit is SET",
6251         "fourChannels2020 bit is CLEAR"
6252 };
6253 static int
6254 dissect_h245_fourChannels2020(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6255 {
6256         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fourChannels2020, NULL, NULL);
6257
6258         return offset;
6259 }
6260
6261
6262
6263
6264
6265 static const true_false_string tfs_fourChannels22_bit = {
6266         "fourChannels22 bit is SET",
6267         "fourChannels22 bit is CLEAR"
6268 };
6269 static int
6270 dissect_h245_fourChannels22(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6271 {
6272         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fourChannels22, NULL, NULL);
6273
6274         return offset;
6275 }
6276
6277
6278
6279
6280
6281 static const true_false_string tfs_fourChannels31_bit = {
6282         "fourChannels31 bit is SET",
6283         "fourChannels31 bit is CLEAR"
6284 };
6285 static int
6286 dissect_h245_fourChannels31(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6287 {
6288         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fourChannels31, NULL, NULL);
6289
6290         return offset;
6291 }
6292
6293
6294
6295
6296
6297 static const true_false_string tfs_fiveChannels3020_bit = {
6298         "fiveChannels3020 bit is SET",
6299         "fiveChannels3020 bit is CLEAR"
6300 };
6301 static int
6302 dissect_h245_fiveChannels3020(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6303 {
6304         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fiveChannels3020, NULL, NULL);
6305
6306         return offset;
6307 }
6308
6309
6310
6311
6312
6313 static const true_false_string tfs_fiveChannels32_bit = {
6314         "fiveChannels32 bit is SET",
6315         "fiveChannels32 bit is CLEAR"
6316 };
6317 static int
6318 dissect_h245_fiveChannels32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6319 {
6320         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fiveChannels32, NULL, NULL);
6321
6322         return offset;
6323 }
6324
6325
6326
6327
6328
6329 static const true_false_string tfs_lowFrequencyEnhancement_bit = {
6330         "lowFrequencyEnhancement bit is SET",
6331         "lowFrequencyEnhancement bit is CLEAR"
6332 };
6333 static int
6334 dissect_h245_lowFrequencyEnhancement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6335 {
6336         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_lowFrequencyEnhancement, NULL, NULL);
6337
6338         return offset;
6339 }
6340
6341
6342
6343
6344
6345 static const true_false_string tfs_multilingual_bit = {
6346         "multilingual bit is SET",
6347         "multilingual bit is CLEAR"
6348 };
6349 static int
6350 dissect_h245_multilingual(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6351 {
6352         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_multilingual, NULL, NULL);
6353
6354         return offset;
6355 }
6356
6357
6358
6359
6360
6361 static const true_false_string tfs_comfortNoise_bit = {
6362         "comfortNoise bit is SET",
6363         "comfortNoise bit is CLEAR"
6364 };
6365 static int
6366 dissect_h245_comfortNoise(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6367 {
6368         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_comfortNoise, NULL, NULL);
6369
6370         return offset;
6371 }
6372
6373
6374
6375
6376 static const true_false_string tfs_scrambled_bit = {
6377         "scrambled bit is SET",
6378         "scrambled bit is CLEAR"
6379 };
6380 static int
6381 dissect_h245_scrambled(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6382 {
6383         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_scrambled, NULL, NULL);
6384
6385         return offset;
6386 }
6387
6388
6389
6390
6391
6392 static const true_false_string tfs_qcif_bool_bit = {
6393         "qcif_bool bit is SET",
6394         "qcif_bool bit is CLEAR"
6395 };
6396 static int
6397 dissect_h245_qcif_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6398 {
6399         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_qcif_bool, NULL, NULL);
6400
6401         return offset;
6402 }
6403
6404
6405
6406
6407
6408 static const true_false_string tfs_cif_bool_bit = {
6409         "cif_bool bit is SET",
6410         "cif_bool bit is CLEAR"
6411 };
6412 static int
6413 dissect_h245_cif_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6414 {
6415         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_cif_bool, NULL, NULL);
6416
6417         return offset;
6418 }
6419
6420
6421
6422
6423
6424 static const true_false_string tfs_ccir601Seq_bit = {
6425         "ccir601Seq bit is SET",
6426         "ccir601Seq bit is CLEAR"
6427 };
6428 static int
6429 dissect_h245_ccir601Seq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6430 {
6431         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_ccir601Seq, NULL, NULL);
6432
6433         return offset;
6434 }
6435
6436
6437
6438
6439
6440 static const true_false_string tfs_ccir601Prog_bit = {
6441         "ccir601Prog bit is SET",
6442         "ccir601Prog bit is CLEAR"
6443 };
6444 static int
6445 dissect_h245_ccir601Prog(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6446 {
6447         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_ccir601Prog, NULL, NULL);
6448
6449         return offset;
6450 }
6451
6452
6453
6454
6455
6456 static const true_false_string tfs_hdtvSeq_bit = {
6457         "hdtvSeq bit is SET",
6458         "hdtvSeq bit is CLEAR"
6459 };
6460 static int
6461 dissect_h245_hdtvSeq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6462 {
6463         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_hdtvSeq, NULL, NULL);
6464
6465         return offset;
6466 }
6467
6468
6469
6470
6471
6472 static const true_false_string tfs_hdtvProg_bit = {
6473         "hdtvProg bit is SET",
6474         "hdtvProg bit is CLEAR"
6475 };
6476 static int
6477 dissect_h245_hdtvProg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6478 {
6479         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_hdtvProg, NULL, NULL);
6480
6481         return offset;
6482 }
6483
6484
6485
6486
6487
6488 static const true_false_string tfs_g3FacsMH200x100_bit = {
6489         "g3FacsMH200x100 bit is SET",
6490         "g3FacsMH200x100 bit is CLEAR"
6491 };
6492 static int
6493 dissect_h245_g3FacsMH200x100(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6494 {
6495         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_g3FacsMH200x100, NULL, NULL);
6496
6497         return offset;
6498 }
6499
6500
6501
6502
6503
6504
6505 static const true_false_string tfs_g3FacsMH200x200_bit = {
6506         "g3FacsMH200x200 bit is SET",
6507         "g3FacsMH200x200 bit is CLEAR"
6508 };
6509 static int
6510 dissect_h245_g3FacsMH200x200(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6511 {
6512         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_g3FacsMH200x200, NULL, NULL);
6513
6514         return offset;
6515 }
6516
6517
6518
6519
6520
6521 static const true_false_string tfs_g4FacsMMR200x100_bit = {
6522         "g4FacsMMR200x100 bit is SET",
6523         "g4FacsMMR200x100 bit is CLEAR"
6524 };
6525 static int
6526 dissect_h245_g4FacsMMR200x100(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6527 {
6528         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_g4FacsMMR200x100, NULL, NULL);
6529
6530         return offset;
6531 }
6532
6533
6534
6535
6536
6537 static const true_false_string tfs_g4FacsMMR200x200_bit = {
6538         "g4FacsMMR200x200 bit is SET",
6539         "g4FacsMMR200x200 bit is CLEAR"
6540 };
6541 static int
6542 dissect_h245_g4FacsMMR200x200(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6543 {
6544         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_g4FacsMMR200x200, NULL, NULL);
6545
6546         return offset;
6547 }
6548
6549
6550
6551
6552
6553
6554
6555 static const true_false_string tfs_jbig200x200Seq_bit = {
6556         "jbig200x200Seq bit is SET",
6557         "jbig200x200Seq bit is CLEAR"
6558 };
6559 static int
6560 dissect_h245_jbig200x200Seq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6561 {
6562         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_jbig200x200Seq, NULL, NULL);
6563
6564         return offset;
6565 }
6566
6567
6568
6569
6570
6571 static const true_false_string tfs_jbig200x200Prog_bit = {
6572         "jbig200x200Prog bit is SET",
6573         "jbig200x200Prog bit is CLEAR"
6574 };
6575 static int
6576 dissect_h245_jbig200x200Prog(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6577 {
6578         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_jbig200x200Prog, NULL, NULL);
6579
6580         return offset;
6581 }
6582
6583
6584
6585
6586
6587 static const true_false_string tfs_jbig300x300Seq_bit = {
6588         "jbig300x300Seq bit is SET",
6589         "jbig300x300Seq bit is CLEAR"
6590 };
6591 static int
6592 dissect_h245_jbig300x300Seq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6593 {
6594         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_jbig300x300Seq, NULL, NULL);
6595
6596         return offset;
6597 }
6598
6599
6600
6601
6602
6603 static const true_false_string tfs_jbig300x300Prog_bit = {
6604         "jbig300x300Prog bit is SET",
6605         "jbig300x300Prog bit is CLEAR"
6606 };
6607 static int
6608 dissect_h245_jbig300x300Prog(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6609 {
6610         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_jbig300x300Prog, NULL, NULL);
6611
6612         return offset;
6613 }
6614
6615
6616
6617
6618
6619 static const true_false_string tfs_digPhotoLow_bit = {
6620         "digPhotoLow bit is SET",
6621         "digPhotoLow bit is CLEAR"
6622 };
6623 static int
6624 dissect_h245_digPhotoLow(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6625 {
6626         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_digPhotoLow, NULL, NULL);
6627
6628         return offset;
6629 }
6630
6631
6632
6633
6634
6635 static const true_false_string tfs_digPhotoMedSeq_bit = {
6636         "digPhotoMedSeq bit is SET",
6637         "digPhotoMedSeq bit is CLEAR"
6638 };
6639 static int
6640 dissect_h245_digPhotoMedSeq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6641 {
6642         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_digPhotoMedSeq, NULL, NULL);
6643
6644         return offset;
6645 }
6646
6647
6648
6649
6650
6651 static const true_false_string tfs_digPhotoMedProg_bit = {
6652         "digPhotoMedProg bit is SET",
6653         "digPhotoMedProg bit is CLEAR"
6654 };
6655 static int
6656 dissect_h245_digPhotoMedProg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6657 {
6658         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_digPhotoMedProg, NULL, NULL);
6659
6660         return offset;
6661 }
6662
6663
6664
6665
6666
6667 static const true_false_string tfs_digPhotoHighSeq_bit = {
6668         "digPhotoHighSeq bit is SET",
6669         "digPhotoHighSeq bit is CLEAR"
6670 };
6671 static int
6672 dissect_h245_digPhotoHighSeq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6673 {
6674         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_digPhotoHighSeq, NULL, NULL);
6675
6676         return offset;
6677 }
6678
6679
6680
6681
6682
6683 static const true_false_string tfs_digPhotoHighProg_bit = {
6684         "digPhotoHighProg bit is SET",
6685         "digPhotoHighProg bit is CLEAR"
6686 };
6687 static int
6688 dissect_h245_digPhotoHighProg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6689 {
6690         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_digPhotoHighProg, NULL, NULL);
6691
6692         return offset;
6693 }
6694
6695
6696
6697
6698 static per_sequence_t T84Profile_t84Restricted_sequence[] = {
6699         { "qcif", EXTENSION_ROOT, NOT_OPTIONAL, 
6700                 dissect_h245_qcif_bool },
6701         { "cif", EXTENSION_ROOT, NOT_OPTIONAL,
6702                 dissect_h245_cif_bool },
6703         { "ccir601Seq", EXTENSION_ROOT, NOT_OPTIONAL,
6704                 dissect_h245_ccir601Seq },
6705         { "ccir601Prog", EXTENSION_ROOT, NOT_OPTIONAL, 
6706                 dissect_h245_ccir601Prog },
6707         { "hdtvSeq", EXTENSION_ROOT, NOT_OPTIONAL, 
6708                 dissect_h245_hdtvSeq },
6709         { "hdtvProg", EXTENSION_ROOT, NOT_OPTIONAL, 
6710                 dissect_h245_hdtvProg },
6711         { "g3FacsMH200x100", EXTENSION_ROOT, NOT_OPTIONAL, 
6712                 dissect_h245_g3FacsMH200x100 },
6713         { "g3FacsMH200x200", EXTENSION_ROOT, NOT_OPTIONAL, 
6714                 dissect_h245_g3FacsMH200x200 },
6715         { "g4FacsMMR200x100", EXTENSION_ROOT, NOT_OPTIONAL, 
6716                 dissect_h245_g4FacsMMR200x100 },
6717         { "g4FacsMMR200x200", EXTENSION_ROOT, NOT_OPTIONAL, 
6718                 dissect_h245_g4FacsMMR200x200 },
6719         { "jbig200x200Seq", EXTENSION_ROOT, NOT_OPTIONAL, 
6720                 dissect_h245_jbig200x200Seq },
6721         { "jbig200x200Prog", EXTENSION_ROOT, NOT_OPTIONAL, 
6722                 dissect_h245_jbig200x200Prog },
6723         { "jbig300x300Seq", EXTENSION_ROOT, NOT_OPTIONAL, 
6724                 dissect_h245_jbig300x300Seq },
6725         { "jbig300x300Prog", EXTENSION_ROOT, NOT_OPTIONAL, 
6726                 dissect_h245_jbig300x300Prog },
6727         { "digPhotoLow", EXTENSION_ROOT, NOT_OPTIONAL, 
6728                 dissect_h245_digPhotoLow },
6729         { "digPhotoMedSeq", EXTENSION_ROOT, NOT_OPTIONAL, 
6730                 dissect_h245_digPhotoMedSeq },
6731         { "digPhotoMedProg", EXTENSION_ROOT, NOT_OPTIONAL, 
6732                 dissect_h245_digPhotoMedProg },
6733         { "digPhotoHighSeq", EXTENSION_ROOT, NOT_OPTIONAL, 
6734                 dissect_h245_digPhotoHighSeq },
6735         { "digPhotoHighProg", EXTENSION_ROOT, NOT_OPTIONAL, 
6736                 dissect_h245_digPhotoHighProg },
6737         { NULL, 0, 0, NULL }
6738 };
6739 static int
6740 dissect_h245_T84Profile_t84Restricted(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6741 {
6742         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_T84Profile_t84Restricted, ett_h245_T84Profile_t84Restricted, T84Profile_t84Restricted_sequence);
6743
6744         return offset;
6745 }
6746
6747
6748
6749
6750 static const value_string T84Profile_vals[] = {
6751         {  0, "t84Unrestricted" },
6752         {  1, "t84Restricted" },
6753         {  0, NULL }
6754 };
6755 static per_choice_t T84Profile_choice[] = {
6756         {  0, "t84Unrestricted", NO_EXTENSIONS, 
6757                         dissect_h245_NULL },
6758         {  1, "t84Restricted", NO_EXTENSIONS, 
6759                         dissect_h245_T84Profile_t84Restricted },
6760         {  0, NULL, 0, NULL }
6761 };
6762 static int
6763 dissect_h245_T84Profile(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6764 {
6765         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_T84Profile, ett_h245_T84Profile, T84Profile_choice, "T84Profile", NULL);
6766
6767         return offset;
6768 }
6769
6770
6771
6772
6773
6774 static const true_false_string tfs_fillBitRemoval_bit = {
6775         "fillBitRemoval bit is SET",
6776         "fillBitRemoval bit is CLEAR"
6777 };
6778 static int
6779 dissect_h245_fillBitRemoval(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6780 {
6781         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_fillBitRemoval, NULL, NULL);
6782
6783         return offset;
6784 }
6785
6786
6787
6788
6789
6790 static const true_false_string tfs_transcodingJBIG_bit = {
6791         "transcodingJBIG bit is SET",
6792         "transcodingJBIG bit is CLEAR"
6793 };
6794 static int
6795 dissect_h245_transcodingJBIG(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6796 {
6797         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_transcodingJBIG, NULL, NULL);
6798
6799         return offset;
6800 }
6801
6802
6803
6804
6805
6806 static const true_false_string tfs_transcodingMMR_bit = {
6807         "transcodingMMR bit is SET",
6808         "transcodingMMR bit is CLEAR"
6809 };
6810 static int
6811 dissect_h245_transcodingMMR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6812 {
6813         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_transcodingMMR, NULL, NULL);
6814
6815         return offset;
6816 }
6817
6818
6819
6820
6821
6822 static const true_false_string tfs_t38TCPBidirectionalMode_bit = {
6823         "t38TCPBidirectionalMode bit is SET",
6824         "t38TCPBidirectionalMode bit is CLEAR"
6825 };
6826 static int
6827 dissect_h245_t38TCPBidirectionalMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6828 {
6829         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_t38TCPBidirectionalMode, NULL, NULL);
6830
6831         return offset;
6832 }
6833
6834
6835
6836 static per_sequence_t T38FaxTcpOptions_sequence[] = {
6837         { "t38TCPBidirectionalMode", EXTENSION_ROOT, NOT_OPTIONAL,
6838                 dissect_h245_t38TCPBidirectionalMode },
6839         { NULL, 0, 0, NULL }
6840 };
6841 static int
6842 dissect_h245_T38FaxTcpOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6843 {
6844         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_T38FaxTcpOptions, ett_h245_T38FaxTcpOptions, T38FaxTcpOptions_sequence);
6845
6846         return offset;
6847 }
6848
6849
6850
6851
6852
6853 static const true_false_string tfs_chairControlCapability_bit = {
6854         "chairControlCapability bit is SET",
6855         "chairControlCapability bit is CLEAR"
6856 };
6857 static int
6858 dissect_h245_chairControlCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6859 {
6860         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_chairControlCapability, NULL, NULL);
6861
6862         return offset;
6863 }
6864
6865
6866
6867
6868
6869
6870 static const true_false_string tfs_videoIndicateMixingCapability_bit = {
6871         "videoIndicateMixingCapability bit is SET",
6872         "videoIndicateMixingCapability bit is CLEAR"
6873 };
6874 static int
6875 dissect_h245_videoIndicateMixingCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6876 {
6877         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_videoIndicateMixingCapability, NULL, NULL);
6878
6879         return offset;
6880 }
6881
6882
6883
6884
6885
6886 static const true_false_string tfs_multipointVisualizationCapability_bit = {
6887         "multipointVisualizationCapability bit is SET",
6888         "multipointVisualizationCapability bit is CLEAR"
6889 };
6890 static int
6891 dissect_h245_multipointVisualizationCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6892 {
6893         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_multipointVisualizationCapability, NULL, NULL);
6894
6895         return offset;
6896 }
6897
6898
6899
6900
6901
6902 static const true_false_string tfs_controlOnMuxStream_bit = {
6903         "controlOnMuxStream bit is SET",
6904         "controlOnMuxStream bit is CLEAR"
6905 };
6906 static int
6907 dissect_h245_controlOnMuxStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6908 {
6909         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_controlOnMuxStream, NULL, NULL);
6910
6911         return offset;
6912 }
6913
6914
6915
6916
6917
6918 static const true_false_string tfs_redundancyEncoding_bool_bit = {
6919         "redundancyEncoding_bool bit is SET",
6920         "redundancyEncoding_bool bit is CLEAR"
6921 };
6922 static int
6923 dissect_h245_redundancyEncoding_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6924 {
6925         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_redundancyEncoding_bool, NULL, NULL);
6926
6927         return offset;
6928 }
6929
6930
6931
6932
6933
6934 static const true_false_string tfs_separatePort_bit = {
6935         "separatePort bit is SET",
6936         "separatePort bit is CLEAR"
6937 };
6938 static int
6939 dissect_h245_separatePort(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6940 {
6941         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_separatePort, NULL, NULL);
6942
6943         return offset;
6944 }
6945
6946
6947
6948
6949
6950 static const true_false_string tfs_samePort_bool_bit = {
6951         "samePort_bool bit is SET",
6952         "samePort_bool bit is CLEAR"
6953 };
6954 static int
6955 dissect_h245_samePort_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6956 {
6957         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_samePort_bool, NULL, NULL);
6958
6959         return offset;
6960 }
6961
6962
6963
6964
6965 static per_sequence_t FECCapability_rfc2733_separateStream_sequence[] = {
6966         { "separatePort", EXTENSION_ROOT, NOT_OPTIONAL, 
6967                 dissect_h245_separatePort },
6968         { "samePort", EXTENSION_ROOT, NOT_OPTIONAL, 
6969                 dissect_h245_samePort_bool },
6970         { NULL, 0, 0, NULL }
6971 };
6972 static int
6973 dissect_h245_FECCapability_rfc2733_separateStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6974 {
6975         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FECCapability_rfc2733_separateStream, ett_h245_FECCapability_rfc2733_separateStream, FECCapability_rfc2733_separateStream_sequence);
6976
6977         return offset;
6978 }
6979
6980
6981
6982 static per_sequence_t FECCapability_rfc2733_sequence[] = {
6983         { "redundancyEncoding", EXTENSION_ROOT, NOT_OPTIONAL, 
6984                 dissect_h245_redundancyEncoding_bool },
6985         { "separateStream", EXTENSION_ROOT, NOT_OPTIONAL, 
6986                 dissect_h245_FECCapability_rfc2733_separateStream },
6987         { NULL, 0, 0, NULL }
6988 };
6989 static int
6990 dissect_h245_FECCapability_rfc2733(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6991 {
6992         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FECCapability_rfc2733, ett_h245_FECCapability_rfc2733, FECCapability_rfc2733_sequence);
6993
6994         return offset;
6995 }
6996
6997
6998
6999
7000 static const value_string FECCapability_vals[] = {
7001         {  0, "rfc2733" },
7002         {  0, NULL }
7003 };
7004 static per_choice_t FECCapability_choice[] = {
7005         {  0, "rfc2733", EXTENSION_ROOT, 
7006                 dissect_h245_FECCapability_rfc2733 },
7007         {  0, NULL, 0, NULL }
7008 };
7009 static int
7010 dissect_h245_FECCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7011 {
7012         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FECCapability, ett_h245_FECCapability, FECCapability_choice, "FECCapability", NULL);
7013
7014         return offset;
7015 }
7016
7017
7018
7019
7020 static const true_false_string tfs_associateConference_bit = {
7021         "associateConference bit is SET",
7022         "associateConference bit is CLEAR"
7023 };
7024 static int
7025 dissect_h245_associateConference(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7026 {
7027         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_associateConference, NULL, NULL);
7028
7029         return offset;
7030 }
7031
7032
7033
7034
7035
7036 static const true_false_string tfs_audioHeaderPresent_bit = {
7037         "audioHeaderPresent bit is SET",
7038         "audioHeaderPresent bit is CLEAR"
7039 };
7040 static int
7041 dissect_h245_audioHeaderPresent(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7042 {
7043         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_audioHeaderPresent, NULL, NULL);
7044
7045         return offset;
7046 }
7047
7048
7049
7050
7051 static per_sequence_t V75Parameters_sequence[] = {
7052         { "audioHeaderPresent", EXTENSION_ROOT, NOT_OPTIONAL,
7053                 dissect_h245_audioHeaderPresent },
7054         { NULL, 0, 0, NULL }
7055 };
7056 static int
7057 dissect_h245_V75Parameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7058 {
7059         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V75Parameters, ett_h245_V75Parameters, V75Parameters_sequence);
7060
7061         return offset;
7062 }
7063
7064
7065
7066
7067
7068
7069 static const true_false_string tfs_segmentableFlag_bit = {
7070         "segmentableFlag bit is SET",
7071         "segmentableFlag bit is CLEAR"
7072 };
7073 static int
7074 dissect_h245_segmentableFlag(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7075 {
7076         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_segmentableFlag, NULL, NULL);
7077
7078         return offset;
7079 }
7080
7081
7082
7083
7084
7085 static const true_false_string tfs_alsduSplitting_bit = {
7086         "alsduSplitting bit is SET",
7087         "alsduSplitting bit is CLEAR"
7088 };
7089 static int
7090 dissect_h245_alsduSplitting(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7091 {
7092         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_alsduSplitting, NULL, NULL);
7093
7094         return offset;
7095 }
7096
7097
7098
7099
7100
7101 static const true_false_string tfs_uIH_bit = {
7102         "uIH bit is SET",
7103         "uIH bit is CLEAR"
7104 };
7105 static int
7106 dissect_h245_uIH(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7107 {
7108         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_uIH, NULL, NULL);
7109
7110         return offset;
7111 }
7112
7113
7114
7115
7116
7117
7118 static const true_false_string tfs_loopbackTestProcedure_bit = {
7119         "loopbackTestProcedure bit is SET",
7120         "loopbackTestProcedure bit is CLEAR"
7121 };
7122 static int
7123 dissect_h245_loopbackTestProcedure(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7124 {
7125         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_loopbackTestProcedure, NULL, NULL);
7126
7127         return offset;
7128 }
7129
7130
7131
7132
7133
7134
7135 static const true_false_string tfs_mediaGuaranteedDelivery_bit = {
7136         "mediaGuaranteedDelivery bit is SET",
7137         "mediaGuaranteedDelivery bit is CLEAR"
7138 };
7139 static int
7140 dissect_h245_mediaGuaranteedDelivery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7141 {
7142         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_mediaGuaranteedDelivery, NULL, NULL);
7143
7144         return offset;
7145 }
7146
7147
7148
7149
7150
7151
7152 static const true_false_string tfs_mediaControlGuaranteedDelivery_bit = {
7153         "mediaControlGuaranteedDelivery bit is SET",
7154         "mediaControlGuaranteedDelivery bit is CLEAR"
7155 };
7156 static int
7157 dissect_h245_mediaControlGuaranteedDelivery(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7158 {
7159         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_mediaControlGuaranteedDelivery, NULL, NULL);
7160
7161         return offset;
7162 }
7163
7164
7165
7166
7167
7168
7169 static const true_false_string tfs_flowControlToZero_bit = {
7170         "flowControlToZero bit is SET",
7171         "flowControlToZero bit is CLEAR"
7172 };
7173 static int
7174 dissect_h245_flowControlToZero(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7175 {
7176         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_flowControlToZero, NULL, NULL);
7177
7178         return offset;
7179 }
7180
7181
7182
7183
7184
7185
7186 static const true_false_string tfs_multiplexCapability_bool_bit = {
7187         "multiplexCapability_bool bit is SET",
7188         "multiplexCapability_bool bit is CLEAR"
7189 };
7190 static int
7191 dissect_h245_multiplexCapability_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7192 {
7193         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_multiplexCapability_bool, NULL, NULL);
7194
7195         return offset;
7196 }
7197
7198
7199
7200
7201
7202 static const true_false_string tfs_secureChannel_bit = {
7203         "secureChannel bit is SET",
7204         "secureChannel bit is CLEAR"
7205 };
7206 static int
7207 dissect_h245_secureChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7208 {
7209         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_secureChannel, NULL, NULL);
7210
7211         return offset;
7212 }
7213
7214
7215
7216
7217
7218 static const true_false_string tfs_sharedSecret_bit = {
7219         "sharedSecret bit is SET",
7220         "sharedSecret bit is CLEAR"
7221 };
7222 static int
7223 dissect_h245_sharedSecret(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7224 {
7225         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_sharedSecret, NULL, NULL);
7226
7227         return offset;
7228 }
7229
7230
7231
7232
7233
7234 static const true_false_string tfs_certProtectedKey_bit = {
7235         "certProtectedKey bit is SET",
7236         "certProtectedKey bit is CLEAR"
7237 };
7238 static int
7239 dissect_h245_certProtectedKey(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7240 {
7241         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_certProtectedKey, NULL, NULL);
7242
7243         return offset;
7244 }
7245
7246
7247
7248 static per_sequence_t KeyProtectionMethod_sequence[] = {
7249         { "secureChannel", EXTENSION_ROOT, NOT_OPTIONAL, 
7250                 dissect_h245_secureChannel },
7251         { "sharedSecret", EXTENSION_ROOT, NOT_OPTIONAL, 
7252                 dissect_h245_sharedSecret },
7253         { "certProtectedKey", EXTENSION_ROOT, NOT_OPTIONAL,
7254                 dissect_h245_certProtectedKey },
7255         { NULL, 0, 0, NULL }
7256 };
7257 static int
7258 dissect_h245_KeyProtectionMethod(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7259 {
7260         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_KeyProtectionMethod, ett_h245_KeyProtectionMethod, KeyProtectionMethod_sequence);
7261
7262         return offset;
7263 }
7264
7265
7266
7267 static per_sequence_t EncryptionUpdateRequest_sequence[] = {
7268         { "keyProtectionMethod", EXTENSION_ROOT, OPTIONAL,
7269                 dissect_h245_KeyProtectionMethod },
7270         { NULL, 0, 0, NULL }
7271 };
7272 static int
7273 dissect_h245_EncryptionUpdateRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7274 {
7275         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EncryptionUpdateRequest, ett_h245_EncryptionUpdateRequest, EncryptionUpdateRequest_sequence);
7276
7277         return offset;
7278 }
7279
7280
7281
7282
7283
7284 static const true_false_string tfs_bitRateLockedToPCRClock_bit = {
7285         "bitRateLockedToPCRClock bit is SET",
7286         "bitRateLockedToPCRClock bit is CLEAR"
7287 };
7288 static int
7289 dissect_h245_bitRateLockedToPCRClock(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7290 {
7291         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_bitRateLockedToPCRClock, NULL, NULL);
7292
7293         return offset;
7294 }
7295
7296
7297
7298
7299
7300
7301 static const true_false_string tfs_bitRateLockedToNetworkClock_bit = {
7302         "bitRateLockedToNetworkClock bit is SET",
7303         "bitRateLockedToNetworkClock bit is CLEAR"
7304 };
7305 static int
7306 dissect_h245_bitRateLockedToNetworkClock(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7307 {
7308         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_bitRateLockedToNetworkClock, NULL, NULL);
7309
7310         return offset;
7311 }
7312
7313
7314
7315 static int
7316 dissect_h245_IS11172_BitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7317 {
7318         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7319                 tree, hf_h245_IS11172_BitRate, 1, 448, 
7320                 NULL, NULL, FALSE);
7321         
7322         return offset;
7323 }
7324
7325
7326
7327
7328 static int
7329 dissect_h245_IS13818_BitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7330 {
7331         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7332                 tree, hf_h245_IS13818_BitRate, 1, 1130, 
7333                 NULL, NULL, FALSE);
7334         
7335         return offset;
7336 }
7337
7338
7339
7340 static per_sequence_t IS11172AudioCapability_sequence[] = {
7341         { "audioLayer1", EXTENSION_ROOT, NOT_OPTIONAL,
7342                 dissect_h245_audioLayer1 },
7343         { "audioLayer2", EXTENSION_ROOT, NOT_OPTIONAL,
7344                 dissect_h245_audioLayer2 },
7345         { "audioLayer3", EXTENSION_ROOT, NOT_OPTIONAL, 
7346                 dissect_h245_audioLayer3 },
7347         { "audioSampling32k", EXTENSION_ROOT, NOT_OPTIONAL,
7348                 dissect_h245_audioSampling32k },
7349         { "audioSampling44k1", EXTENSION_ROOT, NOT_OPTIONAL, 
7350                 dissect_h245_audioSampling44k1 },
7351         { "audioSampling48k", EXTENSION_ROOT, NOT_OPTIONAL,
7352                 dissect_h245_audioSampling48k },
7353         { "singleChannel", EXTENSION_ROOT, NOT_OPTIONAL, 
7354                 dissect_h245_singleChannel },
7355         { "twoChannels", EXTENSION_ROOT, NOT_OPTIONAL, 
7356                 dissect_h245_twoChannels },
7357         { "bitRate", EXTENSION_ROOT, NOT_OPTIONAL, 
7358                 dissect_h245_IS11172_BitRate },
7359         { NULL, 0, 0, NULL }
7360 };
7361 static int
7362 dissect_h245_IS11172AudioCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7363 {
7364         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS11172AudioCapability, ett_h245_IS11172AudioCapability, IS11172AudioCapability_sequence);
7365
7366         return offset;
7367 }
7368
7369
7370
7371 static per_sequence_t IS11172AudioMode_sequence[] = {
7372         { "audioLayer", EXTENSION_ROOT, NOT_OPTIONAL, 
7373                 dissect_h245_IS11172AudioMode_audioLayer },
7374         { "audioSampling", EXTENSION_ROOT, NOT_OPTIONAL, 
7375                 dissect_h245_IS11172AudioMode_audioSampling },
7376         { "multichannelType", EXTENSION_ROOT, NOT_OPTIONAL, 
7377                 dissect_h245_IS11172AudioMode_multichannelType },
7378         { "bitRate", EXTENSION_ROOT, NOT_OPTIONAL, 
7379                 dissect_h245_IS11172_BitRate },
7380         { NULL, 0, 0, NULL }
7381 };
7382 static int
7383 dissect_h245_IS11172AudioMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7384 {
7385         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS11172AudioMode, ett_h245_IS11172AudioMode, IS11172AudioMode_sequence);
7386
7387         return offset;
7388 }
7389
7390
7391
7392 static per_sequence_t IS13818AudioMode_sequence[] = {
7393         { "audioLayer", EXTENSION_ROOT, NOT_OPTIONAL, 
7394                         dissect_h245_IS13818AudioMode_audioLayer },
7395         { "audioSampling", EXTENSION_ROOT, NOT_OPTIONAL, 
7396                         dissect_h245_IS13818AudioMode_audioSampling },
7397         { "multiChannelType", EXTENSION_ROOT, NOT_OPTIONAL, 
7398                         dissect_h245_IS13818AudioMode_multiChannelType },
7399         { "lowFrequencyEnhancement", EXTENSION_ROOT, NOT_OPTIONAL, 
7400                         dissect_h245_lowFrequencyEnhancement },
7401         { "multilingual", EXTENSION_ROOT, NOT_OPTIONAL,
7402                         dissect_h245_multilingual },
7403         { "bitRate", EXTENSION_ROOT, NOT_OPTIONAL, 
7404                         dissect_h245_IS13818_BitRate },
7405         { NULL, 0, 0, NULL }
7406 };
7407 static int
7408 dissect_h245_IS13818AudioMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7409 {
7410         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS13818AudioMode, ett_h245_IS13818AudioMode, IS13818AudioMode_sequence);
7411
7412         return offset;
7413 }
7414
7415
7416
7417
7418 static per_sequence_t IS13818AudioCapability_sequence[] = {
7419         { "audioLayer1", EXTENSION_ROOT, NOT_OPTIONAL,
7420                 dissect_h245_audioLayer1 },
7421         { "audioLayer2", EXTENSION_ROOT, NOT_OPTIONAL, 
7422                 dissect_h245_audioLayer2 },
7423         { "audioLayer3", EXTENSION_ROOT, NOT_OPTIONAL, 
7424                 dissect_h245_audioLayer3 },
7425         { "audioSampling16k", EXTENSION_ROOT, NOT_OPTIONAL, 
7426                 dissect_h245_audioSampling16k },
7427         { "audioSampling22k05", EXTENSION_ROOT, NOT_OPTIONAL,
7428                 dissect_h245_audioSampling22k05 },
7429         { "audioSampling24k", EXTENSION_ROOT, NOT_OPTIONAL,
7430                 dissect_h245_audioSampling24k },
7431         { "audioSampling32k", EXTENSION_ROOT, NOT_OPTIONAL, 
7432                 dissect_h245_audioSampling32k },
7433         { "audioSampling44k1", EXTENSION_ROOT, NOT_OPTIONAL, 
7434                 dissect_h245_audioSampling44k1 },
7435         { "audioSampling48k", EXTENSION_ROOT, NOT_OPTIONAL,
7436                 dissect_h245_audioSampling48k },
7437         { "singleChannel", EXTENSION_ROOT, NOT_OPTIONAL, 
7438                 dissect_h245_singleChannel },
7439         { "twoChannels", EXTENSION_ROOT, NOT_OPTIONAL, 
7440                 dissect_h245_twoChannels },
7441         { "threeChannels2-1", EXTENSION_ROOT, NOT_OPTIONAL, 
7442                 dissect_h245_threeChannels21 },
7443         { "threeChannels3-0", EXTENSION_ROOT, NOT_OPTIONAL, 
7444                 dissect_h245_threeChannels30 },
7445         { "fourChannels2-0-2-0", EXTENSION_ROOT, NOT_OPTIONAL,
7446                 dissect_h245_fourChannels2020 },
7447         { "fourChannels2-2", EXTENSION_ROOT, NOT_OPTIONAL, 
7448                 dissect_h245_fourChannels22 },
7449         { "fourChannels3-1", EXTENSION_ROOT, NOT_OPTIONAL, 
7450                 dissect_h245_fourChannels31 },
7451         { "fiveChannels3-0-2-0", EXTENSION_ROOT, NOT_OPTIONAL,
7452                 dissect_h245_fiveChannels3020 },
7453         { "fiveChannels3-2", EXTENSION_ROOT, NOT_OPTIONAL, 
7454                 dissect_h245_fiveChannels32 },
7455         { "lowFrequencyEnhancement", EXTENSION_ROOT, NOT_OPTIONAL, 
7456                 dissect_h245_lowFrequencyEnhancement },
7457         { "multilingual", EXTENSION_ROOT, NOT_OPTIONAL, 
7458                 dissect_h245_multilingual },
7459         { "bitRate", EXTENSION_ROOT, NOT_OPTIONAL,
7460                 dissect_h245_IS13818_BitRate },
7461         { NULL, 0, 0, NULL }
7462 };
7463 static int
7464 dissect_h245_IS13818AudioCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7465 {
7466         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS13818AudioCapability, ett_h245_IS13818AudioCapability, IS13818AudioCapability_sequence);
7467
7468         return offset;
7469 }
7470
7471
7472
7473
7474 static int
7475 dissect_h245_ATM_BitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7476 {
7477         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7478                 tree, hf_h245_ATM_BitRate, 1, 65535, 
7479                 NULL, NULL, FALSE);
7480         
7481         return offset;
7482 }
7483
7484
7485
7486
7487 static per_sequence_t NewATMVCIndication_reverseParameters_sequence[] = {
7488         { "bitRate", EXTENSION_ROOT, NOT_OPTIONAL, 
7489                 dissect_h245_ATM_BitRate },
7490         { "bitRateLockedToPCRClock", EXTENSION_ROOT, NOT_OPTIONAL, 
7491                 dissect_h245_bitRateLockedToPCRClock },
7492         { "bitRateLockedToNetworkClock", EXTENSION_ROOT, NOT_OPTIONAL, 
7493                 dissect_h245_bitRateLockedToNetworkClock },
7494         { "multiplex", EXTENSION_ROOT, NOT_OPTIONAL, 
7495                 dissect_h245_NewATMVCIndication_reverseParameters_multiplex },
7496         { NULL, 0, 0, NULL }
7497 };
7498 static int
7499 dissect_h245_NewATMVCIndication_reverseParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7500 {
7501         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_reverseParameters, ett_h245_NewATMVCIndication_reverseParameters, NewATMVCIndication_reverseParameters_sequence);
7502
7503         return offset;
7504 }
7505
7506
7507
7508 static per_sequence_t NewATMVCCommand_reverseParameters_sequence[] = {
7509         { "bitRate", EXTENSION_ROOT, NOT_OPTIONAL,
7510                 dissect_h245_ATM_BitRate },
7511         { "bitRateLockedToPCRClock", EXTENSION_ROOT, NOT_OPTIONAL, 
7512                 dissect_h245_bitRateLockedToPCRClock },
7513         { "bitRateLockedToNetworkClock", EXTENSION_ROOT, NOT_OPTIONAL,
7514                 dissect_h245_bitRateLockedToNetworkClock },
7515         { "multiplex", EXTENSION_ROOT, NOT_OPTIONAL, 
7516                 dissect_h245_NewATMVCCommand_reverseParameters_multiplex },
7517         { NULL, 0, 0, NULL }
7518 };
7519 static int
7520 dissect_h245_NewATMVCCommand_reverseParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7521 {
7522         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_reverseParameters, ett_h245_NewATMVCCommand_reverseParameters, NewATMVCCommand_reverseParameters_sequence);
7523
7524         return offset;
7525 }
7526
7527
7528 static int
7529 dissect_h245_t35CountryCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7530 {
7531         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7532                 tree, hf_h245_t35CountryCode, 0, 255,
7533                 NULL, NULL, FALSE);
7534
7535         return offset;
7536 }
7537
7538
7539 static int
7540 dissect_h245_t35Extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7541 {
7542         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7543                 tree, hf_h245_t35Extension, 0, 255,
7544                 NULL, NULL, FALSE);
7545
7546         return offset;
7547 }
7548
7549
7550
7551 static int
7552 dissect_h245_manufacturerCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7553 {
7554         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7555                 tree, hf_h245_manufacturerCode, 0, 65535,
7556                 NULL, NULL, FALSE);
7557
7558         return offset;
7559 }
7560
7561
7562
7563
7564 static per_sequence_t h221NonStandard_sequence[] = {
7565         { "t35CountryCode", NO_EXTENSIONS, NOT_OPTIONAL,
7566                 dissect_h245_t35CountryCode },
7567         { "t35Extension", NO_EXTENSIONS, NOT_OPTIONAL, 
7568                 dissect_h245_t35Extension },
7569         { "manufacturerCode", NO_EXTENSIONS, NOT_OPTIONAL,
7570                 dissect_h245_manufacturerCode },
7571         { NULL, 0, 0, NULL }
7572 };
7573 int
7574 dissect_h245_h221NonStandard(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7575 {
7576         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_h221NonStandard, ett_h245_h221NonStandard, h221NonStandard_sequence);
7577
7578         return offset;
7579 }
7580
7581
7582
7583 static int
7584 dissect_h245_terminalType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7585 {
7586         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7587                 tree, hf_h245_terminalType, 0, 255,
7588                 NULL, NULL, FALSE);
7589
7590         return offset;
7591 }
7592
7593
7594
7595
7596 static int
7597 dissect_h245_statusDeterminationNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7598 {
7599         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7600                 tree, hf_h245_statusDeterminationNumber, 0, 16777215,
7601                 NULL, NULL, FALSE);
7602
7603         return offset;
7604 }
7605
7606
7607
7608 static per_sequence_t MasterSlaveDetermination_sequence[] = {
7609         { "terminalType", EXTENSION_ROOT, NOT_OPTIONAL,
7610                 dissect_h245_terminalType },
7611         { "statusDeterminationNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
7612                 dissect_h245_statusDeterminationNumber },
7613         { NULL, 0, 0, NULL }
7614 };
7615 static int
7616 dissect_h245_MasterSlaveDetermination(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7617 {
7618         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDetermination, ett_h245_MasterSlaveDetermination, MasterSlaveDetermination_sequence);
7619
7620         return offset;
7621 }
7622
7623
7624
7625
7626 static int
7627 dissect_h245_CapabilityTableEntryNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7628 {
7629         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7630                 tree, hf_h245_CapabilityTableEntryNumber, 1, 65535,
7631                 NULL, NULL, FALSE);
7632
7633         return offset;
7634 }
7635
7636
7637
7638 static const value_string TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded_vals[] = {
7639         {  0, "highestEntryNumberProcessed" },
7640         {  1, "noneProcessed" },
7641         {  0, NULL }
7642 };
7643 static per_choice_t TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded_choice[] = {
7644         {  0, "highestEntryNumberProcessed", NO_EXTENSIONS,
7645                         dissect_h245_CapabilityTableEntryNumber },
7646         {  1, "noneProcessed", NO_EXTENSIONS, 
7647                         dissect_h245_NULL },
7648         {  0, NULL, 0, NULL }
7649 };
7650 static int
7651 dissect_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7652 {
7653         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded, ett_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded, TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded_choice, "tableEntryCapacityExceeded", NULL);
7654
7655         return offset;
7656 }
7657
7658
7659
7660
7661
7662 static const value_string TerminalCapabilitySetReject_cause_vals[] = {
7663         {  0, "unspecified" },
7664         {  1, "undefinedTableEntryUsed" },
7665         {  2, "descriptorCapacityExceeded" },
7666         {  3, "tableEntryCapacityExceeded" },
7667         {  0, NULL }
7668 };
7669 static per_choice_t TerminalCapabilitySetReject_cause_choice[] = {
7670         {  0, "unspecified", EXTENSION_ROOT, 
7671                         dissect_h245_NULL },
7672         {  1, "undefinedTableEntryUsed", EXTENSION_ROOT, 
7673                         dissect_h245_NULL },
7674         {  2, "descriptorCapacityExceeded", EXTENSION_ROOT, 
7675                         dissect_h245_NULL },
7676         {  3, "tableEntryCapacityExceeded", EXTENSION_ROOT, 
7677                         dissect_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded },
7678         {  0, NULL, 0, NULL }
7679 };
7680 static int
7681 dissect_h245_TerminalCapabilitySetReject_cause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7682 {
7683         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySetReject_cause, ett_h245_TerminalCapabilitySetReject_cause, TerminalCapabilitySetReject_cause_choice, "cause", NULL);
7684
7685         return offset;
7686 }
7687
7688
7689
7690 static per_sequence_t TerminalCapabilitySetReject_sequence[] = {
7691         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
7692                         dissect_h245_SequenceNumber },
7693         { "cause", EXTENSION_ROOT, NOT_OPTIONAL, 
7694                         dissect_h245_TerminalCapabilitySetReject_cause },
7695         { NULL, 0, 0, NULL }
7696 };
7697 static int
7698 dissect_h245_TerminalCapabilitySetReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7699 {
7700         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySetReject, ett_h245_TerminalCapabilitySetReject, TerminalCapabilitySetReject_sequence);
7701
7702         return offset;
7703 }
7704
7705
7706
7707
7708
7709 static int
7710 dissect_h245_CapabilityDescriptorNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7711 {
7712         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7713                 tree, hf_h245_CapabilityDescriptorNumber, 0, 255,
7714                 NULL, NULL, FALSE);
7715
7716         return offset;
7717 }
7718
7719
7720
7721
7722 static int
7723 dissect_h245_h233IVResponseTime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7724 {
7725         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7726                 tree, hf_h245_h233IVResponseTime, 0, 255,
7727                 NULL, NULL, FALSE);
7728
7729         return offset;
7730 }
7731
7732
7733
7734
7735 static per_sequence_t Capability_h233EncryptionReceiveCapability_sequence[] = {
7736         { "h233IVResponseTime", EXTENSION_ROOT, NOT_OPTIONAL, 
7737                         dissect_h245_h233IVResponseTime },
7738         { NULL, 0, 0, NULL }
7739 };
7740 static int
7741 dissect_h245_Capability_h233EncryptionReceiveCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7742 {
7743         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_Capability_h233EncryptionReceiveCapability, ett_h245_Capability_h233EncryptionReceiveCapability, Capability_h233EncryptionReceiveCapability_sequence);
7744
7745         return offset;
7746 }
7747
7748
7749
7750
7751
7752 static int
7753 dissect_h245_maxPendingReplacementFor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7754 {
7755         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7756                 tree, hf_h245_maxPendingReplacementFor, 0, 255,
7757                 NULL, NULL, FALSE);
7758
7759         return offset;
7760 }
7761
7762
7763
7764
7765 static int
7766 dissect_h245_numberOfVCs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7767 {
7768         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7769                 tree, hf_h245_numberOfVCs, 1, 256,
7770                 NULL, NULL, FALSE);
7771
7772         return offset;
7773 }
7774
7775
7776
7777
7778
7779 static int
7780 dissect_h245_forwardMaximumSDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7781 {
7782         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7783                 tree, hf_h245_forwardMaximumSDUSize, 0, 65535,
7784                 NULL, NULL, FALSE);
7785
7786         return offset;
7787 }
7788
7789
7790
7791
7792 static int
7793 dissect_h245_backwardMaximumSDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7794 {
7795         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7796                 tree, hf_h245_backwardMaximumSDUSize, 0, 65535,
7797                 NULL, NULL, FALSE);
7798
7799         return offset;
7800 }
7801
7802
7803
7804
7805
7806 static per_sequence_t VCCapability_aal5_sequence[] = {
7807         { "forwardMaximumSDUSize", EXTENSION_ROOT, NOT_OPTIONAL, 
7808                 dissect_h245_forwardMaximumSDUSize },
7809         { "backwardMaximumSDUSize", EXTENSION_ROOT, NOT_OPTIONAL,
7810                 dissect_h245_backwardMaximumSDUSize },
7811         { NULL, 0, 0, NULL }
7812 };
7813 static int
7814 dissect_h245_VCCapability_aal5(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7815 {
7816         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability_aal5, ett_h245_VCCapability_aal5, VCCapability_aal5_sequence);
7817
7818         return offset;
7819 }
7820
7821
7822
7823 static per_sequence_t NewATMVCCommand_aal_aal5_sequence[] = {
7824         { "forwardMaximumSDUSize", EXTENSION_ROOT, NOT_OPTIONAL, 
7825                 dissect_h245_forwardMaximumSDUSize},
7826         { "backwardMaximumSDUSize", EXTENSION_ROOT, NOT_OPTIONAL,
7827                 dissect_h245_backwardMaximumSDUSize },
7828         { NULL, 0, 0, NULL }
7829 };
7830 static int
7831 dissect_h245_NewATMVCCommand_aal_aal5(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7832 {
7833         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_aal_aal5, ett_h245_NewATMVCCommand_aal_aal5, NewATMVCCommand_aal_aal5_sequence);
7834
7835         return offset;
7836 }
7837
7838
7839
7840
7841
7842 static const value_string NewATMVCCommand_aal_vals[] = {
7843         {  0, "aal1" },
7844         {  1, "aal5" },
7845         {  0, NULL }
7846 };
7847 static per_choice_t NewATMVCCommand_aal_choice[] = {
7848         {  0, "aal1", EXTENSION_ROOT, 
7849                 dissect_h245_NewATMVCCommand_aal_aal1 },
7850         {  1, "aal5", EXTENSION_ROOT, 
7851                 dissect_h245_NewATMVCCommand_aal_aal5 },
7852         {  0, NULL, 0, NULL }
7853 };
7854 static int
7855 dissect_h245_NewATMVCCommand_aal(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7856 {
7857         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand_aal, ett_h245_NewATMVCCommand_aal, NewATMVCCommand_aal_choice, "aal", NULL);
7858
7859         return offset;
7860 }
7861
7862
7863
7864
7865 static per_sequence_t NewATMVCIndication_aal_aal5_sequence[] = {
7866         { "forwardMaximumSDUSize", EXTENSION_ROOT, NOT_OPTIONAL, 
7867                 dissect_h245_forwardMaximumSDUSize },
7868         { "backwardMaximumSDUSize", EXTENSION_ROOT, NOT_OPTIONAL,
7869                 dissect_h245_backwardMaximumSDUSize },
7870         { NULL, 0, 0, NULL }
7871 };
7872 static int
7873 dissect_h245_NewATMVCIndication_aal_aal5(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7874 {
7875         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_aal_aal5, ett_h245_NewATMVCIndication_aal_aal5, NewATMVCIndication_aal_aal5_sequence);
7876
7877         return offset;
7878 }
7879
7880
7881
7882
7883 static const value_string NewATMVCIndication_aal_vals[] = {
7884         {  0, "aal1" },
7885         {  1, "aal5" },
7886         {  0, NULL }
7887 };
7888 static per_choice_t NewATMVCIndication_aal_choice[] = {
7889         {  0, "aal1", EXTENSION_ROOT, 
7890                 dissect_h245_NewATMVCIndication_aal_aal1 },
7891         {  1, "aal5", EXTENSION_ROOT,
7892                 dissect_h245_NewATMVCIndication_aal_aal5 },
7893         {  0, NULL, 0, NULL }
7894 };
7895 static int
7896 dissect_h245_NewATMVCIndication_aal(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7897 {
7898         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication_aal, ett_h245_NewATMVCIndication_aal, NewATMVCIndication_aal_choice, "aal", NULL);
7899
7900         return offset;
7901 }
7902
7903
7904
7905
7906 static int
7907 dissect_h245_singleBitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7908 {
7909         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7910                 tree, hf_h245_singleBitRate, 1, 65535,
7911                 NULL, NULL, FALSE);
7912
7913         return offset;
7914 }
7915
7916
7917
7918
7919 static int
7920 dissect_h245_lowerBitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7921 {
7922         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7923                 tree, hf_h245_lowerBitRate, 1, 65535,
7924                 NULL, NULL, FALSE);
7925
7926         return offset;
7927 }
7928
7929
7930
7931 static int
7932 dissect_h245_higherBitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7933 {
7934         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7935                 tree, hf_h245_higherBitRate, 1, 65535,
7936                 NULL, NULL, FALSE);
7937
7938         return offset;
7939 }
7940
7941
7942
7943
7944
7945 static per_sequence_t VCCapability_availableBitRates_rangeOfBitRates_sequence[] = {
7946         { "lowerBitRate", NO_EXTENSIONS, NOT_OPTIONAL, 
7947                         dissect_h245_lowerBitRate },
7948         { "higherBitRate", NO_EXTENSIONS, NOT_OPTIONAL, 
7949                         dissect_h245_higherBitRate },
7950         { NULL, 0, 0, NULL }
7951 };
7952 static int
7953 dissect_h245_VCCapability_availableBitRates_rangeOfBitRates(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7954 {
7955         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability_availableBitRates_rangeOfBitRates, ett_h245_VCCapability_availableBitRates_rangeOfBitRates, VCCapability_availableBitRates_rangeOfBitRates_sequence);
7956
7957         return offset;
7958 }
7959
7960
7961
7962
7963 static const value_string VCCapability_availableBitRates_type_vals[] = {
7964         {  0, "singleBitRate" },
7965         {  1, "rangeOfBitRates" },
7966         {  0, NULL }
7967 };
7968 static per_choice_t VCCapability_availableBitRates_type_choice[] = {
7969         {  0, "singleBitRate", NO_EXTENSIONS, 
7970                         dissect_h245_singleBitRate },
7971         {  1, "rangeOfBitRates", NO_EXTENSIONS,
7972                         dissect_h245_VCCapability_availableBitRates_rangeOfBitRates },
7973         {  0, NULL, 0, NULL }
7974 };
7975 static int
7976 dissect_h245_VCCapability_availableBitRates_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7977 {
7978         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_VCCapability_availableBitRates_type, ett_h245_VCCapability_availableBitRates_type, VCCapability_availableBitRates_type_choice, "type", NULL);
7979
7980         return offset;
7981 }
7982
7983
7984
7985 static int
7986 dissect_h245_maximumAl2SDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7987 {
7988         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
7989                 tree, hf_h245_maximumAl2SDUSize, 0, 65535,
7990                 NULL, NULL, FALSE);
7991
7992         return offset;
7993 }
7994
7995
7996
7997
7998 static int
7999 dissect_h245_maximumAl3SDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8000 {
8001         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8002                 tree, hf_h245_maximumAl3SDUSize, 0, 65535,
8003                 NULL, NULL, FALSE);
8004
8005         return offset;
8006 }
8007
8008
8009
8010
8011 static int
8012 dissect_h245_maximumDelayJitter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8013 {
8014         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8015                 tree, hf_h245_maximumDelayJitter, 0, 1023,
8016                 NULL, NULL, FALSE);
8017
8018         return offset;
8019 }
8020
8021
8022
8023 static int
8024 dissect_h245_maximumNestingDepth(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8025 {
8026         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8027                 tree, hf_h245_maximumNestingDepth, 1, 15,
8028                 NULL, NULL, FALSE);
8029
8030         return offset;
8031 }
8032
8033
8034
8035 static int
8036 dissect_h245_maximumElementListSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8037 {
8038         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8039                 tree, hf_h245_maximumElementListSize, 2, 255,
8040                 NULL, NULL, FALSE);
8041
8042         return offset;
8043 }
8044
8045
8046
8047 static int
8048 dissect_h245_maximumSubElementListSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8049 {
8050         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8051                 tree, hf_h245_maximumSubElementListSize, 2, 255,
8052                 NULL, NULL, FALSE);
8053
8054         return offset;
8055 }
8056
8057
8058
8059 static per_sequence_t H223Capability_h223MultiplexTableCapability_enhanced_sequence[] = {
8060         { "maximumNestingDepth", EXTENSION_ROOT, NOT_OPTIONAL,
8061                         dissect_h245_maximumNestingDepth },
8062         { "maximumElementListSize", EXTENSION_ROOT, NOT_OPTIONAL,
8063                         dissect_h245_maximumElementListSize },
8064         { "maximumSubElementListSize", EXTENSION_ROOT, NOT_OPTIONAL,
8065                         dissect_h245_maximumSubElementListSize },
8066         { NULL, 0, 0, NULL }
8067 };
8068 static int
8069 dissect_h245_H223Capability_h223MultiplexTableCapability_enhanced(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8070 {
8071         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223Capability_h223MultiplexTableCapability_enhanced, ett_h245_H223Capability_h223MultiplexTableCapability_enhanced, H223Capability_h223MultiplexTableCapability_enhanced_sequence);
8072
8073         return offset;
8074 }
8075
8076
8077
8078
8079 static const value_string H223Capability_h223MultiplexTableCapability_vals[] = {
8080         {  0, "basic" },
8081         {  1, "enhanced" },
8082         {  0, NULL }
8083 };
8084 static per_choice_t H223Capability_h223MultiplexTableCapability_choice[] = {
8085         {  0, "basic", NO_EXTENSIONS, 
8086                         dissect_h245_NULL },
8087         {  1, "enhanced", NO_EXTENSIONS,
8088                         dissect_h245_H223Capability_h223MultiplexTableCapability_enhanced },
8089         {  0, NULL, 0, NULL }
8090 };
8091 static int
8092 dissect_h245_H223Capability_h223MultiplexTableCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8093 {
8094         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223Capability_h223MultiplexTableCapability, ett_h245_H223Capability_h223MultiplexTableCapability, H223Capability_h223MultiplexTableCapability_choice, "h223MultiplexTableCapability", NULL);
8095
8096         return offset;
8097 }
8098
8099
8100
8101
8102 static int
8103 dissect_h245_h223bitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8104 {
8105         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8106                 tree, hf_h245_h223bitRate, 1, 19200,
8107                 NULL, NULL, FALSE);
8108
8109         return offset;
8110 }
8111
8112
8113
8114
8115 static int
8116 dissect_h245_maximumSampleSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8117 {
8118         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8119                 tree, hf_h245_maximumSampleSize, 1, 255,
8120                 NULL, NULL, FALSE);
8121
8122         return offset;
8123 }
8124
8125
8126
8127
8128 static int
8129 dissect_h245_maximumPayloadLength(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8130 {
8131         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8132                 tree, hf_h245_maximumPayloadLength, 1, 65025,
8133                 NULL, NULL, FALSE);
8134
8135         return offset;
8136 }
8137
8138
8139
8140
8141 static per_sequence_t H223Capability_mobileMultilinkFrameCapability_sequence[] = {
8142         { "maximumSampleSize", EXTENSION_ROOT, NOT_OPTIONAL, 
8143                         dissect_h245_maximumSampleSize },
8144         { "maximumPayloadLength", EXTENSION_ROOT, NOT_OPTIONAL, 
8145                         dissect_h245_maximumPayloadLength },
8146         { NULL, 0, 0, NULL }
8147 };
8148 static int
8149 dissect_h245_H223Capability_mobileMultilinkFrameCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8150 {
8151         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223Capability_mobileMultilinkFrameCapability, ett_h245_H223Capability_mobileMultilinkFrameCapability, H223Capability_mobileMultilinkFrameCapability_sequence);
8152
8153         return offset;
8154 }
8155
8156
8157
8158
8159 static int
8160 dissect_h245_maximumAL1MPDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8161 {
8162         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8163                 tree, hf_h245_maximumAL1MPDUSize, 0, 65535,
8164                 NULL, NULL, FALSE);
8165
8166         return offset;
8167 }
8168
8169
8170
8171
8172 static int
8173 dissect_h245_maximumAL2MSDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8174 {
8175         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8176                 tree, hf_h245_maximumAL2MSDUSize, 0, 65535,
8177                 NULL, NULL, FALSE);
8178
8179         return offset;
8180 }
8181
8182
8183
8184
8185 static int
8186 dissect_h245_maximumAL3MSDUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8187 {
8188         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8189                 tree, hf_h245_maximumAL3MSDUSize, 0, 65535,
8190                 NULL, NULL, FALSE);
8191
8192         return offset;
8193 }
8194
8195
8196
8197
8198
8199 static per_sequence_t H223AnnexCCapability_sequence[] = {
8200         { "videoWithAL1M", EXTENSION_ROOT, NOT_OPTIONAL, 
8201                 dissect_h245_videoWithAL1M },
8202         { "videoWithAL2M", EXTENSION_ROOT, NOT_OPTIONAL, 
8203                 dissect_h245_videoWithAL2M },
8204         { "videoWithAL3M", EXTENSION_ROOT, NOT_OPTIONAL, 
8205                 dissect_h245_videoWithAL3M },
8206         { "audioWithAL1M", EXTENSION_ROOT, NOT_OPTIONAL, 
8207                 dissect_h245_audioWithAL1M },
8208         { "audioWithAL2M", EXTENSION_ROOT, NOT_OPTIONAL, 
8209                 dissect_h245_audioWithAL2M },
8210         { "audioWithAL3M", EXTENSION_ROOT, NOT_OPTIONAL, 
8211                 dissect_h245_audioWithAL3M },
8212         { "dataWithAL1M", EXTENSION_ROOT, NOT_OPTIONAL, 
8213                 dissect_h245_dataWithAL1M },
8214         { "dataWithAL2M", EXTENSION_ROOT, NOT_OPTIONAL, 
8215                 dissect_h245_dataWithAL2M },
8216         { "dataWithAL3M", EXTENSION_ROOT, NOT_OPTIONAL, 
8217                 dissect_h245_dataWithAL3M },
8218         { "alpduInterleaving", EXTENSION_ROOT, NOT_OPTIONAL, 
8219                 dissect_h245_alpduInterleaving },
8220         { "maximumAL1MPDUSize", EXTENSION_ROOT, NOT_OPTIONAL,
8221                 dissect_h245_maximumAL1MPDUSize },
8222         { "maximumAL2MSDUSize", EXTENSION_ROOT, NOT_OPTIONAL,
8223                 dissect_h245_maximumAL2MSDUSize },
8224         { "maximumAL3MSDUSize", EXTENSION_ROOT, NOT_OPTIONAL,
8225                 dissect_h245_maximumAL3MSDUSize },
8226         { "rsCodeCapability", NOT_EXTENSION_ROOT, OPTIONAL, 
8227                 dissect_h245_rsCodeCapability },
8228         { NULL, 0, 0, NULL }
8229 };
8230 static int
8231 dissect_h245_H223AnnexCCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8232 {
8233         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223AnnexCCapability, ett_h245_H223AnnexCCapability, H223AnnexCCapability_sequence);
8234
8235         return offset;
8236 }
8237
8238
8239
8240 static const true_false_string tfs_transportWithIframes_bit = {
8241         "transportWithIframes bit is SET",
8242         "transportWithIframes bit is CLEAR"
8243 };
8244 static int
8245 dissect_h245_transportWithIframes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8246 {
8247         offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h245_transportWithIframes, NULL, NULL);
8248
8249         return offset;
8250 }
8251
8252
8253 static per_sequence_t H223Capability_sequence[] = {
8254         { "transportWithIframes", EXTENSION_ROOT, NOT_OPTIONAL,
8255                 dissect_h245_transportWithIframes },
8256         { "videoWithAL1", EXTENSION_ROOT, NOT_OPTIONAL, 
8257                 dissect_h245_videoWithAL1 },
8258         { "videoWithAL2", EXTENSION_ROOT, NOT_OPTIONAL, 
8259                 dissect_h245_videoWithAL2 },
8260         { "videoWithAL3", EXTENSION_ROOT, NOT_OPTIONAL, 
8261                 dissect_h245_videoWithAL3 },
8262         { "audioWithAL1", EXTENSION_ROOT, NOT_OPTIONAL,
8263                 dissect_h245_audioWithAL1 },
8264         { "audioWithAL2", EXTENSION_ROOT, NOT_OPTIONAL, 
8265                 dissect_h245_audioWithAL2 },
8266         { "audioWithAL3", EXTENSION_ROOT, NOT_OPTIONAL, 
8267                 dissect_h245_audioWithAL3 },
8268         { "dataWithAL1", EXTENSION_ROOT, NOT_OPTIONAL, 
8269                 dissect_h245_dataWithAL1 },
8270         { "dataWithAL2", EXTENSION_ROOT, NOT_OPTIONAL, 
8271                 dissect_h245_dataWithAL2 },
8272         { "dataWithAL3", EXTENSION_ROOT, NOT_OPTIONAL, 
8273                 dissect_h245_dataWithAL3 },
8274         { "maximumAL2SDUSize", EXTENSION_ROOT, NOT_OPTIONAL, 
8275                 dissect_h245_maximumAl2SDUSize },
8276         { "maximumAL3SDUSize", EXTENSION_ROOT, NOT_OPTIONAL, 
8277                 dissect_h245_maximumAl3SDUSize },
8278         { "maximumDelayJitter", EXTENSION_ROOT, NOT_OPTIONAL, 
8279                 dissect_h245_maximumDelayJitter },
8280         { "h223MultiplexTableCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
8281                 dissect_h245_H223Capability_h223MultiplexTableCapability },
8282         { "maxMUXPDUSizeCapability", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
8283                 dissect_h245_maxMUXPDUSizeCapability },
8284         { "nsrpSupport", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
8285                 dissect_h245_nsrpSupport },
8286         { "mobileOperationTransmitCapability", NOT_EXTENSION_ROOT, OPTIONAL,
8287                 dissect_h245_H223Capability_mobileOperationTransmitCapability },
8288         { "h223AnnexCCapability", NOT_EXTENSION_ROOT, OPTIONAL,
8289                 dissect_h245_H223AnnexCCapability },
8290         { "bitRate", NOT_EXTENSION_ROOT, OPTIONAL,
8291                 dissect_h245_h223bitRate },
8292         { "mobileMultilinkFrameCapability", NOT_EXTENSION_ROOT, OPTIONAL,
8293                 dissect_h245_H223Capability_mobileMultilinkFrameCapability },
8294         { NULL, 0, 0, NULL }
8295 };
8296 static int
8297 dissect_h245_H223Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8298 {
8299         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223Capability, ett_h245_H223Capability, H223Capability_sequence);
8300
8301         return offset;
8302 }
8303
8304
8305
8306
8307 static int
8308 dissect_h245_numOfDLCS(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8309 {
8310         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8311                 tree, hf_h245_numOfDLCS, 2, 8191,
8312                 NULL, NULL, FALSE);
8313
8314         return offset;
8315 }
8316
8317
8318
8319
8320 static int
8321 dissect_h245_n401Capability(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_n401Capability, 1, 4095,
8325                 NULL, NULL, FALSE);
8326
8327         return offset;
8328 }
8329
8330
8331
8332
8333 static int
8334 dissect_h245_maxWindowSizeCapability(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_maxWindowSizeCapability, 1, 127,
8338                 NULL, NULL, FALSE);
8339
8340         return offset;
8341 }
8342
8343
8344
8345
8346 static per_sequence_t V76Capability_sequence[] = {
8347         { "suspendResumeCapabilitywAddress", EXTENSION_ROOT, NOT_OPTIONAL, 
8348                 dissect_h245_suspendResumeCapabilitywAddress },
8349         { "suspendResumeCapabilitywoAddress", EXTENSION_ROOT, NOT_OPTIONAL, 
8350                 dissect_h245_suspendResumeCapabilitywoAddress },
8351         { "rejCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
8352                 dissect_h245_rejCapability },
8353         { "sREJCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
8354                 dissect_h245_sREJCapability },
8355         { "mREJCapability", EXTENSION_ROOT, NOT_OPTIONAL,
8356                 dissect_h245_mREJCapability },
8357         { "crc8bitCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
8358                 dissect_h245_crc8bitCapability },
8359         { "crc16bitCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
8360                 dissect_h245_crc16bitCapability },
8361         { "crc32bitCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
8362                 dissect_h245_crc32bitCapability },
8363         { "uihCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
8364                 dissect_h245_uihCapability },
8365         { "numOfDLCS", EXTENSION_ROOT, NOT_OPTIONAL,
8366                 dissect_h245_numOfDLCS },
8367         { "twoOctetAddressFieldCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
8368                 dissect_h245_twoOctetAddressFieldCapability },
8369         { "loopBackTestCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
8370                 dissect_h245_loopBackTestCapability },
8371         { "n401Capability", EXTENSION_ROOT, NOT_OPTIONAL,
8372                 dissect_h245_n401Capability },
8373         { "maxWindowSizeCapability", EXTENSION_ROOT, NOT_OPTIONAL,
8374                 dissect_h245_maxWindowSizeCapability },
8375         { "v75Capability", EXTENSION_ROOT, NOT_OPTIONAL, 
8376                 dissect_h245_V75Capability },
8377         { NULL, 0, 0, NULL }
8378 };
8379 static int
8380 dissect_h245_V76Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8381 {
8382         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V76Capability, ett_h245_V76Capability, V76Capability_sequence);
8383
8384         return offset;
8385 }
8386
8387
8388
8389
8390 static int
8391 dissect_h245_maximumAudioDelayJitter(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_maximumAudioDelayJitter, 0, 1023,
8395                 NULL, NULL, FALSE);
8396
8397         return offset;
8398 }
8399
8400
8401
8402
8403 static int
8404 dissect_h245_tokenRate(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_tokenRate, 1, 4294967295UL,
8408                 NULL, NULL, FALSE);
8409
8410         return offset;
8411 }
8412
8413
8414
8415
8416 static int
8417 dissect_h245_bucketSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8418 {
8419         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8420                 tree, hf_h245_bucketSize, 1, 4294967295UL,
8421                 NULL, NULL, FALSE);
8422
8423         return offset;
8424 }
8425
8426
8427
8428
8429 static int
8430 dissect_h245_peakRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8431 {
8432         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8433                 tree, hf_h245_peakRate, 1, 4294967295UL,
8434                 NULL, NULL, FALSE);
8435
8436         return offset;
8437 }
8438
8439
8440
8441 static int
8442 dissect_h245_minPoliced(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8443 {
8444         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8445                 tree, hf_h245_minPoliced, 1, 4294967295UL,
8446                 NULL, NULL, FALSE);
8447
8448         return offset;
8449 }
8450
8451
8452
8453
8454 static int
8455 dissect_h245_maxPktSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8456 {
8457         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8458                 tree, hf_h245_maxPktSize, 1, 4294967295UL,
8459                 NULL, NULL, FALSE);
8460
8461         return offset;
8462 }
8463
8464
8465
8466 static per_sequence_t RSVPParameters_sequence[] = {
8467         { "qosMode", EXTENSION_ROOT, OPTIONAL, 
8468                         dissect_h245_QOSMode },
8469         { "tokenRate", EXTENSION_ROOT, OPTIONAL, 
8470                         dissect_h245_tokenRate },
8471         { "bucketSize", EXTENSION_ROOT, OPTIONAL, 
8472                         dissect_h245_bucketSize },
8473         { "peakRate", EXTENSION_ROOT, OPTIONAL,
8474                         dissect_h245_peakRate },
8475         { "minPoliced", EXTENSION_ROOT, OPTIONAL,
8476                         dissect_h245_minPoliced },
8477         { "maxPktSize", EXTENSION_ROOT, OPTIONAL,
8478                         dissect_h245_maxPktSize },
8479         { NULL, 0, 0, NULL }
8480 };
8481 static int
8482 dissect_h245_RSVPParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8483 {
8484         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RSVPParameters, ett_h245_RSVPParameters, RSVPParameters_sequence);
8485
8486         return offset;
8487 }
8488
8489
8490
8491
8492 static int
8493 dissect_h245_maxNTUSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8494 {
8495         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8496                 tree, hf_h245_maxNTUSize, 0, 65535,
8497                 NULL, NULL, FALSE);
8498
8499         return offset;
8500 }
8501
8502
8503
8504 static per_sequence_t ATMParameters_sequence[] = {
8505         { "maxNTUSize", EXTENSION_ROOT, NOT_OPTIONAL,
8506                 dissect_h245_maxNTUSize },
8507         { "atmUBR", EXTENSION_ROOT, NOT_OPTIONAL, 
8508                 dissect_h245_atmUBR },
8509         { "atmrtVBR", EXTENSION_ROOT, NOT_OPTIONAL, 
8510                 dissect_h245_atmrtVBR },
8511         { "atmnrtVBR", EXTENSION_ROOT, NOT_OPTIONAL, 
8512                 dissect_h245_atmnrtVBR },
8513         { "atmABR", EXTENSION_ROOT, NOT_OPTIONAL, 
8514                 dissect_h245_atmABR },
8515         { "atmCBR", EXTENSION_ROOT, NOT_OPTIONAL, 
8516                 dissect_h245_atmCBR },
8517         { NULL, 0, 0, NULL }
8518 };
8519 static int
8520 dissect_h245_ATMParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8521 {
8522         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ATMParameters, ett_h245_ATMParameters, ATMParameters_sequence);
8523
8524         return offset;
8525 }
8526
8527
8528
8529
8530 static int
8531 dissect_h245_numberOfThreads(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8532 {
8533         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8534                 tree, hf_h245_numberOfThreads, 1, 16,
8535                 NULL, NULL, FALSE);
8536
8537         return offset;
8538 }
8539
8540
8541
8542 static int
8543 dissect_h245_framesBetweenSyncPoints(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8544 {
8545         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8546                 tree, hf_h245_framesBetweenSyncPoints, 1, 256,
8547                 NULL, NULL, FALSE);
8548
8549         return offset;
8550 }
8551
8552
8553
8554 static int
8555 dissect_h245_threadNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8556 {
8557         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8558                 tree, hf_h245_threadNumber, 0, 15,
8559                 NULL, NULL, FALSE);
8560
8561         return offset;
8562 }
8563
8564
8565
8566
8567 static int
8568 dissect_h245_qcifMPI_1_4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8569 {
8570         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8571                 tree, hf_h245_qcifMPI_1_4, 1, 4,
8572                 NULL, NULL, FALSE);
8573
8574         return offset;
8575 }
8576
8577
8578
8579
8580 static int
8581 dissect_h245_qcifMPI_1_32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8582 {
8583         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8584                 tree, hf_h245_qcifMPI_1_32, 1, 32,
8585                 NULL, NULL, FALSE);
8586
8587         return offset;
8588 }
8589
8590
8591
8592
8593
8594
8595 static int
8596 dissect_h245_qcifMPI_1_2048(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8597 {
8598         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8599                 tree, hf_h245_qcifMPI_1_2048, 1, 2048,
8600                 NULL, NULL, FALSE);
8601
8602         return offset;
8603 }
8604
8605
8606
8607
8608 static int
8609 dissect_h245_cifMPI_1_4(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_cifMPI_1_4, 1, 4,
8613                 NULL, NULL, FALSE);
8614
8615         return offset;
8616 }
8617
8618
8619
8620 static int
8621 dissect_h245_cifMPI_1_32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8622 {
8623         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8624                 tree, hf_h245_cifMPI_1_32, 1, 32,
8625                 NULL, NULL, FALSE);
8626
8627         return offset;
8628 }
8629
8630
8631
8632 static int
8633 dissect_h245_cifMPI_1_2048(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8634 {
8635         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8636                 tree, hf_h245_cifMPI_1_2048, 1, 2048,
8637                 NULL, NULL, FALSE);
8638
8639         return offset;
8640 }
8641
8642
8643
8644
8645
8646 static per_sequence_t H261VideoCapability_sequence[] = {
8647         { "qcifMPI", EXTENSION_ROOT, OPTIONAL,
8648                 dissect_h245_qcifMPI_1_4 },
8649         { "cifMPI", EXTENSION_ROOT, OPTIONAL,
8650                 dissect_h245_cifMPI_1_4 },
8651         { "temporalSpatialTradeOffCapability", EXTENSION_ROOT, NOT_OPTIONAL,
8652                 dissect_h245_temporalSpatialTradeOffCapability },
8653         { "maxBitRate", EXTENSION_ROOT, NOT_OPTIONAL,
8654                 dissect_h245_h223bitRate },
8655         { "stillImageTransmission", EXTENSION_ROOT, NOT_OPTIONAL, 
8656                 dissect_h245_stillImageTransmission },
8657         { "videoBadMBsCap", NOT_EXTENSION_ROOT, NOT_OPTIONAL,
8658                 dissect_h245_videoBadMBsCap },
8659         { NULL, 0, 0, NULL }
8660 };
8661 static int
8662 dissect_h245_H261VideoCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8663 {
8664         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H261VideoCapability, ett_h245_H261VideoCapability, H261VideoCapability_sequence);
8665
8666         return offset;
8667 }
8668
8669
8670
8671
8672 static int
8673 dissect_h245_videoBitRate(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_videoBitRate, 0, 1073741823,
8677                 NULL, NULL, FALSE);
8678
8679         return offset;
8680 }
8681
8682
8683
8684
8685 static int
8686 dissect_h245_vbvBufferSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8687 {
8688         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8689                 tree, hf_h245_vbvBufferSize, 0, 262143,
8690                 NULL, NULL, FALSE);
8691
8692         return offset;
8693 }
8694
8695
8696
8697
8698
8699 static int
8700 dissect_h245_samplesPerLine(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8701 {
8702         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8703                 tree, hf_h245_samplesPerLine, 0, 16383,
8704                 NULL, NULL, FALSE);
8705
8706         return offset;
8707 }
8708
8709
8710
8711
8712
8713 static int
8714 dissect_h245_linesPerFrame(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8715 {
8716         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8717                 tree, hf_h245_linesPerFrame, 0, 16383,
8718                 NULL, NULL, FALSE);
8719
8720         return offset;
8721 }
8722
8723
8724
8725
8726
8727 static int
8728 dissect_h245_framesPerSecond(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8729 {
8730         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8731                 tree, hf_h245_framesPerSecond, 0, 15,
8732                 NULL, NULL, FALSE);
8733
8734         return offset;
8735 }
8736
8737
8738
8739
8740 static int
8741 dissect_h245_luminanceSampleRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8742 {
8743         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8744                 tree, hf_h245_luminanceSampleRate, 0, 4294967295UL,
8745                 NULL, NULL, FALSE);
8746
8747         return offset;
8748 }
8749
8750
8751
8752
8753 static per_sequence_t H262VideoCapability_sequence[] = {
8754         { "profileAndLevel-SPatML", EXTENSION_ROOT, NOT_OPTIONAL,
8755                 dissect_h245_profileAndLevelSPatML },
8756         { "profileAndLevel-MPatLL", EXTENSION_ROOT, NOT_OPTIONAL, 
8757                 dissect_h245_profileAndLevelMPatLL },
8758         { "profileAndLevel-MPatML", EXTENSION_ROOT, NOT_OPTIONAL,
8759                 dissect_h245_profileAndLevelMPatML },
8760         { "profileAndLevel-MPatH-14", EXTENSION_ROOT, NOT_OPTIONAL, 
8761                 dissect_h245_profileAndLevelMPatH14 },
8762         { "profileAndLevel-MPatHL", EXTENSION_ROOT, NOT_OPTIONAL, 
8763                 dissect_h245_profileAndLevelMPatHL },
8764         { "profileAndLevel-SNRatLL", EXTENSION_ROOT, NOT_OPTIONAL, 
8765                 dissect_h245_profileAndLevelSNRatLL },
8766         { "profileAndLevel-SNRatML", EXTENSION_ROOT, NOT_OPTIONAL, 
8767                 dissect_h245_profileAndLevelSNRatML },
8768         { "profileAndLevel-SpatialatH-14", EXTENSION_ROOT, NOT_OPTIONAL, 
8769                 dissect_h245_profileAndLevelSpatialatH14 },
8770         { "profileAndLevel-HPatML", EXTENSION_ROOT, NOT_OPTIONAL,
8771                 dissect_h245_profileAndLevelHPatML },
8772         { "profileAndLevel-HPatH-14", EXTENSION_ROOT, NOT_OPTIONAL, 
8773                 dissect_h245_profileAndLevelHPatH14 },
8774         { "profileAndLevel-HPatHL", EXTENSION_ROOT, NOT_OPTIONAL, 
8775                 dissect_h245_profileAndLevelHPatHL },
8776         { "videoBitRate", EXTENSION_ROOT, OPTIONAL,
8777                 dissect_h245_videoBitRate },
8778         { "vbvBufferSize", EXTENSION_ROOT, OPTIONAL, 
8779                 dissect_h245_vbvBufferSize },
8780         { "samplesPerLine", EXTENSION_ROOT, OPTIONAL,
8781                 dissect_h245_samplesPerLine },
8782         { "linesPerFrame", EXTENSION_ROOT, OPTIONAL,
8783                 dissect_h245_linesPerFrame },
8784         { "framesPerSecond", EXTENSION_ROOT, OPTIONAL,
8785                 dissect_h245_framesPerSecond },
8786         { "luminanceSampleRate", EXTENSION_ROOT, OPTIONAL,
8787                 dissect_h245_luminanceSampleRate },
8788         { "videoBadMBsCap", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
8789                 dissect_h245_videoBadMBsCap },
8790         { NULL, 0, 0, NULL }
8791 };
8792 static int
8793 dissect_h245_H262VideoCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8794 {
8795         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H262VideoCapability, ett_h245_H262VideoCapability, H262VideoCapability_sequence);
8796
8797         return offset;
8798 }
8799
8800
8801
8802
8803
8804 static per_sequence_t H262VideoMode_sequence[] = {
8805         { "profileAndLevel", EXTENSION_ROOT, NOT_OPTIONAL, 
8806                 dissect_h245_H262VideoMode_profileAndLevel },
8807         { "videoBitRate", EXTENSION_ROOT, OPTIONAL,
8808                 dissect_h245_videoBitRate },
8809         { "vbvBufferSize", EXTENSION_ROOT, OPTIONAL, 
8810                 dissect_h245_vbvBufferSize },
8811         { "samplesPerLine", EXTENSION_ROOT, OPTIONAL,
8812                 dissect_h245_samplesPerLine },
8813         { "linesPerFrame", EXTENSION_ROOT, OPTIONAL,
8814                 dissect_h245_linesPerFrame },
8815         { "framesPerSecond", EXTENSION_ROOT, OPTIONAL,
8816                 dissect_h245_framesPerSecond },
8817         { "luminanceSampleRate", EXTENSION_ROOT, OPTIONAL,
8818                 dissect_h245_luminanceSampleRate },
8819         { NULL, 0, 0, NULL }
8820 };
8821 static int
8822 dissect_h245_H262VideoMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8823 {
8824         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H262VideoMode, ett_h245_H262VideoMode, H262VideoMode_sequence);
8825
8826         return offset;
8827 }
8828
8829
8830
8831
8832 static int
8833 dissect_h245_sqcifMPI_1_32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8834 {
8835         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8836                 tree, hf_h245_sqcifMPI_1_32, 1, 32,
8837                 NULL, NULL, FALSE);
8838
8839         return offset;
8840 }
8841
8842
8843
8844 static int
8845 dissect_h245_sqcifMPI_1_2048(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8846 {
8847         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8848                 tree, hf_h245_sqcifMPI_1_2048, 1, 2048,
8849                 NULL, NULL, FALSE);
8850
8851         return offset;
8852 }
8853
8854
8855
8856
8857 static int
8858 dissect_h245_cif4MPI_1_32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8859 {
8860         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8861                 tree, hf_h245_cif4MPI_1_32, 1, 32,
8862                 NULL, NULL, FALSE);
8863
8864         return offset;
8865 }
8866
8867
8868
8869
8870 static int
8871 dissect_h245_cif4MPI_1_2048(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8872 {
8873         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8874                 tree, hf_h245_cif4MPI_1_2048, 1, 2048,
8875                 NULL, NULL, FALSE);
8876
8877         return offset;
8878 }
8879
8880
8881
8882
8883 static int
8884 dissect_h245_cif16MPI_1_32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8885 {
8886         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8887                 tree, hf_h245_cif16MPI_1_32, 1, 32,
8888                 NULL, NULL, FALSE);
8889
8890         return offset;
8891 }
8892
8893
8894
8895
8896 static int
8897 dissect_h245_cif16MPI_1_2048(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8898 {
8899         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8900                 tree, hf_h245_cif16MPI_1_2048, 1, 2048,
8901                 NULL, NULL, FALSE);
8902
8903         return offset;
8904 }
8905
8906
8907
8908 static int
8909 dissect_h245_maxBitRate_192400(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8910 {
8911         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8912                 tree, hf_h245_maxBitRate_192400, 1, 192400,
8913                 NULL, NULL, FALSE);
8914
8915         return offset;
8916 }
8917
8918
8919
8920
8921
8922 static int
8923 dissect_h245_hrd_B(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8924 {
8925         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8926                 tree, hf_h245_hrd_B, 0, 524287,
8927                 NULL, NULL, FALSE);
8928
8929         return offset;
8930 }
8931
8932
8933
8934
8935 static int
8936 dissect_h245_bppMaxKb(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8937 {
8938         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8939                 tree, hf_h245_bppMaxKb, 0, 65535,
8940                 NULL, NULL, FALSE);
8941
8942         return offset;
8943 }
8944
8945
8946
8947
8948 static int
8949 dissect_h245_slowSqcifMPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8950 {
8951         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8952                 tree, hf_h245_slowSqcifMPI, 1, 3600,
8953                 NULL, NULL, FALSE);
8954
8955         return offset;
8956 }
8957
8958
8959
8960
8961 static int
8962 dissect_h245_slowQcifMPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8963 {
8964         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8965                 tree, hf_h245_slowQcifMPI, 1, 3600,
8966                 NULL, NULL, FALSE);
8967
8968         return offset;
8969 }
8970
8971
8972
8973 static int
8974 dissect_h245_slowCifMPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8975 {
8976         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8977                 tree, hf_h245_slowCifMPI, 1, 3600,
8978                 NULL, NULL, FALSE);
8979
8980         return offset;
8981 }
8982
8983
8984
8985
8986 static int
8987 dissect_h245_slowCif4MPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8988 {
8989         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
8990                 tree, hf_h245_slowCif4MPI, 1, 3600,
8991                 NULL, NULL, FALSE);
8992
8993         return offset;
8994 }
8995
8996
8997
8998
8999 static int
9000 dissect_h245_slowCif16MPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9001 {
9002         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9003                 tree, hf_h245_slowCif16MPI, 1, 3600,
9004                 NULL, NULL, FALSE);
9005
9006         return offset;
9007 }
9008
9009
9010
9011
9012
9013 static int
9014 dissect_h245_numberOfBPictures(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9015 {
9016         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9017                 tree, hf_h245_numberOfBPictures, 1, 64,
9018                 NULL, NULL, FALSE);
9019
9020         return offset;
9021 }
9022
9023
9024
9025
9026 static int
9027 dissect_h245_presentationOrder(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9028 {
9029         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9030                 tree, hf_h245_presentationOrder, 1, 256,
9031                 NULL, NULL, FALSE);
9032
9033         return offset;
9034 }
9035
9036
9037
9038
9039 static int
9040 dissect_h245_offset_x(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9041 {
9042         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9043                 tree, hf_h245_offset_x, -262144, 262143,
9044                 NULL, NULL, FALSE);
9045
9046         return offset;
9047 }
9048
9049
9050
9051
9052
9053 static int
9054 dissect_h245_offset_y(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9055 {
9056         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9057                 tree, hf_h245_offset_y, -262144, 262143,
9058                 NULL, NULL, FALSE);
9059
9060         return offset;
9061 }
9062
9063
9064
9065
9066
9067 static int
9068 dissect_h245_scale_x(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9069 {
9070         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9071                 tree, hf_h245_scale_x, 1, 255,
9072                 NULL, NULL, FALSE);
9073
9074         return offset;
9075 }
9076
9077
9078
9079 static int
9080 dissect_h245_scale_y(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9081 {
9082         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9083                 tree, hf_h245_scale_y, 1, 255,
9084                 NULL, NULL, FALSE);
9085
9086         return offset;
9087 }
9088
9089
9090
9091
9092 static per_sequence_t TransperencyParameters_sequence[] = {
9093         { "presentationOrder", EXTENSION_ROOT, NOT_OPTIONAL,
9094                 dissect_h245_presentationOrder },
9095         { "offset-x", EXTENSION_ROOT, NOT_OPTIONAL,
9096                 dissect_h245_offset_x },
9097         { "offset-y", EXTENSION_ROOT, NOT_OPTIONAL,
9098                 dissect_h245_offset_y },
9099         { "scale-x", EXTENSION_ROOT, NOT_OPTIONAL,
9100                 dissect_h245_scale_x },
9101         { "scale-y", EXTENSION_ROOT, NOT_OPTIONAL,
9102                 dissect_h245_scale_y },
9103         { NULL, 0, 0, NULL }
9104 };
9105 static int
9106 dissect_h245_TransperencyParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9107 {
9108         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TransperencyParameters, ett_h245_TransperencyParameters, TransperencyParameters_sequence);
9109
9110         return offset;
9111 }
9112
9113
9114
9115
9116 static int
9117 dissect_h245_sqcifAdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9118 {
9119         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9120                 tree, hf_h245_sqcifAdditionalPictureMemory, 1, 256,
9121                 NULL, NULL, FALSE);
9122
9123         return offset;
9124 }
9125
9126
9127
9128
9129 static int
9130 dissect_h245_qcifAdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9131 {
9132         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9133                 tree, hf_h245_qcifAdditionalPictureMemory, 1, 256,
9134                 NULL, NULL, FALSE);
9135
9136         return offset;
9137 }
9138
9139
9140
9141
9142 static int
9143 dissect_h245_cifAdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9144 {
9145         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9146                 tree, hf_h245_cifAdditionalPictureMemory, 1, 256,
9147                 NULL, NULL, FALSE);
9148
9149         return offset;
9150 }
9151
9152
9153
9154
9155 static int
9156 dissect_h245_cif4AdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9157 {
9158         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9159                 tree, hf_h245_cif4AdditionalPictureMemory, 1, 256,
9160                 NULL, NULL, FALSE);
9161
9162         return offset;
9163 }
9164
9165
9166
9167 static int
9168 dissect_h245_cif16AdditionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9169 {
9170         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9171                 tree, hf_h245_cif16AdditionalPictureMemory, 1, 256,
9172                 NULL, NULL, FALSE);
9173
9174         return offset;
9175 }
9176
9177
9178
9179 static int
9180 dissect_h245_bigCpfAdditionalPictureMemory(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_bigCpfAdditionalPictureMemory, 1, 256,
9184                 NULL, NULL, FALSE);
9185
9186         return offset;
9187 }
9188
9189
9190
9191
9192 static per_sequence_t RefPictureSelection_additionalPictureMemory_sequence[] = {
9193         { "sqcifAdditionalPictureMemory", EXTENSION_ROOT, OPTIONAL,
9194                 dissect_h245_sqcifAdditionalPictureMemory },
9195         { "qcifAdditionalPictureMemory", EXTENSION_ROOT, OPTIONAL,
9196                 dissect_h245_qcifAdditionalPictureMemory },
9197         { "cifAdditionalPictureMemory", EXTENSION_ROOT, OPTIONAL,
9198                 dissect_h245_cifAdditionalPictureMemory },
9199         { "cif4AdditionalPictureMemory", EXTENSION_ROOT, OPTIONAL,
9200                 dissect_h245_cif4AdditionalPictureMemory },
9201         { "cif16AdditionalPictureMemory", EXTENSION_ROOT, OPTIONAL,
9202                 dissect_h245_cif16AdditionalPictureMemory },
9203         { "bigCpfAdditionalPictureMemory", EXTENSION_ROOT, OPTIONAL,
9204                 dissect_h245_bigCpfAdditionalPictureMemory},
9205         { NULL, 0, 0, NULL }
9206 };
9207 static int
9208 dissect_h245_RefPictureSelection_additionalPictureMemory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9209 {
9210         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RefPictureSelection_additionalPictureMemory, ett_h245_RefPictureSelection_additionalPictureMemory, RefPictureSelection_additionalPictureMemory_sequence);
9211
9212         return offset;
9213 }
9214
9215
9216
9217
9218 static int
9219 dissect_h245_mpuHorizMBs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9220 {
9221         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9222                 tree, hf_h245_mpuHorizMBs, 1, 128,
9223                 NULL, NULL, FALSE);
9224
9225         return offset;
9226 }
9227
9228
9229
9230
9231 static int
9232 dissect_h245_mpuVertMBs(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_mpuVertMBs, 1, 72,
9236                 NULL, NULL, FALSE);
9237
9238         return offset;
9239 }
9240
9241
9242
9243
9244 static int
9245 dissect_h245_mpuTotalNumber(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_mpuTotalNumber, 1, 65536,
9249                 NULL, NULL, FALSE);
9250
9251         return offset;
9252 }
9253
9254
9255
9256 static per_sequence_t RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters_sequence[] = {
9257         { "mpuHorizMBs", EXTENSION_ROOT, NOT_OPTIONAL,
9258                 dissect_h245_mpuHorizMBs },
9259         { "mpuVertMBs", EXTENSION_ROOT, NOT_OPTIONAL,
9260                 dissect_h245_mpuVertMBs},
9261         { "mpuTotalNumber", EXTENSION_ROOT, NOT_OPTIONAL,
9262                 dissect_h245_mpuTotalNumber},
9263         { NULL, 0, 0, NULL }
9264 };
9265 static int
9266 dissect_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9267 {
9268         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters, ett_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters, RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters_sequence);
9269
9270         return offset;
9271 }
9272
9273
9274
9275
9276
9277
9278 static per_sequence_t RefPictureSelection_enhancedReferencePicSelect_sequence[] = {
9279         { "subPictureRemovalParameters", EXTENSION_ROOT, OPTIONAL,
9280                 dissect_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters },
9281         { NULL, 0, 0, NULL }
9282 };
9283 static int
9284 dissect_h245_RefPictureSelection_enhancedReferencePicSelect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9285 {
9286         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RefPictureSelection_enhancedReferencePicSelect, ett_h245_RefPictureSelection_enhancedReferencePicSelect, RefPictureSelection_enhancedReferencePicSelect_sequence);
9287
9288         return offset;
9289 }
9290
9291
9292
9293
9294
9295 static per_sequence_t RefPictureSelection_sequence[] = {
9296         { "additionalPictureMemory", EXTENSION_ROOT, OPTIONAL,
9297                 dissect_h245_RefPictureSelection_additionalPictureMemory },
9298         { "videoMux", EXTENSION_ROOT, NOT_OPTIONAL, 
9299                 dissect_h245_videoMux },
9300         { "videoBackChannelSend", EXTENSION_ROOT, NOT_OPTIONAL, 
9301                 dissect_h245_RefPictureSelection_videoBackChannelSend },
9302         { "enhancedReferencePicSelect", NOT_EXTENSION_ROOT, NOT_OPTIONAL,
9303                 dissect_h245_RefPictureSelection_enhancedReferencePicSelect },
9304         { NULL, 0, 0, NULL }
9305 };
9306 static int
9307 dissect_h245_RefPictureSelection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9308 {
9309         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RefPictureSelection, ett_h245_RefPictureSelection, RefPictureSelection_sequence);
9310
9311         return offset;
9312 }
9313
9314
9315
9316 static int
9317 dissect_h245_clockConversionCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9318 {
9319         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9320                 tree, hf_h245_clockConversionCode, 1000, 1001,
9321                 NULL, NULL, FALSE);
9322
9323         return offset;
9324 }
9325
9326
9327
9328
9329 static int
9330 dissect_h245_clockDivisor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9331 {
9332         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9333                 tree, hf_h245_clockDivisor, 1, 127,
9334                 NULL, NULL, FALSE);
9335
9336         return offset;
9337 }
9338
9339
9340
9341
9342 static per_sequence_t CustomPictureClockFrequency_sequence[] = {
9343         { "clockConversionCode", EXTENSION_ROOT, NOT_OPTIONAL,
9344                 dissect_h245_clockConversionCode },
9345         { "clockDivisor", EXTENSION_ROOT, NOT_OPTIONAL,
9346                 dissect_h245_clockDivisor },
9347         { "sqcifMPI", EXTENSION_ROOT, OPTIONAL,
9348                 dissect_h245_sqcifMPI_1_2048 },
9349         { "qcifMPI", EXTENSION_ROOT, OPTIONAL,
9350                 dissect_h245_qcifMPI_1_2048 },
9351         { "cifMPI", EXTENSION_ROOT, OPTIONAL,
9352                 dissect_h245_cifMPI_1_2048 },
9353         { "cif4MPI", EXTENSION_ROOT, OPTIONAL,
9354                 dissect_h245_cif4MPI_1_2048 },
9355         { "cif16MPI", EXTENSION_ROOT, OPTIONAL,
9356                 dissect_h245_cif16MPI_1_2048 },
9357         { NULL, 0, 0, NULL }
9358 };
9359 static int
9360 dissect_h245_CustomPictureClockFrequency(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9361 {
9362         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CustomPictureClockFrequency, ett_h245_CustomPictureClockFrequency, CustomPictureClockFrequency_sequence);
9363
9364         return offset;
9365 }
9366
9367
9368
9369
9370 static int
9371 dissect_h245_maxCustomPictureWidth(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9372 {
9373         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9374                 tree, hf_h245_maxCustomPictureWidth, 1, 2048,
9375                 NULL, NULL, FALSE);
9376
9377         return offset;
9378 }
9379
9380
9381 static int
9382 dissect_h245_minCustomPictureWidth(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9383 {
9384         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9385                 tree, hf_h245_minCustomPictureWidth, 1, 2048,
9386                 NULL, NULL, FALSE);
9387
9388         return offset;
9389 }
9390
9391
9392
9393
9394 static int
9395 dissect_h245_minCustomPictureHeight(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9396 {
9397         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9398                 tree, hf_h245_minCustomPictureHeight, 1, 2048,
9399                 NULL, NULL, FALSE);
9400
9401         return offset;
9402 }
9403
9404
9405 static int
9406 dissect_h245_maxCustomPictureHeight(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9407 {
9408         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9409                 tree, hf_h245_maxCustomPictureHeight, 1, 2048,
9410                 NULL, NULL, FALSE);
9411
9412         return offset;
9413 }
9414
9415
9416
9417
9418
9419 static int
9420 dissect_h245_standardMPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9421 {
9422         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9423                 tree, hf_h245_standardMPI, 1, 31,
9424                 NULL, NULL, FALSE);
9425
9426         return offset;
9427 }
9428
9429
9430
9431
9432 static int
9433 dissect_h245_customMPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9434 {
9435         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9436                 tree, hf_h245_customMPI, 1, 2048,
9437                 NULL, NULL, FALSE);
9438
9439         return offset;
9440 }
9441
9442
9443
9444
9445 static per_sequence_t CustomPictureFormat_mPI_customPCF_sequence[] = {
9446         { "clockConversionCode", EXTENSION_ROOT, NOT_OPTIONAL,
9447                 dissect_h245_clockConversionCode },
9448         { "clockDivisor", EXTENSION_ROOT, NOT_OPTIONAL,
9449                 dissect_h245_clockDivisor },
9450         { "customMPI", EXTENSION_ROOT, NOT_OPTIONAL,
9451                 dissect_h245_customMPI },
9452         { NULL, 0, 0, NULL }
9453 };
9454 static int
9455 dissect_h245_CustomPictureFormat_mPI_customPCF(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9456 {
9457         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CustomPictureFormat_mPI_customPCF, ett_h245_CustomPictureFormat_mPI_customPCF, CustomPictureFormat_mPI_customPCF_sequence);
9458
9459         return offset;
9460 }
9461
9462
9463
9464 static int dissect_h245_customPCF(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
9465
9466 static per_sequence_t CustomPictureFormat_mPI_sequence[] = {
9467         { "standardMPI", EXTENSION_ROOT, OPTIONAL, 
9468                 dissect_h245_standardMPI},
9469         { "customPCF", EXTENSION_ROOT, OPTIONAL,
9470                 dissect_h245_customPCF },
9471         { NULL, 0, 0, NULL }
9472 };
9473 static int
9474 dissect_h245_CustomPictureFormat_mPI(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9475 {
9476         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CustomPictureFormat_mPI, ett_h245_CustomPictureFormat_mPI, CustomPictureFormat_mPI_sequence);
9477
9478         return offset;
9479 }
9480
9481
9482
9483
9484 static int
9485 dissect_h245_width(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9486 {
9487         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9488                 tree, hf_h245_width, 1, 255,
9489                 NULL, NULL, FALSE);
9490
9491         return offset;
9492 }
9493
9494
9495
9496 static int
9497 dissect_h245_height(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9498 {
9499         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9500                 tree, hf_h245_height, 1, 255,
9501                 NULL, NULL, FALSE);
9502
9503         return offset;
9504 }
9505
9506
9507
9508
9509 static per_sequence_t CustomPictureFormat_pixelAspectInformation_extendedPAR_sequence[] = {
9510         { "width", EXTENSION_ROOT, NOT_OPTIONAL,
9511                 dissect_h245_width },
9512         { "height", EXTENSION_ROOT, NOT_OPTIONAL,
9513                 dissect_h245_height},
9514         { NULL, 0, 0, NULL }
9515 };
9516 static int
9517 dissect_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9518 {
9519         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR, ett_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR, CustomPictureFormat_pixelAspectInformation_extendedPAR_sequence);
9520
9521         return offset;
9522 }
9523
9524
9525
9526
9527 static int
9528 dissect_h245_pictureRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9529 {
9530         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9531                 tree, hf_h245_pictureRate, 0, 15,
9532                 NULL, NULL, FALSE);
9533
9534         return offset;
9535 }
9536
9537
9538
9539
9540 static per_sequence_t IS11172VideoMode_sequence[] = {
9541         { "constrainedBitstream", EXTENSION_ROOT, NOT_OPTIONAL, 
9542                 dissect_h245_constrainedBitstream },
9543         { "videoBitRate", EXTENSION_ROOT, OPTIONAL,
9544                 dissect_h245_videoBitRate },
9545         { "vbvBufferSize", EXTENSION_ROOT, OPTIONAL, 
9546                 dissect_h245_vbvBufferSize },
9547         { "samplesPerLine", EXTENSION_ROOT, OPTIONAL,
9548                 dissect_h245_samplesPerLine },
9549         { "linesPerFrame", EXTENSION_ROOT, OPTIONAL,
9550                 dissect_h245_linesPerFrame },
9551         { "pictureRate", EXTENSION_ROOT, OPTIONAL, 
9552                 dissect_h245_pictureRate},
9553         { "luminanceSampleRate", EXTENSION_ROOT, OPTIONAL,
9554                 dissect_h245_luminanceSampleRate },
9555         { NULL, 0, 0, NULL }
9556 };
9557 static int
9558 dissect_h245_IS11172VideoMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9559 {
9560         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS11172VideoMode, ett_h245_IS11172VideoMode, IS11172VideoMode_sequence);
9561
9562         return offset;
9563 }
9564
9565
9566
9567 static per_sequence_t IS11172VideoCapability_sequence[] = {
9568         { "constrainedBitstream", EXTENSION_ROOT, NOT_OPTIONAL,
9569                 dissect_h245_constrainedBitstream },
9570         { "videoBitRate", EXTENSION_ROOT, OPTIONAL, 
9571                 dissect_h245_videoBitRate },
9572         { "vbvBufferSize", EXTENSION_ROOT, OPTIONAL, 
9573                 dissect_h245_vbvBufferSize },
9574         { "samplesPerLine", EXTENSION_ROOT, OPTIONAL,
9575                 dissect_h245_samplesPerLine },
9576         { "linesPerFrame", EXTENSION_ROOT, OPTIONAL,
9577                 dissect_h245_linesPerFrame },
9578         { "pictureRate", EXTENSION_ROOT, OPTIONAL, 
9579                 dissect_h245_pictureRate },
9580         { "luminanceSampleRate", EXTENSION_ROOT, OPTIONAL,
9581                 dissect_h245_luminanceSampleRate },
9582         { "videoBadMBsCap", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
9583                 dissect_h245_videoBadMBsCap },
9584         { NULL, 0, 0, NULL }
9585 };
9586 static int
9587 dissect_h245_IS11172VideoCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9588 {
9589         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IS11172VideoCapability, ett_h245_IS11172VideoCapability, IS11172VideoCapability_sequence);
9590
9591         return offset;
9592 }
9593
9594
9595
9596
9597 static int
9598 dissect_h245_g711Alaw64k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9599 {
9600         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9601                 tree, hf_h245_g711Alaw64k, 1, 256,
9602                 NULL, NULL, FALSE);
9603
9604         return offset;
9605 }
9606
9607
9608
9609 static int
9610 dissect_h245_g711Alaw56k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9611 {
9612         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9613                 tree, hf_h245_g711Alaw56k, 1, 256,
9614                 NULL, NULL, FALSE);
9615
9616         return offset;
9617 }
9618
9619
9620
9621 static int
9622 dissect_h245_g711Ulaw64k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9623 {
9624         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9625                 tree, hf_h245_g711Ulaw64k, 1, 256,
9626                 NULL, NULL, FALSE);
9627
9628         return offset;
9629 }
9630
9631
9632
9633 static int
9634 dissect_h245_g711Ulaw56k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9635 {
9636         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9637                 tree, hf_h245_g711Ulaw56k, 1, 256,
9638                 NULL, NULL, FALSE);
9639
9640         return offset;
9641 }
9642
9643
9644
9645
9646 static int
9647 dissect_h245_g722_64k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9648 {
9649         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9650                 tree, hf_h245_g722_64k, 1, 256,
9651                 NULL, NULL, FALSE);
9652
9653         return offset;
9654 }
9655
9656
9657
9658 static int
9659 dissect_h245_g722_56k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9660 {
9661         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9662                 tree, hf_h245_g722_56k, 1, 256,
9663                 NULL, NULL, FALSE);
9664
9665         return offset;
9666 }
9667
9668
9669
9670
9671 static int
9672 dissect_h245_g722_48k(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9673 {
9674         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9675                 tree, hf_h245_g722_48k, 1, 256,
9676                 NULL, NULL, FALSE);
9677
9678         return offset;
9679 }
9680
9681
9682
9683
9684
9685 static int
9686 dissect_h245_maxAl_sduAudioFrames(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9687 {
9688         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9689                 tree, hf_h245_maxAl_sduAudioFrames, 1, 256,
9690                 NULL, NULL, FALSE);
9691
9692         return offset;
9693 }
9694
9695
9696
9697 static per_sequence_t AudioCapability_g7231_sequence[] = {
9698         { "maxAl-sduAudioFrames", NO_EXTENSIONS, NOT_OPTIONAL, 
9699                 dissect_h245_maxAl_sduAudioFrames },
9700         { "silenceSuppression", NO_EXTENSIONS, NOT_OPTIONAL, 
9701                 dissect_h245_silenceSuppression },
9702         { NULL, 0, 0, NULL }
9703 };
9704 static int
9705 dissect_h245_AudioCapability_g7231(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9706 {
9707         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_AudioCapability_g7231, ett_h245_AudioCapability_g7231, AudioCapability_g7231_sequence);
9708
9709         return offset;
9710 }
9711
9712
9713
9714
9715 static int
9716 dissect_h245_g728(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9717 {
9718         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9719                 tree, hf_h245_g728, 1, 256,
9720                 NULL, NULL, FALSE);
9721
9722         return offset;
9723 }
9724
9725
9726
9727 static int
9728 dissect_h245_g729(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9729 {
9730         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9731                 tree, hf_h245_g729, 1, 256,
9732                 NULL, NULL, FALSE);
9733
9734         return offset;
9735 }
9736
9737
9738
9739 static int
9740 dissect_h245_g729AnnexA(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9741 {
9742         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9743                 tree, hf_h245_g729AnnexA, 1, 256,
9744                 NULL, NULL, FALSE);
9745
9746         return offset;
9747 }
9748
9749
9750
9751
9752 static int
9753 dissect_h245_g729wAnnexB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9754 {
9755         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9756                 tree, hf_h245_g729wAnnexB, 1, 256,
9757                 NULL, NULL, FALSE);
9758
9759         return offset;
9760 }
9761
9762
9763
9764
9765 static int
9766 dissect_h245_g729AnnexAwAnnexB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9767 {
9768         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9769                 tree, hf_h245_g729AnnexAwAnnexB, 1, 256,
9770                 NULL, NULL, FALSE);
9771
9772         return offset;
9773 }
9774
9775
9776
9777
9778 static int
9779 dissect_h245_audioUnit(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9780 {
9781         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9782                 tree, hf_h245_audioUnit, 1, 256,
9783                 NULL, NULL, FALSE);
9784
9785         return offset;
9786 }
9787
9788
9789
9790
9791 static per_sequence_t G729Extensions_sequence[] = {
9792         { "audioUnit", EXTENSION_ROOT, OPTIONAL,
9793                 dissect_h245_audioUnit },
9794         { "annexA", EXTENSION_ROOT, NOT_OPTIONAL, 
9795                 dissect_h245_annexA },
9796         { "annexB", EXTENSION_ROOT, NOT_OPTIONAL, 
9797                 dissect_h245_annexB },
9798         { "annexD", EXTENSION_ROOT, NOT_OPTIONAL, 
9799                 dissect_h245_annexD },
9800         { "annexE", EXTENSION_ROOT, NOT_OPTIONAL, 
9801                 dissect_h245_annexE },
9802         { "annexF", EXTENSION_ROOT, NOT_OPTIONAL, 
9803                 dissect_h245_annexF },
9804         { "annexG", EXTENSION_ROOT, NOT_OPTIONAL, 
9805                 dissect_h245_annexG },
9806         { "annexH", EXTENSION_ROOT, NOT_OPTIONAL, 
9807                 dissect_h245_annexH },
9808         { NULL, 0, 0, NULL }
9809 };
9810 static int
9811 dissect_h245_G729Extensions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9812 {
9813         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_G729Extensions, ett_h245_G729Extensions, G729Extensions_sequence);
9814
9815         return offset;
9816 }
9817
9818
9819
9820
9821 static int
9822 dissect_h245_highRateMode0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9823 {
9824         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9825                 tree, hf_h245_highRateMode0, 27, 78,
9826                 NULL, NULL, FALSE);
9827
9828         return offset;
9829 }
9830
9831
9832 static int
9833 dissect_h245_highRateMode1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9834 {
9835         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9836                 tree, hf_h245_highRateMode1, 27, 78,
9837                 NULL, NULL, FALSE);
9838
9839         return offset;
9840 }
9841
9842
9843
9844
9845
9846 static int
9847 dissect_h245_lowRateMode0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9848 {
9849         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9850                 tree, hf_h245_lowRateMode0, 23, 66,
9851                 NULL, NULL, FALSE);
9852
9853         return offset;
9854 }
9855
9856
9857 static int
9858 dissect_h245_lowRateMode1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9859 {
9860         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9861                 tree, hf_h245_lowRateMode1, 23, 66,
9862                 NULL, NULL, FALSE);
9863
9864         return offset;
9865 }
9866
9867
9868
9869
9870 static int
9871 dissect_h245_sidMode0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9872 {
9873         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9874                 tree, hf_h245_sidMode0, 6, 17,
9875                 NULL, NULL, FALSE);
9876
9877         return offset;
9878 }
9879
9880
9881 static int
9882 dissect_h245_sidMode1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9883 {
9884         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9885                 tree, hf_h245_sidMode1, 6, 17,
9886                 NULL, NULL, FALSE);
9887
9888         return offset;
9889 }
9890
9891
9892
9893
9894 static per_sequence_t G7231AnnexCCapability_g723AnnexCAudioMode_sequence[] = {
9895         { "highRateMode0", EXTENSION_ROOT, NOT_OPTIONAL,
9896                 dissect_h245_highRateMode0 },
9897         { "highRateMode1", EXTENSION_ROOT, NOT_OPTIONAL,
9898                 dissect_h245_highRateMode1 },
9899         { "lowRateMode0", EXTENSION_ROOT, NOT_OPTIONAL,
9900                 dissect_h245_lowRateMode0 },
9901         { "lowRateMode1", EXTENSION_ROOT, NOT_OPTIONAL,
9902                 dissect_h245_lowRateMode1 },
9903         { "sidMode0", EXTENSION_ROOT, NOT_OPTIONAL,
9904                 dissect_h245_sidMode0 },
9905         { "sidMode1", EXTENSION_ROOT, NOT_OPTIONAL,
9906                 dissect_h245_sidMode1 },
9907         { NULL, 0, 0, NULL }
9908 };
9909 static int
9910 dissect_h245_G7231AnnexCCapability_g723AnnexCAudioMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9911 {
9912         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_G7231AnnexCCapability_g723AnnexCAudioMode, ett_h245_G7231AnnexCCapability_g723AnnexCAudioMode, G7231AnnexCCapability_g723AnnexCAudioMode_sequence);
9913
9914         return offset;
9915 }
9916
9917
9918
9919
9920 static per_sequence_t G7231AnnexCCapability_sequence[] = {
9921         { "maxAl-sduAudioFrames", EXTENSION_ROOT, NOT_OPTIONAL, 
9922                 dissect_h245_maxAl_sduAudioFrames },
9923         { "silenceSuppression", EXTENSION_ROOT, NOT_OPTIONAL, 
9924                 dissect_h245_silenceSuppression },
9925         { "g723AnnexCAudioMode", EXTENSION_ROOT, OPTIONAL,
9926                 dissect_h245_G7231AnnexCCapability_g723AnnexCAudioMode },
9927         { NULL, 0, 0, NULL }
9928 };
9929 static int
9930 dissect_h245_G7231AnnexCCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9931 {
9932         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_G7231AnnexCCapability, ett_h245_G7231AnnexCCapability, G7231AnnexCCapability_sequence);
9933
9934         return offset;
9935 }
9936
9937
9938
9939 static per_sequence_t G7231AnnexCMode_g723AnnexCAudioMode_sequence[] = {
9940         { "highRateMode0", EXTENSION_ROOT, NOT_OPTIONAL,
9941                         dissect_h245_highRateMode0 },
9942         { "highRateMode1", EXTENSION_ROOT, NOT_OPTIONAL,
9943                         dissect_h245_highRateMode1 },
9944         { "lowRateMode0", EXTENSION_ROOT, NOT_OPTIONAL,
9945                         dissect_h245_lowRateMode0 },
9946         { "lowRateMode1", EXTENSION_ROOT, NOT_OPTIONAL,
9947                         dissect_h245_lowRateMode0 },
9948         { "sidMode0", EXTENSION_ROOT, NOT_OPTIONAL,
9949                         dissect_h245_sidMode0 },
9950         { "sidMode1", EXTENSION_ROOT, NOT_OPTIONAL,
9951                         dissect_h245_sidMode1 },
9952         { NULL, 0, 0, NULL }
9953 };
9954 static int
9955 dissect_h245_G7231AnnexCMode_g723AnnexCAudioMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9956 {
9957         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_G7231AnnexCMode_g723AnnexCAudioMode, ett_h245_G7231AnnexCMode_g723AnnexCAudioMode, G7231AnnexCMode_g723AnnexCAudioMode_sequence);
9958
9959         return offset;
9960 }
9961
9962
9963
9964
9965 static per_sequence_t G7231AnnexCMode_sequence[] = {
9966         { "maxAl-sduAudioFrames", EXTENSION_ROOT, NOT_OPTIONAL, 
9967                 dissect_h245_maxAl_sduAudioFrames },
9968         { "silenceSupression", EXTENSION_ROOT, NOT_OPTIONAL, 
9969                 dissect_h245_silenceSuppression },
9970         { "g723AnnexCAudioMode", EXTENSION_ROOT, NOT_OPTIONAL,
9971                 dissect_h245_G7231AnnexCMode_g723AnnexCAudioMode },
9972         { NULL, 0, 0, NULL }
9973 };
9974 static int
9975 dissect_h245_G7231AnnexCMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9976 {
9977         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_G7231AnnexCMode, ett_h245_G7231AnnexCMode, G7231AnnexCMode_sequence);
9978
9979         return offset;
9980 }
9981
9982
9983
9984
9985 static int
9986 dissect_h245_audioUnitSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
9987 {
9988         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
9989                 tree, hf_h245_audioUnitSize, 1, 256,
9990                 NULL, NULL, FALSE);
9991
9992         return offset;
9993 }
9994
9995
9996
9997
9998
9999 static per_sequence_t GSMAudioCapability_sequence[] = {
10000         { "audioUnitSize", EXTENSION_ROOT, NOT_OPTIONAL,
10001                 dissect_h245_audioUnitSize },
10002         { "comfortNoice", EXTENSION_ROOT, NOT_OPTIONAL, 
10003                 dissect_h245_comfortNoise },
10004         { "scrambled", EXTENSION_ROOT, NOT_OPTIONAL,
10005                 dissect_h245_scrambled },
10006         { NULL, 0, 0, NULL }
10007 };
10008 static int
10009 dissect_h245_GSMAudioCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10010 {
10011         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_GSMAudioCapability, ett_h245_GSMAudioCapability, GSMAudioCapability_sequence);
10012
10013         return offset;
10014 }
10015
10016
10017
10018
10019
10020 static int
10021 dissect_h245_maxBitRate_4294967295UL(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10022 {
10023         /* XXX unit is 100bit/s */
10024         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10025                 tree, hf_h245_maxBitRate_4294967295UL, 0, 4294967295UL,
10026                 NULL, NULL, FALSE);
10027
10028         return offset;
10029 }
10030
10031
10032
10033
10034
10035 static int
10036 dissect_h245_numberOfCodewords(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10037 {
10038         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10039                 tree, hf_h245_numberOfCodewords, 1, 65536,
10040                 NULL, NULL, FALSE);
10041
10042         return offset;
10043 }
10044
10045
10046
10047
10048 static int
10049 dissect_h245_maximumStringLength(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10050 {
10051         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10052                 tree, hf_h245_maximumStringLength, 1, 256,
10053                 NULL, NULL, FALSE);
10054
10055         return offset;
10056 }
10057
10058
10059
10060
10061
10062 static per_sequence_t V42bis_sequence[] = {
10063         { "numberOfCodewords", EXTENSION_ROOT, NOT_OPTIONAL,
10064                 dissect_h245_numberOfCodewords },
10065         { "maximumStringLength", EXTENSION_ROOT, NOT_OPTIONAL,
10066                 dissect_h245_maximumStringLength },
10067         { NULL, 0, 0, NULL }
10068 };
10069 static int
10070 dissect_h245_V42bis(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10071 {
10072         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V42bis, ett_h245_V42bis, V42bis_sequence);
10073
10074         return offset;
10075 }
10076
10077
10078
10079 static const value_string CompressionType_vals[] = {
10080         {  0, "v42bis" },
10081         {  0, NULL }
10082 };
10083 static per_choice_t CompressionType_choice[] = {
10084         {  0, "v42bis", EXTENSION_ROOT,
10085                 dissect_h245_V42bis },
10086         {  0, NULL, 0, NULL }
10087 };
10088 static int
10089 dissect_h245_CompressionType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10090 {
10091         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CompressionType, ett_h245_CompressionType, CompressionType_choice, "CompressionType", NULL);
10092
10093         return offset;
10094 }
10095
10096
10097
10098
10099
10100 static const value_string DataProtocolCapability_v76wCompression_vals[] = {
10101         {  0, "transmitCompression" },
10102         {  1, "receiveCompression" },
10103         {  2, "transmitAndReceiveCompression" },
10104         {  0, NULL }
10105 };
10106 static per_choice_t DataProtocolCapability_v76wCompression_choice[] = {
10107         {  0, "transmitCompression", EXTENSION_ROOT,
10108                 dissect_h245_CompressionType },
10109         {  1, "receiveCompression", EXTENSION_ROOT,
10110                 dissect_h245_CompressionType },
10111         {  2, "transmitAndReceiveCompression", EXTENSION_ROOT,
10112                 dissect_h245_CompressionType },
10113         {  0, NULL, 0, NULL }
10114 };
10115 static int
10116 dissect_h245_DataProtocolCapability_v76wCompression(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10117 {
10118         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DataProtocolCapability_v76wCompression, ett_h245_DataProtocolCapability_v76wCompression, DataProtocolCapability_v76wCompression_choice, "v76wCompression", NULL);
10119
10120         return offset;
10121 }
10122
10123
10124
10125
10126
10127 static int
10128 dissect_h245_version(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10129 {
10130         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10131                 tree, hf_h245_version, 0, 255,
10132                 NULL, NULL, FALSE);
10133
10134         return offset;
10135 }
10136
10137
10138
10139 static int dissect_h245_T38FaxUdpOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
10140 static per_sequence_t T38FaxProfile_sequence[] = {
10141         { "fillBitRemoval", EXTENSION_ROOT, NOT_OPTIONAL, 
10142                 dissect_h245_fillBitRemoval },
10143         { "transcodingJBIG", EXTENSION_ROOT, NOT_OPTIONAL,
10144                 dissect_h245_transcodingJBIG },
10145         { "transcodingMMR", EXTENSION_ROOT, NOT_OPTIONAL,
10146                 dissect_h245_transcodingMMR },
10147         { "version", NOT_EXTENSION_ROOT, NOT_OPTIONAL,
10148                 dissect_h245_version },
10149         { "t38FaxRateManagement", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
10150                 dissect_h245_T38FaxRateManagement },
10151         { "t38FaxUdpOptions", NOT_EXTENSION_ROOT, OPTIONAL, 
10152                 dissect_h245_T38FaxUdpOptions },
10153         { "t38FaxTcpOptions", NOT_EXTENSION_ROOT, OPTIONAL, 
10154                 dissect_h245_T38FaxTcpOptions },
10155         { NULL, 0, 0, NULL }
10156 };
10157 int
10158 dissect_h245_T38FaxProfile(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10159 {
10160         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_T38FaxProfile, ett_h245_T38FaxProfile, T38FaxProfile_sequence);
10161
10162         return offset;
10163 }
10164
10165
10166
10167
10168 static int
10169 dissect_h245_standard_0_127(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10170 {
10171         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10172                 tree, hf_h245_standard_0_127, 0, 127,
10173                 NULL, NULL, FALSE);
10174
10175         return offset;
10176 }
10177
10178
10179
10180
10181 static int
10182 dissect_h245_booleanArray(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10183 {
10184         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10185                 tree, hf_h245_booleanArray, 0, 255,
10186                 NULL, NULL, FALSE);
10187
10188         return offset;
10189 }
10190
10191
10192
10193
10194 static int
10195 dissect_h245_unsignedMin(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10196 {
10197         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10198                 tree, hf_h245_unsignedMin, 0, 65535,
10199                 NULL, NULL, FALSE);
10200
10201         return offset;
10202 }
10203
10204
10205 static int
10206 dissect_h245_unsignedMax(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10207 {
10208         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10209                 tree, hf_h245_unsignedMax, 0, 65535,
10210                 NULL, NULL, FALSE);
10211
10212         return offset;
10213 }
10214
10215
10216
10217
10218 static int
10219 dissect_h245_unsigned32Min(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10220 {
10221         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10222                 tree, hf_h245_unsigned32Min, 0, 4294967295UL,
10223                 NULL, NULL, FALSE);
10224
10225         return offset;
10226 }
10227
10228
10229 static int
10230 dissect_h245_unsigned32Max(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10231 {
10232         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10233                 tree, hf_h245_unsigned32Max, 0, 4294967295UL,
10234                 NULL, NULL, FALSE);
10235
10236         return offset;
10237 }
10238
10239
10240
10241
10242 static int
10243 dissect_h245_dynamicRTPPayloadType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10244 {
10245         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10246                 tree, hf_h245_dynamicRTPPayloadType, 96, 127,
10247                 NULL, NULL, FALSE);
10248
10249         return offset;
10250 }
10251
10252
10253
10254
10255 static per_sequence_t AudioToneCapability_sequence[] = {
10256         { "dynamicRTPPayloadType", EXTENSION_ROOT, NOT_OPTIONAL,
10257                 dissect_h245_dynamicRTPPayloadType },
10258         { NULL, 0, 0, NULL }
10259 };
10260 static int
10261 dissect_h245_AudioToneCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10262 {
10263         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_AudioToneCapability, ett_h245_AudioToneCapability, AudioToneCapability_sequence);
10264
10265         return offset;
10266 }
10267
10268
10269
10270
10271 static per_sequence_t NoPTAudioToneCapability_sequence[] = {
10272         { NULL, EXTENSION_ROOT, 0, NULL }
10273 };
10274 static int
10275 dissect_h245_NoPTAudioToneCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10276 {
10277         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NoPTAudioToneCapability, ett_h245_NoPTAudioToneCapability, NoPTAudioToneCapability_sequence);
10278
10279         return offset;
10280 }
10281
10282
10283
10284
10285
10286 static int
10287 dissect_h245_portNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10288 {
10289         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10290                 tree, hf_h245_portNumber, 0, 65535,
10291                 NULL, NULL, FALSE);
10292
10293         return offset;
10294 }
10295
10296
10297
10298
10299 static int
10300 dissect_h245_resourceID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10301 {
10302         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10303                 tree, hf_h245_resourceID, 0, 65535,
10304                 NULL, NULL, FALSE);
10305
10306         return offset;
10307 }
10308
10309
10310
10311
10312 static const value_string FlowControlCommand_scope_vals[] = {
10313         {  0, "logicalChannelNumber" },
10314         {  1, "resourceID" },
10315         {  2, "wholeMultiplex" },
10316         {  0, NULL }
10317 };
10318 static per_choice_t FlowControlCommand_scope_choice[] = {
10319         {  0, "logicalChannelNumber", NO_EXTENSIONS, 
10320                         dissect_h245_LogicalChannelNumber },
10321         {  1, "resourceID", NO_EXTENSIONS,
10322                         dissect_h245_resourceID },
10323         {  2, "wholeMultiplex", NO_EXTENSIONS, 
10324                         dissect_h245_NULL },
10325         {  0, NULL, 0, NULL }
10326 };
10327 static int
10328 dissect_h245_FlowControlCommand_scope(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10329 {
10330         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FlowControlCommand_scope, ett_h245_FlowControlCommand_scope, FlowControlCommand_scope_choice, "scope", NULL);
10331
10332         return offset;
10333 }
10334
10335
10336
10337
10338
10339
10340 static const value_string JitterIndication_scope_vals[] = {
10341         {  0, "logicalChannelNumber" },
10342         {  1, "resourceID" },
10343         {  2, "wholeMultiplex" },
10344         {  0, NULL }
10345 };
10346 static per_choice_t JitterIndication_scope_choice[] = {
10347         {  0, "logicalChannelNumber", NO_EXTENSIONS, 
10348                         dissect_h245_LogicalChannelNumber },
10349         {  1, "resourceID", NO_EXTENSIONS,
10350                         dissect_h245_resourceID },
10351         {  2, "wholeMultiplex", NO_EXTENSIONS, 
10352                         dissect_h245_NULL },
10353         {  0, NULL, 0, NULL }
10354 };
10355 static int
10356 dissect_h245_JitterIndication_scope(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10357 {
10358         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_JitterIndication_scope, ett_h245_JitterIndication_scope, JitterIndication_scope_choice, "scope", NULL);
10359
10360         return offset;
10361 }
10362
10363
10364
10365
10366
10367 static const value_string FlowControlIndication_scope_vals[] = {
10368         {  0, "logicalChannelNumber" },
10369         {  1, "resouceID" },
10370         {  2, "wholeMultiplex" },
10371         {  0, NULL }
10372 };
10373 static per_choice_t FlowControlIndication_scope_choice[] = {
10374         {  0, "logicalChannelNumber", NO_EXTENSIONS, 
10375                         dissect_h245_LogicalChannelNumber },
10376         {  1, "resourceID", NO_EXTENSIONS,
10377                         dissect_h245_resourceID },
10378         {  2, "wholeMultiplex", NO_EXTENSIONS, 
10379                         dissect_h245_NULL },
10380         {  0, NULL, 0, NULL }
10381 };
10382 static int
10383 dissect_h245_FlowControlIndication_scope(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10384 {
10385         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FlowControlIndication_scope, ett_h245_FlowControlIndication_scope, FlowControlIndication_scope_choice, "scope", NULL);
10386
10387         return offset;
10388 }
10389
10390
10391
10392
10393 static per_sequence_t NewATMVCIndication_sequence[] = {
10394         { "resourceID", EXTENSION_ROOT, NOT_OPTIONAL,
10395                 dissect_h245_resourceID },
10396         { "bitRate", EXTENSION_ROOT, NOT_OPTIONAL, 
10397                 dissect_h245_ATM_BitRate },
10398         { "bitRateLockedToPCRClock", EXTENSION_ROOT, NOT_OPTIONAL, 
10399                 dissect_h245_bitRateLockedToPCRClock },
10400         { "bitRateLockedToNetworkClock", EXTENSION_ROOT, NOT_OPTIONAL, 
10401                 dissect_h245_bitRateLockedToNetworkClock },
10402         { "aal", EXTENSION_ROOT, NOT_OPTIONAL, 
10403                 dissect_h245_NewATMVCIndication_aal },
10404         { "multiplex", EXTENSION_ROOT, NOT_OPTIONAL, 
10405                 dissect_h245_NewATMVCIndication_multiplex },
10406         { "reverseParameters", NOT_EXTENSION_ROOT, NOT_OPTIONAL,
10407                 dissect_h245_NewATMVCIndication_reverseParameters },
10408         { NULL, 0, 0, NULL }
10409 };
10410 static int
10411 dissect_h245_NewATMVCIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10412 {
10413         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCIndication, ett_h245_NewATMVCIndication, NewATMVCIndication_sequence);
10414
10415         return offset;
10416 }
10417
10418
10419
10420
10421 static int
10422 dissect_h245_subChannelID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10423 {
10424         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10425                 tree, hf_h245_subChannelID, 0, 8191,
10426                 NULL, NULL, FALSE);
10427
10428         return offset;
10429 }
10430
10431
10432
10433
10434 static int
10435 dissect_h245_pcr_pid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10436 {
10437         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10438                 tree, hf_h245_pcr_pid, 0, 8191,
10439                 NULL, NULL, FALSE);
10440
10441         return offset;
10442 }
10443
10444
10445
10446
10447 static int
10448 dissect_h245_controlFieldOctets(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_controlFieldOctets, 0, 2,
10452                 NULL, NULL, FALSE);
10453
10454         return offset;
10455 }
10456
10457
10458
10459
10460 static int
10461 dissect_h245_sendBufferSize(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_sendBufferSize, 0, 16777215,
10465                 NULL, NULL, FALSE);
10466
10467         return offset;
10468 }
10469
10470
10471
10472
10473 static per_sequence_t H223LogicalChannelParameters_adaptionLayerType_al3_sequence[] = {
10474         { "controlFieldOctets", NO_EXTENSIONS, NOT_OPTIONAL,
10475                 dissect_h245_controlFieldOctets },
10476         { "sendBufferSize", NO_EXTENSIONS, NOT_OPTIONAL,
10477                 dissect_h245_sendBufferSize },
10478         { NULL, 0, 0, NULL }
10479 };
10480 static int
10481 dissect_h245_H223LogicalChannelParameters_adaptionLayerType_al3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10482 {
10483         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223LogicalChannelParameters_adaptionLayerType_al3, ett_h245_H223LogicalChannelParameters_adaptionLayerType_al3, H223LogicalChannelParameters_adaptionLayerType_al3_sequence);
10484
10485         return offset;
10486 }
10487
10488
10489
10490 static per_sequence_t H223ModeParameters_adaptationLayerType_al3_sequence[] = {
10491         { "controlFieldOctets", NO_EXTENSIONS, NOT_OPTIONAL,
10492                 dissect_h245_controlFieldOctets },
10493         { "sendBufferSize", NO_EXTENSIONS, NOT_OPTIONAL,
10494                 dissect_h245_sendBufferSize },
10495         { NULL, 0, 0, NULL }
10496 };
10497 static int
10498 dissect_h245_H223ModeParameters_adaptationLayerType_al3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10499 {
10500         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223ModeParameters_adaptationLayerType_al3, ett_h245_H223ModeParameters_adaptationLayerType_al3, H223ModeParameters_adaptationLayerType_al3_sequence);
10501
10502         return offset;
10503 }
10504
10505
10506
10507
10508 static int
10509 dissect_h245_rcpcCodeRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10510 {
10511         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10512                 tree, hf_h245_rcpcCodeRate, 8, 32,
10513                 NULL, NULL, FALSE);
10514
10515         return offset;
10516 }
10517
10518
10519
10520
10521 static int
10522 dissect_h245_rsCodeCorrection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10523 {
10524         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10525                 tree, hf_h245_rsCodeCorrection, 0, 127,
10526                 NULL, NULL, FALSE);
10527
10528         return offset;
10529 }
10530
10531
10532
10533
10534 static int
10535 dissect_h245_finite_0_16(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10536 {
10537         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10538                 tree, hf_h245_finite_0_16, 0, 16,
10539                 NULL, NULL, FALSE);
10540
10541         return offset;
10542 }
10543
10544
10545
10546
10547
10548 static const value_string H223AnnexCArqParameters_numberOfRetransmissions_vals[] = {
10549         {  0, "finite" },
10550         {  1, "infinite" },
10551         {  0, NULL }
10552 };
10553 static per_choice_t H223AnnexCArqParameters_numberOfRetransmissions_choice[] = {
10554         {  0, "finite", EXTENSION_ROOT,
10555                         dissect_h245_finite_0_16 },
10556         {  1, "infinite", EXTENSION_ROOT, 
10557                         dissect_h245_NULL },
10558         {  0, NULL, 0, NULL }
10559 };
10560 static int
10561 dissect_h245_H223AnnexCArqParameters_numberOfRetransmissions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10562 {
10563         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AnnexCArqParameters_numberOfRetransmissions, ett_h245_H223AnnexCArqParameters_numberOfRetransmissions, H223AnnexCArqParameters_numberOfRetransmissions_choice, "numberOfRetransmissions", NULL);
10564
10565         return offset;
10566 }
10567
10568
10569
10570
10571 static per_sequence_t H223AnnexCArqParameters_sequence[] = {
10572         { "numberOfRetransmissions", EXTENSION_ROOT, NOT_OPTIONAL,
10573                 dissect_h245_H223AnnexCArqParameters_numberOfRetransmissions },
10574         { "sendBufferSize", EXTENSION_ROOT, NOT_OPTIONAL,
10575                 dissect_h245_sendBufferSize },
10576         { NULL, 0, 0, NULL }
10577 };
10578 static int
10579 dissect_h245_H223AnnexCArqParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10580 {
10581         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223AnnexCArqParameters, ett_h245_H223AnnexCArqParameters, H223AnnexCArqParameters_sequence);
10582
10583         return offset;
10584 }
10585
10586
10587
10588
10589
10590 static const value_string H223AL1MParameters_arqType_vals[] = {
10591         {  0, "noArq" },
10592         {  1, "typeIArq" },
10593         {  2, "typeIIArq" },
10594         {  0, NULL }
10595 };
10596 static per_choice_t H223AL1MParameters_arqType_choice[] = {
10597         {  0, "noArq", EXTENSION_ROOT, 
10598                         dissect_h245_NULL },
10599         {  1, "typeIArq", EXTENSION_ROOT, 
10600                         dissect_h245_H223AnnexCArqParameters },
10601         {  2, "typeIIArq", EXTENSION_ROOT, 
10602                         dissect_h245_H223AnnexCArqParameters },
10603         {  0, NULL, 0, NULL }
10604 };
10605 static int
10606 dissect_h245_H223AL1MParameters_arqType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10607 {
10608         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL1MParameters_arqType, ett_h245_H223AL1MParameters_arqType, H223AL1MParameters_arqType_choice, "arqType", NULL);
10609
10610         return offset;
10611 }
10612
10613
10614
10615
10616 static const value_string H223AL3MParameters_arqType_vals[] = {
10617         {  0, "noArq" },
10618         {  1, "typeIArq" },
10619         {  2, "typeIIArq" },
10620         {  0, NULL }
10621 };
10622 static per_choice_t H223AL3MParameters_arqType_choice[] = {
10623         {  0, "noArq", EXTENSION_ROOT, 
10624                         dissect_h245_NULL },
10625         {  1, "typeIArq", EXTENSION_ROOT,
10626                         dissect_h245_H223AnnexCArqParameters },
10627         {  2, "typeIIArq", EXTENSION_ROOT,
10628                         dissect_h245_H223AnnexCArqParameters },
10629         {  0, NULL, 0, NULL }
10630 };
10631 static int
10632 dissect_h245_H223AL3MParameters_arqType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10633 {
10634         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223AL3MParameters_arqType, ett_h245_H223AL3MParameters_arqType, H223AL3MParameters_arqType_choice, "arqType", NULL);
10635
10636         return offset;
10637 }
10638
10639
10640
10641
10642
10643 static per_sequence_t H223AL1MParameters_sequence[] = {
10644         { "transferMode", EXTENSION_ROOT, NOT_OPTIONAL, 
10645                 dissect_h245_H223AL1MParameters_transferMode },
10646         { "headerFEC", EXTENSION_ROOT, NOT_OPTIONAL, 
10647                 dissect_h245_H223AL1MParameters_headerFEC },
10648         { "crcLength", EXTENSION_ROOT, NOT_OPTIONAL, 
10649                 dissect_h245_H223AL1MParameters_crcLength },
10650         { "rcpcCodeRate", EXTENSION_ROOT, NOT_OPTIONAL,
10651                 dissect_h245_rcpcCodeRate },
10652         { "arqType", EXTENSION_ROOT, NOT_OPTIONAL,
10653                 dissect_h245_H223AL1MParameters_arqType },
10654         { "alpduInterleaving", EXTENSION_ROOT, NOT_OPTIONAL, 
10655                 dissect_h245_alpduInterleaving },
10656         { "alsduSplitting", EXTENSION_ROOT, NOT_OPTIONAL, 
10657                 dissect_h245_alsduSplitting },
10658         { "rsCodeCorrection", NOT_EXTENSION_ROOT, OPTIONAL,
10659                 dissect_h245_rsCodeCorrection },
10660         { NULL, 0, 0, NULL }
10661 };
10662 static int
10663 dissect_h245_H223AL1MParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10664 {
10665         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223AL1MParameters, ett_h245_H223AL1MParameters, H223AL1MParameters_sequence);
10666
10667         return offset;
10668 }
10669
10670
10671
10672
10673 static per_sequence_t H223AL3MParameters_sequence[] = {
10674         { "headerFormat", EXTENSION_ROOT, NOT_OPTIONAL, 
10675                 dissect_h245_H223AL3MParameters_headerFormat },
10676         { "crcLength", EXTENSION_ROOT, NOT_OPTIONAL, 
10677                 dissect_h245_H223AL3MParameters_crcLength },
10678         { "rcpcCodeRate", EXTENSION_ROOT, NOT_OPTIONAL,
10679                 dissect_h245_rcpcCodeRate },
10680         { "arqType", EXTENSION_ROOT, NOT_OPTIONAL,
10681                 dissect_h245_H223AL3MParameters_arqType },
10682         { "alpduInterleaving", EXTENSION_ROOT, NOT_OPTIONAL, 
10683                 dissect_h245_alpduInterleaving },
10684         { "rsCodeCorrection", NOT_EXTENSION_ROOT, OPTIONAL,
10685                 dissect_h245_rsCodeCorrection },
10686         { NULL, 0, 0, NULL }
10687 };
10688 static int
10689 dissect_h245_H223AL3MParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10690 {
10691         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223AL3MParameters, ett_h245_H223AL3MParameters, H223AL3MParameters_sequence);
10692
10693         return offset;
10694 }
10695
10696
10697
10698
10699
10700 static int
10701 dissect_h245_windowSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10702 {
10703         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10704                 tree, hf_h245_windowSize, 1, 127,
10705                 NULL, NULL, FALSE);
10706
10707         return offset;
10708 }
10709
10710
10711
10712
10713 static per_sequence_t V76LogicalChannelParameters_mode_eRM_sequence[] = {
10714         { "windowSize", EXTENSION_ROOT, NOT_OPTIONAL,
10715                 dissect_h245_windowSize },
10716         { "recovery", EXTENSION_ROOT, NOT_OPTIONAL, 
10717                 dissect_h245_V76LogicalChannelParameters_mode_eRM_recovery },
10718         { NULL, 0, 0, NULL }
10719 };
10720 static int
10721 dissect_h245_V76LogicalChannelParameters_mode_eRM(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10722 {
10723         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V76LogicalChannelParameters_mode_eRM, ett_h245_V76LogicalChannelParameters_mode_eRM, V76LogicalChannelParameters_mode_eRM_sequence);
10724
10725         return offset;
10726 }
10727
10728
10729
10730 static const value_string V76LogicalChannelParameters_mode_vals[] = {
10731         {  0, "eRM" },
10732         {  1, "uNERM" },
10733         {  0, NULL }
10734 };
10735 static per_choice_t V76LogicalChannelParameters_mode_choice[] = {
10736         {  0, "eRM", EXTENSION_ROOT, 
10737                         dissect_h245_V76LogicalChannelParameters_mode_eRM },
10738         {  1, "uNERM", EXTENSION_ROOT, 
10739                         dissect_h245_NULL },
10740         {  0, NULL, 0, NULL }
10741 };
10742 static int
10743 dissect_h245_V76LogicalChannelParameters_mode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10744 {
10745         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_V76LogicalChannelParameters_mode, ett_h245_V76LogicalChannelParameters_mode, V76LogicalChannelParameters_mode_choice, "mode", NULL);
10746
10747         return offset;
10748 }
10749
10750
10751
10752
10753 static int
10754 dissect_h245_n401(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10755 {
10756         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10757                 tree, hf_h245_n401, 1, 4095,
10758                 NULL, NULL, FALSE);
10759
10760         return offset;
10761 }
10762
10763
10764
10765
10766
10767 static per_sequence_t V76HDLCParameters_sequence[] = {
10768         { "crcLength", EXTENSION_ROOT, NOT_OPTIONAL, 
10769                 dissect_h245_CRCLength },
10770         { "n401", EXTENSION_ROOT, NOT_OPTIONAL,
10771                 dissect_h245_n401 },
10772         { "loopbackTestProcedure", EXTENSION_ROOT, NOT_OPTIONAL, 
10773                 dissect_h245_loopbackTestProcedure },
10774         { NULL, 0, 0, NULL }
10775 };
10776 static int
10777 dissect_h245_V76HDLCParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10778 {
10779         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V76HDLCParameters, ett_h245_V76HDLCParameters, V76HDLCParameters_sequence);
10780
10781         return offset;
10782 }
10783
10784
10785
10786
10787 static per_sequence_t V76LogicalChannelParameters_sequence[] = {
10788         { "hdlcParameters", EXTENSION_ROOT, NOT_OPTIONAL,
10789                 dissect_h245_V76HDLCParameters },
10790         { "suspendResume", EXTENSION_ROOT, NOT_OPTIONAL, 
10791                 dissect_h245_V76LogicalChannelParameters_suspendResume },
10792         { "uIH", EXTENSION_ROOT, NOT_OPTIONAL, 
10793                 dissect_h245_uIH },
10794         { "mode", EXTENSION_ROOT, NOT_OPTIONAL,
10795                 dissect_h245_V76LogicalChannelParameters_mode },
10796         { "v75Parameters", EXTENSION_ROOT, NOT_OPTIONAL, 
10797                 dissect_h245_V75Parameters },
10798         { NULL, 0, 0, NULL }
10799 };
10800 static int
10801 dissect_h245_V76LogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10802 {
10803         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_V76LogicalChannelParameters, ett_h245_V76LogicalChannelParameters, V76LogicalChannelParameters_sequence);
10804
10805         return offset;
10806 }
10807
10808
10809
10810 static int
10811 dissect_h245_sessionID_0_255(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10812 {
10813         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10814                 tree, hf_h245_sessionID_0_255, 0, 255,
10815                 NULL, NULL, FALSE);
10816
10817         return offset;
10818 }
10819
10820
10821
10822 static int
10823 dissect_h245_sessionID_1_255(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10824 {
10825         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10826                 tree, hf_h245_sessionID_1_255, 1, 255,
10827                 NULL, NULL, FALSE);
10828
10829         return offset;
10830 }
10831
10832
10833
10834
10835 static int
10836 dissect_h245_associatedSessionID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10837 {
10838         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
10839                 tree, hf_h245_associatedSessionID, 1, 255,
10840                 NULL, NULL, FALSE);
10841
10842         return offset;
10843 }
10844
10845
10846
10847
10848 static int
10849 dissect_h245_payloadType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10850 {
10851         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
10852                 hf_h245_payloadType,  0,  127,
10853                 NULL, NULL, FALSE);
10854
10855         return offset;
10856 }
10857
10858
10859
10860
10861 static int
10862 dissect_h245_protectedSessionID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10863 {
10864         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
10865                 hf_h245_protectedSessionID,  1,  255,
10866                 NULL, NULL, FALSE);
10867
10868         return offset;
10869 }
10870
10871
10872
10873 static int
10874 dissect_h245_protectedPayloadType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10875 {
10876         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
10877                 hf_h245_protectedPayloadType,  0,  127,
10878                 NULL, NULL, FALSE);
10879
10880         return offset;
10881 }
10882
10883
10884
10885
10886 static per_sequence_t FECData_rfc2733_mode_separateStream_differentPort_sequence[] = {
10887         { "protectedSessionID", EXTENSION_ROOT, NOT_OPTIONAL,
10888                 dissect_h245_protectedSessionID },
10889         { "protectedPayloadType", EXTENSION_ROOT, OPTIONAL,
10890                 dissect_h245_protectedPayloadType },
10891         { NULL, 0, 0, NULL }
10892 };
10893 static int
10894 dissect_h245_FECData_rfc2733_mode_separateStream_differentPort(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10895 {
10896         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);
10897
10898         return offset;
10899 }
10900
10901
10902
10903
10904 static per_sequence_t FECData_rfc2733_mode_separateStream_samePort_sequence[] = {
10905         { "protectedPayloadType", EXTENSION_ROOT, NOT_OPTIONAL, 
10906                 dissect_h245_protectedPayloadType },
10907         { NULL, 0, 0, NULL }
10908 };
10909 static int
10910 dissect_h245_FECData_rfc2733_mode_separateStream_samePort(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10911 {
10912         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);
10913
10914         return offset;
10915 }
10916
10917
10918
10919 static const value_string FECData_rfc2733_mode_separateStream_vals[] = {
10920         {  0, "differentPort" },
10921         {  1, "samePort" },
10922         {  0, NULL }
10923 };
10924 static per_choice_t FECData_rfc2733_mode_separateStream_choice[] = {
10925         {  0, "differentPort", EXTENSION_ROOT, 
10926                 dissect_h245_FECData_rfc2733_mode_separateStream_differentPort },
10927         {  1, "samePort", EXTENSION_ROOT,
10928                 dissect_h245_FECData_rfc2733_mode_separateStream_samePort },
10929         {  0, NULL, 0, NULL }
10930 };
10931 static int
10932 dissect_h245_FECData_rfc2733_mode_separateStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10933 {
10934         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);
10935
10936         return offset;
10937 }
10938
10939
10940
10941
10942 static const value_string FECData_rfc2733_mode_vals[] = {
10943         {  0, "redundancyEncoding" },
10944         {  1, "separateStream" },
10945         {  0, NULL }
10946 };
10947 static per_choice_t FECData_rfc2733_mode_choice[] = {
10948         {  0, "redundancyEncoding", EXTENSION_ROOT, 
10949                         dissect_h245_NULL },
10950         {  1, "separateStream", EXTENSION_ROOT,
10951                         dissect_h245_FECData_rfc2733_mode_separateStream },
10952         {  0, NULL, 0, NULL }
10953 };
10954 static int
10955 dissect_h245_FECData_rfc2733_mode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10956 {
10957         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FECData_rfc2733_mode, ett_h245_FECData_rfc2733_mode, FECData_rfc2733_mode_choice, "mode", NULL);
10958
10959         return offset;
10960 }
10961
10962
10963
10964
10965 static per_sequence_t FECData_rfc2733_sequence[] = {
10966         { "mode", EXTENSION_ROOT, NOT_OPTIONAL, 
10967                 dissect_h245_FECData_rfc2733_mode },
10968         { NULL, 0, 0, NULL }
10969 };
10970 static int
10971 dissect_h245_FECData_rfc2733(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10972 {
10973         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FECData_rfc2733, ett_h245_FECData_rfc2733, FECData_rfc2733_sequence);
10974
10975         return offset;
10976 }
10977
10978
10979
10980
10981 static const value_string FECData_vals[] = {
10982         {  0, "rfc2733" },
10983         {  0, NULL }
10984 };
10985 static per_choice_t FECData_choice[] = {
10986         {  0, "rfc2733", NO_EXTENSIONS,
10987                 dissect_h245_FECData_rfc2733 },
10988         {  0, NULL, 0, NULL }
10989 };
10990 static int
10991 dissect_h245_FECData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
10992 {
10993         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FECData, ett_h245_FECData, FECData_choice, "FECData", NULL);
10994
10995         return offset;
10996 }
10997
10998
10999
11000
11001 static per_sequence_t FECMode_rfc2733Mode_mode_separateStream_differentPort_sequence[] = {
11002         { "protectedSessionID", EXTENSION_ROOT, NOT_OPTIONAL, 
11003                 dissect_h245_protectedSessionID },
11004         { "protectedPayloadType", EXTENSION_ROOT, OPTIONAL,
11005                 dissect_h245_protectedPayloadType },
11006         { NULL, 0, 0, NULL }
11007 };
11008 static int
11009 dissect_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11010 {
11011         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);
11012
11013         return offset;
11014 }
11015
11016
11017
11018
11019 static int
11020 dissect_h245_tsapIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11021 {
11022         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11023                 hf_h245_tsapIdentifier,  0,  65535,
11024                 &ipv4_port, NULL, FALSE);
11025
11026         return offset;
11027 }
11028
11029
11030
11031 static int
11032 dissect_h245_synchFlag(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11033 {
11034         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11035                 hf_h245_synchFlag,  0,  255,
11036                 NULL, NULL, FALSE);
11037
11038         return offset;
11039 }
11040
11041
11042
11043
11044 static int
11045 dissect_h245_finite_1_65535(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11046 {
11047         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11048                 hf_h245_finite_1_65535,  1,  65535,
11049                 NULL, NULL, FALSE);
11050
11051         return offset;
11052 }
11053
11054
11055
11056
11057 static const value_string MultiplexElement_repeatCount_vals[] = {
11058         {  0, "finite" },
11059         {  1, "untilClosingFlag" },
11060         {  0, NULL }
11061 };
11062 static per_choice_t MultiplexElement_repeatCount_choice[] = {
11063         {  0, "finite", NO_EXTENSIONS,
11064                         dissect_h245_finite_1_65535 },
11065         {  1, "untilClosingFlag", NO_EXTENSIONS, 
11066                         dissect_h245_NULL },
11067         {  0, NULL, 0, NULL }
11068 };
11069 static int
11070 dissect_h245_MultiplexElement_repeatCount(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11071 {
11072         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultiplexElement_repeatCount, ett_h245_MultiplexElement_repeatCount, MultiplexElement_repeatCount_choice, "repeatCount", NULL);
11073
11074         return offset;
11075 }
11076
11077
11078
11079
11080 static int
11081 dissect_h245_MultiplexTableEntryNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11082 {
11083         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11084                 hf_h245_MultiplexTableEntryNumber,  1,  15,
11085                 NULL, NULL, FALSE);
11086
11087         return offset;
11088 }
11089
11090
11091
11092
11093 static per_sequence_t MultiplexEntryRejectionDescriptions_sequence[] = {
11094         { "multiplexTableEntryNumber", EXTENSION_ROOT, NOT_OPTIONAL,
11095                 dissect_h245_MultiplexTableEntryNumber },
11096         { "cause", EXTENSION_ROOT, NOT_OPTIONAL, 
11097                 dissect_h245_MultiplexEntryRejectionDescriptions_cause },
11098         { NULL, 0, 0, NULL }
11099 };
11100 static int
11101 dissect_h245_MultiplexEntryRejectionDescriptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11102 {
11103         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntryRejectionDescriptions, ett_h245_MultiplexEntryRejectionDescriptions, MultiplexEntryRejectionDescriptions_sequence);
11104
11105         return offset;
11106 }
11107
11108
11109
11110
11111 static per_sequence_t RequestMultiplexEntryRejectionDescriptions_sequence[] = {
11112         { "multiplexTableEntryNumber", EXTENSION_ROOT, NOT_OPTIONAL,
11113                 dissect_h245_MultiplexTableEntryNumber },
11114         { "cause", EXTENSION_ROOT, NOT_OPTIONAL, 
11115                 dissect_h245_RequestMultiplexEntryRejectionDescriptions_cause},
11116         { NULL, 0, 0, NULL }
11117 };
11118 static int
11119 dissect_h245_RequestMultiplexEntryRejectionDescriptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11120 {
11121         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntryRejectionDescriptions, ett_h245_RequestMultiplexEntryRejectionDescriptions, RequestMultiplexEntryRejectionDescriptions_sequence);
11122
11123         return offset;
11124 }
11125
11126
11127
11128
11129 static int
11130 dissect_h245_dataModeBitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11131 {
11132         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11133                 hf_h245_dataModeBitRate,  0,  4294967295UL,
11134                 NULL, NULL, FALSE);
11135
11136         return offset;
11137 }
11138
11139
11140
11141 static int
11142 dissect_h245_sessionDependency(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11143 {
11144         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11145                 hf_h245_sessionDependency,  1,  255,
11146                 NULL, NULL, FALSE);
11147
11148         return offset;
11149 }
11150
11151
11152
11153 static int
11154 dissect_h245_sRandom(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11155 {
11156         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11157                 hf_h245_sRandom,  1,  4294967295UL,
11158                 NULL, NULL, FALSE);
11159
11160         return offset;
11161 }
11162
11163
11164
11165 static int
11166 dissect_h245_McuNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11167 {
11168         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11169                 hf_h245_McuNumber,  0,  192,
11170                 NULL, NULL, FALSE);
11171
11172         return offset;
11173 }
11174
11175
11176
11177
11178 static int
11179 dissect_h245_TerminalNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11180 {
11181         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11182                 hf_h245_TerminalNumber,  0,  192,
11183                 NULL, NULL, FALSE);
11184
11185         return offset;
11186 }
11187
11188
11189
11190
11191 static per_sequence_t TerminalLabel_sequence[] = {
11192         { "mcuNumber", EXTENSION_ROOT, NOT_OPTIONAL,
11193                 dissect_h245_McuNumber },
11194         { "terminalNumber", EXTENSION_ROOT, NOT_OPTIONAL,
11195                 dissect_h245_TerminalNumber },
11196         { NULL, 0, 0, NULL }
11197 };
11198 static int
11199 dissect_h245_TerminalLabel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11200 {
11201         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalLabel, ett_h245_TerminalLabel, TerminalLabel_sequence);
11202
11203         return offset;
11204 }
11205
11206
11207
11208
11209
11210 static int
11211 dissect_h245_maxNumberOfAdditionalConnections(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11212 {
11213         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11214                 hf_h245_maxNumberOfAdditionalConnections,  1,  65535,
11215                 NULL, NULL, FALSE);
11216
11217         return offset;
11218 }
11219
11220
11221
11222
11223 static per_sequence_t MultilinkRequest_callInformation_sequence[] = {
11224         { "maxNumberOfAdditionalConnections", EXTENSION_ROOT, NOT_OPTIONAL,
11225                 dissect_h245_maxNumberOfAdditionalConnections },
11226         { NULL, 0, 0, NULL }
11227 };
11228 static int
11229 dissect_h245_MultilinkRequest_callInformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11230 {
11231         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest_callInformation, ett_h245_MultilinkRequest_callInformation, MultilinkRequest_callInformation_sequence);
11232
11233         return offset;
11234 }
11235
11236
11237
11238
11239
11240 static int
11241 dissect_h245_requestedInterval(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11242 {
11243         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11244                 hf_h245_requestedInterval,  0,  65535,
11245                 NULL, NULL, FALSE);
11246
11247         return offset;
11248 }
11249
11250
11251
11252
11253 static const value_string MultilinkRequest_maximumHeaderInterval_requestType_vals[] = {
11254         {  0, "currentIntervalInformation" },
11255         {  1, "requestedInterval" },
11256         {  0, NULL }
11257 };
11258 static per_choice_t MultilinkRequest_maximumHeaderInterval_requestType_choice[] = {
11259         {  0, "currentIntervalInformation", EXTENSION_ROOT, 
11260                         dissect_h245_NULL },
11261         {  1, "requestedInterval", EXTENSION_ROOT,
11262                         dissect_h245_requestedInterval },
11263         {  0, NULL, 0, NULL }
11264 };
11265 static int
11266 dissect_h245_MultilinkRequest_maximumHeaderInterval_requestType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11267 {
11268         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest_maximumHeaderInterval_requestType, ett_h245_MultilinkRequest_maximumHeaderInterval_requestType, MultilinkRequest_maximumHeaderInterval_requestType_choice, "requestType", NULL);
11269
11270         return offset;
11271 }
11272
11273
11274
11275
11276 static per_sequence_t MultilinkRequest_maximumHeaderInterval_sequence[] = {
11277         { "requestType", EXTENSION_ROOT, NOT_OPTIONAL,
11278                 dissect_h245_MultilinkRequest_maximumHeaderInterval_requestType },
11279         { NULL, 0, 0, NULL }
11280 };
11281 static int
11282 dissect_h245_MultilinkRequest_maximumHeaderInterval(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11283 {
11284         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest_maximumHeaderInterval, ett_h245_MultilinkRequest_maximumHeaderInterval, MultilinkRequest_maximumHeaderInterval_sequence);
11285
11286         return offset;
11287 }
11288
11289
11290
11291
11292 static int
11293 dissect_h245_callAssociationNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11294 {
11295         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11296                 hf_h245_callAssociationNumber,  0,  4294967295UL,
11297                 NULL, NULL, FALSE);
11298
11299         return offset;
11300 }
11301
11302
11303
11304
11305 static int
11306 dissect_h245_currentInterval(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11307 {
11308         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11309                 hf_h245_currentInterval,  0,  65535,
11310                 NULL, NULL, FALSE);
11311
11312         return offset;
11313 }
11314
11315
11316
11317 static per_sequence_t MultilinkResponse_maximumHeaderInterval_sequence[] = {
11318         { "currentInterval", EXTENSION_ROOT, NOT_OPTIONAL,
11319                 dissect_h245_currentInterval },
11320         { NULL, 0, 0, NULL }
11321 };
11322 static int
11323 dissect_h245_MultilinkResponse_maximumHeaderInterval(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11324 {
11325         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse_maximumHeaderInterval, ett_h245_MultilinkResponse_maximumHeaderInterval, MultilinkResponse_maximumHeaderInterval_sequence);
11326
11327         return offset;
11328 }
11329
11330
11331
11332
11333 static int
11334 dissect_h245_infoNotAvailable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11335 {
11336         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11337                 hf_h245_infoNotAvailable,  1,  65535,
11338                 NULL, NULL, FALSE);
11339
11340         return offset;
11341 }
11342
11343
11344
11345
11346 static int
11347 dissect_h245_channelTag(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11348 {
11349         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11350                 hf_h245_channelTag,  0,  4294967295UL,
11351                 NULL, NULL, FALSE);
11352
11353         return offset;
11354 }
11355
11356
11357
11358
11359 static int
11360 dissect_h245_ConnectionIDsequenceNumber(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_ConnectionIDsequenceNumber,  0,  4294967295UL,
11364                 NULL, NULL, FALSE);
11365
11366         return offset;
11367 }
11368
11369
11370
11371
11372
11373 static per_sequence_t ConnectionIdentifier_sequence[] = {
11374         { "channelTag", EXTENSION_ROOT, NOT_OPTIONAL,
11375                 dissect_h245_channelTag },
11376         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL,
11377                 dissect_h245_ConnectionIDsequenceNumber },
11378         { NULL, 0, 0, NULL }
11379 };
11380 static int
11381 dissect_h245_ConnectionIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11382 {
11383         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConnectionIdentifier, ett_h245_ConnectionIdentifier, ConnectionIdentifier_sequence);
11384
11385         return offset;
11386 }
11387
11388
11389
11390
11391 static per_sequence_t MultilinkRequest_removeConnection_sequence[] = {
11392         { "connectionIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
11393                 dissect_h245_ConnectionIdentifier },
11394         { NULL, 0, 0, NULL }
11395 };
11396 static int
11397 dissect_h245_MultilinkRequest_removeConnection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11398 {
11399         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest_removeConnection, ett_h245_MultilinkRequest_removeConnection, MultilinkRequest_removeConnection_sequence);
11400
11401         return offset;
11402 }
11403
11404
11405
11406
11407 static per_sequence_t MultilinkResponse_removeConnection_sequence[] = {
11408         { "connectionIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
11409                 dissect_h245_ConnectionIdentifier },
11410         { NULL, 0, 0, NULL }
11411 };
11412 static int
11413 dissect_h245_MultilinkResponse_removeConnection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11414 {
11415         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse_removeConnection, ett_h245_MultilinkResponse_removeConnection, MultilinkResponse_removeConnection_sequence);
11416
11417         return offset;
11418 }
11419
11420
11421
11422
11423 static per_sequence_t MultilinkIndication_excessiveError_sequence[] = {
11424         { "connectionIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
11425                 dissect_h245_ConnectionIdentifier },
11426         { NULL, 0, 0, NULL }
11427 };
11428 static int
11429 dissect_h245_MultilinkIndication_excessiveError(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11430 {
11431         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkIndication_excessiveError, ett_h245_MultilinkIndication_excessiveError, MultilinkIndication_excessiveError_sequence);
11432
11433         return offset;
11434 }
11435
11436
11437
11438
11439 static int
11440 dissect_h245_MaximumBitRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11441 {
11442         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11443                 hf_h245_MaximumBitRate,  0,  4294967295UL,
11444                 NULL, NULL, FALSE);
11445
11446         return offset;
11447 }
11448
11449
11450
11451 static per_sequence_t LogicalChannelRateRequest_sequence[] = {
11452         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
11453                 dissect_h245_SequenceNumber },
11454         { "logicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
11455                 dissect_h245_LogicalChannelNumber },
11456         { "maximumBitRate", EXTENSION_ROOT, NOT_OPTIONAL,
11457                 dissect_h245_MaximumBitRate },
11458         { NULL, 0, 0, NULL }
11459 };
11460 static int
11461 dissect_h245_LogicalChannelRateRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11462 {
11463         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_LogicalChannelRateRequest, ett_h245_LogicalChannelRateRequest, LogicalChannelRateRequest_sequence);
11464
11465         return offset;
11466 }
11467
11468
11469
11470 static per_sequence_t LogicalChannelRateAck_sequence[] = {
11471         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
11472                 dissect_h245_SequenceNumber },
11473         { "logicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
11474                 dissect_h245_LogicalChannelNumber },
11475         { "maximumBitRate", EXTENSION_ROOT, NOT_OPTIONAL,
11476                 dissect_h245_MaximumBitRate },
11477         { NULL, 0, 0, NULL }
11478 };
11479 static int
11480 dissect_h245_LogicalChannelRateAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11481 {
11482         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_LogicalChannelRateAck, ett_h245_LogicalChannelRateAck, LogicalChannelRateAck_sequence);
11483
11484         return offset;
11485 }
11486
11487
11488
11489
11490 static per_sequence_t LogicalChannelRateReject_sequence[] = {
11491         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
11492                         dissect_h245_SequenceNumber },
11493         { "logicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
11494                         dissect_h245_LogicalChannelNumber },
11495         { "rejectReason", EXTENSION_ROOT, NOT_OPTIONAL, 
11496                         dissect_h245_LogicalChannelRateRejectReason },
11497         { "currentMaximumBitRate", EXTENSION_ROOT, OPTIONAL,
11498                         dissect_h245_MaximumBitRate },
11499         { NULL, 0, 0, NULL }
11500 };
11501 static int
11502 dissect_h245_LogicalChannelRateReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11503 {
11504         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_LogicalChannelRateReject, ett_h245_LogicalChannelRateReject, LogicalChannelRateReject_sequence);
11505
11506         return offset;
11507 }
11508
11509
11510
11511
11512
11513 static per_sequence_t LogicalChannelRateRelease_sequence[] = {
11514         { NULL, 0, 0, NULL }
11515 };
11516 static int
11517 dissect_h245_LogicalChannelRateRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11518 {
11519         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_LogicalChannelRateRelease, ett_h245_LogicalChannelRateRelease, LogicalChannelRateRelease_sequence);
11520
11521         return offset;
11522 }
11523
11524
11525
11526
11527 static int
11528 dissect_h245_maximumBitRate_0_16777215(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11529 {
11530         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11531                 hf_h245_maximumBitRate_0_16777215,  0,  16777215,
11532                 NULL, NULL, FALSE);
11533
11534         return offset;
11535 }
11536
11537
11538
11539 static const value_string FlowControlCommand_restriction_vals[] = {
11540         {  0, "maximumBitRate" },
11541         {  1, "noRestriction" },
11542         {  0, NULL }
11543 };
11544 static per_choice_t FlowControlCommand_restriction_choice[] = {
11545         {  0, "maximumBitRate", NO_EXTENSIONS,
11546                         dissect_h245_maximumBitRate_0_16777215 },
11547         {  1, "noRestriction", NO_EXTENSIONS, 
11548                         dissect_h245_NULL },
11549         {  0, NULL, 0, NULL }
11550 };
11551 static int
11552 dissect_h245_FlowControlCommand_restriction(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11553 {
11554         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FlowControlCommand_restriction, ett_h245_FlowControlCommand_restriction, FlowControlCommand_restriction_choice, "restriction", NULL);
11555
11556         return offset;
11557 }
11558
11559
11560
11561
11562 static const value_string FlowControlIndication_restriction_vals[] = {
11563         {  0, "maximumBitRate" },
11564         {  1, "noRestriction" },
11565         {  0, NULL }
11566 };
11567 static per_choice_t FlowControlIndication_restriction_choice[] = {
11568         {  0, "maximumBitRate", NO_EXTENSIONS,
11569                         dissect_h245_maximumBitRate_0_16777215 },
11570         {  1, "noRestrictions", NO_EXTENSIONS, 
11571                         dissect_h245_NULL },
11572         {  0, NULL, 0, NULL }
11573 };
11574 static int
11575 dissect_h245_FlowControlIndication_restriction(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11576 {
11577         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FlowControlIndication_restriction, ett_h245_FlowControlIndication_restriction, FlowControlIndication_restriction_choice, "restriction", NULL);
11578
11579         return offset;
11580 }
11581
11582
11583
11584
11585 static per_sequence_t FlowControlCommand_sequence[] = {
11586         { "scope", EXTENSION_ROOT, NOT_OPTIONAL,
11587                 dissect_h245_FlowControlCommand_scope },
11588         { "restriction", EXTENSION_ROOT, NOT_OPTIONAL,
11589                 dissect_h245_FlowControlCommand_restriction },
11590         { NULL, 0, 0, NULL }
11591 };
11592 static int
11593 dissect_h245_FlowControlCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11594 {
11595         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FlowControlCommand, ett_h245_FlowControlCommand, FlowControlCommand_sequence);
11596
11597         return offset;
11598 }
11599
11600
11601
11602 static per_sequence_t FlowControlIndication_sequence[] = {
11603         { "scope", EXTENSION_ROOT, NOT_OPTIONAL,
11604                 dissect_h245_FlowControlIndication_scope },
11605         { "restriction", EXTENSION_ROOT, NOT_OPTIONAL,
11606                 dissect_h245_FlowControlIndication_restriction },
11607         { NULL, 0, 0, NULL }
11608 };
11609 static int
11610 dissect_h245_FlowControlIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11611 {
11612         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FlowControlIndication, ett_h245_FlowControlIndication, FlowControlIndication_sequence);
11613
11614         return offset;
11615 }
11616
11617
11618
11619
11620 static int
11621 dissect_h245_firstGOB_0_17(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11622 {
11623         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11624                 hf_h245_firstGOB_0_17,  0,  17,
11625                 NULL, NULL, FALSE);
11626
11627         return offset;
11628 }
11629
11630
11631
11632 static int
11633 dissect_h245_numberOfGOBs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11634 {
11635         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11636                 hf_h245_numberOfGOBs,  1,  18,
11637                 NULL, NULL, FALSE);
11638
11639         return offset;
11640 }
11641
11642
11643
11644
11645 static per_sequence_t MiscellaneousCommand_type_videoFastUpdateGOB_sequence[] = {
11646         { "firstGOB", NO_EXTENSIONS, NOT_OPTIONAL,
11647                 dissect_h245_firstGOB_0_17 },
11648         { "numberOfGOBs", NO_EXTENSIONS, NOT_OPTIONAL,
11649                 dissect_h245_numberOfGOBs },
11650         { NULL, 0, 0, NULL }
11651 };
11652 static int
11653 dissect_h245_MiscellaneousCommand_type_videoFastUpdateGOB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11654 {
11655         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type_videoFastUpdateGOB, ett_h245_MiscellaneousCommand_type_videoFastUpdateGOB, MiscellaneousCommand_type_videoFastUpdateGOB_sequence);
11656
11657         return offset;
11658 }
11659
11660
11661
11662
11663 static int
11664 dissect_h245_videoTemporalSpatialTradeOff(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11665 {
11666         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11667                 hf_h245_videoTemporalSpatialTradeOff,  0,  31,
11668                 NULL, NULL, FALSE);
11669
11670         return offset;
11671 }
11672
11673
11674
11675 static int
11676 dissect_h245_firstGOB_0_255(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11677 {
11678         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11679                 hf_h245_firstGOB_0_255,  0,  255,
11680                 NULL, NULL, FALSE);
11681
11682         return offset;
11683 }
11684
11685
11686
11687 static int
11688 dissect_h245_firstMB_1_8192(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11689 {
11690         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11691                 hf_h245_firstMB_1_8192,  1,  8192,
11692                 NULL, NULL, FALSE);
11693
11694         return offset;
11695 }
11696
11697
11698
11699 static int
11700 dissect_h245_firstMB_1_9216(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11701 {
11702         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11703                 hf_h245_firstMB_1_9216,  1,  9216,
11704                 NULL, NULL, FALSE);
11705
11706         return offset;
11707 }
11708
11709
11710
11711
11712 static int
11713 dissect_h245_numberOfMBs_1_8192(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11714 {
11715         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11716                 hf_h245_numberOfMBs_1_8192,  1,  8192,
11717                 NULL, NULL, FALSE);
11718
11719         return offset;
11720 }
11721
11722
11723
11724
11725 static int
11726 dissect_h245_numberOfMBs_1_9216(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11727 {
11728         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11729                 hf_h245_numberOfMBs_1_9216,  1,  9216,
11730                 NULL, NULL, FALSE);
11731
11732         return offset;
11733 }
11734
11735
11736
11737
11738 static per_sequence_t MiscellaneousCommand_type_videoFastUpdateMB_sequence[] = {
11739         { "firstGOB", EXTENSION_ROOT, OPTIONAL,
11740                 dissect_h245_firstGOB_0_255 },
11741         { "firstMB", EXTENSION_ROOT, OPTIONAL,
11742                 dissect_h245_firstMB_1_8192 },
11743         { "numberOfMBs", EXTENSION_ROOT, NOT_OPTIONAL,
11744                 dissect_h245_numberOfMBs_1_8192 },
11745         { NULL, 0, 0, NULL }
11746 };
11747 static int
11748 dissect_h245_MiscellaneousCommand_type_videoFastUpdateMB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11749 {
11750         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type_videoFastUpdateMB, ett_h245_MiscellaneousCommand_type_videoFastUpdateMB, MiscellaneousCommand_type_videoFastUpdateMB_sequence);
11751
11752         return offset;
11753 }
11754
11755
11756
11757
11758 static int
11759 dissect_h245_maxH223MUXPDUsize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11760 {
11761         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11762                 hf_h245_maxH223MUXPDUsize,  1,  65535,
11763                 NULL, NULL, FALSE);
11764
11765         return offset;
11766 }
11767
11768
11769
11770
11771 static int
11772 dissect_h245_temporalReference_0_1023(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11773 {
11774         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11775                 hf_h245_temporalReference_0_1023,  0,  1023,
11776                 NULL, NULL, FALSE);
11777
11778         return offset;
11779 }
11780
11781
11782
11783
11784
11785
11786 static int
11787 dissect_h245_temporalReference_0_255(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11788 {
11789         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11790                 hf_h245_temporalReference_0_255,  0,  255,
11791                 NULL, NULL, FALSE);
11792
11793         return offset;
11794 }
11795
11796
11797
11798
11799 static per_sequence_t MiscellaneousIndication_type_videoNotDecodedMBs_sequence[] = {
11800         { "firstMB", EXTENSION_ROOT, NOT_OPTIONAL,
11801                 dissect_h245_firstMB_1_8192 },
11802         { "numberOfMBs", EXTENSION_ROOT, NOT_OPTIONAL,
11803                 dissect_h245_numberOfMBs_1_8192 },
11804         { "temporalReference", EXTENSION_ROOT, NOT_OPTIONAL,
11805                 dissect_h245_temporalReference_0_255 },
11806         { NULL, 0, 0, NULL }
11807 };
11808 static int
11809 dissect_h245_MiscellaneousIndication_type_videoNotDecodedMBs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11810 {
11811         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousIndication_type_videoNotDecodedMBs, ett_h245_MiscellaneousIndication_type_videoNotDecodedMBs, MiscellaneousIndication_type_videoNotDecodedMBs_sequence);
11812
11813         return offset;
11814 }
11815
11816
11817
11818
11819
11820 static per_sequence_t MiscellaneousCommand_type_videoBadMBs_sequence[] = {
11821         { "firstMB", EXTENSION_ROOT, NOT_OPTIONAL,
11822                 dissect_h245_firstMB_1_9216 },
11823         { "numberOfMBs", EXTENSION_ROOT, NOT_OPTIONAL,
11824                 dissect_h245_numberOfMBs_1_9216 },
11825         { "temporalReference", EXTENSION_ROOT, NOT_OPTIONAL,
11826                 dissect_h245_temporalReference_0_1023 },
11827         { NULL, 0, 0, NULL }
11828 };
11829 static int
11830 dissect_h245_MiscellaneousCommand_type_videoBadMBs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11831 {
11832         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type_videoBadMBs, ett_h245_MiscellaneousCommand_type_videoBadMBs, MiscellaneousCommand_type_videoBadMBs_sequence);
11833
11834         return offset;
11835 }
11836
11837
11838
11839
11840 static int
11841 dissect_h245_pictureNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11842 {
11843         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11844                 hf_h245_pictureNumber,  0,  1023,
11845                 NULL, NULL, FALSE);
11846
11847         return offset;
11848 }
11849
11850
11851
11852
11853 static int
11854 dissect_h245_longTermPictureIndex(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11855 {
11856         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11857                 hf_h245_longTermPictureIndex,  0,  255,
11858                 NULL, NULL, FALSE);
11859
11860         return offset;
11861 }
11862
11863
11864
11865
11866 static const value_string PictureReference_vals[] = {
11867         {  0, "pictureNumber" },
11868         {  1, "longTermPictureIndex" },
11869         {  0, NULL }
11870 };
11871 static per_choice_t PictureReference_choice[] = {
11872         {  0, "pictureNumber", EXTENSION_ROOT,
11873                 dissect_h245_pictureNumber },
11874         {  1, "longTermPictureIndex", EXTENSION_ROOT,
11875                 dissect_h245_longTermPictureIndex },
11876         {  0, NULL, 0, NULL }
11877 };
11878 static int
11879 dissect_h245_PictureReference(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11880 {
11881         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_PictureReference, ett_h245_PictureReference, PictureReference_choice, "PictureReference", NULL);
11882
11883         return offset;
11884 }
11885
11886
11887
11888
11889 static per_sequence_t MiscellaneousCommand_type_lostPartialPicture_sequence[] = {
11890         { "pictureReference", EXTENSION_ROOT, NOT_OPTIONAL,
11891                 dissect_h245_PictureReference },
11892         { "firstMB", EXTENSION_ROOT, NOT_OPTIONAL,
11893                 dissect_h245_firstMB_1_9216 },
11894         { "numberOfMBs", EXTENSION_ROOT, NOT_OPTIONAL,
11895                 dissect_h245_numberOfMBs_1_9216 },
11896         { NULL, 0, 0, NULL }
11897 };
11898 static int
11899 dissect_h245_MiscellaneousCommand_type_lostPartialPicture(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11900 {
11901         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type_lostPartialPicture, ett_h245_MiscellaneousCommand_type_lostPartialPicture, MiscellaneousCommand_type_lostPartialPicture_sequence);
11902
11903         return offset;
11904 }
11905
11906
11907
11908
11909 static int
11910 dissect_h245_sampleSize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11911 {
11912         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11913                 hf_h245_sampleSize,  1,  255,
11914                 NULL, NULL, FALSE);
11915
11916         return offset;
11917 }
11918
11919
11920
11921 static int
11922 dissect_h245_samplesPerFrame(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11923 {
11924         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11925                 hf_h245_samplesPerFrame,  1,  255,
11926                 NULL, NULL, FALSE);
11927
11928         return offset;
11929 }
11930
11931
11932
11933 static per_sequence_t MobileMultilinkReconfigurationIndication_sequence[] = {
11934         { "sampleSize", EXTENSION_ROOT, NOT_OPTIONAL,
11935                 dissect_h245_sampleSize },
11936         { "samplesPerFrame", EXTENSION_ROOT, NOT_OPTIONAL,
11937                 dissect_h245_samplesPerFrame },
11938         { NULL, 0, 0, NULL }
11939 };
11940 static int
11941 dissect_h245_MobileMultilinkReconfigurationIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11942 {
11943         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MobileMultilinkReconfigurationIndication, ett_h245_MobileMultilinkReconfigurationIndication, MobileMultilinkReconfigurationIndication_sequence);
11944
11945         return offset;
11946 }
11947
11948
11949
11950
11951 static per_sequence_t MobileMultilinkReconfigurationCommand_sequence[] = {
11952         { "sampleSize", EXTENSION_ROOT, NOT_OPTIONAL,
11953                 dissect_h245_sampleSize },
11954         { "samplesPerFrame", EXTENSION_ROOT, NOT_OPTIONAL,
11955                 dissect_h245_samplesPerFrame },
11956         { "status", EXTENSION_ROOT, NOT_OPTIONAL, 
11957                 dissect_h245_MobileMultilinkReconfigurationCommand_status },
11958         { NULL, 0, 0, NULL }
11959 };
11960 static int
11961 dissect_h245_MobileMultilinkReconfigurationCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11962 {
11963         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MobileMultilinkReconfigurationCommand, ett_h245_MobileMultilinkReconfigurationCommand, MobileMultilinkReconfigurationCommand_sequence);
11964
11965         return offset;
11966 }
11967
11968
11969
11970
11971 static int
11972 dissect_h245_sbeNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11973 {
11974         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11975                 hf_h245_sbeNumber,  0,  9,
11976                 NULL, NULL, FALSE);
11977
11978         return offset;
11979 }
11980
11981
11982
11983
11984
11985
11986
11987 static int
11988 dissect_h245_subPictureNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
11989 {
11990         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
11991                 hf_h245_subPictureNumber,  0,  255,
11992                 NULL, NULL, FALSE);
11993
11994         return offset;
11995 }
11996
11997
11998
11999
12000 static per_sequence_t TerminalYouAreSeeingInSubPictureNumber_sequence[] = {
12001         { "terminalNumber", EXTENSION_ROOT, NOT_OPTIONAL,
12002                 dissect_h245_TerminalNumber },
12003         { "subPictureNumber", EXTENSION_ROOT, NOT_OPTIONAL,
12004                 dissect_h245_subPictureNumber },
12005         { NULL, 0, 0, NULL }
12006 };
12007 static int
12008 dissect_h245_TerminalYouAreSeeingInSubPictureNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12009 {
12010         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalYouAreSeeingInSubPictureNumber, ett_h245_TerminalYouAreSeeingInSubPictureNumber, TerminalYouAreSeeingInSubPictureNumber_sequence);
12011
12012         return offset;
12013 }
12014
12015
12016
12017 static int
12018 dissect_h245_compositionNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12019 {
12020         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12021                 hf_h245_compositionNumber,  0,  255,
12022                 NULL, NULL, FALSE);
12023
12024         return offset;
12025 }
12026
12027
12028
12029
12030 static per_sequence_t VideoIndicateCompose_sequence[] = {
12031         { "compositionNumber", EXTENSION_ROOT, NOT_OPTIONAL,
12032                 dissect_h245_compositionNumber },
12033         { NULL, 0, 0, NULL }
12034 };
12035 static int
12036 dissect_h245_VideoIndicateCompose(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12037 {
12038         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VideoIndicateCompose, ett_h245_VideoIndicateCompose, VideoIndicateCompose_sequence);
12039
12040         return offset;
12041 }
12042
12043
12044
12045
12046 static const value_string ConferenceIndication_vals[] = {
12047         {  0, "sbeNumber" },
12048         {  1, "terminalNumberAssign" },
12049         {  2, "terminalJoinedConference" },
12050         {  3, "terminalLeftConference" },
12051         {  4, "seenByAtLeastOneOther" },
12052         {  5, "cancelSeenByAtLeastOneOther" },
12053         {  6, "seenByAll" },
12054         {  7, "cancelSeenByAll" },
12055         {  8, "terminalAreYouSeeing" },
12056         {  9, "requestForFloor" },
12057         { 10, "withdrawChairToken" },
12058         { 11, "floorRequested" },
12059         { 12, "terminalAreYouSeeingInSubPictureNumber" },
12060         { 13, "videoIndicateCompose" },
12061         {  0, NULL }
12062 };
12063 static per_choice_t ConferenceIndication_choice[] = {
12064         {  0, "sbeNumber", EXTENSION_ROOT,
12065                         dissect_h245_sbeNumber },
12066         {  1, "terminalNumberAssign", EXTENSION_ROOT,
12067                         dissect_h245_TerminalLabel },
12068         {  2, "terminalJoinedConference", EXTENSION_ROOT,
12069                         dissect_h245_TerminalLabel },
12070         {  3, "terminalLeftConference", EXTENSION_ROOT,
12071                         dissect_h245_TerminalLabel },
12072         {  4, "seenByAtLeastOneOther", EXTENSION_ROOT, 
12073                         dissect_h245_NULL },
12074         {  5, "cancelSeenByAtLeastOneOther", EXTENSION_ROOT, 
12075                         dissect_h245_NULL },
12076         {  6, "seenByAll", EXTENSION_ROOT, 
12077                         dissect_h245_NULL },
12078         {  7, "cancelSeenByAll", EXTENSION_ROOT, 
12079                         dissect_h245_NULL },
12080         {  8, "terminalAreYouSeeing", EXTENSION_ROOT,
12081                         dissect_h245_TerminalLabel },
12082         {  9, "requestForFloor", EXTENSION_ROOT,
12083                         dissect_h245_NULL },
12084         { 10, "withdrawChairToken", NOT_EXTENSION_ROOT, 
12085                         dissect_h245_NULL },
12086         { 11, "floorRequested", NOT_EXTENSION_ROOT,
12087                         dissect_h245_TerminalLabel },
12088         { 12, "terminalAreYouSeeingInSubPictureNumber", NOT_EXTENSION_ROOT,
12089                         dissect_h245_TerminalYouAreSeeingInSubPictureNumber },
12090         { 13, "videoIndicateCompose", NOT_EXTENSION_ROOT,
12091                         dissect_h245_VideoIndicateCompose },
12092         {  0, NULL, 0, NULL }
12093 };
12094 static int
12095 dissect_h245_ConferenceIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12096 {
12097         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceIndication, ett_h245_ConferenceIndication, ConferenceIndication_choice, "ConferenceIndication", NULL);
12098
12099         return offset;
12100 }
12101
12102
12103
12104
12105 static int
12106 dissect_h245_estimatedReceivedJitterMantissa(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12107 {
12108         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12109                 hf_h245_estimatedReceivedJitterMantissa,  0,  3,
12110                 NULL, NULL, FALSE);
12111
12112         return offset;
12113 }
12114
12115
12116
12117
12118 static int
12119 dissect_h245_estimatedReceivedJitterExponent(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12120 {
12121         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12122                 hf_h245_estimatedReceivedJitterExponent,  0,  7,
12123                 NULL, NULL, FALSE);
12124
12125         return offset;
12126 }
12127
12128
12129
12130 static int
12131 dissect_h245_skippedFrameCount(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12132 {
12133         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12134                 hf_h245_skippedFrameCount,  0,  15,
12135                 NULL, NULL, FALSE);
12136
12137         return offset;
12138 }
12139
12140
12141
12142
12143 static int
12144 dissect_h245_additionalDecoderBuffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12145 {
12146         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12147                 hf_h245_additionalDecoderBuffer,  0,  262143,
12148                 NULL, NULL, FALSE);
12149
12150         return offset;
12151 }
12152
12153
12154
12155
12156 static per_sequence_t JitterIndication_sequence[] = {
12157         { "scope", EXTENSION_ROOT, NOT_OPTIONAL,
12158                 dissect_h245_JitterIndication_scope },
12159         { "estimatedReceivedJitterMantissa", EXTENSION_ROOT, NOT_OPTIONAL,
12160                 dissect_h245_estimatedReceivedJitterMantissa },
12161         { "estimatedReceivedJitterExponent", EXTENSION_ROOT, NOT_OPTIONAL,
12162                 dissect_h245_estimatedReceivedJitterExponent },
12163         { "skippedFrameCount", EXTENSION_ROOT, OPTIONAL,
12164                 dissect_h245_skippedFrameCount },
12165         { "additionalDecoderBuffer", EXTENSION_ROOT, OPTIONAL,
12166                 dissect_h245_additionalDecoderBuffer },
12167         { NULL, 0, 0, NULL }
12168 };
12169 static int
12170 dissect_h245_JitterIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12171 {
12172         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_JitterIndication, ett_h245_JitterIndication, JitterIndication_sequence);
12173
12174         return offset;
12175 }
12176
12177
12178
12179
12180 static int
12181 dissect_h245_skew(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12182 {
12183         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12184                 hf_h245_skew,  0,  4095,
12185                 NULL, NULL, FALSE);
12186
12187         return offset;
12188 }
12189
12190
12191
12192 static per_sequence_t H223SkewIndication_sequence[] = {
12193         { "logicalChannelNumber1", EXTENSION_ROOT, NOT_OPTIONAL, 
12194                         dissect_h245_LogicalChannelNumber },
12195         { "logicalChannelNumber2", EXTENSION_ROOT, NOT_OPTIONAL, 
12196                         dissect_h245_LogicalChannelNumber },
12197         { "skew", EXTENSION_ROOT, NOT_OPTIONAL,
12198                         dissect_h245_skew },
12199         { NULL, 0, 0, NULL }
12200 };
12201 static int
12202 dissect_h245_H223SkewIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12203 {
12204         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223SkewIndication, ett_h245_H223SkewIndication, H223SkewIndication_sequence);
12205
12206         return offset;
12207 }
12208
12209
12210
12211
12212 static int
12213 dissect_h245_maximumSkew(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12214 {
12215         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12216                 hf_h245_maximumSkew,  0,  4095,
12217                 NULL, NULL, FALSE);
12218
12219         return offset;
12220 }
12221
12222
12223
12224
12225 static per_sequence_t H2250MaximumSkewIndication_sequence[] = {
12226         { "logicalChannelNumber1", EXTENSION_ROOT, NOT_OPTIONAL, 
12227                         dissect_h245_LogicalChannelNumber },
12228         { "logicalChannelNumber2", EXTENSION_ROOT, NOT_OPTIONAL, 
12229                         dissect_h245_LogicalChannelNumber },
12230         { "maximumSkew", EXTENSION_ROOT, NOT_OPTIONAL,
12231                         dissect_h245_maximumSkew },
12232         { NULL, 0, 0, NULL }
12233 };
12234 static int
12235 dissect_h245_H2250MaximumSkewIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12236 {
12237         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250MaximumSkewIndication, ett_h245_H2250MaximumSkewIndication, H2250MaximumSkewIndication_sequence);
12238
12239         return offset;
12240 }
12241
12242
12243
12244
12245 static int
12246 dissect_h245_duration(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12247 {
12248         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12249                 hf_h245_duration,  1,  65535,
12250                 NULL, NULL, FALSE);
12251
12252         return offset;
12253 }
12254
12255
12256
12257 static per_sequence_t UserInputIndication_signalUpdate_sequence[] = {
12258         { "duration", EXTENSION_ROOT, NOT_OPTIONAL,
12259                 dissect_h245_duration },
12260         { "rtp", EXTENSION_ROOT, OPTIONAL, 
12261                 dissect_h245_UserInputIndication_signalUpdate_rtp },
12262         { NULL, 0, 0, NULL }
12263 };
12264 static int
12265 dissect_h245_UserInputIndication_signalUpdate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12266 {
12267         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_signalUpdate, ett_h245_UserInputIndication_signalUpdate, UserInputIndication_signalUpdate_sequence);
12268
12269         return offset;
12270 }
12271
12272
12273
12274
12275 static int
12276 dissect_h245_timestamp(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12277 {
12278         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12279                 hf_h245_timestamp,  0,  4294967295UL,
12280                 NULL, NULL, FALSE);
12281
12282         return offset;
12283 }
12284
12285
12286
12287 static int
12288 dissect_h245_expirationTime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12289 {
12290         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
12291                 hf_h245_expirationTime,  0,  4294967295UL,
12292                 NULL, NULL, FALSE);
12293
12294         return offset;
12295 }
12296
12297
12298
12299
12300 static per_sequence_t UserInputIndication_signal_rtp_sequence[] = {
12301         { "timestamp", EXTENSION_ROOT, OPTIONAL,
12302                 dissect_h245_timestamp },
12303         { "expirationTime", EXTENSION_ROOT, OPTIONAL,
12304                 dissect_h245_expirationTime },
12305         { "logicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
12306                 dissect_h245_LogicalChannelNumber },
12307         { NULL, 0, 0, NULL }
12308 };
12309 static int
12310 dissect_h245_UserInputIndication_signal_rtp(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12311 {
12312         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_signal_rtp, ett_h245_UserInputIndication_signal_rtp, UserInputIndication_signal_rtp_sequence);
12313
12314         return offset;
12315 }
12316
12317
12318
12319
12320
12321
12322 static per_sequence_t MasterSlaveDeterminationRelease_sequence[] = {
12323         { NULL, EXTENSION_ROOT, 0, NULL }
12324 };
12325 static int
12326 dissect_h245_MasterSlaveDeterminationRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12327 {
12328         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MasterSlaveDeterminationRelease, ett_h245_MasterSlaveDeterminationRelease, MasterSlaveDeterminationRelease_sequence);
12329
12330         return offset;
12331 }
12332
12333
12334
12335
12336
12337 static per_sequence_t MultilinkIndication_crcDesired_sequence[] = {
12338         { NULL, EXTENSION_ROOT, 0, NULL }
12339 };
12340 static int
12341 dissect_h245_MultilinkIndication_crcDesired(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12342 {
12343         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkIndication_crcDesired, ett_h245_MultilinkIndication_crcDesired, MultilinkIndication_crcDesired_sequence);
12344
12345         return offset;
12346 }
12347
12348
12349
12350
12351
12352 static int
12353 dissect_h245_object(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12354 {
12355         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_object);
12356         return offset;
12357 }
12358
12359
12360
12361 static int
12362 dissect_h245_protocolIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12363 {
12364         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_protocolIdentifier);
12365         return offset;
12366 }
12367
12368
12369
12370
12371 static int
12372 dissect_h245_algorithm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12373 {
12374         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_algorithm);
12375         return offset;
12376 }
12377
12378
12379
12380
12381 static int
12382 dissect_h245_antiSpamAlgorithm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12383 {
12384         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_antiSpamAlgorithm);
12385         return offset;
12386 }
12387
12388
12389
12390
12391 static int
12392 dissect_h245_standard_object(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12393 {
12394         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_standard_object);
12395         return offset;
12396 }
12397
12398
12399
12400 static int
12401 dissect_h245_oid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12402 {
12403         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_oid);
12404         return offset;
12405 }
12406
12407
12408
12409
12410 static int
12411 dissect_h245_escrowID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12412 {
12413         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_escrowID);
12414         return offset;
12415 }
12416
12417
12418
12419
12420 static int
12421 dissect_h245_field(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12422 {
12423         offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h245_field);
12424         return offset;
12425 }
12426
12427
12428
12429
12430 static const value_string NonStandardIdentifier_vals[] = {
12431         { 0,    "object" },
12432         { 1,    "h221NonStandard" },
12433         { 0, NULL }
12434 };
12435 static per_choice_t NonStandardIdentifier_choice[] = {
12436         { 0,    "object", NO_EXTENSIONS,
12437                 dissect_h245_object },
12438         { 1,    "h221NonStandard", NO_EXTENSIONS, 
12439                 dissect_h245_h221NonStandard },
12440         { 0, NULL, 0, NULL }
12441 };
12442 static int
12443 dissect_h245_NonStandardIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12444 {
12445         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NonStandardIdentifier, ett_h245_NonStandardIdentifier, NonStandardIdentifier_choice, "NonStandardIdentifier", NULL);
12446
12447         return offset;
12448 }
12449
12450
12451 static int
12452 dissect_h245_NonStandardParameterData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12453 {
12454         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_NonStandardParameterData, -1, -1);
12455         return offset;
12456 }
12457
12458
12459
12460
12461 static int
12462 dissect_h245_nlpidData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12463 {
12464         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_nlpidData, -1, -1);
12465         return offset;
12466 }
12467
12468
12469
12470
12471 static int
12472 dissect_h245_nonCollapsingRaw(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12473 {
12474         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_nonCollapsingRaw, -1, -1);
12475         return offset;
12476 }
12477
12478
12479
12480 static int
12481 dissect_h245_uuid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12482 {
12483         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_uuid, 16, 16);
12484         return offset;
12485 }
12486
12487
12488
12489
12490 static int
12491 dissect_h245_octetString(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12492 {
12493         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_octetString, -1, -1);
12494         return offset;
12495 }
12496
12497
12498
12499
12500 static int
12501 dissect_h245_externalReference(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12502 {
12503         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_externalReference, 1, 255);
12504         return offset;
12505 }
12506
12507
12508
12509
12510 static int
12511 dissect_h245_nsapAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12512 {
12513         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_nsapAddress, 1, 20);
12514         return offset;
12515 }
12516
12517
12518
12519
12520 static int
12521 dissect_h245_subaddress_1_20(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12522 {
12523         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_subaddress_1_20, 1, 20);
12524         return offset;
12525 }
12526
12527
12528
12529
12530 static int
12531 dissect_h245_programDescriptors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12532 {
12533         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_programDescriptors, -1, -1);
12534         return offset;
12535 }
12536
12537
12538
12539 static int
12540 dissect_h245_streamDescriptors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12541 {
12542         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_streamDescriptors, -1, -1);
12543         return offset;
12544 }
12545
12546
12547
12548
12549 static int
12550 dissect_h245_ipv4network(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree)
12551 {
12552         /* byte aligned */
12553         if(offset&0x07){
12554                 offset=(offset&0xfffffff8)+8;
12555         }
12556         tvb_memcpy(tvb, (char *)&ipv4_address, offset>>3, 4);
12557         proto_tree_add_ipv4(tree, hf_h245_ipv4network, tvb, offset>>3, 4, ipv4_address);
12558         
12559         offset+=32;
12560         return offset;
12561 }
12562
12563
12564
12565 static int
12566 dissect_h245_ipxNode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12567 {
12568         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_ipxNode, 6, 6);
12569         return offset;
12570 }
12571
12572
12573
12574 static int
12575 dissect_h245_ipxNetnum(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12576 {
12577         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_ipxNetnum, 4, 4);
12578         return offset;
12579 }
12580
12581
12582
12583
12584 static int
12585 dissect_h245_ipv6network(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12586 {
12587         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_ipv6network, 16, 16);
12588         return offset;
12589 }
12590
12591
12592
12593 static int
12594 dissect_h245_netBios(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12595 {
12596         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_netBios, 16, 16);
12597         return offset;
12598 }
12599
12600
12601
12602
12603 static int
12604 dissect_h245_nsap(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12605 {
12606         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_nsap, 1, 20);
12607         return offset;
12608 }
12609
12610
12611
12612
12613 static int
12614 dissect_h245_h235Key(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12615 {
12616         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_h235Key, 1, 65535);
12617         return offset;
12618 }
12619
12620
12621
12622 static int
12623 dissect_h245_value(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12624 {
12625         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_value, 1, 65535);
12626         return offset;
12627 }
12628
12629
12630
12631
12632 static int
12633 dissect_h245_certificateResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12634 {
12635         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_certificateResponse, 1, 65535);
12636         return offset;
12637 }
12638
12639
12640
12641
12642 static int
12643 dissect_h245_TerminalID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12644 {
12645         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_TerminalID, 1, 128);
12646         return offset;
12647 }
12648
12649
12650
12651 static int
12652 dissect_h245_ConferenceID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12653 {
12654         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_ConferenceID, 1, 32);
12655         return offset;
12656 }
12657
12658
12659
12660 static int
12661 dissect_h245_Password(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12662 {
12663         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_Password, 1, 32);
12664         return offset;
12665 }
12666
12667
12668
12669
12670 static int
12671 dissect_h245_encryptionSE(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12672 {
12673         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_encryptionSE, -1, -1);
12674         return offset;
12675 }
12676
12677
12678
12679 static int
12680 dissect_h245_conferenceIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12681 {
12682         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_conferenceIdentifier, 1, 16);
12683         return offset;
12684 }
12685
12686
12687
12688
12689 static int
12690 dissect_h245_returnedFunction(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12691 {
12692         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_returnedFunction, -1, -1);
12693         return offset;
12694 }
12695
12696
12697
12698
12699 static int
12700 dissect_h245_productNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12701 {
12702         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_productNumber, 1, 256);
12703         return offset;
12704 }
12705
12706
12707
12708
12709 static int
12710 dissect_h245_versionNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12711 {
12712         offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h245_versionNumber, 1, 256);
12713         return offset;
12714 }
12715
12716
12717
12718
12719
12720 static per_sequence_t H222LogicalChannelParameters_sequence[] = {
12721         { "resourceID", EXTENSION_ROOT, NOT_OPTIONAL,
12722                 dissect_h245_resourceID },
12723         { "subChannelID", EXTENSION_ROOT, NOT_OPTIONAL,
12724                 dissect_h245_subChannelID },
12725         { "pcr-pid", EXTENSION_ROOT, OPTIONAL,
12726                 dissect_h245_pcr_pid },
12727         { "programDescriptors", EXTENSION_ROOT, OPTIONAL,
12728                 dissect_h245_programDescriptors },
12729         { "streamDescriptors", EXTENSION_ROOT, OPTIONAL,
12730                 dissect_h245_streamDescriptors },
12731         { NULL, 0, 0, NULL }
12732 };
12733 static int
12734 dissect_h245_H222LogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12735 {
12736         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H222LogicalChannelParameters, ett_h245_H222LogicalChannelParameters, H222LogicalChannelParameters_sequence);
12737
12738         return offset;
12739 }
12740
12741
12742
12743
12744
12745 static per_sequence_t UnicastAddress_iPAddress_sequence[] = {
12746         { "network", EXTENSION_ROOT, NOT_OPTIONAL,
12747                 dissect_h245_ipv4network },
12748         { "tsapIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
12749                 dissect_h245_tsapIdentifier },
12750         { NULL, 0, 0, NULL }
12751 };
12752 static int
12753 dissect_h245_UnicastAddress_iPAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12754 {
12755         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UnicastAddress_iPAddress, ett_h245_UnicastAddress_iPAddress, UnicastAddress_iPAddress_sequence);
12756
12757         return offset;
12758 }
12759
12760
12761
12762 static per_sequence_t UnicastAddress_iPXAddress_sequence[] = {
12763         { "node", EXTENSION_ROOT, NOT_OPTIONAL,
12764                 dissect_h245_ipxNode },
12765         { "netnum", EXTENSION_ROOT, NOT_OPTIONAL,
12766                 dissect_h245_ipxNetnum },
12767         { "tsapIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
12768                 dissect_h245_tsapIdentifier },
12769         { NULL, 0, 0, NULL }
12770 };
12771 static int
12772 dissect_h245_UnicastAddress_iPXAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12773 {
12774         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UnicastAddress_iPXAddress, ett_h245_UnicastAddress_iPXAddress, UnicastAddress_iPXAddress_sequence);
12775
12776         return offset;
12777 }
12778
12779
12780
12781
12782 static per_sequence_t UnicastAddress_iP6Address_sequence[] = {
12783         { "network", EXTENSION_ROOT, NOT_OPTIONAL,
12784                 dissect_h245_ipv6network },
12785         { "tsapIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
12786                 dissect_h245_tsapIdentifier },
12787         { NULL, 0, 0, NULL }
12788 };
12789 static int
12790 dissect_h245_UnicastAddress_iP6Address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12791 {
12792         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UnicastAddress_iP6Address, ett_h245_UnicastAddress_iP6Address, UnicastAddress_iP6Address_sequence);
12793
12794         return offset;
12795 }
12796
12797
12798
12799
12800
12801 static per_sequence_t VendorIdentification_sequence[] = {
12802         { "vendor", EXTENSION_ROOT, NOT_OPTIONAL,
12803                 dissect_h245_NonStandardIdentifier },
12804         { "productNumber", EXTENSION_ROOT, OPTIONAL,
12805                 dissect_h245_productNumber },
12806         { "versionNumber", EXTENSION_ROOT, OPTIONAL,
12807                 dissect_h245_versionNumber },
12808         { NULL, 0, 0, NULL }
12809 };
12810 static int
12811 dissect_h245_VendorIdentification(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12812 {
12813         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VendorIdentification, ett_h245_VendorIdentification, VendorIdentification_sequence);
12814
12815         return offset;
12816 }
12817
12818
12819
12820
12821 static per_sequence_t MulticastAddress_iPAddress_sequence[] = {
12822         { "network", EXTENSION_ROOT, NOT_OPTIONAL,
12823                 dissect_h245_ipv4network },
12824         { "tsapIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
12825                 dissect_h245_tsapIdentifier },
12826         { NULL, 0, 0, NULL }
12827 };
12828 static int
12829 dissect_h245_MulticastAddress_iPAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12830 {
12831         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MulticastAddress_iPAddress, ett_h245_MulticastAddress_iPAddress, MulticastAddress_iPAddress_sequence);
12832
12833         return offset;
12834 }
12835
12836
12837
12838
12839 static per_sequence_t MulticastAddress_iP6Address_sequence[] = {
12840         { "network", EXTENSION_ROOT, NOT_OPTIONAL,
12841                 dissect_h245_ipv6network },
12842         { "tsapIdentifier", EXTENSION_ROOT, NOT_OPTIONAL, 
12843                 dissect_h245_tsapIdentifier },
12844         { NULL, 0, 0, NULL }
12845 };
12846 static int
12847 dissect_h245_MulticastAddress_iP6Address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12848 {
12849         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MulticastAddress_iP6Address, ett_h245_MulticastAddress_iP6Address, MulticastAddress_iP6Address_sequence);
12850
12851         return offset;
12852 }
12853
12854
12855
12856
12857
12858 static per_sequence_t Criteria_sequence[] = {
12859         { "field", EXTENSION_ROOT, NOT_OPTIONAL,
12860                 dissect_h245_field },
12861         { "value", EXTENSION_ROOT, NOT_OPTIONAL,
12862                 dissect_h245_value },
12863         { NULL, 0, 0, NULL }
12864 };
12865 static int
12866 dissect_h245_Criteria(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12867 {
12868         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_Criteria, ett_h245_Criteria, Criteria_sequence);
12869
12870         return offset;
12871 }
12872
12873
12874
12875
12876 static per_sequence_t ConferenceResponse_mCterminalIDResponse_sequence[] = {
12877         { "terminalLabel", EXTENSION_ROOT, NOT_OPTIONAL,
12878                 dissect_h245_TerminalLabel },
12879         { "terminalID", EXTENSION_ROOT, NOT_OPTIONAL,
12880                 dissect_h245_TerminalID },
12881         { NULL, 0, 0, NULL }
12882 };
12883 static int
12884 dissect_h245_ConferenceResponse_mCterminalIDResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12885 {
12886         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_mCterminalIDResponse, ett_h245_ConferenceResponse_mCterminalIDResponse, ConferenceResponse_mCterminalIDResponse_sequence);
12887
12888         return offset;
12889 }
12890
12891
12892
12893
12894 static per_sequence_t ConferenceResponse_conferenceIDResponse_sequence[] = {
12895         { "terminalLabel", EXTENSION_ROOT, NOT_OPTIONAL,
12896                 dissect_h245_TerminalLabel },
12897         { "conferenceID", EXTENSION_ROOT, NOT_OPTIONAL,
12898                 dissect_h245_ConferenceID },
12899         { NULL, 0, 0, NULL }
12900 };
12901 static int
12902 dissect_h245_ConferenceResponse_conferenceIDResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12903 {
12904         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_conferenceIDResponse, ett_h245_ConferenceResponse_conferenceIDResponse, ConferenceResponse_conferenceIDResponse_sequence);
12905
12906         return offset;
12907 }
12908
12909
12910
12911
12912 static per_sequence_t ConferenceResponse_passwordResponse_sequence[] = {
12913         { "terminalLabel", EXTENSION_ROOT, NOT_OPTIONAL,
12914                 dissect_h245_TerminalLabel },
12915         { "password", EXTENSION_ROOT, NOT_OPTIONAL,
12916                 dissect_h245_Password },
12917         { NULL, 0, 0, NULL }
12918 };
12919 static int
12920 dissect_h245_ConferenceResponse_passwordResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12921 {
12922         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_passwordResponse, ett_h245_ConferenceResponse_passwordResponse, ConferenceResponse_passwordResponse_sequence);
12923
12924         return offset;
12925 }
12926
12927
12928
12929
12930
12931 static per_sequence_t ConferenceResponse_extensionAddressResponse_sequence[] = {
12932         { "extensionAddress", EXTENSION_ROOT, NOT_OPTIONAL,
12933                 dissect_h245_TerminalID },
12934         { NULL, 0, 0, NULL }
12935 };
12936 static int
12937 dissect_h245_ConferenceResponse_extensionAddressResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12938 {
12939         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_extensionAddressResponse, ett_h245_ConferenceResponse_extensionAddressResponse, ConferenceResponse_extensionAddressResponse_sequence);
12940
12941         return offset;
12942 }
12943
12944
12945
12946
12947 static per_sequence_t ConferenceResponse_chairTokenOwnerResponse_sequence[] = {
12948         { "terminalLabel", EXTENSION_ROOT, NOT_OPTIONAL,
12949                 dissect_h245_TerminalLabel },
12950         { "terminalID", EXTENSION_ROOT, NOT_OPTIONAL,
12951                 dissect_h245_TerminalID },
12952         { NULL, 0, 0, NULL }
12953 };
12954 static int
12955 dissect_h245_ConferenceResponse_chairTokenOwnerResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12956 {
12957         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_chairTokenOwnerResponse, ett_h245_ConferenceResponse_chairTokenOwnerResponse, ConferenceResponse_chairTokenOwnerResponse_sequence);
12958
12959         return offset;
12960 }
12961
12962
12963
12964
12965 static per_sequence_t ConferenceResponse_terminalCertificateResponse_sequence[] = {
12966         { "terminalLabel", EXTENSION_ROOT, NOT_OPTIONAL,
12967                 dissect_h245_TerminalLabel },
12968         { "certificateResponse", EXTENSION_ROOT, OPTIONAL,
12969                 dissect_h245_certificateResponse },
12970         { NULL, 0, 0, NULL }
12971 };
12972 static int
12973 dissect_h245_ConferenceResponse_terminalCertificateResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12974 {
12975         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_terminalCertificateResponse, ett_h245_ConferenceResponse_terminalCertificateResponse, ConferenceResponse_terminalCertificateResponse_sequence);
12976
12977         return offset;
12978 }
12979
12980
12981
12982
12983 static per_sequence_t TerminalInformation_sequence[] = {
12984         { "terminalLabel", EXTENSION_ROOT, NOT_OPTIONAL,
12985                 dissect_h245_TerminalLabel },
12986         { "terminalID", EXTENSION_ROOT, NOT_OPTIONAL,
12987                 dissect_h245_TerminalID },
12988         { NULL, 0, 0, NULL }
12989 };
12990 static int
12991 dissect_h245_TerminalInformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
12992 {
12993         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalInformation, ett_h245_TerminalInformation, TerminalInformation_sequence);
12994
12995         return offset;
12996 }
12997
12998
12999
13000 static per_sequence_t SubstituteConferenceIDCommand_sequence[] = {
13001         { "conferenceIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
13002                 dissect_h245_conferenceIdentifier },
13003         { NULL, 0, 0, NULL }
13004 };
13005 static int
13006 dissect_h245_SubstituteConferenceIDCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13007 {
13008         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_SubstituteConferenceIDCommand, ett_h245_SubstituteConferenceIDCommand, SubstituteConferenceIDCommand_sequence);
13009
13010         return offset;
13011 }
13012
13013
13014
13015
13016 static const value_string ConferenceCommand_vals[] = {
13017         {  0, "broadcastMyLogicalChannel" },
13018         {  1, "cancelBroadcastMyLogicalChannel" },
13019         {  2, "makeTerminalBroadcaster" },
13020         {  3, "cancelMakeTerminalBroadcaster" },
13021         {  4, "sendThisSource" },
13022         {  5, "cancelSendThisSource" },
13023         {  6, "dropConference" },
13024         {  7, "substituteConferenceIDCommand" },
13025         {  0, NULL }
13026 };
13027 static per_choice_t ConferenceCommand_choice[] = {
13028         {  0, "broadcastMyLogicalChannel", EXTENSION_ROOT, 
13029                 dissect_h245_LogicalChannelNumber },
13030         {  1, "cancelBroadcastMyLogicalChannel", EXTENSION_ROOT, 
13031                 dissect_h245_LogicalChannelNumber },
13032         {  2, "makeTerminalBroadcaster", EXTENSION_ROOT,
13033                 dissect_h245_TerminalLabel },
13034         {  3, "cancelMakeTerminalBroadcaster", EXTENSION_ROOT, 
13035                 dissect_h245_NULL },
13036         {  4, "sendThisSource", EXTENSION_ROOT,
13037                 dissect_h245_TerminalLabel },
13038         {  5, "cancelSendThisSource", EXTENSION_ROOT, 
13039                 dissect_h245_NULL },
13040         {  6, "dropConference", EXTENSION_ROOT, 
13041                 dissect_h245_NULL },
13042         {  7, "substituteConferenceIDCommand", NOT_EXTENSION_ROOT,
13043                 dissect_h245_SubstituteConferenceIDCommand },
13044         {  0, NULL, 0, NULL }
13045 };
13046 static int
13047 dissect_h245_ConferenceCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13048 {
13049         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceCommand, ett_h245_ConferenceCommand, ConferenceCommand_choice, "ConferenceCommand", NULL);
13050
13051         return offset;
13052 }
13053
13054
13055
13056
13057 static per_sequence_t FunctionNotSupported_sequence[] = {
13058         { "cause", EXTENSION_ROOT, NOT_OPTIONAL, 
13059                 dissect_h245_FunctionNotSupported_cause },
13060         { "returnedFunction", EXTENSION_ROOT, OPTIONAL,
13061                 dissect_h245_returnedFunction },
13062         { NULL, 0, 0, NULL }
13063 };
13064 static int
13065 dissect_h245_FunctionNotSupported(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13066 {
13067         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FunctionNotSupported, ett_h245_FunctionNotSupported, FunctionNotSupported_sequence);
13068
13069         return offset;
13070 }
13071
13072
13073
13074
13075
13076 static per_sequence_t NonStandardParameter_sequence[] = {
13077         { "nonStandardIdentifier", NO_EXTENSIONS, NOT_OPTIONAL,
13078                 dissect_h245_NonStandardIdentifier },
13079         { "data", NO_EXTENSIONS, NOT_OPTIONAL,
13080                 dissect_h245_NonStandardParameterData },
13081         { NULL, 0, 0, NULL }
13082 };
13083 int
13084 dissect_h245_NonStandardParameter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13085 {
13086         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NonStandardParameter, ett_h245_NonStandardParameter, NonStandardParameter_sequence);
13087
13088         return offset;
13089 }
13090
13091
13092
13093
13094
13095 static const value_string DataProtocolCapability_vals[] = {
13096         {  0, "nonStandard" },
13097         {  1, "v14buffered" },
13098         {  2, "v42lapm" },
13099         {  3, "hdlcFrameTunnelling" },
13100         {  4, "h310SeparateVCStack" },
13101         {  5, "h310SingleVCStack" },
13102         {  6, "transparent" },
13103         {  7, "segmentationAndReassembly" },
13104         {  8, "hdlcFrameTunnelingwSAR" },
13105         {  9, "v120" },
13106         { 10, "separateLANStack" },
13107         { 11, "v76wCompression" },
13108         { 12, "tcp" },
13109         { 13, "udp" },
13110         {  0, NULL }
13111 };
13112 static per_choice_t DataProtocolCapability_choice[] = {
13113         {  0, "nonStandard", EXTENSION_ROOT,
13114                         dissect_h245_NonStandardParameter },
13115         {  1, "v14buffered", EXTENSION_ROOT, 
13116                         dissect_h245_NULL },
13117         {  2, "v42lapm", EXTENSION_ROOT, 
13118                         dissect_h245_NULL },
13119         {  3, "hdlcFrameTunnelling", EXTENSION_ROOT, 
13120                         dissect_h245_NULL },
13121         {  4, "h310SeparateVCStack", EXTENSION_ROOT, 
13122                         dissect_h245_NULL },
13123         {  5, "h310SingleVCStack", EXTENSION_ROOT, 
13124                         dissect_h245_NULL },
13125         {  6, "transparent", EXTENSION_ROOT, 
13126                         dissect_h245_NULL },
13127         {  7, "segmentationAndReassembly", NOT_EXTENSION_ROOT, 
13128                         dissect_h245_NULL },
13129         {  8, "hdlcFrameTunnelingwSAR", NOT_EXTENSION_ROOT, 
13130                         dissect_h245_NULL },
13131         {  9, "v120", NOT_EXTENSION_ROOT, 
13132                         dissect_h245_NULL },
13133         { 10, "separateLANStack", NOT_EXTENSION_ROOT, 
13134                         dissect_h245_NULL },
13135         { 11, "v76wCompression", NOT_EXTENSION_ROOT,
13136                         dissect_h245_DataProtocolCapability_v76wCompression },
13137         { 12, "tcp", NOT_EXTENSION_ROOT, 
13138                         dissect_h245_NULL },
13139         { 13, "udp", NOT_EXTENSION_ROOT, 
13140                         dissect_h245_NULL },
13141         {  0, NULL, 0, NULL }
13142 };
13143 int
13144 dissect_h245_DataProtocolCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13145 {
13146         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DataProtocolCapability, ett_h245_DataProtocolCapability, DataProtocolCapability_choice, "DataProtocolCapability", NULL);
13147
13148         return offset;
13149 }
13150
13151
13152
13153
13154 static const value_string MediaEncryptionAlgorithm_vals[] = {
13155         {  0, "nonStandard" },
13156         {  1, "algorithm" },
13157         {  0, NULL }
13158 };
13159 static per_choice_t MediaEncryptionAlgorithm_choice[] = {
13160         {  0, "nonStandard", EXTENSION_ROOT,
13161                 dissect_h245_NonStandardParameter },
13162         {  1, "algorithm", EXTENSION_ROOT,
13163                 dissect_h245_algorithm },
13164         {  0, NULL, 0, NULL }
13165 };
13166 static int
13167 dissect_h245_MediaEncryptionAlgorithm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13168 {
13169         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MediaEncryptionAlgorithm, ett_h245_MediaEncryptionAlgorithm, MediaEncryptionAlgorithm_choice, "MediaEncryptionAlgorithm", NULL);
13170
13171         return offset;
13172 }
13173
13174
13175
13176
13177 static const value_string UserInputCapability_vals[] = {
13178         {  0, "nonStandard" },
13179         {  1, "basicString" },
13180         {  2, "iA5String" },
13181         {  3, "generalString" },
13182         {  4, "dtmf" },
13183         {  5, "hookflash" },
13184         {  6, "extendedAlphanumeric" },
13185         {  0, NULL }
13186 };
13187 static per_choice_t UserInputCapability_choice[] = {
13188         {  0, "nonStandard", EXTENSION_ROOT,
13189                         dissect_h245_NonStandardParameter },
13190         {  1, "basicString", EXTENSION_ROOT, 
13191                         dissect_h245_NULL },
13192         {  2, "iA5String", EXTENSION_ROOT, 
13193                         dissect_h245_NULL },
13194         {  3, "generalString", EXTENSION_ROOT, 
13195                         dissect_h245_NULL },
13196         {  4, "dtmf", EXTENSION_ROOT, 
13197                         dissect_h245_NULL },
13198         {  5, "hookflash", EXTENSION_ROOT, 
13199                         dissect_h245_NULL },
13200         {  6, "extendedAlphanumeric", NOT_EXTENSION_ROOT, 
13201                         dissect_h245_NULL },
13202         {  0, NULL, 0, NULL }
13203 };
13204 static int
13205 dissect_h245_UserInputCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13206 {
13207         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_UserInputCapability, ett_h245_UserInputCapability, UserInputCapability_choice, "UserInputCapability", NULL);
13208
13209         return offset;
13210 }
13211
13212
13213
13214 static int
13215 dissect_h245_domainBased(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13216 {
13217         offset=dissect_per_IA5String(tvb, offset, pinfo, tree, hf_h245_domainBased, 1, 64);
13218
13219         return offset;
13220 }
13221
13222
13223
13224
13225 static const value_string CapabilityIdentifier_vals[] = {
13226         {  0, "standard" },
13227         {  1, "h221NonStandard" },
13228         {  2, "uuid" },
13229         {  3, "domainBased" },
13230         {  0, NULL }
13231 };
13232 static per_choice_t CapabilityIdentifier_choice[] = {
13233         {  0, "standard", EXTENSION_ROOT,
13234                 dissect_h245_standard_object },
13235         {  1, "h221NonStandard", EXTENSION_ROOT,
13236                 dissect_h245_NonStandardParameter },
13237         {  2, "uuid", EXTENSION_ROOT,
13238                 dissect_h245_uuid },
13239         {  3, "domainBased", EXTENSION_ROOT,
13240                 dissect_h245_domainBased },
13241         {  0, NULL, 0, NULL }
13242 };
13243 static int
13244 dissect_h245_CapabilityIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13245 {
13246         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CapabilityIdentifier, ett_h245_CapabilityIdentifier, CapabilityIdentifier_choice, "CapabilityIdentifier", NULL);
13247
13248         return offset;
13249 }
13250
13251
13252
13253
13254 static const value_string ParameterIdentifier_vals[] = {
13255         {  0, "standard" },
13256         {  1, "h221NonStandard" },
13257         {  2, "uuid" },
13258         {  3, "domainBased" },
13259         {  0, NULL }
13260 };
13261 static per_choice_t ParameterIdentifier_choice[] = {
13262         {  0, "standard", EXTENSION_ROOT,
13263                 dissect_h245_standard_0_127 },
13264         {  1, "h221NonStandard", EXTENSION_ROOT,
13265                 dissect_h245_NonStandardParameter },
13266         {  2, "uuid", EXTENSION_ROOT,
13267                 dissect_h245_uuid },
13268         {  3, "domainBased", EXTENSION_ROOT,
13269                 dissect_h245_domainBased },
13270         {  0, NULL, 0, NULL }
13271 };
13272 static int
13273 dissect_h245_ParameterIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13274 {
13275         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ParameterIdentifier, ett_h245_ParameterIdentifier, ParameterIdentifier_choice, "ParameterIdentifier", NULL);
13276
13277         return offset;
13278 }
13279
13280
13281 static const value_string H223LogicalChannelParameters_adaptationLayerType_vals[] = {
13282         {  0, "nonStandard" },
13283         {  1, "al1Framed" },
13284         {  2, "al1NotFramed" },
13285         {  3, "al2WithoutSequenceNumbers" },
13286         {  4, "al2WithSequenceNumbers" },
13287         {  5, "al3" },
13288         {  6, "al1M" },
13289         {  7, "al2M" },
13290         {  8, "al3M" },
13291         {  0, NULL }
13292 };
13293 static per_choice_t H223LogicalChannelParameters_adaptationLayerType_choice[] = {
13294         {  0, "nonStandard", EXTENSION_ROOT,
13295                         dissect_h245_NonStandardParameter },
13296         {  1, "al1Framed", EXTENSION_ROOT, 
13297                         dissect_h245_NULL },
13298         {  2, "al1NotFramed", EXTENSION_ROOT, 
13299                         dissect_h245_NULL },
13300         {  3, "al2WithoutSequenceNumbers", EXTENSION_ROOT, 
13301                         dissect_h245_NULL },
13302         {  4, "al2WithSequenceNumbers", EXTENSION_ROOT, 
13303                         dissect_h245_NULL },
13304         {  5, "al3", EXTENSION_ROOT,
13305                         dissect_h245_H223LogicalChannelParameters_adaptionLayerType_al3 },
13306         {  6, "al1M", NOT_EXTENSION_ROOT,
13307                 dissect_h245_H223AL1MParameters },
13308         {  7, "al2M", NOT_EXTENSION_ROOT, 
13309                 dissect_h245_H223AL2MParameters },
13310         {  8, "al3M", NOT_EXTENSION_ROOT,
13311                 dissect_h245_H223AL3MParameters },
13312         {  0, NULL, 0, NULL }
13313 };
13314 static int
13315 dissect_h245_H223LogicalChannelParameters_adaptationLayerType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13316 {
13317         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223LogicalChannelParameters_adaptationLayerType, ett_h245_H223LogicalChannelParameters_adaptationLayerType, H223LogicalChannelParameters_adaptationLayerType_choice, "adaptationLayerType", NULL);
13318
13319         return offset;
13320 }
13321
13322
13323
13324
13325
13326 static const value_string MulticastAddress_vals[] = {
13327         {  0, "iPAddress" },
13328         {  1, "iP6Address" },
13329         {  2, "nsap" },
13330         {  3, "nonStandardAddress" },
13331         {  0, NULL }
13332 };
13333 static per_choice_t MulticastAddress_choice[] = {
13334         {  0, "iPAddress", EXTENSION_ROOT,
13335                 dissect_h245_MulticastAddress_iPAddress },
13336         {  1, "iP6Address", EXTENSION_ROOT,
13337                 dissect_h245_MulticastAddress_iP6Address },
13338         {  2, "nsap", NOT_EXTENSION_ROOT,
13339                 dissect_h245_nsap },
13340         {  3, "nonStandardAddress", NOT_EXTENSION_ROOT,
13341                 dissect_h245_NonStandardParameter },
13342         {  0, NULL, 0, NULL }
13343 };
13344 static int
13345 dissect_h245_MulticastAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13346 {
13347         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MulticastAddress, ett_h245_MulticastAddress, MulticastAddress_choice, "MulticastAddress", NULL);
13348
13349         return offset;
13350 }
13351
13352
13353
13354
13355 static const value_string H223ModeParameters_adaptationLayerType_vals[] = {
13356         {  0, "nonStandard" },
13357         {  1, "al1Framed" },
13358         {  2, "al1NotFramed" },
13359         {  3, "al2WithoutSequenceNumbers" },
13360         {  4, "al2WithSequenceNumbers" },
13361         {  5, "al3" },
13362         {  6, "al1M" },
13363         {  7, "al2M" },
13364         {  8, "al3M" },
13365         {  0, NULL }
13366 };
13367 static per_choice_t H223ModeParameters_adaptationLayerType_choice[] = {
13368         {  0, "nonStandard", EXTENSION_ROOT,
13369                         dissect_h245_NonStandardParameter },
13370         {  1, "al1Framed", EXTENSION_ROOT, 
13371                         dissect_h245_NULL },
13372         {  2, "al1NotFramed", EXTENSION_ROOT, 
13373                         dissect_h245_NULL },
13374         {  3, "al2WithoutSequenceNumbers", EXTENSION_ROOT, 
13375                         dissect_h245_NULL },
13376         {  4, "al2WithSequenceNumbers", EXTENSION_ROOT, 
13377                         dissect_h245_NULL },
13378         {  5, "al3", EXTENSION_ROOT,
13379                         dissect_h245_H223ModeParameters_adaptationLayerType_al3 },
13380         {  6, "al1M", NOT_EXTENSION_ROOT,
13381                         dissect_h245_H223AL1MParameters },
13382         {  7, "al2M", NOT_EXTENSION_ROOT, 
13383                         dissect_h245_H223AL2MParameters },
13384         {  8, "al3M", NOT_EXTENSION_ROOT,
13385                         dissect_h245_H223AL3MParameters },
13386         {  0, NULL, 0, NULL }
13387 };
13388 static int
13389 dissect_h245_H223ModeParameters_adaptationLayerType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13390 {
13391         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H223ModeParameters_adaptationLayerType, ett_h245_H223ModeParameters_adaptationLayerType, H223ModeParameters_adaptationLayerType_choice, "Type", NULL);
13392
13393         return offset;
13394 }
13395
13396
13397
13398
13399 static const value_string EncryptionMode_vals[] = {
13400         {  0, "nonStandard" },
13401         {  1, "h233Encryption" },
13402         {  0, NULL }
13403 };
13404 static per_choice_t EncryptionMode_choice[] = {
13405         {  0, "nonStandard", EXTENSION_ROOT,
13406                 dissect_h245_NonStandardParameter },
13407         {  1, "h233Encryption", EXTENSION_ROOT, 
13408                 dissect_h245_NULL },
13409         {  0, NULL, 0, NULL }
13410 };
13411 static int
13412 dissect_h245_EncryptionMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13413 {
13414         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_EncryptionMode, ett_h245_EncryptionMode, EncryptionMode_choice, "EncryptionMode", NULL);
13415
13416         return offset;
13417 }
13418
13419
13420
13421
13422 static per_sequence_t NonStandardMessage_sequence[] = {
13423         { "nonStandardData", EXTENSION_ROOT, NOT_OPTIONAL,
13424                 dissect_h245_NonStandardParameter },
13425         { NULL, 0, 0, NULL }
13426 };
13427 static int
13428 dissect_h245_NonStandardMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13429 {
13430         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NonStandardMessage, ett_h245_NonStandardMessage, NonStandardMessage_sequence);
13431
13432         return offset;
13433 }
13434
13435
13436
13437
13438
13439 static const value_string MultilinkIndication_vals[] = {
13440         {  0, "nonStandard" },
13441         {  1, "crcDesired" },
13442         {  2, "excessiveError" },
13443         {  0, NULL }
13444 };
13445 static per_choice_t MultilinkIndication_choice[] = {
13446         {  0, "nonStandard", EXTENSION_ROOT,
13447                 dissect_h245_NonStandardMessage },
13448         {  1, "crcDesired", EXTENSION_ROOT,
13449                 dissect_h245_MultilinkIndication_crcDesired },
13450         {  2, "excessiveError", EXTENSION_ROOT,
13451                 dissect_h245_MultilinkIndication_excessiveError },
13452         {  0, NULL, 0, NULL }
13453 };
13454 static int
13455 dissect_h245_MultilinkIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13456 {
13457         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultilinkIndication, ett_h245_MultilinkIndication, MultilinkIndication_choice, "MultilinkIndication", NULL);
13458
13459         return offset;
13460 }
13461
13462
13463
13464
13465 static const value_string DialingInformationNetworkType_vals[] = {
13466         {  0, "nonStandard" },
13467         {  1, "n-isdn" },
13468         {  2, "gstn" },
13469         {  3, "mobile" },
13470         {  0, NULL }
13471 };
13472 static per_choice_t DialingInformationNetworkType_choice[] = {
13473         {  0, "nonStandard", EXTENSION_ROOT,
13474                 dissect_h245_NonStandardMessage },
13475         {  1, "n-isdn", EXTENSION_ROOT, 
13476                 dissect_h245_NULL },
13477         {  2, "gstn", EXTENSION_ROOT, 
13478                 dissect_h245_NULL },
13479         {  3, "mobile", NOT_EXTENSION_ROOT, 
13480                 dissect_h245_NULL },
13481         {  0, NULL, 0, NULL }
13482 };
13483 static int
13484 dissect_h245_DialingInformationNetworkType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13485 {
13486         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DialingInformationNetworkType, ett_h245_DialingInformationNetworkType, DialingInformationNetworkType_choice, "DialingInformationNetworkType", NULL);
13487
13488         return offset;
13489 }
13490
13491
13492
13493
13494 static per_sequence_t QOSCapability_sequence[] = {
13495         { "nonStandardData", EXTENSION_ROOT, OPTIONAL,
13496                 dissect_h245_NonStandardParameter },
13497         { "rsvpParameters", EXTENSION_ROOT, OPTIONAL,
13498                 dissect_h245_RSVPParameters },
13499         { "atmParameters", EXTENSION_ROOT, OPTIONAL,
13500                 dissect_h245_ATMParameters },
13501         { NULL, 0, 0, NULL }
13502 };
13503 static int
13504 dissect_h245_QOSCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13505 {
13506         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_QOSCapability, ett_h245_QOSCapability, QOSCapability_sequence);
13507
13508         return offset;
13509 }
13510
13511
13512
13513
13514 static per_sequence_t DataApplicationCapability_application_t84_sequence[] = {
13515         { "t84Protocol", NO_EXTENSIONS, NOT_OPTIONAL,
13516                 dissect_h245_DataProtocolCapability },
13517         { "t84Profile", NO_EXTENSIONS, NOT_OPTIONAL, 
13518                 dissect_h245_T84Profile },
13519         { NULL, 0, 0, NULL }
13520 };
13521 static int
13522 dissect_h245_DataApplicationCapability_application_t84(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13523 {
13524         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataApplicationCapability_application_t84, ett_h245_DataApplicationCapability_application_t84, DataApplicationCapability_application_t84_sequence);
13525
13526         return offset;
13527 }
13528
13529
13530
13531
13532
13533 static per_sequence_t DataApplicationCapability_application_nlpid_sequence[] = {
13534         { "nlpidProtocol", NO_EXTENSIONS, NOT_OPTIONAL,
13535                 dissect_h245_DataProtocolCapability },
13536         { "nlpidData", NO_EXTENSIONS, NOT_OPTIONAL,
13537                 dissect_h245_nlpidData },
13538         { NULL, 0, 0, NULL }
13539 };
13540 static int
13541 dissect_h245_DataApplicationCapability_application_nlpid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13542 {
13543         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataApplicationCapability_application_nlpid, ett_h245_DataApplicationCapability_application_nlpid, DataApplicationCapability_application_nlpid_sequence);
13544
13545         return offset;
13546 }
13547
13548
13549
13550
13551 static per_sequence_t DataApplicationCapability_application_t38fax_sequence[] = {
13552         { "t38FaxProtocol", NO_EXTENSIONS, NOT_OPTIONAL,
13553                 dissect_h245_DataProtocolCapability },
13554         { "t38FaxProfile", NO_EXTENSIONS, NOT_OPTIONAL,
13555                 dissect_h245_T38FaxProfile },
13556         { NULL, 0, 0, NULL }
13557 };
13558 static int
13559 dissect_h245_DataApplicationCapability_application_t38fax(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13560 {
13561         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataApplicationCapability_application_t38fax, ett_h245_DataApplicationCapability_application_t38fax, DataApplicationCapability_application_t38fax_sequence);
13562
13563         return offset;
13564 }
13565
13566
13567
13568
13569 static per_sequence_t AuthenticationCapability_sequence[] = {
13570         { "nonStandard", EXTENSION_ROOT, OPTIONAL,
13571                 dissect_h245_NonStandardParameter },
13572         { "antiSpamAlgorithm", NOT_EXTENSION_ROOT, OPTIONAL,
13573                 dissect_h245_antiSpamAlgorithm },
13574         { NULL, 0, 0, NULL }
13575 };
13576 static int
13577 dissect_h245_AuthenticationCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13578 {
13579         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_AuthenticationCapability, ett_h245_AuthenticationCapability, AuthenticationCapability_sequence);
13580
13581         return offset;
13582 }
13583
13584
13585
13586 static per_sequence_t IntegrityCapability_sequence[] = {
13587         { "nonStandard", EXTENSION_ROOT, OPTIONAL,
13588                 dissect_h245_NonStandardParameter },
13589         { NULL, 0, 0, NULL }
13590 };
13591 static int
13592 dissect_h245_IntegrityCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13593 {
13594         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_IntegrityCapability, ett_h245_IntegrityCapability, IntegrityCapability_sequence);
13595
13596         return offset;
13597 }
13598
13599
13600
13601
13602 static per_sequence_t H223LogicalChannelParameters_sequence[] = {
13603         { "adaptationLayerType", EXTENSION_ROOT, NOT_OPTIONAL,
13604                 dissect_h245_H223LogicalChannelParameters_adaptationLayerType },
13605         { "segmentableFlag", EXTENSION_ROOT, NOT_OPTIONAL, 
13606                 dissect_h245_segmentableFlag },
13607         { NULL, 0, 0, NULL }
13608 };
13609 static int
13610 dissect_h245_H223LogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13611 {
13612         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223LogicalChannelParameters, ett_h245_H223LogicalChannelParameters, H223LogicalChannelParameters_sequence);
13613
13614         return offset;
13615 }
13616
13617
13618
13619
13620 static per_sequence_t RequestChannelClose_sequence[] = {
13621         { "forwardLogicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
13622                 dissect_h245_LogicalChannelNumber },
13623         { "qosCapability", NOT_EXTENSION_ROOT, OPTIONAL,
13624                 dissect_h245_QOSCapability },
13625         { "reason", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
13626                 dissect_h245_RequestChannelClose_reason },
13627         { NULL, 0, 0, NULL }
13628 };
13629 static int
13630 dissect_h245_RequestChannelClose(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13631 {
13632         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestChannelClose, ett_h245_RequestChannelClose, RequestChannelClose_sequence);
13633
13634         return offset;
13635 }
13636
13637
13638
13639
13640 static per_sequence_t DataMode_application_nlpid_sequence[] = {
13641         { "nlpidProtocol", NO_EXTENSIONS, NOT_OPTIONAL,
13642                 dissect_h245_DataProtocolCapability },
13643         { "nlpidData", NO_EXTENSIONS, NOT_OPTIONAL,
13644                 dissect_h245_nlpidData },
13645         { NULL, 0, 0, NULL }
13646 };
13647 static int
13648 dissect_h245_DataMode_application_nlpid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13649 {
13650         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataMode_application_nlpid, ett_h245_DataMode_application_nlpid, DataMode_application_nlpid_sequence);
13651
13652         return offset;
13653 }
13654
13655
13656
13657
13658
13659 static per_sequence_t DataMode_application_t38fax_sequence[] = {
13660         { "t38FaxProtocol", NO_EXTENSIONS, NOT_OPTIONAL,
13661                 dissect_h245_DataProtocolCapability },
13662         { "t38FaxProfile", NO_EXTENSIONS, NOT_OPTIONAL,
13663                 dissect_h245_T38FaxProfile },
13664         { NULL, 0, 0, NULL }
13665 };
13666 static int
13667 dissect_h245_DataMode_application_t38fax(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13668 {
13669         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataMode_application_t38fax, ett_h245_DataMode_application_t38fax, DataMode_application_t38fax_sequence);
13670
13671         return offset;
13672 }
13673
13674
13675
13676
13677 static per_sequence_t EncryptionCommand_encryptionAlgorithmID_sequence[] = {
13678         { "h233AlgorithmIdentifier", NO_EXTENSIONS, NOT_OPTIONAL, 
13679                 dissect_h245_SequenceNumber },
13680         { "associatedAlgorithm", NO_EXTENSIONS, NOT_OPTIONAL,
13681                 dissect_h245_NonStandardParameter },
13682         { NULL, 0, 0, NULL }
13683 };
13684 static int
13685 dissect_h245_EncryptionCommand_encryptionAlgorithmID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13686 {
13687         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EncryptionCommand_encryptionAlgorithmID, ett_h245_EncryptionCommand_encryptionAlgorithmID, EncryptionCommand_encryptionAlgorithmID_sequence);
13688
13689         return offset;
13690 }
13691
13692
13693
13694
13695
13696 static const value_string EncryptionCommand_vals[] = {
13697         {  0, "encryptionSE" },
13698         {  1, "encryptionIVRequest" },
13699         {  2, "encryptionAlgorithmID" },
13700         {  0, NULL }
13701 };
13702 static per_choice_t EncryptionCommand_choice[] = {
13703         {  0, "encryptionSE", EXTENSION_ROOT, 
13704                 dissect_h245_encryptionSE },
13705         {  1, "encryptionIVRequest", EXTENSION_ROOT, 
13706                 dissect_h245_NULL },
13707         {  2, "encryptionAlgorithmID", EXTENSION_ROOT,
13708                 dissect_h245_EncryptionCommand_encryptionAlgorithmID },
13709         {  0, NULL, 0, NULL }
13710 };
13711 static int
13712 dissect_h245_EncryptionCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13713 {
13714         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_EncryptionCommand, ett_h245_EncryptionCommand, EncryptionCommand_choice, "EncryptionCommand", NULL);
13715
13716         return offset;
13717 }
13718
13719
13720
13721
13722 static const value_string EndSessionCommand_vals[] = {
13723         {  0,   "nonStandard" },
13724         {  1,   "disconnect" },
13725         {  2,   "gstnOptions" },
13726         {  3,   "isdnOptions" },
13727         {  0, NULL }
13728 };
13729 static per_choice_t EndSessionCommand_choice[] = {
13730         {  0,   "nonStandard",                  EXTENSION_ROOT,
13731                 dissect_h245_NonStandardParameter },
13732         {  1,   "disconnect",                   EXTENSION_ROOT, 
13733                 dissect_h245_NULL },
13734         {  2,   "gstnOptions",                  EXTENSION_ROOT, 
13735                 dissect_h245_EndSessionCommand_gstnOptions },
13736         {  3,   "isdnOptions",                  NOT_EXTENSION_ROOT, 
13737                 dissect_h245_EndSessionCommand_isdnOptions },
13738         {  0, NULL, 0, NULL }
13739 };
13740 static int
13741 dissect_h245_EndSessionCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13742 {
13743         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_EndSessionCommand_type, ett_h245_EndSessionCommand, EndSessionCommand_choice, "EndSessionCommand", NULL);
13744
13745         return offset;
13746 }
13747
13748
13749
13750
13751
13752
13753 static int
13754 dissect_h245_AudioCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
13755 static per_sequence_t VBDCapability_sequence[] = {
13756         { "type", EXTENSION_ROOT, NOT_OPTIONAL,
13757                 dissect_h245_AudioCapability },
13758         { NULL, 0, 0, NULL }
13759 };
13760 static int
13761 dissect_h245_VBDCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13762 {
13763         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VBDCapability, ett_h245_VBDCapability, VBDCapability_sequence);
13764
13765         return offset;
13766 }
13767
13768
13769
13770
13771
13772
13773
13774
13775 static int
13776 dissect_h245_nonStandardData_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13777 {
13778         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_nonStandardData, ett_h245_nonStandardData, dissect_h245_NonStandardParameter);
13779         return offset;
13780 }
13781
13782
13783
13784
13785
13786 static int
13787 dissect_h245_supersedes_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13788 {
13789         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_supersedes, ett_h245_supersedes, dissect_h245_ParameterIdentifier );
13790         return offset;
13791 }
13792
13793
13794
13795
13796 static const value_string ParameterValue_vals[] = {
13797         {  0, "logical" },
13798         {  1, "booleanArray" },
13799         {  2, "unsignedMin" },
13800         {  3, "unsignedMax" },
13801         {  4, "unsigned32Min" },
13802         {  5, "unsigned32Max" },
13803         {  6, "octetString" },
13804         {  7, "genericParameter" },
13805         {  0, NULL }
13806 };
13807 static int dissect_h245_genericParameter_sequence_of(tvbuff_t *, int, packet_info *, proto_tree *);
13808 static per_choice_t ParameterValue_choice[] = {
13809         {  0, "logical", EXTENSION_ROOT, 
13810                         dissect_h245_NULL },
13811         {  1, "booleanArray", EXTENSION_ROOT,
13812                         dissect_h245_booleanArray },
13813         {  2, "unsignedMin", EXTENSION_ROOT,
13814                         dissect_h245_unsignedMin },
13815         {  3, "unsignedMax", EXTENSION_ROOT,
13816                         dissect_h245_unsignedMax },
13817         {  4, "unsigned32Min", EXTENSION_ROOT,
13818                         dissect_h245_unsigned32Min },
13819         {  5, "unsigned32Max", EXTENSION_ROOT, 
13820                         dissect_h245_unsigned32Max },
13821         {  6, "octetString", EXTENSION_ROOT,
13822                         dissect_h245_octetString },
13823         {  7, "genericParameter", EXTENSION_ROOT,
13824                         dissect_h245_genericParameter_sequence_of },
13825         {  0, NULL, 0, NULL }
13826 };
13827 static int
13828 dissect_h245_ParameterValue(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13829 {
13830         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ParameterValue, ett_h245_ParameterValue, ParameterValue_choice, "ParameterValue", NULL);
13831
13832         return offset;
13833 }
13834
13835
13836
13837 static per_sequence_t GenericParameter_sequence[] = {
13838         { "parameterIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
13839                 dissect_h245_ParameterIdentifier },
13840         { "parameterValue", EXTENSION_ROOT, NOT_OPTIONAL,
13841                 dissect_h245_ParameterValue },
13842         { "supersedes", EXTENSION_ROOT, OPTIONAL,
13843                 dissect_h245_supersedes_sequence_of },
13844         { NULL, 0, 0, NULL }
13845 };
13846 static int
13847 dissect_h245_GenericParameter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13848 {
13849         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_GenericParameter, ett_h245_GenericParameter, GenericParameter_sequence);
13850
13851         return offset;
13852 }
13853
13854
13855
13856
13857
13858 static int
13859 dissect_h245_genericParameter_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13860 {
13861         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_genericParameter, ett_h245_genericParameter, dissect_h245_GenericParameter );
13862         return offset;
13863 }
13864
13865
13866
13867 static int
13868 dissect_h245_collapsing_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13869 {
13870         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_collapsing, ett_h245_collapsing, dissect_h245_GenericParameter );
13871         return offset;
13872 }
13873
13874
13875 static int
13876 dissect_h245_nonCollapsing_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13877 {
13878         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_nonCollapsing, ett_h245_nonCollapsing, dissect_h245_GenericParameter );
13879         return offset;
13880 }
13881
13882
13883 static int
13884 dissect_h245_secondary_REE_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13885 {
13886 /* XXX */
13887 static int dissect_h245_RedundancyEncodingElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
13888
13889         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_secondary_REE, ett_h245_secondary_REE, dissect_h245_RedundancyEncodingElement );
13890         return offset;
13891 }
13892
13893
13894
13895
13896 static int
13897 dissect_h245_elements_MPSE_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13898 {
13899 /* XXX */
13900 static int dissect_h245_MultiplePayloadStreamElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
13901
13902         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_elements_MPSE, ett_h245_elements_MPSE, dissect_h245_MultiplePayloadStreamElement );
13903         return offset;
13904 }
13905
13906
13907
13908
13909 static int
13910 dissect_h245_secondary_REDTME_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13911 {
13912 /* XXX */
13913 static int dissect_h245_RedundancyEncodingDTModeElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
13914
13915         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_secondary_REDTME, ett_h245_secondary_REDTME, dissect_h245_RedundancyEncodingDTModeElement );
13916         return offset;
13917 }
13918
13919
13920
13921
13922 static int
13923 dissect_h245_elements_MPSEM_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13924 {
13925 /* XXX*/
13926 static int dissect_h245_MultiplePayloadStreamElementMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
13927
13928         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_elements_MPSEM, ett_h245_elements_MPSEM, dissect_h245_MultiplePayloadStreamElementMode );
13929         return offset;
13930 }
13931
13932
13933
13934
13935 static int
13936 dissect_h245_TerminalInformationSO_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13937 {
13938         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_TerminalInformationSO, ett_h245_TerminalInformationSO, dissect_h245_TerminalInformation );
13939         return offset;
13940 }
13941
13942
13943
13944
13945 static int
13946 dissect_h245_lostPicture_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13947 {
13948         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_lostPicture, ett_h245_lostPicture, dissect_h245_PictureReference );
13949         return offset;
13950 }
13951
13952
13953
13954
13955 static int
13956 dissect_h245_recoveryReferencePicture_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13957 {
13958         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_recoveryReferencePicture, ett_h245_recoveryReferencePicture, dissect_h245_PictureReference );
13959         return offset;
13960 }
13961
13962
13963
13964
13965
13966
13967
13968 static per_sequence_t ConferenceCapability_sequence[] = {
13969         { "nonStandardData", EXTENSION_ROOT, OPTIONAL,
13970                 dissect_h245_nonStandardData_sequence_of },
13971         { "chairControlCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
13972                 dissect_h245_chairControlCapability },
13973         { "videoIndicateMixingCapability", NOT_EXTENSION_ROOT, NOT_OPTIONAL,
13974                 dissect_h245_videoIndicateMixingCapability },
13975         { "multipointVisualizationCapability", NOT_EXTENSION_ROOT, OPTIONAL,
13976                 dissect_h245_multipointVisualizationCapability },
13977         { NULL, 0, 0, NULL }
13978 };
13979 static int
13980 dissect_h245_ConferenceCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
13981 {
13982         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceCapability, ett_h245_ConferenceCapability, ConferenceCapability_sequence);
13983
13984         return offset;
13985 }
13986
13987
13988
13989
13990 static per_sequence_t GenericCapability_sequence[] = {
13991         { "capabilityIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
13992                 dissect_h245_CapabilityIdentifier },
13993         { "maxBitRate", EXTENSION_ROOT, OPTIONAL,
13994                 dissect_h245_maxBitRate_4294967295UL },
13995         { "collapsing", EXTENSION_ROOT, OPTIONAL,
13996                 dissect_h245_collapsing_sequence_of },
13997         { "nonCollapsing", EXTENSION_ROOT, OPTIONAL,
13998                 dissect_h245_nonCollapsing_sequence_of },
13999         { "nonCollapsingRaw", EXTENSION_ROOT, OPTIONAL,
14000                 dissect_h245_nonCollapsingRaw },
14001         { "transport", EXTENSION_ROOT, OPTIONAL,
14002                 dissect_h245_DataProtocolCapability },
14003         { NULL, 0, 0, NULL }
14004 };
14005 static int
14006 dissect_h245_GenericCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14007 {
14008         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_GenericCapability, ett_h245_GenericCapability, GenericCapability_sequence);
14009
14010         return offset;
14011 }
14012
14013
14014
14015
14016
14017 static const value_string DataApplicationCapability_application_vals[] = {
14018         {  0, "nonStandard" },
14019         {  1, "t120" },
14020         {  2, "dsm-cc" },
14021         {  3, "userData" },
14022         {  4, "t84" },
14023         {  5, "t434" },
14024         {  6, "h224" },
14025         {  7, "nlpid" },
14026         {  8, "dsvdControl" },
14027         {  9, "h222DataPartitioning" },
14028         { 10, "t30fax" },
14029         { 11, "t140" },
14030         { 12, "t38fax" },
14031         { 13, "genericDataCapability" },
14032         {  0, NULL }
14033 };
14034 static per_choice_t DataApplicationCapability_application_choice[] = {
14035         {  0, "nonStandard", EXTENSION_ROOT,
14036                 dissect_h245_NonStandardParameter },
14037         {  1, "t120", EXTENSION_ROOT,
14038                 dissect_h245_DataProtocolCapability },
14039         {  2, "dsm-cc", EXTENSION_ROOT,
14040                 dissect_h245_DataProtocolCapability },
14041         {  3, "userData", EXTENSION_ROOT,
14042                 dissect_h245_DataProtocolCapability },
14043         {  4, "t84", EXTENSION_ROOT,
14044                 dissect_h245_DataApplicationCapability_application_t84 },
14045         {  5, "t434", EXTENSION_ROOT,
14046                 dissect_h245_DataProtocolCapability },
14047         {  6, "h224", EXTENSION_ROOT,
14048                 dissect_h245_DataProtocolCapability },
14049         {  7, "nlpid", EXTENSION_ROOT,
14050                 dissect_h245_DataApplicationCapability_application_nlpid },
14051         {  8, "dsvdControl", EXTENSION_ROOT, 
14052                 dissect_h245_NULL },
14053         {  9, "h222DataPartitioning", EXTENSION_ROOT,
14054                 dissect_h245_DataProtocolCapability },
14055         { 10, "t30fax", NOT_EXTENSION_ROOT,
14056                 dissect_h245_DataProtocolCapability },
14057         { 11, "t140", NOT_EXTENSION_ROOT,
14058                 dissect_h245_DataProtocolCapability },
14059         { 12, "t38fax", NOT_EXTENSION_ROOT,
14060                 dissect_h245_DataApplicationCapability_application_t38fax },
14061         { 13, "genericDataCapability", NOT_EXTENSION_ROOT,
14062                 dissect_h245_GenericCapability },
14063         {  0, NULL, 0, NULL }
14064 };
14065 static int
14066 dissect_h245_DataApplicationCapability_application(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14067 {
14068         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DataApplicationCapability_application, ett_h245_DataApplicationCapability_application, DataApplicationCapability_application_choice, "application", NULL);
14069
14070         return offset;
14071 }
14072
14073
14074
14075
14076 static const value_string DataMode_application_vals[] = {
14077         {  0, "nonStandard" },
14078         {  1, "t120" },
14079         {  2, "dsm-cc" },
14080         {  3, "userData" },
14081         {  4, "t84" },
14082         {  5, "t434" },
14083         {  6, "h224" },
14084         {  7, "nlpid" },
14085         {  8, "dsvdControl" },
14086         {  9, "h222DataPartitioning" },
14087         { 10, "t30fax" },
14088         { 11, "t140" },
14089         { 12, "t38fax" },
14090         { 13, "genericDataMode" },
14091         {  0, NULL }
14092 };
14093 static per_choice_t DataMode_application_choice[] = {
14094         {  0, "nonStandard", EXTENSION_ROOT,
14095                 dissect_h245_NonStandardParameter },
14096         {  1, "t120", EXTENSION_ROOT,
14097                 dissect_h245_DataProtocolCapability },
14098         {  2, "dsm-cc", EXTENSION_ROOT,
14099                 dissect_h245_DataProtocolCapability },
14100         {  3, "userData", EXTENSION_ROOT,
14101                 dissect_h245_DataProtocolCapability },
14102         {  4, "t84", EXTENSION_ROOT,
14103                 dissect_h245_DataProtocolCapability },
14104         {  5, "t434", EXTENSION_ROOT,
14105                 dissect_h245_DataProtocolCapability },
14106         {  6, "h224", EXTENSION_ROOT,
14107                 dissect_h245_DataProtocolCapability },
14108         {  7, "nlpid", EXTENSION_ROOT,
14109                 dissect_h245_DataMode_application_nlpid },
14110         {  8, "dsvdControl", EXTENSION_ROOT, 
14111                 dissect_h245_NULL },
14112         {  9, "h222DataPartitioning", EXTENSION_ROOT,
14113                 dissect_h245_DataProtocolCapability },
14114         { 10, "t30fax", NOT_EXTENSION_ROOT, 
14115                 dissect_h245_DataProtocolCapability },
14116         { 11, "t140", NOT_EXTENSION_ROOT,
14117                 dissect_h245_DataProtocolCapability },
14118         { 12, "t38fax", NOT_EXTENSION_ROOT,
14119                 dissect_h245_DataMode_application_t38fax },
14120         { 13, "genericDataMode", NOT_EXTENSION_ROOT,
14121                 dissect_h245_GenericCapability },
14122         {  0, NULL, 0, NULL }
14123 };
14124 static int
14125 dissect_h245_DataMode_application(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14126 {
14127         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DataMode_application, ett_h245_DataMode_application, DataMode_application_choice, "application", NULL);
14128
14129         return offset;
14130 }
14131
14132
14133
14134
14135
14136 static per_sequence_t MultiplePayloadStream_sequence[] = {
14137         { "elements", EXTENSION_ROOT, NOT_OPTIONAL,
14138                 dissect_h245_elements_MPSE_sequence_of },
14139         { NULL, 0, 0, NULL }
14140 };
14141 static int
14142 dissect_h245_MultiplePayloadStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14143 {
14144         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplePayloadStream, ett_h245_MultiplePayloadStream, MultiplePayloadStream_sequence);
14145
14146         return offset;
14147 }
14148
14149
14150
14151
14152
14153 static per_sequence_t MultiplePayloadStreamMode_sequence[] = {
14154         { "elements", EXTENSION_ROOT, NOT_OPTIONAL,
14155                 dissect_h245_elements_MPSEM_sequence_of },
14156         { NULL, 0, 0, NULL }
14157 };
14158 static int
14159 dissect_h245_MultiplePayloadStreamMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14160 {
14161         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplePayloadStreamMode, ett_h245_MultiplePayloadStreamMode, MultiplePayloadStreamMode_sequence);
14162
14163         return offset;
14164 }
14165
14166
14167
14168
14169
14170 static per_sequence_t DataMode_sequence[] = {
14171         { "application", EXTENSION_ROOT, NOT_OPTIONAL,
14172                 dissect_h245_DataMode_application },
14173         { "bitRate", EXTENSION_ROOT, NOT_OPTIONAL,
14174                 dissect_h245_dataModeBitRate },
14175         { NULL, 0, 0, NULL }
14176 };
14177 static int
14178 dissect_h245_DataMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14179 {
14180         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataMode, ett_h245_DataMode, DataMode_sequence);
14181
14182         return offset;
14183 }
14184
14185
14186
14187
14188
14189 static per_sequence_t RequestAllTerminalIDsResponse_sequence[] = {
14190         { "terminalInformation", EXTENSION_ROOT, NOT_OPTIONAL,
14191                 dissect_h245_TerminalInformationSO_sequence_of },
14192         { NULL, 0, 0, NULL }
14193 };
14194 static int
14195 dissect_h245_RequestAllTerminalIDsResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14196 {
14197         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestAllTerminalIDsResponse, ett_h245_RequestAllTerminalIDsResponse, RequestAllTerminalIDsResponse_sequence);
14198
14199         return offset;
14200 }
14201
14202
14203
14204
14205
14206 static per_sequence_t DataApplicationCapability_sequence[] = {
14207         { "application", EXTENSION_ROOT, NOT_OPTIONAL,
14208                 dissect_h245_DataApplicationCapability_application },
14209         { "maxBitRate", EXTENSION_ROOT, NOT_OPTIONAL,
14210                 dissect_h245_maxBitRate_4294967295UL },
14211         { NULL, 0, 0, NULL }
14212 };
14213 static int
14214 dissect_h245_DataApplicationCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14215 {
14216         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DataApplicationCapability, ett_h245_DataApplicationCapability, DataApplicationCapability_sequence);
14217
14218         return offset;
14219 }
14220
14221
14222 static int
14223 dissect_h245_iPSourceRouteAddress_route(tvbuff_t *tvb _U_, int offset, packet_info *pinfo _U_, proto_tree *tree _U_)
14224 {
14225 NOT_DECODED_YET("iPSourceRouteAddress");
14226 /* XXX
14227         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_iPSourceRouteAddress_route, ett_h245_iPSourceRouteAddress_route, dissect_h245_ );
14228 */
14229         return offset;
14230 }
14231
14232
14233
14234 static per_sequence_t UnicastAddress_iPSourceRouteAddress_sequence[] = {
14235         { "routing", EXTENSION_ROOT, NOT_OPTIONAL, 
14236                 dissect_h245_UnicastAddress_iPSourceRouteAddress_routing },
14237         { "network", EXTENSION_ROOT, NOT_OPTIONAL,
14238                 dissect_h245_ipv4network },
14239         { "tsapIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
14240                 dissect_h245_tsapIdentifier },
14241         { "route", EXTENSION_ROOT, NOT_OPTIONAL,
14242                 dissect_h245_iPSourceRouteAddress_route },
14243         { NULL, 0, 0, NULL }
14244 };
14245 static int
14246 dissect_h245_UnicastAddress_iPSourceRouteAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14247 {
14248         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UnicastAddress_iPSourceRouteAddress, ett_h245_UnicastAddress_iPSourceRouteAddress, UnicastAddress_iPSourceRouteAddress_sequence);
14249
14250         return offset;
14251 }
14252
14253
14254
14255 static const value_string UnicastAddress_vals[] = {
14256         {  0, "iPAddress" },
14257         {  1, "iPXAddress" },
14258         {  2, "iP6Address" },
14259         {  3, "netBios" },
14260         {  4, "iPSourceRouteAddress" },
14261         {  5, "nsap" },
14262         {  6, "nonStandardAddress" },
14263         {  0, NULL }
14264 };
14265 static per_choice_t UnicastAddress_choice[] = {
14266         {  0, "iPAddress", EXTENSION_ROOT,
14267                 dissect_h245_UnicastAddress_iPAddress },
14268         {  1, "iPXAddress", EXTENSION_ROOT,
14269                 dissect_h245_UnicastAddress_iPXAddress },
14270         {  2, "iP6Address", EXTENSION_ROOT,
14271                 dissect_h245_UnicastAddress_iP6Address },
14272         {  3, "netBios", EXTENSION_ROOT, 
14273                 dissect_h245_netBios },
14274         {  4, "iPSourceRouteAddress", EXTENSION_ROOT,
14275                 dissect_h245_UnicastAddress_iPSourceRouteAddress },
14276         {  5, "nsap", NOT_EXTENSION_ROOT,
14277                 dissect_h245_nsap },
14278         {  6, "nonStandardAddress", NOT_EXTENSION_ROOT,
14279                 dissect_h245_NonStandardParameter },
14280         {  0, NULL, 0, NULL }
14281 };
14282 static int
14283 dissect_h245_UnicastAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14284 {
14285         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_UnicastAddress, ett_h245_UnicastAddress, UnicastAddress_choice, "UnicastAddress", NULL);
14286
14287         return offset;
14288 }
14289
14290
14291
14292
14293 static const value_string TransportAddress_vals[] = {
14294         {  0, "unicastAddress" },
14295         {  1, "multicastAddress" },
14296         {  0, NULL }
14297 };
14298 static per_choice_t TransportAddress_choice[] = {
14299         {  0, "unicastAddress", EXTENSION_ROOT,
14300                 dissect_h245_UnicastAddress },
14301         {  1, "multicastAddress", EXTENSION_ROOT,
14302                 dissect_h245_MulticastAddress },
14303         {  0, NULL, 0, NULL }
14304 };
14305 static int
14306 dissect_h245_localAreaAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14307 {
14308         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_localAreaAddress, ett_h245_TransportAddress, TransportAddress_choice, "localAreaAddress", NULL);
14309
14310         return offset;
14311 }
14312 static int
14313 dissect_h245_mediaChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14314 {
14315         ipv4_address=0;
14316         ipv4_port=0;
14317
14318         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_mediaChannel, ett_h245_TransportAddress, TransportAddress_choice, "mediaChannel", NULL);
14319
14320         if((!pinfo->fd->flags.visited) && ipv4_address!=0 && ipv4_port!=0 && rtp_handle){
14321                 address src_addr;
14322                 conversation_t *conv=NULL;
14323
14324                 src_addr.type=AT_IPv4;
14325                 src_addr.len=4;
14326                 src_addr.data=(char *)&ipv4_address;
14327
14328                 conv=find_conversation(&src_addr, &src_addr, PT_UDP, ipv4_port, ipv4_port, NO_ADDR_B|NO_PORT_B);
14329                 if(!conv){
14330                         conv=conversation_new(&src_addr, &src_addr, PT_UDP, ipv4_port, ipv4_port, NO_ADDR_B|NO_PORT_B);
14331                         conversation_set_dissector(conv, rtp_handle);
14332                 }
14333         }
14334         return offset;
14335 }
14336 static int
14337 dissect_h245_mediaControlChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14338 {
14339         ipv4_address=0;
14340         ipv4_port=0;
14341
14342         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_mediaControlChannel, ett_h245_TransportAddress, TransportAddress_choice, "mediaControlChannel", NULL);
14343
14344         if((!pinfo->fd->flags.visited) && ipv4_address!=0 && ipv4_port!=0 && rtcp_handle){
14345                 address src_addr;
14346                 conversation_t *conv=NULL;
14347
14348                 src_addr.type=AT_IPv4;
14349                 src_addr.len=4;
14350                 src_addr.data=(char *)&ipv4_address;
14351
14352                 conv=find_conversation(&src_addr, &src_addr, PT_UDP, ipv4_port, ipv4_port, NO_ADDR_B|NO_PORT_B);
14353                 if(!conv){
14354                         conv=conversation_new(&src_addr, &src_addr, PT_UDP, ipv4_port, ipv4_port, NO_ADDR_B|NO_PORT_B);
14355                         conversation_set_dissector(conv, rtcp_handle);
14356                 }
14357         }
14358         return offset;
14359 }
14360 static int
14361 dissect_h245_signalAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14362 {
14363         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_signalAddress, ett_h245_TransportAddress, TransportAddress_choice, "signalAddress", NULL);
14364
14365         return offset;
14366 }
14367
14368
14369
14370 static per_sequence_t MCLocationIndication_sequence[] = {
14371         { "signalAddress", EXTENSION_ROOT, NOT_OPTIONAL,
14372                 dissect_h245_signalAddress },
14373         { NULL, 0, 0, NULL }
14374 };
14375 static int
14376 dissect_h245_MCLocationIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14377 {
14378         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MCLocationIndication, ett_h245_MCLocationIndication, MCLocationIndication_sequence);
14379
14380         return offset;
14381 }
14382
14383
14384
14385 static per_sequence_t H2250LogicalChannelAckParameters_sequence[] = {
14386         { "nonStandard", EXTENSION_ROOT, OPTIONAL,
14387                 dissect_h245_nonStandardData_sequence_of },
14388         { "sessionID", EXTENSION_ROOT, OPTIONAL,
14389                 dissect_h245_sessionID_1_255 },
14390         { "mediaChannel", EXTENSION_ROOT, OPTIONAL,
14391                 dissect_h245_mediaChannel },
14392         { "mediaControlChannel", EXTENSION_ROOT, OPTIONAL,
14393                 dissect_h245_mediaControlChannel },
14394         { "dynamicRTPPayloadType", EXTENSION_ROOT, OPTIONAL,
14395                 dissect_h245_dynamicRTPPayloadType },
14396         { "flowControlToZero", NOT_EXTENSION_ROOT, NOT_OPTIONAL,
14397                 dissect_h245_flowControlToZero },
14398         { "portNumber", NOT_EXTENSION_ROOT, OPTIONAL,
14399                 dissect_h245_portNumber },
14400         { NULL, 0, 0, NULL }
14401 };
14402 static int
14403 dissect_h245_H2250LogicalChannelAckParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14404 {
14405         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250LogicalChannelAckParameters, ett_h245_H2250LogicalChannelAckParameters, H2250LogicalChannelAckParameters_sequence);
14406
14407         return offset;
14408 }
14409
14410
14411
14412
14413 static const value_string forwardMultiplexAckParameters_vals[] = {
14414         {  0, "h2250LogicalChannelAckParameters" },
14415         {  0, NULL }
14416 };
14417 static per_choice_t forwardMultiplexAckParameters_choice[] = {
14418         {  0, "h2250LogicalChannelAckParameters", EXTENSION_ROOT,
14419                 dissect_h245_H2250LogicalChannelAckParameters },
14420         {  0, NULL, 0, NULL }
14421 };
14422 static int
14423 dissect_h245_forwardMultiplexAckParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14424 {
14425         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_forwardMultiplexAckParameters, ett_h245_forwardMultiplexAckParameters, forwardMultiplexAckParameters_choice, "forwardMultiplexAckParameters", NULL);
14426
14427         return offset;
14428 }
14429
14430
14431
14432
14433
14434 static int
14435 dissect_h245_AlternativeCapabilitySet(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14436 {
14437         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_AlternativeCapabilitySet, ett_h245_AlternativeCapabilitySet, dissect_h245_CapabilityTableEntryNumber, 1, 256 );
14438         return offset;
14439 }
14440
14441
14442
14443
14444 static int dissect_h245_rtpPayloadType_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
14445
14446 static per_sequence_t MediaPacketizationCapability_sequence[] = {
14447         { "h261aVideoPacketization", EXTENSION_ROOT, NOT_OPTIONAL, 
14448                 dissect_h245_h261aVideoPacketization },
14449         { "rtpPayloadType", NOT_EXTENSION_ROOT, OPTIONAL,
14450                 dissect_h245_rtpPayloadType_sequence_of },
14451         { NULL, 0, 0, NULL }
14452 };
14453 static int
14454 dissect_h245_MediaPacketizationCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14455 {
14456         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MediaPacketizationCapability, ett_h245_MediaPacketizationCapability, MediaPacketizationCapability_sequence);
14457
14458         return offset;
14459 }
14460
14461
14462
14463
14464 static int
14465 dissect_h245_qOSCapabilities(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14466 {
14467         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_qOSCapabilities, ett_h245_qOSCapabilities, dissect_h245_QOSCapability, 1, 256 );
14468         return offset;
14469 }
14470
14471
14472
14473 static int
14474 dissect_h245_mediaChannelCapabilities(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14475 {
14476         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_mediaChannelCapabilities, ett_h245_mediaChannelCapabilities, dissect_h245_MediaChannelCapability, 1, 256 );
14477         return offset;
14478 }
14479
14480
14481 static per_sequence_t TransportCapability_sequence[] = {
14482         { "nonStandard", EXTENSION_ROOT, OPTIONAL,
14483                 dissect_h245_NonStandardParameter },
14484         { "qOSCapabilities", EXTENSION_ROOT, OPTIONAL,
14485                 dissect_h245_qOSCapabilities },
14486         { "mediaChannelCapabilities", EXTENSION_ROOT, OPTIONAL, 
14487                 dissect_h245_mediaChannelCapabilities },
14488         { NULL, 0, 0, NULL }
14489 };
14490 static int
14491 dissect_h245_TransportCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14492 {
14493         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TransportCapability, ett_h245_TransportCapability, TransportCapability_sequence);
14494
14495         return offset;
14496 }
14497
14498
14499
14500
14501
14502 static const value_string MiscellaneousIndication_type_vals[] = {
14503         {  0, "logicalChannelActive" },
14504         {  1, "logicalChannelInactive" },
14505         {  2, "multiportConference" },
14506         {  3, "cancelMultiportConference" },
14507         {  4, "multipointZeroComm" },
14508         {  5, "cancelMultipointZeroComm" },
14509         {  6, "multipointSecondryStatus" },
14510         {  7, "cancelMultipointSecondryStatus" },
14511         {  8, "videoIndicateReadyToActivate" },
14512         {  9, "videoTemporalSpatialTradeOff" },
14513         { 10, "videoNotDecodedMBs" },
14514         { 11, "transportCapability" },
14515         {  0, NULL }
14516 };
14517 static per_choice_t MiscellaneousIndication_type_choice[] = {
14518         {  0, "logicalChannelActive", EXTENSION_ROOT, 
14519                         dissect_h245_NULL },
14520         {  1, "logicalChannelInactive", EXTENSION_ROOT, 
14521                         dissect_h245_NULL },
14522         {  2, "multiportConference", EXTENSION_ROOT, 
14523                         dissect_h245_NULL },
14524         {  3, "cancelMultiportConference", EXTENSION_ROOT, 
14525                         dissect_h245_NULL },
14526         {  4, "multipointZeroComm", EXTENSION_ROOT, 
14527                         dissect_h245_NULL },
14528         {  5, "cancelMultipointZeroComm", EXTENSION_ROOT, 
14529                         dissect_h245_NULL },
14530         {  6, "multipointSecondryStatus", EXTENSION_ROOT, 
14531                         dissect_h245_NULL },
14532         {  7, "cancelMultipointSecondryStatus", EXTENSION_ROOT, 
14533                         dissect_h245_NULL },
14534         {  8, "videoIndicateReadyToActivate", EXTENSION_ROOT, 
14535                         dissect_h245_NULL },
14536         {  9, "videoTemporalSpatialTradeOff", EXTENSION_ROOT,
14537                         dissect_h245_videoTemporalSpatialTradeOff },
14538         { 10, "videoNotDecodedMBs", NOT_EXTENSION_ROOT,
14539                         dissect_h245_MiscellaneousIndication_type_videoNotDecodedMBs },
14540         { 11, "transportCapability", NOT_EXTENSION_ROOT,
14541                         dissect_h245_TransportCapability },
14542         {  0, NULL, 0, NULL }
14543 };
14544 static int
14545 dissect_h245_MiscellaneousIndication_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14546 {
14547         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MiscellaneousIndication_type, ett_h245_MiscellaneousIndication_type, MiscellaneousIndication_type_choice, "type", NULL);
14548
14549         return offset;
14550 }
14551
14552
14553
14554
14555
14556 static per_sequence_t MiscellaneousIndication_sequence[] = {
14557         { "logicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
14558                 dissect_h245_LogicalChannelNumber },
14559         { "type", EXTENSION_ROOT, NOT_OPTIONAL,
14560                 dissect_h245_MiscellaneousIndication_type },
14561         { NULL, 0, 0, NULL }
14562 };
14563 static int
14564 dissect_h245_MiscellaneousIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14565 {
14566         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousIndication, ett_h245_MiscellaneousIndication, MiscellaneousIndication_sequence);
14567
14568         return offset;
14569 }
14570
14571
14572
14573
14574
14575 static int
14576 dissect_h245_CapabilityTableEntryNumber_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14577 {
14578         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 );
14579         return offset;
14580 }
14581
14582
14583
14584
14585 static int dissect_h245_RTPH263VideoRedundancyFrameMapping(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
14586
14587 static int
14588 dissect_h245_frameToThreadMapping_custom(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14589 {
14590         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_frameToThreadMapping_custom, ett_h245_frameToThreadMapping_custom, dissect_h245_RTPH263VideoRedundancyFrameMapping, 1, 256 );
14591         return offset;
14592 }
14593
14594
14595
14596
14597 static const value_string RTPH263VideoRedundancyEncoding_frameToThreadMapping_vals[] = {
14598         {  0, "roundrobin" },
14599         {  1, "custom" },
14600         {  0, NULL }
14601 };
14602 static per_choice_t RTPH263VideoRedundancyEncoding_frameToThreadMapping_choice[] = {
14603         {  0, "roundrobin", EXTENSION_ROOT, 
14604                 dissect_h245_NULL },
14605         {  1, "custom", EXTENSION_ROOT,
14606                 dissect_h245_frameToThreadMapping_custom },
14607         {  0, NULL, 0, NULL }
14608 };
14609 static int
14610 dissect_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14611 {
14612         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping, ett_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping, RTPH263VideoRedundancyEncoding_frameToThreadMapping_choice, "frameToThreadMapping", NULL);
14613
14614         return offset;
14615 }
14616
14617
14618
14619
14620 static int
14621 dissect_h245_containedThread(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14622 {
14623         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
14624                 hf_h245_containedThread,  0,  15,
14625                 NULL, NULL, FALSE);
14626
14627         return offset;
14628 }
14629
14630
14631
14632
14633 static int
14634 dissect_h245_containedThreads(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14635 {
14636         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_containedThreads, ett_h245_containedThreads, dissect_h245_containedThread, 1, 256 );
14637         return offset;
14638 }
14639
14640
14641
14642
14643
14644 static per_sequence_t RTPH263VideoRedundancyEncoding_sequence[] = {
14645         { "numberOfThreads", EXTENSION_ROOT, NOT_OPTIONAL,
14646                 dissect_h245_numberOfThreads },
14647         { "framesBetweenSyncPoints", EXTENSION_ROOT, NOT_OPTIONAL,
14648                 dissect_h245_framesBetweenSyncPoints },
14649         { "frameToThreadMapping", EXTENSION_ROOT, NOT_OPTIONAL,
14650                 dissect_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping },
14651         { "containedThreads", EXTENSION_ROOT, OPTIONAL,
14652                 dissect_h245_containedThreads },
14653         { NULL, 0, 0, NULL }
14654 };
14655 static int
14656 dissect_h245_RTPH263VideoRedundancyEncoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14657 {
14658         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RTPH263VideoRedundancyEncoding, ett_h245_RTPH263VideoRedundancyEncoding, RTPH263VideoRedundancyEncoding_sequence);
14659
14660         return offset;
14661 }
14662
14663
14664
14665
14666 static const value_string RedundancyEncodingMethod_vals[] = {
14667         {  0, "nonStandard" },
14668         {  1, "rtpAudioRedundancyEncoding" },
14669         {  2, "rtpH263VideoRedundancyEncoding" },
14670         {  0, NULL }
14671 };
14672 static per_choice_t RedundancyEncodingMethod_choice[] = {
14673         {  0, "nonStandard", EXTENSION_ROOT,
14674                 dissect_h245_NonStandardParameter },
14675         {  1, "rtpAudioRedundancyEncoding", EXTENSION_ROOT, 
14676                 dissect_h245_NULL },
14677         {  2, "rtpH263VideoRedundancyEncoding", NOT_EXTENSION_ROOT,
14678                 dissect_h245_RTPH263VideoRedundancyEncoding },
14679         {  0, NULL, 0, NULL }
14680 };
14681 static int
14682 dissect_h245_RedundancyEncodingMethod(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14683 {
14684         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingMethod, ett_h245_RedundancyEncodingMethod, RedundancyEncodingMethod_choice, "RedundancyEncodingMethod", NULL);
14685
14686         return offset;
14687 }
14688
14689
14690
14691
14692 static per_sequence_t RedundancyEncodingCapability_sequence[] = {
14693         { "redundancyEncodingMethod", EXTENSION_ROOT, NOT_OPTIONAL,
14694                 dissect_h245_RedundancyEncodingMethod },
14695         { "primaryEncoding", EXTENSION_ROOT, NOT_OPTIONAL, 
14696                 dissect_h245_CapabilityTableEntryNumber },
14697         { "secondaryEncoding", EXTENSION_ROOT, OPTIONAL,
14698                 dissect_h245_CapabilityTableEntryNumber_sequence_of },
14699         { NULL, 0, 0, NULL }
14700 };
14701 static int
14702 dissect_h245_RedundancyEncodingCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14703 {
14704         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingCapability, ett_h245_RedundancyEncodingCapability, RedundancyEncodingCapability_sequence);
14705
14706         return offset;
14707 }
14708
14709
14710
14711 static int
14712 dissect_h245_RedundancyEncodingCapability_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14713 {
14714         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 );
14715         return offset;
14716 }
14717
14718
14719
14720
14721 static int
14722 dissect_h245_frame(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14723 {
14724         offset=dissect_per_constrained_integer(tvb, offset, pinfo, tree,
14725                 hf_h245_frame,  0,  255,
14726                 NULL, NULL, FALSE);
14727
14728         return offset;
14729 }
14730
14731
14732
14733 static int
14734 dissect_h245_frameSequence(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14735 {
14736         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_frameSequence, ett_h245_frameSequence, dissect_h245_frame, 1, 256 );
14737         return offset;
14738 }
14739
14740
14741
14742
14743 static per_sequence_t RTPH263VideoRedundancyFrameMapping_sequence[] = {
14744         { "threadNumber", EXTENSION_ROOT, NOT_OPTIONAL,
14745                 dissect_h245_threadNumber },
14746         { "frameSequence", EXTENSION_ROOT, NOT_OPTIONAL,
14747                 dissect_h245_frameSequence },
14748         { NULL, 0, 0, NULL }
14749 };
14750 static int
14751 dissect_h245_RTPH263VideoRedundancyFrameMapping(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14752 {
14753         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RTPH263VideoRedundancyFrameMapping, ett_h245_RTPH263VideoRedundancyFrameMapping, RTPH263VideoRedundancyFrameMapping_sequence);
14754
14755         return offset;
14756 }
14757
14758
14759
14760
14761
14762 static int
14763 dissect_h245_EncryptionCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14764 {
14765         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_EncryptionCapability, ett_h245_EncryptionCapability, dissect_h245_MediaEncryptionAlgorithm, 1, 256 );
14766         return offset;
14767 }
14768
14769
14770
14771
14772 static per_sequence_t EncryptionAuthenticationAndIntegrity_sequence[] = {
14773         { "encryptionCapability", EXTENSION_ROOT, OPTIONAL,
14774                 dissect_h245_EncryptionCapability },
14775         { "authenticationCapability", EXTENSION_ROOT, OPTIONAL,
14776                 dissect_h245_AuthenticationCapability },
14777         { "integrityCapability", EXTENSION_ROOT, OPTIONAL,
14778                 dissect_h245_IntegrityCapability },
14779         { NULL, 0, 0, NULL }
14780 };
14781 static int
14782 dissect_h245_EncryptionAuthenticationAndIntegrity(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14783 {
14784         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EncryptionAuthenticationAndIntegrity, ett_h245_EncryptionAuthenticationAndIntegrity, EncryptionAuthenticationAndIntegrity_sequence);
14785
14786         return offset;
14787 }
14788
14789
14790
14791 static per_sequence_t H235SecurityCapability_sequence[] = {
14792         { "encryptionAuthenticationAndIntegrity", EXTENSION_ROOT, NOT_OPTIONAL,
14793                 dissect_h245_EncryptionAuthenticationAndIntegrity },
14794         { "mediaCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
14795                 dissect_h245_CapabilityTableEntryNumber},
14796         { NULL, 0, 0, NULL }
14797 };
14798 static int
14799 dissect_h245_H235SecurityCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14800 {
14801         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H235SecurityCapability, ett_h245_H235SecurityCapability, H235SecurityCapability_sequence);
14802
14803         return offset;
14804 }
14805
14806
14807 static int dissect_h245_EscrowData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
14808
14809 static int
14810 dissect_h245_escrowentry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14811 {
14812         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_escrowentry, ett_h245_escrowentry, dissect_h245_EscrowData, 1, 256 );
14813         return offset;
14814 }
14815
14816
14817
14818
14819 static per_sequence_t EncryptionSync_sequence[] = {
14820         { "nonStandard", EXTENSION_ROOT, OPTIONAL,
14821                 dissect_h245_NonStandardParameter },
14822         { "synchFlag", EXTENSION_ROOT, NOT_OPTIONAL,
14823                 dissect_h245_synchFlag },
14824         { "h235Key", EXTENSION_ROOT, NOT_OPTIONAL,
14825                 dissect_h245_h235Key },
14826         { "escrowentry", EXTENSION_ROOT, OPTIONAL,
14827                 dissect_h245_escrowentry },
14828         { NULL, 0, 0, NULL }
14829 };
14830 static int
14831 dissect_h245_EncryptionSync(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14832 {
14833         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EncryptionSync, ett_h245_EncryptionSync, EncryptionSync_sequence);
14834
14835         return offset;
14836 }
14837
14838
14839
14840 static const value_string MiscellaneousCommand_type_vals[] = {
14841         {  0, "equalizeDelay" },
14842         {  1, "zeroDelay" },
14843         {  2, "multipointModeCommand" },
14844         {  3, "cancelMultipointModeCommand" },
14845         {  4, "videoFreezePicture" },
14846         {  5, "videoFastUpdatePicture" },
14847         {  6, "videoFastUpdateGOB" },
14848         {  7, "videoTemporalSpatialTradeOff" },
14849         {  8, "videoSendSyncEveryGOB" },
14850         {  9, "videoSendSyncEveryGOBCancel" },
14851         { 10, "videoFastUpdateMB" },
14852         { 11, "maxH223MUXPDUSize" },
14853         { 12, "encryptionUpdate" },
14854         { 13, "encryptionUpdateRequest" },
14855         { 14, "switchReceiveMediaOff" },
14856         { 15, "switchReceiveMediaOn" },
14857         { 16, "progressiveRefinementStart" },
14858         { 17, "progressiveRefinementAbortOne" },
14859         { 18, "progressiveRefinementAbortContinous" },
14860         { 19, "videoBadMBs" },
14861         { 20, "lostPicture" },
14862         { 21, "lostPartialPicture" },
14863         { 22, "recoveryReferencePicture" },
14864         {  0, NULL }
14865 };
14866 static per_choice_t MiscellaneousCommand_type_choice[] = {
14867         {  0, "equalizeDelay", EXTENSION_ROOT, 
14868                 dissect_h245_NULL },
14869         {  1, "zeroDelay", EXTENSION_ROOT, 
14870                 dissect_h245_NULL },
14871         {  2, "multipointModeCommand", EXTENSION_ROOT, 
14872                 dissect_h245_NULL },
14873         {  3, "cancelMultipointModeCommand", EXTENSION_ROOT, 
14874                 dissect_h245_NULL },
14875         {  4, "videoFreezePicture", EXTENSION_ROOT, 
14876                 dissect_h245_NULL },
14877         {  5, "videoFastUpdatePicture", EXTENSION_ROOT, 
14878                 dissect_h245_NULL },
14879         {  6, "videoFastUpdateGOB", EXTENSION_ROOT,
14880                 dissect_h245_MiscellaneousCommand_type_videoFastUpdateGOB },
14881         {  7, "videoTemporalSpatialTradeOff", EXTENSION_ROOT,
14882                 dissect_h245_videoTemporalSpatialTradeOff },
14883         {  8, "videoSendSyncEveryGOB", EXTENSION_ROOT, 
14884                 dissect_h245_NULL },
14885         {  9, "videoSendSyncEveryGOBCancel", EXTENSION_ROOT, 
14886                 dissect_h245_NULL },
14887         { 10, "videoFastUpdateMB", NOT_EXTENSION_ROOT,
14888                 dissect_h245_MiscellaneousCommand_type_videoFastUpdateMB },
14889         { 11, "maxH223MUXPDUSize", NOT_EXTENSION_ROOT,
14890                 dissect_h245_maxH223MUXPDUsize },
14891         { 12, "encryptionUpdate", NOT_EXTENSION_ROOT,
14892                 dissect_h245_EncryptionSync },
14893         { 13, "encryptionUpdateRequest", NOT_EXTENSION_ROOT, 
14894                 dissect_h245_EncryptionUpdateRequest },
14895         { 14, "switchReceiveMediaOff", NOT_EXTENSION_ROOT, 
14896                 dissect_h245_NULL },
14897         { 15, "switchReceiveMediaOn", NOT_EXTENSION_ROOT, 
14898                 dissect_h245_NULL },
14899         { 16, "progressiveRefinementStart", NOT_EXTENSION_ROOT, 
14900                 dissect_h245_MiscellaneousCommand_type_progressiveRefinementStart },
14901         { 17, "progressiveRefinementAbortOne", NOT_EXTENSION_ROOT, 
14902                 dissect_h245_NULL },
14903         { 18, "progressiveRefinementAbortContinous", NOT_EXTENSION_ROOT, 
14904                 dissect_h245_NULL },
14905         { 19, "videoBadMBs", NOT_EXTENSION_ROOT,
14906                 dissect_h245_MiscellaneousCommand_type_videoBadMBs },
14907         { 20, "lostPicture", NOT_EXTENSION_ROOT,
14908                 dissect_h245_lostPicture_sequence_of },
14909         { 21, "lostPartialPicture", NOT_EXTENSION_ROOT, 
14910                 dissect_h245_MiscellaneousCommand_type_lostPartialPicture},
14911         { 22, "recoveryReferencePicture", NOT_EXTENSION_ROOT,
14912                 dissect_h245_recoveryReferencePicture_sequence_of },
14913         {  0, NULL, 0, NULL }
14914 };
14915 static int
14916 dissect_h245_MiscellaneousCommand_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14917 {
14918         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand_type, ett_h245_MiscellaneousCommand_type, MiscellaneousCommand_type_choice, "type", NULL);
14919
14920         return offset;
14921 }
14922
14923
14924
14925
14926 static per_sequence_t MiscellaneousCommand_sequence[] = {
14927         { "logicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
14928                 dissect_h245_LogicalChannelNumber },
14929         { "type", EXTENSION_ROOT, NOT_OPTIONAL,
14930                 dissect_h245_MiscellaneousCommand_type },
14931         { NULL, 0, 0, NULL }
14932 };
14933 static int
14934 dissect_h245_MiscellaneousCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14935 {
14936         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MiscellaneousCommand, ett_h245_MiscellaneousCommand, MiscellaneousCommand_sequence);
14937
14938         return offset;
14939 }
14940
14941
14942
14943 static int dissect_h245_MultiplexElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
14944
14945 static int
14946 dissect_h245_elementList(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14947 {
14948         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_elementList, ett_h245_elementList, dissect_h245_MultiplexElement, 1, 256 );
14949         return offset;
14950 }
14951
14952
14953
14954 static per_sequence_t MultiplexEntryDescriptor_sequence[] = {
14955         { "multiplexTableEntryNumber", NO_EXTENSIONS, NOT_OPTIONAL,
14956                 dissect_h245_MultiplexTableEntryNumber },
14957         { "elementList", NO_EXTENSIONS, OPTIONAL,
14958                 dissect_h245_elementList },
14959         { NULL, 0, 0, NULL }
14960 };
14961 static int
14962 dissect_h245_MultiplexEntryDescriptor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14963 {
14964         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntryDescriptor, ett_h245_MultiplexEntryDescriptor, MultiplexEntryDescriptor_sequence);
14965
14966         return offset;
14967 }
14968
14969
14970
14971 static int
14972 dissect_h245_subElementList(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14973 {
14974         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_subElementList, ett_h245_subElementList, dissect_h245_MultiplexElement, 2, 255 );
14975         return offset;
14976 }
14977
14978
14979
14980 static const value_string MultiplexElement_type_vals[] = {
14981         {  0, "logicalChannelNumber" },
14982         {  1, "subElementList" },
14983         {  0, NULL }
14984 };
14985 static per_choice_t MultiplexElement_type_choice[] = {
14986         {  0, "logicalChannelNumber", NO_EXTENSIONS, 
14987                 dissect_h245_logicalChannelNumber },
14988         {  1, "subElementList", NO_EXTENSIONS,
14989                 dissect_h245_subElementList },
14990         {  0, NULL, 0, NULL }
14991 };
14992 static int
14993 dissect_h245_MultiplexElement_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
14994 {
14995         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultiplexElement_type, ett_h245_MultiplexElement_type, MultiplexElement_type_choice, "type", NULL);
14996
14997         return offset;
14998 }
14999
15000
15001
15002
15003 static per_sequence_t MultiplexElement_sequence[] = {
15004         { "type", NO_EXTENSIONS, NOT_OPTIONAL,
15005                 dissect_h245_MultiplexElement_type },
15006         { "repeatCount", NO_EXTENSIONS, NOT_OPTIONAL,
15007                 dissect_h245_MultiplexElement_repeatCount },
15008         { NULL, 0, 0, NULL }
15009 };
15010 static int
15011 dissect_h245_MultiplexElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15012 {
15013         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexElement, ett_h245_MultiplexElement, MultiplexElement_sequence);
15014
15015         return offset;
15016 }
15017
15018
15019
15020
15021 static int dissect_h245_ModeDescription(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15022
15023 static int
15024 dissect_h245_requestedModes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15025 {
15026         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_requestedModes, ett_h245_requestedModes, dissect_h245_ModeDescription, 1, 256 );
15027         return offset;
15028 }
15029
15030
15031
15032
15033 static per_sequence_t RequestMode_sequence[] = {
15034         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
15035                 dissect_h245_SequenceNumber },
15036         { "requestedModes", EXTENSION_ROOT, NOT_OPTIONAL,
15037                 dissect_h245_requestedModes },
15038         { NULL, 0, 0, NULL }
15039 };
15040 static int
15041 dissect_h245_RequestMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15042 {
15043         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMode, ett_h245_RequestMode, RequestMode_sequence);
15044
15045         return offset;
15046 }
15047
15048
15049
15050 static int
15051 dissect_h245_CertSelectionCriteria(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15052 {
15053         offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h245_CertSelectionCriteria, ett_h245_CertSelectionCriteria, dissect_h245_Criteria, 1, 16 );
15054         return offset;
15055 }
15056
15057
15058
15059 static per_sequence_t ConferenceRequest_requestTerminalCertificate_sequence[] = {
15060         { "terminalLabel", EXTENSION_ROOT, OPTIONAL,
15061                 dissect_h245_TerminalLabel },
15062         { "certSelectionCriteria", EXTENSION_ROOT, OPTIONAL,
15063                 dissect_h245_CertSelectionCriteria },
15064         { "sRandom", EXTENSION_ROOT, OPTIONAL,
15065                 dissect_h245_sRandom },
15066         { NULL, 0, 0, NULL }
15067 };
15068 static int
15069 dissect_h245_ConferenceRequest_requestTerminalCertificate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15070 {
15071         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceRequest_requestTerminalCertificate, ett_h245_ConferenceRequest_requestTerminalCertificate, ConferenceRequest_requestTerminalCertificate_sequence);
15072
15073         return offset;
15074 }
15075
15076
15077
15078
15079 static const value_string ConferenceRequest_vals[] = {
15080         {  0, "terminalListRequest" },
15081         {  1, "makeMeChair" },
15082         {  2, "cancelMakeMeChair" },
15083         {  3, "dropTerminal" },
15084         {  4, "requestTerminalID" },
15085         {  5, "enterH243Password" },
15086         {  6, "enterH243TerminalID" },
15087         {  7, "enterH243ConferenceID" },
15088         {  8, "enterExtensionAddress" },
15089         {  9, "requestChairTokenOwner" },
15090         { 10, "requestTerminalCertificate" },
15091         { 11, "broadcastMyLogicalChannel" },
15092         { 12, "makeTerminalBroadcaster" },
15093         { 13, "sendThisSource" },
15094         { 14, "requestAllTerminalIDs" },
15095         { 15, "remoteMCRequest" },
15096         {  0, NULL }
15097 };
15098 static per_choice_t ConferenceRequest_choice[] = {
15099         {  0, "terminalListRequest", EXTENSION_ROOT, 
15100                 dissect_h245_NULL },
15101         {  1, "makeMeChair", EXTENSION_ROOT, 
15102                 dissect_h245_NULL },
15103         {  2, "cancelMakeMeChair", EXTENSION_ROOT, 
15104                 dissect_h245_NULL },
15105         {  3, "dropTerminal", EXTENSION_ROOT, 
15106                 dissect_h245_TerminalLabel },
15107         {  4, "requestTerminalID", EXTENSION_ROOT, 
15108                 dissect_h245_TerminalLabel },
15109         {  5, "enterH243Password", EXTENSION_ROOT, 
15110                 dissect_h245_NULL },
15111         {  6, "enterH243TerminalID", EXTENSION_ROOT, 
15112                 dissect_h245_NULL },
15113         {  7, "enterH243ConferenceID", EXTENSION_ROOT, 
15114                 dissect_h245_NULL },
15115         {  8, "enterExtensionAddress", NOT_EXTENSION_ROOT, 
15116                 dissect_h245_NULL },
15117         {  9, "requestChairTokenOwner", NOT_EXTENSION_ROOT, 
15118                 dissect_h245_NULL },
15119         { 10, "requestTerminalCertificate", NOT_EXTENSION_ROOT,
15120                 dissect_h245_ConferenceRequest_requestTerminalCertificate },
15121         { 11, "broadcastMyLogicalChannel", NOT_EXTENSION_ROOT, 
15122                 dissect_h245_LogicalChannelNumber },
15123         { 12, "makeTerminalBroadcaster", NOT_EXTENSION_ROOT,
15124                 dissect_h245_TerminalLabel },
15125         { 13, "sendThisSource", NOT_EXTENSION_ROOT,
15126                 dissect_h245_TerminalLabel },
15127         { 14, "requestAllTerminalIDs", NOT_EXTENSION_ROOT, 
15128                 dissect_h245_NULL },
15129         { 15, "remoteMCRequest", NOT_EXTENSION_ROOT, 
15130                 dissect_h245_RemoteMCRequest },
15131         {  0, NULL, 0, NULL }
15132 };
15133 static int
15134 dissect_h245_ConferenceRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15135 {
15136         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceRequest, ett_h245_ConferenceRequest, ConferenceRequest_choice, "ConferenceRequest", NULL);
15137
15138         return offset;
15139 }
15140
15141 static int dissect_h245_CapabilityTableEntry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15142
15143 static int
15144 dissect_h245_capabilityTable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15145 {
15146         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilityTable, ett_h245_capabilityTable, dissect_h245_CapabilityTableEntry, 1, 256);
15147         return offset;
15148 }
15149
15150
15151
15152
15153
15154 static int
15155 dissect_h245_simultaneousCapabilities(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15156 {
15157         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_simultaneousCapabilities, ett_h245_simultaneousCapabilities, dissect_h245_AlternativeCapabilitySet, 1, 256);
15158         return offset;
15159 }
15160
15161
15162
15163
15164 static per_sequence_t CapabilityDescriptor_sequence[] = {
15165         { "capabilityDescriptorNumber", NO_EXTENSIONS, NOT_OPTIONAL, 
15166                 dissect_h245_CapabilityDescriptorNumber },
15167         { "simultaneousCapabilities", NO_EXTENSIONS, OPTIONAL,
15168                 dissect_h245_simultaneousCapabilities },
15169         { NULL, 0, 0, NULL }
15170 };
15171 static int
15172 dissect_h245_CapabilityDescriptor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15173 {
15174         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CapabilityDescriptor, ett_h245_CapabilityDescriptor, CapabilityDescriptor_sequence);
15175
15176         return offset;
15177 }
15178
15179
15180
15181 static int
15182 dissect_h245_capabilityDescriptors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15183 {
15184         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilityDescriptors, ett_h245_capabilityDescriptors, dissect_h245_CapabilityDescriptor, 1, 256);
15185         return offset;
15186 }
15187
15188
15189
15190
15191 static int dissect_h245_Q2931Address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15192
15193 static int
15194 dissect_h245_gatewayAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15195 {
15196         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_gatewayAddress, ett_h245_gatewayAddress, dissect_h245_Q2931Address, 1, 256);
15197         return offset;
15198 }
15199
15200
15201
15202 static per_sequence_t VCCapability_aal1ViaGateway_sequence[] = {
15203         { "gatewayAddress", EXTENSION_ROOT, NOT_OPTIONAL,
15204                 dissect_h245_gatewayAddress },
15205         { "nullClockRecovery", EXTENSION_ROOT, NOT_OPTIONAL, 
15206                 dissect_h245_nullClockRecovery },
15207         { "srtsClockRecovery", EXTENSION_ROOT, NOT_OPTIONAL, 
15208                 dissect_h245_srtsClockRecovery },
15209         { "adaptiveClockRecovery", EXTENSION_ROOT, NOT_OPTIONAL, 
15210                 dissect_h245_adaptiveClockRecovery },
15211         { "nullErrorCorrection", EXTENSION_ROOT, NOT_OPTIONAL, 
15212                 dissect_h245_nullErrorCorrection },
15213         { "longInterleaver", EXTENSION_ROOT, NOT_OPTIONAL, 
15214                 dissect_h245_longInterleaver },
15215         { "shortInterleaver", EXTENSION_ROOT, NOT_OPTIONAL, 
15216                 dissect_h245_shortInterleaver },
15217         { "errorCorrectionOnly", EXTENSION_ROOT, NOT_OPTIONAL, 
15218                 dissect_h245_errorCorrectionOnly },
15219         { "structuredDataTransfer", EXTENSION_ROOT, NOT_OPTIONAL, 
15220                 dissect_h245_structuredDataTransfer },
15221         { "partiallyFilledCells", EXTENSION_ROOT, NOT_OPTIONAL, 
15222                 dissect_h245_partiallyFilledCells },
15223         { NULL, 0, 0, NULL }
15224 };
15225 static int
15226 dissect_h245_VCCapability_aal1ViaGateway(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15227 {
15228         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability_aal1ViaGateway, ett_h245_VCCapability_aal1ViaGateway, VCCapability_aal1ViaGateway_sequence);
15229
15230         return offset;
15231 }
15232
15233
15234
15235 static per_sequence_t VCCapability_availableBitRates_sequence[] = {
15236         { "type", EXTENSION_ROOT, NOT_OPTIONAL,
15237                 dissect_h245_VCCapability_availableBitRates_type },
15238         { NULL, 0, 0, NULL }
15239 };
15240 static int
15241 dissect_h245_VCCapability_availableBitRates(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15242 {
15243         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability_availableBitRates, ett_h245_VCCapability_availableBitRates, VCCapability_availableBitRates_sequence);
15244
15245         return offset;
15246 }
15247
15248
15249
15250
15251
15252 static per_sequence_t VCCapability_sequence[] = {
15253         { "aal1", EXTENSION_ROOT, OPTIONAL, 
15254                 dissect_h245_VCCapability_aal1 },
15255         { "aal5", EXTENSION_ROOT, OPTIONAL,
15256                 dissect_h245_VCCapability_aal5 },
15257         { "transportStream", EXTENSION_ROOT, NOT_OPTIONAL, 
15258                 dissect_h245_transportStream },
15259         { "programStream", EXTENSION_ROOT, NOT_OPTIONAL, 
15260                 dissect_h245_programStream },
15261         { "availableBitRates", EXTENSION_ROOT, NOT_OPTIONAL,
15262                 dissect_h245_VCCapability_availableBitRates },
15263         { "aal1ViaGateway", NOT_EXTENSION_ROOT, OPTIONAL,
15264                 dissect_h245_VCCapability_aal1ViaGateway },
15265         { NULL, 0, 0, NULL }
15266 };
15267 static int
15268 dissect_h245_VCCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15269 {
15270         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VCCapability, ett_h245_VCCapability, VCCapability_sequence);
15271
15272         return offset;
15273 }
15274
15275
15276
15277
15278
15279 static int dissect_h245_EnhancementOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15280
15281 static int
15282 dissect_h245_snrEnhancement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15283 {
15284         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_snrEnhancement, ett_h245_snrEnhancement, dissect_h245_EnhancementOptions, 1, 14);
15285         return offset;
15286 }
15287
15288
15289
15290
15291 static int
15292 dissect_h245_spatialEnhancement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15293 {
15294         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_spatialEnhancement, ett_h245_spatialEnhancement, dissect_h245_EnhancementOptions, 1, 14);
15295         return offset;
15296 }
15297
15298
15299
15300
15301 static int dissect_h245_BEnhancementParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15302
15303 static int
15304 dissect_h245_bPictureEnhancement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15305 {
15306         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_bPictureEnhancement, ett_h245_bPictureEnhancement, dissect_h245_BEnhancementParameters, 1, 14);
15307         return offset;
15308 }
15309
15310
15311
15312
15313 static per_sequence_t EnhancementLayerInfo_sequence[] = {
15314         { "baseBitRateConstrained", EXTENSION_ROOT, NOT_OPTIONAL,
15315                 dissect_h245_baseBitRateConstrained },
15316         { "snrEnhancement", EXTENSION_ROOT, OPTIONAL,
15317                 dissect_h245_snrEnhancement },
15318         { "spatialEnhancement", EXTENSION_ROOT, OPTIONAL,
15319                 dissect_h245_spatialEnhancement },
15320         { "bPictureEnhancement", EXTENSION_ROOT, OPTIONAL,
15321                 dissect_h245_bPictureEnhancement },
15322         { NULL, 0, 0, NULL }
15323 };
15324 static int
15325 dissect_h245_EnhancementLayerInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15326 {
15327         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EnhancementLayerInfo, ett_h245_EnhancementLayerInfo, EnhancementLayerInfo_sequence);
15328
15329         return offset;
15330 }
15331
15332
15333
15334
15335 static int
15336 dissect_h245_customPictureClockFrequency(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15337 {
15338         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_customPictureClockFrequency, ett_h245_customPictureClockFrequency, dissect_h245_CustomPictureClockFrequency, 1, 16);
15339         return offset;
15340 }
15341
15342
15343
15344
15345 static int dissect_h245_CustomPictureFormat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15346
15347
15348 static int
15349 dissect_h245_customPictureFormat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15350 {
15351         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_customPictureFormat, ett_h245_customPictureFormat, dissect_h245_CustomPictureFormat, 1, 16);
15352         return offset;
15353 }
15354
15355
15356
15357 static int dissect_h245_H263VideoModeCombos(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15358
15359 static int
15360 dissect_h245_modeCombos(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15361 {
15362         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_modeCombos, ett_h245_modeCombos, dissect_h245_H263VideoModeCombos, 1, 16);
15363         return offset;
15364 }
15365
15366
15367
15368
15369
15370 static per_sequence_t H263Options_sequence[] = {
15371         { "advancedIntraCodingMode", EXTENSION_ROOT, NOT_OPTIONAL, 
15372                 dissect_h245_advancedIntraCodingMode },
15373         { "deblockingFilterMode", EXTENSION_ROOT, NOT_OPTIONAL, 
15374                 dissect_h245_deblockingFilterMode },
15375         { "improvedPBFramesMode", EXTENSION_ROOT, NOT_OPTIONAL, 
15376                 dissect_h245_improvedPBFramesMode },
15377         { "unlimitedMotionVectors", EXTENSION_ROOT, NOT_OPTIONAL, 
15378                 dissect_h245_unlimitedMotionVectors },
15379         { "fullPictureFreeze", EXTENSION_ROOT, NOT_OPTIONAL,
15380                 dissect_h245_fullPictureFreeze },
15381         { "partialPictureFreezeAndRelease", EXTENSION_ROOT, NOT_OPTIONAL, 
15382                 dissect_h245_partialPictureFreezeAndRelease },
15383         { "resizingPartPicFreezeAndRelease", EXTENSION_ROOT, NOT_OPTIONAL,
15384                 dissect_h245_resizingPartPicFreezeAndRelease },
15385         { "fullPictureSnapshot", EXTENSION_ROOT, NOT_OPTIONAL,
15386                 dissect_h245_fullPictureSnapshot },
15387         { "partialPictureSnapshot", EXTENSION_ROOT, NOT_OPTIONAL, 
15388                 dissect_h245_partialPictureSnapshot },
15389         { "videoSegmentTagging", EXTENSION_ROOT, NOT_OPTIONAL,
15390                 dissect_h245_videoSegmentTagging },
15391         { "progressiveRefinement", EXTENSION_ROOT, NOT_OPTIONAL,
15392                 dissect_h245_progressiveRefinement },
15393         { "dynamicPictureResizingByFour", EXTENSION_ROOT, NOT_OPTIONAL, 
15394                 dissect_h245_dynamicPictureResizingByFour },
15395         { "dynamicPictureResizingSixteenthPel", EXTENSION_ROOT, NOT_OPTIONAL,
15396                 dissect_h245_dynamicPictureResizingSixteenthPel },
15397         { "dynamicWarpingHalfPel", EXTENSION_ROOT, NOT_OPTIONAL, 
15398                 dissect_h245_dynamicWarpingHalfPel },
15399         { "dynamicWarpingSixteenthPel", EXTENSION_ROOT, NOT_OPTIONAL, 
15400                 dissect_h245_dynamicWarpingSixteenthPel },
15401         { "independentSegmentDecoding", EXTENSION_ROOT, NOT_OPTIONAL,
15402                 dissect_h245_independentSegmentDecoding },
15403         { "slicesInOrder-NonRect", EXTENSION_ROOT, NOT_OPTIONAL, 
15404                 dissect_h245_slicesInOrderNonRect },
15405         { "slicesInOrder-Rect", EXTENSION_ROOT, NOT_OPTIONAL, 
15406                 dissect_h245_slicesInOrderRect },
15407         { "slicesNoOrder-NonRect", EXTENSION_ROOT, NOT_OPTIONAL,
15408                 dissect_h245_slicesNoOrderNonRect },
15409         { "slicesNoOrder-Rect", EXTENSION_ROOT, NOT_OPTIONAL, 
15410                 dissect_h245_slicesNoOrderRect },
15411         { "alternateInterVLCMode", EXTENSION_ROOT, NOT_OPTIONAL, 
15412                 dissect_h245_alternateInterVLCMode },
15413         { "modifiedQuantizationMode", EXTENSION_ROOT, NOT_OPTIONAL,
15414                 dissect_h245_modifiedQuantizationMode },
15415         { "reducedResolutionUpdate", EXTENSION_ROOT, NOT_OPTIONAL, 
15416                 dissect_h245_reducedResolutionUpdate },
15417         { "transparencyParameters", EXTENSION_ROOT, OPTIONAL,
15418                 dissect_h245_TransperencyParameters },
15419         { "separateVideoBackChannel", EXTENSION_ROOT, NOT_OPTIONAL,
15420                 dissect_h245_separateVideoBackChannel },
15421         { "refPictureSelection", EXTENSION_ROOT, OPTIONAL,
15422                 dissect_h245_RefPictureSelection },
15423         { "customPictureClockFrequence", EXTENSION_ROOT, OPTIONAL,
15424                 dissect_h245_customPictureClockFrequency },
15425         { "customPictureFormat", EXTENSION_ROOT, OPTIONAL,
15426                 dissect_h245_customPictureFormat },
15427         { "modeCombos", EXTENSION_ROOT, OPTIONAL, 
15428                 dissect_h245_modeCombos },
15429         { "videoBadMBsCap", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
15430                 dissect_h245_videoBadMBsCap },
15431         { "h263Version3Options", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
15432                 dissect_h245_H263Version3Options },
15433         { NULL, 0, 0, NULL }
15434 };
15435 static int
15436 dissect_h245_H263Options(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15437 {
15438         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263Options, ett_h245_H263Options, H263Options_sequence);
15439
15440         return offset;
15441 }
15442
15443
15444
15445
15446 static per_sequence_t H263VideoMode_sequence[] = {
15447         { "resolution", EXTENSION_ROOT, NOT_OPTIONAL, 
15448                 dissect_h245_H263VideoMode_resolution },
15449         { "bitRate", EXTENSION_ROOT, NOT_OPTIONAL,
15450                 dissect_h245_h223bitRate },
15451         { "unrestrictedVector", EXTENSION_ROOT, NOT_OPTIONAL, 
15452                 dissect_h245_unrestrictedVector },
15453         { "arithmeticCoding", EXTENSION_ROOT, NOT_OPTIONAL, 
15454                 dissect_h245_arithmeticCoding },
15455         { "advancedPrediction", EXTENSION_ROOT, NOT_OPTIONAL, 
15456                 dissect_h245_advancedPrediction },
15457         { "pbFrames", EXTENSION_ROOT, NOT_OPTIONAL, 
15458                 dissect_h245_pbFrames },
15459         { "errorCompensation", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
15460                 dissect_h245_errorCompensation },
15461         { "enhancementLayerInfo", NOT_EXTENSION_ROOT, OPTIONAL,
15462                 dissect_h245_EnhancementLayerInfo },
15463         { "h263Options", NOT_EXTENSION_ROOT, OPTIONAL,
15464                 dissect_h245_H263Options },
15465         { NULL, 0, 0, NULL }
15466 };
15467 static int
15468 dissect_h245_H263VideoMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15469 {
15470         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263VideoMode, ett_h245_H263VideoMode, H263VideoMode_sequence);
15471
15472         return offset;
15473 }
15474
15475
15476
15477
15478
15479 static per_sequence_t H263VideoCapability_sequence[] = {
15480         { "sqcifMPI", EXTENSION_ROOT, OPTIONAL, 
15481                 dissect_h245_sqcifMPI_1_32 },
15482         { "qcifMPI", EXTENSION_ROOT, OPTIONAL,
15483                 dissect_h245_qcifMPI_1_32 },
15484         { "cifMPI", EXTENSION_ROOT, OPTIONAL,
15485                 dissect_h245_cifMPI_1_32 },
15486         { "cif4MPI", EXTENSION_ROOT, OPTIONAL,
15487                 dissect_h245_cif4MPI_1_32 },
15488         { "cif16MPI", EXTENSION_ROOT, OPTIONAL,
15489                 dissect_h245_cif16MPI_1_32 },
15490         { "maxBitRate", EXTENSION_ROOT, NOT_OPTIONAL,
15491                 dissect_h245_maxBitRate_192400 },
15492         { "unrestrictedVector", EXTENSION_ROOT, NOT_OPTIONAL, 
15493                 dissect_h245_unrestrictedVector },
15494         { "arithmeticCoding", EXTENSION_ROOT, NOT_OPTIONAL, 
15495                 dissect_h245_arithmeticCoding },
15496         { "advancedPrediction", EXTENSION_ROOT, NOT_OPTIONAL, 
15497                 dissect_h245_advancedPrediction },
15498         { "pbFrames", EXTENSION_ROOT, NOT_OPTIONAL, 
15499                 dissect_h245_pbFrames },
15500         { "temporalSpatialTradeOffCapability", EXTENSION_ROOT, NOT_OPTIONAL,
15501                 dissect_h245_temporalSpatialTradeOffCapability },
15502         { "hrd-B", EXTENSION_ROOT, OPTIONAL,
15503                 dissect_h245_hrd_B },
15504         { "bppMaxKb", EXTENSION_ROOT, OPTIONAL,
15505                 dissect_h245_bppMaxKb },
15506         { "slowSqcifMPI", NOT_EXTENSION_ROOT, OPTIONAL, 
15507                 dissect_h245_slowSqcifMPI },
15508         { "slowQcifMPI", NOT_EXTENSION_ROOT, OPTIONAL,
15509                 dissect_h245_slowQcifMPI },
15510         { "slowCifMPI", NOT_EXTENSION_ROOT, OPTIONAL,
15511                 dissect_h245_slowCifMPI },
15512         { "slowCif4MPI", NOT_EXTENSION_ROOT, OPTIONAL,
15513                 dissect_h245_slowCif4MPI },
15514         { "slowCif16MPI", NOT_EXTENSION_ROOT, OPTIONAL,
15515                 dissect_h245_slowCif16MPI },
15516         { "errorCompensation", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
15517                 dissect_h245_errorCompensation },
15518         { "enhancementLayerInfo", NOT_EXTENSION_ROOT, OPTIONAL,
15519                 dissect_h245_EnhancementLayerInfo },
15520         { "h263Options", NOT_EXTENSION_ROOT, OPTIONAL,
15521                 dissect_h245_H263Options },
15522         { NULL, 0, 0, NULL }
15523 };
15524 static int
15525 dissect_h245_H263VideoCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15526 {
15527         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263VideoCapability, ett_h245_H263VideoCapability, H263VideoCapability_sequence);
15528
15529         return offset;
15530 }
15531
15532
15533
15534
15535
15536 static const value_string VideoCapability_vals[] = {
15537         {  0, "nonStandard" },
15538         {  1, "h261VideoCapability" },
15539         {  2, "h262VideoCapability" },
15540         {  3, "h263VideoCapability" },
15541         {  4, "is11172VideoCapability" },
15542         {  5, "genericVideoCapability" },
15543         {  0, NULL }
15544 };
15545 static per_choice_t VideoCapability_choice[] = {
15546         {  0, "nonStandard", EXTENSION_ROOT,
15547                 dissect_h245_NonStandardParameter },
15548         {  1, "h261VideoCapability", EXTENSION_ROOT, 
15549                 dissect_h245_H261VideoCapability },
15550         {  2, "h262VideoCapability", EXTENSION_ROOT,
15551                 dissect_h245_H262VideoCapability },
15552         {  3, "h263VideoCapability", EXTENSION_ROOT,
15553                 dissect_h245_H263VideoCapability },
15554         {  4, "is11172VideoCapability", EXTENSION_ROOT,
15555                 dissect_h245_IS11172VideoCapability},
15556         {  5, "genericVideoCapability", NOT_EXTENSION_ROOT,
15557                 dissect_h245_GenericCapability },
15558         {  0, NULL, 0, NULL }
15559 };
15560 static int
15561 dissect_h245_VideoCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15562 {
15563         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_VideoCapability, ett_h245_VideoCapability, VideoCapability_choice, "VideoCapability", NULL);
15564
15565         return offset;
15566 }
15567
15568
15569
15570
15571
15572 static per_sequence_t EnhancementOptions_sequence[] = {
15573         { "sqcifMPI", EXTENSION_ROOT, OPTIONAL,
15574                 dissect_h245_sqcifMPI_1_32 },
15575         { "qcifMPI", EXTENSION_ROOT, OPTIONAL,
15576                 dissect_h245_qcifMPI_1_32 },
15577         { "cifMPI", EXTENSION_ROOT, OPTIONAL,
15578                 dissect_h245_cifMPI_1_32 },
15579         { "cif4MPI", EXTENSION_ROOT, OPTIONAL,
15580                 dissect_h245_cif4MPI_1_32 },
15581         { "cif16MPI", EXTENSION_ROOT, OPTIONAL,
15582                 dissect_h245_cif16MPI_1_32 },
15583         { "maxBitRate", EXTENSION_ROOT, NOT_OPTIONAL,
15584                 dissect_h245_maxBitRate_192400 },
15585         { "unrestrictedVector", EXTENSION_ROOT, NOT_OPTIONAL, 
15586                 dissect_h245_unrestrictedVector },
15587         { "arithmeticCoding", EXTENSION_ROOT, NOT_OPTIONAL, 
15588                 dissect_h245_arithmeticCoding },
15589         { "temporalSpatialTradeOffCapability", EXTENSION_ROOT, NOT_OPTIONAL,
15590                 dissect_h245_temporalSpatialTradeOffCapability },
15591         { "slowSqcifMPI", EXTENSION_ROOT, OPTIONAL, 
15592                 dissect_h245_slowSqcifMPI },
15593         { "slowQcifMPI", EXTENSION_ROOT, OPTIONAL,
15594                 dissect_h245_slowQcifMPI },
15595         { "slowCifMPI", EXTENSION_ROOT, OPTIONAL,
15596                 dissect_h245_slowCifMPI },
15597         { "slowCif4MPI", EXTENSION_ROOT, OPTIONAL,
15598                 dissect_h245_slowCif4MPI },
15599         { "slowCif16MPI", EXTENSION_ROOT, OPTIONAL,
15600                 dissect_h245_slowCif16MPI },
15601         { "errorCompensation", EXTENSION_ROOT, NOT_OPTIONAL, 
15602                 dissect_h245_errorCompensation },
15603         { "h263Options", EXTENSION_ROOT, OPTIONAL,
15604                 dissect_h245_H263Options },
15605         { NULL, 0, 0, NULL }
15606 };
15607 static int
15608 dissect_h245_EnhancementOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15609 {
15610         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EnhancementOptions, ett_h245_EnhancementOptions, EnhancementOptions_sequence);
15611
15612         return offset;
15613 }
15614
15615
15616
15617
15618 static per_sequence_t BEnhancementParameters_sequence[] = {
15619         { "enhancementOptions", EXTENSION_ROOT, NOT_OPTIONAL,
15620                 dissect_h245_EnhancementOptions },
15621         { "numberOfBPictures", EXTENSION_ROOT, NOT_OPTIONAL, 
15622                 dissect_h245_numberOfBPictures },
15623         { NULL, 0, 0, NULL }
15624 };
15625 static int
15626 dissect_h245_BEnhancementParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15627 {
15628         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_BEnhancementParameters, ett_h245_BEnhancementParameters, BEnhancementParameters_sequence);
15629
15630         return offset;
15631 }
15632
15633
15634
15635 static int
15636 dissect_h245_customPCF(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15637 {
15638         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_customPCF, ett_h245_customPCF, dissect_h245_CustomPictureFormat_mPI_customPCF, 1, 16);
15639         return offset;
15640 }
15641
15642
15643
15644
15645 static int
15646 dissect_h245_PixelAspectCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15647 {
15648         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
15649                 tree, hf_h245_PixelAspectCode, 1, 14, 
15650                 NULL, NULL, FALSE);
15651
15652         return offset;
15653 }
15654
15655 static int
15656 dissect_h245_pixelAspectCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15657 {
15658         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_pixelAspectCode, ett_h245_pixelAspectCode, dissect_h245_PixelAspectCode, 1, 14);
15659         return offset;
15660 }
15661
15662
15663
15664 static int dissect_h245_extendedPAR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15665
15666 static const value_string CustomPictureFormat_pixelAspectInformation_vals[] = {
15667         {  0, "anyPixelAspectRatio" },
15668         {  1, "pixelAspectCode" },
15669         {  2, "extendedPAR" },
15670         {  0, NULL }
15671 };
15672 static per_choice_t CustomPictureFormat_pixelAspectInformation_choice[] = {
15673         {  0, "anyPixelAspectRatio", EXTENSION_ROOT, 
15674                 dissect_h245_anyPixelAspectRatio },
15675         {  1, "pixelAspectCode", EXTENSION_ROOT,
15676                 dissect_h245_pixelAspectCode },
15677         {  2, "extendedPAR", EXTENSION_ROOT,
15678                 dissect_h245_extendedPAR },
15679         {  0, NULL, 0, NULL }
15680 };
15681 static int
15682 dissect_h245_CustomPictureFormat_pixelAspectInformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15683 {
15684         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CustomPictureFormat_pixelAspectInformation, ett_h245_CustomPictureFormat_pixelAspectInformation, CustomPictureFormat_pixelAspectInformation_choice, "pixelAspectInformation", NULL);
15685
15686         return offset;
15687 }
15688
15689
15690
15691
15692
15693 static per_sequence_t CustomPictureFormat_sequence[] = {
15694         { "maxCustomPictureWidth", EXTENSION_ROOT, NOT_OPTIONAL,
15695                 dissect_h245_maxCustomPictureWidth },
15696         { "maxCustomPictureHeight", EXTENSION_ROOT, NOT_OPTIONAL,
15697                 dissect_h245_maxCustomPictureHeight},
15698         { "minCustomPictureWidth", EXTENSION_ROOT, NOT_OPTIONAL,
15699                 dissect_h245_minCustomPictureWidth },
15700         { "minCustomPictureHeight", EXTENSION_ROOT, NOT_OPTIONAL,
15701                 dissect_h245_minCustomPictureHeight },
15702         { "mPI", EXTENSION_ROOT, NOT_OPTIONAL,
15703                 dissect_h245_CustomPictureFormat_mPI },
15704         { "pixelAspectInformation", EXTENSION_ROOT, NOT_OPTIONAL,
15705                 dissect_h245_CustomPictureFormat_pixelAspectInformation },
15706         { NULL, 0, 0, NULL }
15707 };
15708 static int
15709 dissect_h245_CustomPictureFormat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15710 {
15711         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CustomPictureFormat, ett_h245_CustomPictureFormat, CustomPictureFormat_sequence);
15712
15713         return offset;
15714 }
15715
15716
15717
15718
15719 static int
15720 dissect_h245_extendedPAR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15721 {
15722         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_extendedPAR, ett_h245_extendedPAR, dissect_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR, 1, 256);
15723         return offset;
15724 }
15725
15726
15727
15728
15729 static int
15730 dissect_h245_h263VideoCoupledModes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15731 {
15732         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_h263VideoCoupledModes, ett_h245_h263VideoCoupledModes, dissect_h245_H263ModeComboFlags, 1, 16);
15733         return offset;
15734 }
15735
15736
15737
15738
15739
15740 static per_sequence_t H263VideoModeCombos_sequence[] = {
15741         { "h263VideoUncoupledModes", EXTENSION_ROOT, NOT_OPTIONAL, 
15742                 dissect_h245_H263ModeComboFlags },
15743         { "h263VideoCoupledModes", EXTENSION_ROOT, NOT_OPTIONAL,
15744                 dissect_h245_h263VideoCoupledModes },
15745         { NULL, 0, 0, NULL }
15746 };
15747 static int
15748 dissect_h245_H263VideoModeCombos(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15749 {
15750         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H263VideoModeCombos, ett_h245_H263VideoModeCombos, H263VideoModeCombos_sequence);
15751
15752         return offset;
15753 }
15754
15755
15756
15757 static int
15758 dissect_h245_capabilityOnMuxStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15759 {
15760         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilityOnMuxStream, ett_h245_capabilityOnMuxStream, dissect_h245_AlternativeCapabilitySet, 1, 256);
15761         return offset;
15762 }
15763
15764
15765
15766
15767 static int
15768 dissect_h245_capabilities(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15769 {
15770         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilities, ett_h245_capabilities, dissect_h245_AlternativeCapabilitySet, 1, 256);
15771         return offset;
15772 }
15773
15774
15775
15776 static per_sequence_t MultiplePayloadStreamCapability_sequence[] = {
15777         { "capabilities", EXTENSION_ROOT, NOT_OPTIONAL,
15778                 dissect_h245_capabilities },
15779         { NULL, 0, 0, NULL }
15780 };
15781 static int
15782 dissect_h245_MultiplePayloadStreamCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15783 {
15784         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplePayloadStreamCapability, ett_h245_MultiplePayloadStreamCapability, MultiplePayloadStreamCapability_sequence);
15785
15786         return offset;
15787 }
15788
15789
15790
15791
15792
15793 static int
15794 dissect_h245_multiplexEntryDescriptors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15795 {
15796         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_multiplexEntryDescriptors, ett_h245_multiplexEntryDescriptors, dissect_h245_MultiplexEntryDescriptor, 1, 15);
15797         return offset;
15798 }
15799
15800
15801
15802 static per_sequence_t MultiplexEntrySend_sequence[] = {
15803         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
15804                 dissect_h245_SequenceNumber },
15805         { "multiplexEntryDescriptors", EXTENSION_ROOT, NOT_OPTIONAL,
15806                 dissect_h245_multiplexEntryDescriptors },
15807         { NULL, 0, 0, NULL }
15808 };
15809 static int
15810 dissect_h245_MultiplexEntrySend(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15811 {
15812         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntrySend, ett_h245_MultiplexEntrySend, MultiplexEntrySend_sequence);
15813
15814         return offset;
15815 }
15816
15817
15818
15819
15820 static int
15821 dissect_h245_multiplexTableEntryNumber_set_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15822 {
15823         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_multiplexTableEntryNumber_set_of, ett_h245_multiplexTableEntryNumber_set_of, dissect_h245_MultiplexTableEntryNumber, 1, 15);
15824         return offset;
15825 }
15826
15827
15828
15829 static per_sequence_t MultiplexEntrySendRelease_sequence[] = {
15830         { "multiplexTableEntryNumber", EXTENSION_ROOT, NOT_OPTIONAL,
15831                 dissect_h245_multiplexTableEntryNumber_set_of },
15832         { NULL, 0, 0, NULL }
15833 };
15834 static int
15835 dissect_h245_MultiplexEntrySendRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15836 {
15837         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntrySendRelease, ett_h245_MultiplexEntrySendRelease, MultiplexEntrySendRelease_sequence);
15838
15839         return offset;
15840 }
15841
15842
15843
15844
15845 static per_sequence_t MultiplexEntrySendAck_sequence[] = {
15846         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
15847                 dissect_h245_SequenceNumber },
15848         { "multiplexTableEntryNumber", EXTENSION_ROOT, NOT_OPTIONAL,
15849                 dissect_h245_multiplexTableEntryNumber_set_of },
15850         { NULL, 0, 0, NULL }
15851 };
15852 static int
15853 dissect_h245_MultiplexEntrySendAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15854 {
15855         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntrySendAck, ett_h245_MultiplexEntrySendAck, MultiplexEntrySendAck_sequence);
15856
15857         return offset;
15858 }
15859
15860
15861
15862
15863
15864 static int
15865 dissect_h245_RMErejectionDescriptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15866 {
15867         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_rejectionDescriptions, ett_h245_rejectionDescriptions, dissect_h245_RequestMultiplexEntryRejectionDescriptions, 1, 15);
15868         return offset;
15869 }
15870
15871
15872 static int
15873 dissect_h245_rejectionDescriptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15874 {
15875         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_rejectionDescriptions, ett_h245_rejectionDescriptions, dissect_h245_MultiplexEntryRejectionDescriptions, 1, 15);
15876         return offset;
15877 }
15878
15879
15880
15881
15882
15883
15884 static per_sequence_t MultiplexEntrySendReject_sequence[] = {
15885         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
15886                 dissect_h245_SequenceNumber },
15887         { "rejectionDescriptions", EXTENSION_ROOT, NOT_OPTIONAL,
15888                 dissect_h245_rejectionDescriptions },
15889         { NULL, 0, 0, NULL }
15890 };
15891 static int
15892 dissect_h245_MultiplexEntrySendReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15893 {
15894         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexEntrySendReject, ett_h245_MultiplexEntrySendReject, MultiplexEntrySendReject_sequence);
15895
15896         return offset;
15897 }
15898
15899
15900
15901
15902 static int
15903 dissect_h245_entryNumbers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15904 {
15905         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_entryNumbers, ett_h245_entryNumbers, dissect_h245_MultiplexTableEntryNumber, 1, 15);
15906         return offset;
15907 }
15908
15909
15910
15911
15912 static per_sequence_t RequestMultiplexEntry_sequence[] = {
15913         { "entryNumbers", EXTENSION_ROOT, NOT_OPTIONAL,
15914                 dissect_h245_entryNumbers },
15915         { NULL, 0, 0, NULL }
15916 };
15917 static int
15918 dissect_h245_RequestMultiplexEntry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15919 {
15920         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntry, ett_h245_RequestMultiplexEntry, RequestMultiplexEntry_sequence);
15921
15922         return offset;
15923 }
15924
15925
15926
15927 static per_sequence_t RequestMultiplexEntryAck_sequence[] = {
15928         { "entryNumbers", EXTENSION_ROOT, NOT_OPTIONAL,
15929                 dissect_h245_entryNumbers },
15930         { NULL, 0, 0, NULL }
15931 };
15932 static int
15933 dissect_h245_RequestMultiplexEntryAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15934 {
15935         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntryAck, ett_h245_RequestMultiplexEntryAck, RequestMultiplexEntryAck_sequence);
15936
15937         return offset;
15938 }
15939
15940
15941
15942
15943 static per_sequence_t RequestMultiplexEntryReject_sequence[] = {
15944         { "entryNumbers", EXTENSION_ROOT, NOT_OPTIONAL,
15945                 dissect_h245_entryNumbers },
15946         { "rejectionDescriptions", EXTENSION_ROOT, NOT_OPTIONAL,
15947                 dissect_h245_RMErejectionDescriptions },
15948         { NULL, 0, 0, NULL }
15949 };
15950 static int
15951 dissect_h245_RequestMultiplexEntryReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15952 {
15953         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntryReject, ett_h245_RequestMultiplexEntryReject, RequestMultiplexEntryReject_sequence);
15954
15955         return offset;
15956 }
15957
15958
15959
15960
15961
15962 static per_sequence_t RequestMultiplexEntryRelease_sequence[] = {
15963         { "entryNumbers", EXTENSION_ROOT, NOT_OPTIONAL,
15964                 dissect_h245_entryNumbers },
15965         { NULL, 0, 0, NULL }
15966 };
15967 static int
15968 dissect_h245_RequestMultiplexEntryRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15969 {
15970         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestMultiplexEntryRelease, ett_h245_RequestMultiplexEntryRelease, RequestMultiplexEntryRelease_sequence);
15971
15972         return offset;
15973 }
15974
15975
15976
15977 static int dissect_h245_ModeElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15978
15979 static int
15980 dissect_h245_ModeDescription(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
15981 {
15982         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_ModeDescription, ett_h245_ModeDescription, dissect_h245_ModeElement, 1, 256);
15983         return offset;
15984 }
15985
15986
15987
15988
15989 static int dissect_h245_CommunicationModeTableEntry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
15990
15991 static int
15992 dissect_h245_communicationModeTable(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_communicationModeTable, ett_h245_communicationModeTable, dissect_h245_CommunicationModeTableEntry, 1, 256);
15995         return offset;
15996 }
15997
15998
15999
16000
16001
16002 static per_sequence_t CommunicationModeCommand_sequence[] = {
16003         { "communicationModeTable", EXTENSION_ROOT, NOT_OPTIONAL,
16004                 dissect_h245_communicationModeTable },
16005         { NULL, 0, 0, NULL }
16006 };
16007 static int
16008 dissect_h245_CommunicationModeCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16009 {
16010         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CommunicationModeCommand, ett_h245_CommunicationModeCommand, CommunicationModeCommand_sequence);
16011
16012         return offset;
16013 }
16014
16015
16016
16017
16018
16019 static const value_string CommunicationModeResponse_vals[] = {
16020         {  0, "communicationModeTable" },
16021         {  0, NULL }
16022 };
16023 static per_choice_t CommunicationModeResponse_choice[] = {
16024         {  0, "communicationModeTable", EXTENSION_ROOT,
16025                 dissect_h245_communicationModeTable },
16026         {  0, NULL, 0, NULL }
16027 };
16028 static int
16029 dissect_h245_CommunicationModeResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16030 {
16031         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CommunicationModeResponse, ett_h245_CommunicationModeResponse, CommunicationModeResponse_choice, "CommunicationModeResponse", NULL);
16032
16033         return offset;
16034 }
16035
16036
16037
16038
16039
16040 static int
16041 dissect_h245_terminalListResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16042 {
16043         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_terminalListResponse, ett_h245_terminalListResponse, dissect_h245_TerminalLabel, 1, 256);
16044         return offset;
16045 }
16046
16047
16048
16049
16050 static int dissect_h245_DialingInformationNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
16051
16052 static int
16053 dissect_h245_differential(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16054 {
16055         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_differential, ett_h245_differential, dissect_h245_DialingInformationNumber, 1, 65535);
16056         return offset;
16057 }
16058
16059
16060
16061
16062
16063 static const value_string DialingInformation_vals[] = {
16064         {  0, "nonStandard" },
16065         {  1, "differential" },
16066         {  2, "infoNotAvailable" },
16067         {  0, NULL }
16068 };
16069 static per_choice_t DialingInformation_choice[] = {
16070         {  0, "nonStandard", EXTENSION_ROOT,
16071                 dissect_h245_NonStandardMessage },
16072         {  1, "differential", EXTENSION_ROOT,
16073                 dissect_h245_differential },
16074         {  2, "infoNotAvailable", EXTENSION_ROOT,
16075                 dissect_h245_infoNotAvailable },
16076         {  0, NULL, 0, NULL }
16077 };
16078 static int
16079 dissect_h245_DialingInformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16080 {
16081         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DialingInformation, ett_h245_DialingInformation, DialingInformation_choice, "DialingInformation", NULL);
16082
16083         return offset;
16084 }
16085
16086
16087
16088
16089
16090 static per_sequence_t MultilinkResponse_callInformation_sequence[] = {
16091         { "dialingInformation", EXTENSION_ROOT, NOT_OPTIONAL,
16092                 dissect_h245_DialingInformation },
16093         { "callAssociationNumber", EXTENSION_ROOT, NOT_OPTIONAL,
16094                 dissect_h245_callAssociationNumber },
16095         { NULL, 0, 0, NULL }
16096 };
16097 static int
16098 dissect_h245_MultilinkResponse_callInformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16099 {
16100         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse_callInformation, ett_h245_MultilinkResponse_callInformation, MultilinkResponse_callInformation_sequence);
16101
16102         return offset;
16103 }
16104
16105
16106
16107
16108
16109
16110 static const value_string MultilinkResponse_vals[] = {
16111         {  0, "nonStandard" },
16112         {  1, "callInformation" },
16113         {  2, "addConnection" },
16114         {  3, "removeConnection" },
16115         {  4, "maximumHeaderInterval" },
16116         {  0, NULL }
16117 };
16118 static per_choice_t MultilinkResponse_choice[] = {
16119         {  0, "nonStandard", EXTENSION_ROOT,
16120                 dissect_h245_NonStandardMessage },
16121         {  1, "callInformation", EXTENSION_ROOT,
16122                 dissect_h245_MultilinkResponse_callInformation },
16123         {  2, "addConnection", EXTENSION_ROOT, 
16124                 dissect_h245_MultilinkResponse_addConnection },
16125         {  3, "removeConnection", EXTENSION_ROOT,
16126                 dissect_h245_MultilinkResponse_removeConnection },
16127         {  4, "maximumHeaderInterval", EXTENSION_ROOT,
16128                 dissect_h245_MultilinkResponse_maximumHeaderInterval },
16129         {  0, NULL, 0, NULL }
16130 };
16131 static int
16132 dissect_h245_MultilinkResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16133 {
16134         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultilinkResponse, ett_h245_MultilinkResponse, MultilinkResponse_choice, "MultilinkResponse", NULL);
16135
16136         return offset;
16137 }
16138
16139
16140
16141
16142 static per_sequence_t MultilinkRequest_addConnection_sequence[] = {
16143         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
16144                 dissect_h245_SequenceNumber },
16145         { "dialingInformation", EXTENSION_ROOT, NOT_OPTIONAL,
16146                 dissect_h245_DialingInformation },
16147         { NULL, 0, 0, NULL }
16148 };
16149 static int
16150 dissect_h245_MultilinkRequest_addConnection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16151 {
16152         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest_addConnection, ett_h245_MultilinkRequest_addConnection, MultilinkRequest_addConnection_sequence);
16153
16154         return offset;
16155 }
16156
16157
16158
16159
16160
16161 static const value_string MultilinkRequest_vals[] = {
16162         {  0, "nonStandard" },
16163         {  1, "callInformation" },
16164         {  2, "addConnection" },
16165         {  3, "removeConnection" },
16166         {  4, "maximumHeaderInterval" },
16167         {  0, NULL }
16168 };
16169 static per_choice_t MultilinkRequest_choice[] = {
16170         {  0, "nonStandard", EXTENSION_ROOT,
16171                 dissect_h245_NonStandardMessage },
16172         {  1, "callInformation", EXTENSION_ROOT,
16173                 dissect_h245_MultilinkRequest_callInformation },
16174         {  2, "addConnection", EXTENSION_ROOT,
16175                 dissect_h245_MultilinkRequest_addConnection },
16176         {  3, "removeConnection", EXTENSION_ROOT,
16177                 dissect_h245_MultilinkRequest_removeConnection },
16178         {  4, "maximumHeaderInterval", EXTENSION_ROOT,
16179                 dissect_h245_MultilinkRequest_maximumHeaderInterval },
16180         {  0, NULL, 0, NULL }
16181 };
16182 static int
16183 dissect_h245_MultilinkRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16184 {
16185         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultilinkRequest, ett_h245_MultilinkRequest, MultilinkRequest_choice, "MultilinkRequest", NULL);
16186
16187         return offset;
16188 }
16189
16190
16191
16192
16193
16194 static int
16195 dissect_h245_networkType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16196 {
16197         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_networkType, ett_h245_networkType, dissect_h245_DialingInformationNetworkType, 1, 255);
16198         return offset;
16199 }
16200
16201
16202
16203
16204
16205 static int
16206 dissect_h245_capabilityTableEntryNumbers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16207 {
16208         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilityTableEntryNumbers, ett_h245_capabilityTableEntryNumbers, dissect_h245_CapabilityTableEntryNumber, 1, 65535);
16209         return offset;
16210 }
16211
16212
16213
16214
16215 static int
16216 dissect_h245_capabilityDescriptorNumbers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16217 {
16218         offset=dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_h245_capabilityDescriptorNumbers, ett_h245_capabilityDescriptorNumbers, dissect_h245_CapabilityDescriptorNumber, 1, 256);
16219         return offset;
16220 }
16221
16222
16223
16224
16225 static per_sequence_t SendTerminalCapabilitySet_specificRequest_sequence[] = {
16226         { "multiplexCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
16227                 dissect_h245_multiplexCapability_bool },
16228         { "capabilityTableEntryNumbers", EXTENSION_ROOT, OPTIONAL,
16229                 dissect_h245_capabilityTableEntryNumbers },
16230         { "capabilityDescriptorNumbers", EXTENSION_ROOT, OPTIONAL,
16231                 dissect_h245_capabilityDescriptorNumbers },
16232         { NULL, 0, 0, NULL }
16233 };
16234 static int
16235 dissect_h245_SendTerminalCapabilitySet_specificRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16236 {
16237         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_SendTerminalCapabilitySet_specificRequest, ett_h245_SendTerminalCapabilitySet_specificRequest, SendTerminalCapabilitySet_specificRequest_sequence);
16238
16239         return offset;
16240 }
16241
16242
16243
16244
16245
16246 static const value_string SendTerminalCapabilitySet_vals[] = {
16247         {  0, "specificRequest" },
16248         {  1, "genericRequest" },
16249         {  0, NULL }
16250 };
16251 static per_choice_t SendTerminalCapabilitySet_choice[] = {
16252         {  0, "specificRequest", EXTENSION_ROOT,
16253                 dissect_h245_SendTerminalCapabilitySet_specificRequest },
16254         {  1, "genericRequest", EXTENSION_ROOT, 
16255                 dissect_h245_NULL },
16256         {  0, NULL, 0, NULL }
16257 };
16258 static int
16259 dissect_h245_SendTerminalCapabilitySet(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16260 {
16261         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_SendTerminalCapabilitySet, ett_h245_SendTerminalCapabilitySet, SendTerminalCapabilitySet_choice, "SendTerminalCapabilitySet", NULL);
16262
16263         return offset;
16264 }
16265
16266
16267
16268
16269
16270
16271 static int
16272 dissect_h245_audioTelephoneEvent(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16273 {
16274         offset=dissect_per_GeneralString(tvb, offset, pinfo, tree, hf_h245_audioTelephoneEvent);
16275         return offset;
16276 }
16277
16278
16279
16280
16281
16282 static per_sequence_t AudioTelephonyEventCapability_sequence[] = {
16283         { "dynamicRTPPayloadType", EXTENSION_ROOT, NOT_OPTIONAL,
16284                 dissect_h245_dynamicRTPPayloadType },
16285         { "audioTelephoneEvent", EXTENSION_ROOT, NOT_OPTIONAL,
16286                 dissect_h245_audioTelephoneEvent },
16287         { NULL, 0, 0, NULL }
16288 };
16289 static int
16290 dissect_h245_AudioTelephonyEventCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16291 {
16292         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_AudioTelephonyEventCapability, ett_h245_AudioTelephonyEventCapability, AudioTelephonyEventCapability_sequence);
16293
16294         return offset;
16295 }
16296
16297
16298
16299
16300
16301
16302 static per_sequence_t NoPTAudioTelephonyEventCapability_sequence[] = {
16303         { "audioTelephoneEvent", EXTENSION_ROOT, NOT_OPTIONAL,
16304                 dissect_h245_audioTelephoneEvent },
16305         { NULL, 0, 0, NULL }
16306 };
16307 static int
16308 dissect_h245_NoPTAudioTelephonyEventCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16309 {
16310         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NoPTAudioTelephonyEventCapability, ett_h245_NoPTAudioTelephonyEventCapability, NoPTAudioTelephonyEventCapability_sequence);
16311
16312         return offset;
16313 }
16314
16315
16316
16317
16318 static const value_string AudioCapability_vals[] = {
16319         {  0, "nonStandard" },
16320         {  1, "g711Alaw64k" },
16321         {  2, "g711Alaw56k" },
16322         {  3, "g711Ulaw64k" },
16323         {  4, "g711Ulaw56k" },
16324         {  5, "g722-64k" },
16325         {  6, "g722-56k" },
16326         {  7, "g722-48k" },
16327         {  8, "g7231" },
16328         {  9, "g728" },
16329         { 10, "g729" },
16330         { 11, "g729AnnexA" },
16331         { 12, "is11172AudioCapability" },
16332         { 13, "is13818AudioCapability" },
16333         { 14, "g729wAnnexB" },
16334         { 15, "g729AnnexAwAnnexB" },
16335         { 16, "g7231AnnexCCapability" },
16336         { 17, "gsmFullRate" },
16337         { 18, "gsmHalfRate" },
16338         { 19, "gsmEnhancedFullRate" },
16339         { 20, "genericAudioCapability" },
16340         { 21, "g729Extensions" },
16341         { 22, "vbd" },
16342         { 23, "audioTelephonyEvent" },
16343         { 24, "audioTone" },
16344         {  0, NULL }
16345 };
16346 static per_choice_t AudioCapability_choice[] = {
16347         {  0, "nonStandard", EXTENSION_ROOT,
16348                 dissect_h245_NonStandardParameter },
16349         {  1, "g711Alaw64k", EXTENSION_ROOT,
16350                 dissect_h245_g711Alaw64k },
16351         {  2, "g711Alaw56k", EXTENSION_ROOT,
16352                 dissect_h245_g711Alaw56k },
16353         {  3, "g711Ulaw64k", EXTENSION_ROOT, 
16354                 dissect_h245_g711Ulaw64k },
16355         {  4, "g711Ulaw56k", EXTENSION_ROOT, 
16356                 dissect_h245_g711Ulaw56k },
16357         {  5, "g722-64k", EXTENSION_ROOT, 
16358                 dissect_h245_g722_64k },
16359         {  6, "g722-56k", EXTENSION_ROOT,
16360                 dissect_h245_g722_56k },
16361         {  7, "g722-48k", EXTENSION_ROOT,
16362                 dissect_h245_g722_48k },
16363         {  8, "g7231", EXTENSION_ROOT,
16364                 dissect_h245_AudioCapability_g7231 },
16365         {  9, "g728", EXTENSION_ROOT,
16366                 dissect_h245_g728 },
16367         { 10, "g729", EXTENSION_ROOT,
16368                 dissect_h245_g729 },
16369         { 11, "g729AnnexA", EXTENSION_ROOT,
16370                 dissect_h245_g729AnnexA },
16371         { 12, "is11172AudioCapability", EXTENSION_ROOT,
16372                 dissect_h245_IS11172AudioCapability },
16373         { 13, "is13818AudioCapability", EXTENSION_ROOT,
16374                 dissect_h245_IS13818AudioCapability },
16375         { 14, "g729wAnnexB", NOT_EXTENSION_ROOT,
16376                 dissect_h245_g729wAnnexB },
16377         { 15, "g729AnnexAwAnnexB", NOT_EXTENSION_ROOT,
16378                 dissect_h245_g729AnnexAwAnnexB },
16379         { 16, "g7231AnnexCCapability", NOT_EXTENSION_ROOT,
16380                 dissect_h245_G7231AnnexCCapability },
16381         { 17, "gsmFullRate", NOT_EXTENSION_ROOT,
16382                 dissect_h245_GSMAudioCapability },
16383         { 18, "gsmHalfRate", NOT_EXTENSION_ROOT,
16384                 dissect_h245_GSMAudioCapability },
16385         { 19, "gsmEnhancedFullRate", NOT_EXTENSION_ROOT,
16386                 dissect_h245_GSMAudioCapability },
16387         { 20, "genericAudioCapability", NOT_EXTENSION_ROOT,
16388                 dissect_h245_GenericCapability },
16389         { 21, "g729Extensions", NOT_EXTENSION_ROOT,
16390                 dissect_h245_G729Extensions },
16391         { 22, "vbd", NOT_EXTENSION_ROOT,
16392                 dissect_h245_VBDCapability },
16393         { 23, "audioTelephonyEvent", NOT_EXTENSION_ROOT,
16394                 dissect_h245_NoPTAudioTelephonyEventCapability },
16395         { 24, "audioTone", NOT_EXTENSION_ROOT,
16396                 dissect_h245_NoPTAudioToneCapability },
16397         {  0, NULL, 0, NULL }
16398 };
16399 static int
16400 dissect_h245_AudioCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16401 {
16402         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_AudioCapability, ett_h245_AudioCapability, AudioCapability_choice, "AudioCapability", NULL);
16403
16404         return offset;
16405 }
16406
16407
16408
16409
16410
16411 static const value_string H235Media_mediaType_vals[] = {
16412         {  0, "nonStandard" },
16413         {  1, "videoData" },
16414         {  2, "audioData" },
16415         {  3, "data" },
16416         {  0, NULL }
16417 };
16418 static per_choice_t H235Media_mediaType_choice[] = {
16419         {  0, "nonStandard", EXTENSION_ROOT,
16420                 dissect_h245_NonStandardParameter },
16421         {  1, "videoData", EXTENSION_ROOT,
16422                 dissect_h245_VideoCapability },
16423         {  2, "audioData", EXTENSION_ROOT,
16424                 dissect_h245_AudioCapability },
16425         {  3, "data", EXTENSION_ROOT,
16426                 dissect_h245_DataApplicationCapability },
16427         {  0, NULL, 0, NULL }
16428 };
16429 static int
16430 dissect_h245_H235Media_mediaType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16431 {
16432         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H235Media_mediaType, ett_h245_H235Media_mediaType, H235Media_mediaType_choice, "mediaType", NULL);
16433
16434         return offset;
16435 }
16436
16437
16438
16439
16440
16441
16442 static const value_string CommunicationModeTableEntry_dataType_vals[] = {
16443         {  0, "videoData" },
16444         {  1, "audioData" },
16445         {  2, "data" },
16446         {  0, NULL }
16447 };
16448 static per_choice_t CommunicationModeTableEntry_dataType_choice[] = {
16449         {  0, "videoData", EXTENSION_ROOT,
16450                 dissect_h245_VideoCapability },
16451         {  1, "audioData", EXTENSION_ROOT,
16452                 dissect_h245_AudioCapability },
16453         {  2, "data", EXTENSION_ROOT,
16454                 dissect_h245_DataApplicationCapability },
16455         {  0, NULL, 0, NULL }
16456 };
16457 static int
16458 dissect_h245_CommunicationModeTableEntry_dataType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16459 {
16460         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CommunicationModeTableEntry_dataType, ett_h245_CommunicationModeTableEntry_dataType, CommunicationModeTableEntry_dataType_choice, "dataType", NULL);
16461
16462         return offset;
16463 }
16464
16465
16466
16467
16468
16469 static per_sequence_t H235Media_sequence[] = {
16470         { "encryptionAuthenticationAndIntegrity", EXTENSION_ROOT, NOT_OPTIONAL,
16471                 dissect_h245_EncryptionAuthenticationAndIntegrity },
16472         { "mediaType", EXTENSION_ROOT, NOT_OPTIONAL,
16473                 dissect_h245_H235Media_mediaType },
16474         { NULL, 0, 0, NULL }
16475 };
16476 static int
16477 dissect_h245_H235Media(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16478 {
16479         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H235Media, ett_h245_H235Media, H235Media_sequence);
16480
16481         return offset;
16482 }
16483
16484
16485
16486
16487
16488 static int
16489 dissect_h245_alphanumeric(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16490 {
16491         offset=dissect_per_GeneralString(tvb, offset, pinfo, tree, hf_h245_alphanumeric);
16492         return offset;
16493 }
16494
16495
16496
16497
16498
16499
16500 static const value_string UserInputIndication_userInputSupportIndication_vals[] = {
16501         {  0, "nonStandard" },
16502         {  1, "basicString" },
16503         {  2, "iA5String" },
16504         {  3, "generalString" },
16505         {  0, NULL }
16506 };
16507 static per_choice_t UserInputIndication_userInputSupportIndication_choice[] = {
16508         {  0, "nonStandard", EXTENSION_ROOT,
16509                 dissect_h245_NonStandardParameter },
16510         {  1, "basicString", EXTENSION_ROOT, 
16511                 dissect_h245_NULL },
16512         {  2, "iA5String", EXTENSION_ROOT, 
16513                 dissect_h245_NULL },
16514         {  3, "generalString", EXTENSION_ROOT, 
16515                 dissect_h245_NULL },
16516         {  0, NULL, 0, NULL }
16517 };
16518 static int
16519 dissect_h245_UserInputIndication_userInputSupportIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16520 {
16521         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_userInputSupportIndication, ett_h245_UserInputIndication_userInputSupportIndication, UserInputIndication_userInputSupportIndication_choice, "userInputSupportIndication", NULL);
16522
16523         return offset;
16524 }
16525
16526
16527
16528
16529 static per_sequence_t UserInputIndication_extendedAlphanumeric_sequence[] = {
16530         { "alphanumeric", EXTENSION_ROOT, NOT_OPTIONAL,
16531                 dissect_h245_alphanumeric },
16532         { "rtpPayloadIndication", EXTENSION_ROOT, OPTIONAL, 
16533                 dissect_h245_NULL },
16534         { NULL, 0, 0, NULL }
16535 };
16536 static int
16537 dissect_h245_UserInputIndication_extendedAlphanumeric(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16538 {
16539         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_extendedAlphanumeric, ett_h245_UserInputIndication_extendedAlphanumeric, UserInputIndication_extendedAlphanumeric_sequence);
16540
16541         return offset;
16542 }
16543
16544
16545 static int
16546 dissect_h245_rfcnumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16547 {
16548         offset=dissect_per_constrained_integer(tvb, offset, pinfo, 
16549                 tree, hf_h245_rfc_number, 1, 32768, 
16550                 NULL, NULL, TRUE);
16551         return offset;
16552 }
16553
16554
16555
16556
16557 static const value_string RTPPayloadType_payloadDescriptor_vals[] = {
16558         {  0, "nonStandardIdentifier" },
16559         {  1, "rfc-number" },
16560         {  2, "oid" },
16561         {  0, NULL }
16562 };
16563 static per_choice_t RTPPayloadType_payloadDescriptor_choice[] = {
16564         {  0, "nonStandardIdentifier", EXTENSION_ROOT,
16565                 dissect_h245_NonStandardParameter },
16566         {  1, "rfc-number", EXTENSION_ROOT,
16567                 dissect_h245_rfcnumber },
16568         {  2, "oid", EXTENSION_ROOT,
16569                 dissect_h245_oid },
16570         {  0, NULL, 0, NULL }
16571 };
16572 static int
16573 dissect_h245_RTPPayloadType_payloadDescriptor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16574 {
16575         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RTPPayloadType_payloadDescriptor, ett_h245_RTPPayloadType_payloadDescriptor, RTPPayloadType_payloadDescriptor_choice, "payloadDescriptor", NULL);
16576
16577         return offset;
16578 }
16579
16580
16581
16582
16583
16584 static per_sequence_t RTPPayloadType_sequence[] = {
16585         { "payloadDescriptor", EXTENSION_ROOT, NOT_OPTIONAL,
16586                 dissect_h245_RTPPayloadType_payloadDescriptor },
16587         { "payloadType", EXTENSION_ROOT, OPTIONAL,
16588                 dissect_h245_payloadType },
16589         { NULL, 0, 0, NULL }
16590 };
16591 static int
16592 dissect_h245_RTPPayloadType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16593 {
16594         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RTPPayloadType, ett_h245_RTPPayloadType, RTPPayloadType_sequence);
16595
16596         return offset;
16597 }
16598
16599
16600
16601
16602
16603
16604 static const value_string H2250LogicalChannelParameters_mediaPacketization_vals[] = {
16605         {  0, "h261aVideoPacketization" },
16606         {  1, "rtpPayloadType" },
16607         {  0, NULL }
16608 };
16609 static per_choice_t H2250LogicalChannelParameters_mediaPacketization_choice[] = {
16610         {  0, "h261aVideoPacketization", EXTENSION_ROOT, 
16611                 dissect_h245_NULL },
16612         {  1, "rtpPayloadType", NOT_EXTENSION_ROOT,
16613                 dissect_h245_RTPPayloadType },
16614         {  0, NULL, 0, NULL }
16615 };
16616 static int
16617 dissect_h245_H2250LogicalChannelParameters_mediaPacketization(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16618 {
16619         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H2250LogicalChannelParameters_mediaPacketization, ett_h245_H2250LogicalChannelParameters_mediaPacketization, H2250LogicalChannelParameters_mediaPacketization_choice, "mediaPacketization", NULL);
16620
16621         return offset;
16622 }
16623
16624
16625
16626
16627
16628 static int dissect_h245_mediaDistributionCapability_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
16629 static per_sequence_t MultipointCapability_sequence[] = {
16630         { "multicastCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
16631                 dissect_h245_multicastCapability },
16632         { "multiUniCastConference", EXTENSION_ROOT, NOT_OPTIONAL, 
16633                 dissect_h245_multiUniCastConference },
16634         { "mediaDistributionCapability", EXTENSION_ROOT, NOT_OPTIONAL,
16635                 dissect_h245_mediaDistributionCapability_sequence_of },
16636         { NULL, 0, 0, NULL }
16637 };
16638 static int
16639 dissect_h245_receiveMultipointCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16640 {
16641         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_receiveMultipointCapability, ett_h245_MultipointCapability, MultipointCapability_sequence);
16642
16643         return offset;
16644 }
16645 static int
16646 dissect_h245_transmitMultipointCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16647 {
16648         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_transmitMultipointCapability, ett_h245_MultipointCapability, MultipointCapability_sequence);
16649
16650         return offset;
16651 }
16652 static int
16653 dissect_h245_receiveAndTransmitMultipointCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16654 {
16655         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_receiveAndTransmitMultipointCapability, ett_h245_MultipointCapability, MultipointCapability_sequence);
16656
16657         return offset;
16658 }
16659
16660
16661
16662
16663 static per_sequence_t H2250Capability_sequence[] = {
16664         { "maximumAudioDelayJitter", EXTENSION_ROOT, NOT_OPTIONAL,
16665                 dissect_h245_maximumAudioDelayJitter },
16666         { "receiveMultipointCapability", EXTENSION_ROOT, NOT_OPTIONAL,
16667                 dissect_h245_receiveMultipointCapability },
16668         { "transmitMultipointCapability", EXTENSION_ROOT, NOT_OPTIONAL,
16669                 dissect_h245_transmitMultipointCapability },
16670         { "receiveAndTransmitMultipointCapability", EXTENSION_ROOT, NOT_OPTIONAL,
16671                 dissect_h245_receiveAndTransmitMultipointCapability },
16672         { "mcCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
16673                 dissect_h245_H2250Capability_mcCapability },
16674         { "rtcpVideoControlCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
16675                 dissect_h245_rtcpVideoControlCapability },
16676         { "mediaPacketizationCapability", EXTENSION_ROOT, NOT_OPTIONAL, 
16677                 dissect_h245_MediaPacketizationCapability },
16678         { "transportCapability", NOT_EXTENSION_ROOT, OPTIONAL,
16679                 dissect_h245_TransportCapability },
16680         { "redundancyEncodingCapability", NOT_EXTENSION_ROOT, OPTIONAL,
16681                 dissect_h245_RedundancyEncodingCapability_sequence_of },
16682         { "logicalChannelSwitchingCapability", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
16683                 dissect_h245_logicalChannelSwitchingCapability },
16684         { "t120DynamicPortCapability", NOT_EXTENSION_ROOT, NOT_OPTIONAL, 
16685                 dissect_h245_t120DynamicPortCapability },
16686         { NULL, 0, 0, NULL }
16687 };
16688 static int
16689 dissect_h245_H2250Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16690 {
16691         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250Capability, ett_h245_H2250Capability, H2250Capability_sequence);
16692
16693         return offset;
16694 }
16695
16696
16697
16698
16699
16700
16701 static int dissect_h245_DataType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
16702 static per_sequence_t RedundancyEncodingElement_sequence[] = {
16703         { "dataType", EXTENSION_ROOT, NOT_OPTIONAL,
16704                 dissect_h245_DataType },
16705         { "payloadType", EXTENSION_ROOT, OPTIONAL,
16706                 dissect_h245_payloadType },
16707         { NULL, 0, 0, NULL }
16708 };
16709 static int
16710 dissect_h245_RedundancyEncodingElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16711 {
16712         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingElement, ett_h245_RedundancyEncodingElement, RedundancyEncodingElement_sequence);
16713
16714         return offset;
16715 }
16716
16717
16718
16719
16720
16721 static per_sequence_t RedundancyEncoding_rtpRedundancyEncoding_sequence[] = {
16722         { "primary", EXTENSION_ROOT, OPTIONAL,
16723                 dissect_h245_RedundancyEncodingElement },
16724         { "secondary", EXTENSION_ROOT, OPTIONAL,
16725                 dissect_h245_secondary_REE_sequence_of },
16726         { NULL, 0, 0, NULL }
16727 };
16728 static int
16729 dissect_h245_RedundancyEncoding_rtpRedundancyEncoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16730 {
16731         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncoding_rtpRedundancyEncoding, ett_h245_RedundancyEncoding_rtpRedundancyEncoding, RedundancyEncoding_rtpRedundancyEncoding_sequence);
16732
16733         return offset;
16734 }
16735
16736
16737
16738
16739
16740 static per_sequence_t RedundancyEncoding_sequence[] = {
16741         { "redundancyEncodingMethod", EXTENSION_ROOT, NOT_OPTIONAL,
16742                 dissect_h245_RedundancyEncodingMethod },
16743         { "secondaryEncoding", EXTENSION_ROOT, OPTIONAL,
16744                 dissect_h245_DataType },
16745         { "rtpRedundancyEncoding", NOT_EXTENSION_ROOT, OPTIONAL,
16746                 dissect_h245_RedundancyEncoding_rtpRedundancyEncoding },
16747         { NULL, 0, 0, NULL }
16748 };
16749 static int
16750 dissect_h245_RedundancyEncoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16751 {
16752         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncoding, ett_h245_RedundancyEncoding, RedundancyEncoding_sequence);
16753
16754         return offset;
16755 }
16756
16757
16758
16759
16760 static per_sequence_t H2250LogicalChannelParameters_sequence[] = {
16761         { "nonStandard", EXTENSION_ROOT, OPTIONAL,
16762                 dissect_h245_nonStandardData_sequence_of },
16763         { "sessionID", EXTENSION_ROOT, NOT_OPTIONAL,
16764                 dissect_h245_sessionID_0_255 },
16765         { "associatedSessionID", EXTENSION_ROOT, OPTIONAL,
16766                 dissect_h245_associatedSessionID },
16767         { "mediaChannel", EXTENSION_ROOT, OPTIONAL,
16768                 dissect_h245_mediaChannel },
16769         { "mediaGuaranteedDelivery", EXTENSION_ROOT, OPTIONAL,
16770                 dissect_h245_mediaGuaranteedDelivery },
16771         { "mediaControlChannel", EXTENSION_ROOT, OPTIONAL,
16772                 dissect_h245_mediaControlChannel },
16773         { "mediaControlGuaranteedDelivery", EXTENSION_ROOT, OPTIONAL,
16774                 dissect_h245_mediaControlGuaranteedDelivery },
16775         { "silenceSuppression", EXTENSION_ROOT, OPTIONAL, 
16776                 dissect_h245_silenceSuppression },
16777         { "destination", EXTENSION_ROOT, OPTIONAL,
16778                 dissect_h245_TerminalLabel },
16779         { "dynamicRTPPayloadType", EXTENSION_ROOT, OPTIONAL,
16780                 dissect_h245_dynamicRTPPayloadType },
16781         { "mediaPacketization", EXTENSION_ROOT, OPTIONAL,
16782                 dissect_h245_H2250LogicalChannelParameters_mediaPacketization },
16783         { "transportCapability", NOT_EXTENSION_ROOT, OPTIONAL,
16784                 dissect_h245_TransportCapability },
16785         { "redundancyEncoding", NOT_EXTENSION_ROOT, OPTIONAL,
16786                 dissect_h245_RedundancyEncoding },
16787         { "source", NOT_EXTENSION_ROOT, OPTIONAL,
16788                 dissect_h245_TerminalLabel },
16789         { NULL, 0, 0, NULL }
16790 };
16791 static int
16792 dissect_h245_H2250LogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16793 {
16794         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250LogicalChannelParameters, ett_h245_H2250LogicalChannelParameters, H2250LogicalChannelParameters_sequence);
16795
16796         return offset;
16797 }
16798
16799
16800
16801
16802 static const value_string forwardLogicalChannelParameters_multiplexParameters_vals[] = {
16803         {  0, "h222LogicalChannelParameters" },
16804         {  1, "h223LogicalChannelParameters" },
16805         {  2, "v76LogicalChannelParameters" },
16806         {  3, "h2250LogicalChannelParameters" },
16807         {  4, "none" },
16808         {  0, NULL }
16809 };
16810 static per_choice_t forwardLogicalChannelParameters_multiplexParameters_choice[] = {
16811         {  0, "h222LogicalChannelParameters", EXTENSION_ROOT,
16812                 dissect_h245_H222LogicalChannelParameters },
16813         {  1, "h223LogicalChannelParameters", EXTENSION_ROOT,
16814                 dissect_h245_H223LogicalChannelParameters },
16815         {  2, "v76LogicalChannelParameters", EXTENSION_ROOT,
16816                 dissect_h245_V76LogicalChannelParameters },
16817         {  3, "h2250LogicalChannelParameters", NOT_EXTENSION_ROOT,
16818                 dissect_h245_H2250LogicalChannelParameters },
16819         {  4, "none", NOT_EXTENSION_ROOT, 
16820                 dissect_h245_NULL },
16821         {  0, NULL, 0, NULL }
16822 };
16823 static int
16824 dissect_h245_forwardLogicalChannelParameters_multiplexParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16825 {
16826         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_forwardLogicalChannelParameters_multiplexParameters, ett_h245_forwardLogicalChannelParameters_multiplexParameters, forwardLogicalChannelParameters_multiplexParameters_choice, "multiplexParameters", NULL);
16827
16828         return offset;
16829 }
16830
16831
16832
16833
16834
16835 static per_sequence_t MultiplePayloadStreamElement_sequence[] = {
16836         { "dataType", EXTENSION_ROOT, NOT_OPTIONAL,
16837                 dissect_h245_DataType },
16838         { "payloadType", EXTENSION_ROOT, OPTIONAL,
16839                 dissect_h245_payloadType },
16840         { NULL, 0, 0, NULL }
16841 };
16842 static int
16843 dissect_h245_MultiplePayloadStreamElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16844 {
16845         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplePayloadStreamElement, ett_h245_MultiplePayloadStreamElement, MultiplePayloadStreamElement_sequence);
16846
16847         return offset;
16848 }
16849
16850
16851
16852 static const value_string reverseLogicalChannelParameters_multiplexParameters_vals[] = {
16853         {  0, "h223LogicalChannelParameters" },
16854         {  1, "v76LogicalChannelParameters" },
16855         {  2, "h2250LogicalChannelParameters" },
16856         {  0, NULL }
16857 };
16858 static per_choice_t reverseLogicalChannelParameters_multiplexParameters_choice[] = {
16859         {  0, "h223LogicalChannelParameters", EXTENSION_ROOT,
16860                 dissect_h245_H223LogicalChannelParameters },
16861         {  1, "v76LogicalChannelParameters", EXTENSION_ROOT,
16862                 dissect_h245_V76LogicalChannelParameters },
16863         {  2, "h2250LogicalChannelParameters", NOT_EXTENSION_ROOT,
16864                 dissect_h245_H2250LogicalChannelParameters },
16865         {  0, NULL, 0, NULL }
16866 };
16867 static int
16868 dissect_h245_reverseLogicalChannelParameters_multiplexParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16869 {
16870         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_reverseLogicalChannelParameters_multiplexParameters, ett_h245_reverseLogicalChannelParameters_multiplexParameters, reverseLogicalChannelParameters_multiplexParameters_choice, "multiplexParameters", NULL);
16871
16872         return offset;
16873 }
16874
16875
16876
16877
16878 static const value_string OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_vals[] = {
16879         {  0, "h222LogicalChannelParameters" },
16880         {  1, "h2250LogicalChannelParameters" },
16881         {  0, NULL }
16882 };
16883 static per_choice_t OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_choice[] = {
16884         {  0, "h222LogicalChannelParameters", EXTENSION_ROOT,
16885                 dissect_h245_H222LogicalChannelParameters },
16886         {  1, "h2250LogicalChannelParameters", NOT_EXTENSION_ROOT,
16887                 dissect_h245_H2250LogicalChannelParameters },
16888         {  0, NULL, 0, NULL }
16889 };
16890 static int
16891 dissect_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16892 {
16893         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters, ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters, OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_choice, "multiplexParameters", NULL);
16894
16895         return offset;
16896 }
16897
16898
16899
16900
16901
16902 static per_sequence_t forwardLogicalChannelParameters_sequence[] = {
16903         { "portNumber", EXTENSION_ROOT, OPTIONAL,
16904                 dissect_h245_portNumber },
16905         { "dataType", EXTENSION_ROOT, NOT_OPTIONAL,
16906                 dissect_h245_DataType },
16907         { "multiplexParameters", EXTENSION_ROOT, NOT_OPTIONAL,
16908                 dissect_h245_forwardLogicalChannelParameters_multiplexParameters },
16909         { "forwardLogicalChannelDependency", NOT_EXTENSION_ROOT, OPTIONAL, 
16910                 dissect_h245_LogicalChannelNumber },
16911         { "replacementFor", NOT_EXTENSION_ROOT, OPTIONAL, 
16912                 dissect_h245_LogicalChannelNumber },
16913         { NULL, 0, 0, NULL }
16914 };
16915 static int
16916 dissect_h245_forwardLogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16917 {
16918         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_forwardLogicalChannelParameters, ett_h245_forwardLogicalChannelParameters, forwardLogicalChannelParameters_sequence);
16919
16920         return offset;
16921 }
16922
16923
16924
16925
16926 static per_sequence_t reverseLogicalChannelParameters_sequence[] = {
16927         { "dataType", EXTENSION_ROOT, NOT_OPTIONAL,
16928                 dissect_h245_DataType },
16929         { "multiplexParameters", EXTENSION_ROOT, OPTIONAL,
16930                 dissect_h245_reverseLogicalChannelParameters_multiplexParameters },
16931         { "reverseLogicalChannelDependency", NOT_EXTENSION_ROOT, OPTIONAL, 
16932                 dissect_h245_LogicalChannelNumber },
16933         { "replacementFor", NOT_EXTENSION_ROOT, OPTIONAL, 
16934                 dissect_h245_LogicalChannelNumber },
16935         { NULL, 0, 0, NULL }
16936 };
16937 static int
16938 dissect_h245_reverseLogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16939 {
16940         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_reverseLogicalChannelParameters, ett_h245_reverseLogicalChannelParameters, reverseLogicalChannelParameters_sequence);
16941
16942         return offset;
16943 }
16944
16945
16946
16947
16948
16949 static per_sequence_t OpenLogicalChannelAck_reverseLogicalChannelParameters_sequence[] = {
16950         { "reverseLogicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
16951                 dissect_h245_LogicalChannelNumber },
16952         { "portNumber", EXTENSION_ROOT, OPTIONAL,
16953                 dissect_h245_portNumber },
16954         { "multiplexParameters", EXTENSION_ROOT, OPTIONAL,
16955                 dissect_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters },
16956         { "replacementFor", NOT_EXTENSION_ROOT, OPTIONAL, 
16957                 dissect_h245_LogicalChannelNumber },
16958         { NULL, 0, 0, NULL }
16959 };
16960 static int
16961 dissect_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16962 {
16963         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters, ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters, OpenLogicalChannelAck_reverseLogicalChannelParameters_sequence);
16964
16965         return offset;
16966 }
16967
16968
16969
16970
16971 static int
16972 dissect_h245_VCCapability_set_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16973 {
16974         offset=dissect_per_set_of(tvb, offset, pinfo, tree, hf_h245_VCCapability_set_of, ett_h245_VCCapability_set_of, dissect_h245_VCCapability);
16975         return offset;
16976 }
16977
16978
16979
16980
16981 static per_sequence_t H222Capability_sequence[] = {
16982         { "numberOfVCs", EXTENSION_ROOT, NOT_OPTIONAL, 
16983                 dissect_h245_numberOfVCs },
16984         { "vcCapability", EXTENSION_ROOT, NOT_OPTIONAL,
16985                 dissect_h245_VCCapability_set_of },
16986         { NULL, 0, 0, NULL }
16987 };
16988 static int
16989 dissect_h245_H222Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
16990 {
16991         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H222Capability, ett_h245_H222Capability, H222Capability_sequence);
16992
16993         return offset;
16994 }
16995
16996
16997
16998
16999 static const value_string MultiplexFormat_vals[] = {
17000         {  0, "nonStandard" },
17001         {  1, "h222Capability" },
17002         {  2, "h223Capability" },
17003         {  0, NULL }
17004 };
17005 static per_choice_t MultiplexFormat_choice[] = {
17006         {  0, "nonStandard", EXTENSION_ROOT,
17007                 dissect_h245_NonStandardParameter },
17008         {  1, "h222Capability", EXTENSION_ROOT,
17009                 dissect_h245_H222Capability },
17010         {  2, "h223Capability", EXTENSION_ROOT,
17011                 dissect_h245_H223Capability },
17012         {  0, NULL, 0, NULL }
17013 };
17014 static int
17015 dissect_h245_MultiplexFormat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17016 {
17017         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultiplexFormat, ett_h245_MultiplexFormat, MultiplexFormat_choice, "MultiplexFormat", NULL);
17018
17019         return offset;
17020 }
17021
17022
17023
17024
17025 static per_sequence_t MultiplexedStreamCapability_sequence[] = {
17026         { "multiplexFormat", EXTENSION_ROOT, NOT_OPTIONAL,
17027                 dissect_h245_MultiplexFormat },
17028         { "controlOnMuxStream", EXTENSION_ROOT, NOT_OPTIONAL, 
17029                 dissect_h245_controlOnMuxStream },
17030         { "capabilityOnMuxStream", EXTENSION_ROOT, OPTIONAL,
17031                 dissect_h245_capabilityOnMuxStream },
17032         { NULL, 0, 0, NULL }
17033 };
17034 static int
17035 dissect_h245_MultiplexedStreamCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17036 {
17037         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexedStreamCapability, ett_h245_MultiplexedStreamCapability, MultiplexedStreamCapability_sequence);
17038
17039         return offset;
17040 }
17041
17042
17043
17044
17045
17046 static const value_string Capability_vals[] = {
17047         {  0, "nonStandard" },
17048         {  1, "receiveVideoCapability" },
17049         {  2, "transmitVideoCapability" },
17050         {  3, "receiveAndTransmitVideoCapability" },
17051         {  4, "receiveAudioCapability" },
17052         {  5, "transmitAudioCapability" },
17053         {  6, "receiveAndTransmitAudioCapability" },
17054         {  7, "receiveDataApplicationCapability" },
17055         {  8, "transmitDataApplicationCapability" },
17056         {  9, "receiveAndTransmitDataApplicationCapability" },
17057         { 10, "h233EncryptionTransmitCapability" },
17058         { 11, "h233EncryptionReceiveCapability" },
17059         { 12, "conferenceCapability" },
17060         { 13, "h235SecurityCapability" },
17061         { 14, "maxPendingReplacementFor" },
17062         { 15, "receiveUserInputCapability" },
17063         { 16, "transmitUserInputCapability" },
17064         { 17, "receiveAndTransmitUserInputCapability" },
17065         { 18, "genericControlCapability" },
17066         { 19, "receiveMultiplexedStreamCapability" },
17067         { 20, "transmitMultiplexedStreamCapability" },
17068         { 21, "receiveAndTransmitMultiplexedStreamCapability" },
17069         { 22, "receiveRTPAudioTelephonyEventCapability" },
17070         { 23, "receiveRTPAudioToneCapability" },
17071         { 24, "fecCapability" },
17072         { 25, "multiplePayloadStreamCapability" },
17073         {  0, NULL }
17074 };
17075 static per_choice_t Capability_choice[] = {
17076         {  0, "nonStandard", EXTENSION_ROOT,
17077                 dissect_h245_NonStandardParameter },
17078         {  1, "receiveVideoCapability", EXTENSION_ROOT,
17079                 dissect_h245_VideoCapability },
17080         {  2, "transmitVideoCapability", EXTENSION_ROOT,
17081                 dissect_h245_VideoCapability },
17082         {  3, "receiveAndTransmitVideoCapability", EXTENSION_ROOT,
17083                 dissect_h245_VideoCapability },
17084         {  4, "receiveAudioCapability", EXTENSION_ROOT,
17085                 dissect_h245_AudioCapability },
17086         {  5, "transmitAudioCapability", EXTENSION_ROOT,
17087                 dissect_h245_AudioCapability },
17088         {  6, "receiveAndTransmitAudioCapability", EXTENSION_ROOT,
17089                 dissect_h245_AudioCapability },
17090         {  7, "receiveDataApplicationCapability", EXTENSION_ROOT,
17091                 dissect_h245_DataApplicationCapability },
17092         {  8, "transmitDataApplicationCapability", EXTENSION_ROOT,
17093                 dissect_h245_DataApplicationCapability },
17094         {  9, "receiveAndTransmitDataApplicationCapability", EXTENSION_ROOT,
17095                 dissect_h245_DataApplicationCapability },
17096         { 10, "h233EncryptionTransmitCapability", EXTENSION_ROOT, 
17097                 dissect_h245_h233EncryptionTransmitCapability },
17098         { 11, "h233EncryptionReceiveCapability", EXTENSION_ROOT,
17099                 dissect_h245_Capability_h233EncryptionReceiveCapability },
17100         { 12, "conferenceCapability", NOT_EXTENSION_ROOT,
17101                 dissect_h245_ConferenceCapability },
17102         { 13, "h235SecurityCapability" , NOT_EXTENSION_ROOT,
17103                 dissect_h245_H235SecurityCapability },
17104         { 14, "maxPendingReplacementFor", NOT_EXTENSION_ROOT,
17105                 dissect_h245_maxPendingReplacementFor },
17106         { 15, "receiveUserInputCapability", NOT_EXTENSION_ROOT,
17107                 dissect_h245_UserInputCapability },
17108         { 16, "transmitUserInputCapability", NOT_EXTENSION_ROOT,
17109                 dissect_h245_UserInputCapability },
17110         { 17, "receiveAndTransmitUserInputCapability", NOT_EXTENSION_ROOT,
17111                 dissect_h245_UserInputCapability },
17112         { 18, "genericControlCapability", NOT_EXTENSION_ROOT,
17113                 dissect_h245_GenericCapability },
17114         { 19, "receiveMultiplexedStreamCapability", NOT_EXTENSION_ROOT,
17115                 dissect_h245_MultiplexedStreamCapability },
17116         { 20, "transmitMultiplexedStreamCapability", NOT_EXTENSION_ROOT,
17117                 dissect_h245_MultiplexedStreamCapability },
17118         { 21, "receiveAndTransmitMultiplexedStreamCapability", NOT_EXTENSION_ROOT,
17119                 dissect_h245_MultiplexedStreamCapability },
17120         { 22, "receiveRTPAudioTelephonyEventCapability", NOT_EXTENSION_ROOT,
17121                 dissect_h245_AudioTelephonyEventCapability },
17122         { 23, "receiveRTPAudioToneCapability", NOT_EXTENSION_ROOT,
17123                 dissect_h245_AudioToneCapability },
17124         { 24, "fecCapability", NOT_EXTENSION_ROOT, 
17125                 dissect_h245_FECCapability },
17126         { 25, "multiplePayloadStreamCapability", NOT_EXTENSION_ROOT,
17127                 dissect_h245_MultiplePayloadStreamCapability },
17128         {  0, NULL, 0, NULL }
17129 };
17130 static int
17131 dissect_h245_Capability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17132 {
17133         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_Capability, ett_h245_Capability, Capability_choice, "Capability", NULL);
17134
17135         return offset;
17136 }
17137
17138
17139
17140 static per_sequence_t CapabilityTableEntry_sequence[] = {
17141         { "capabilityTableEntryNumber", NO_EXTENSIONS, NOT_OPTIONAL,
17142                 dissect_h245_CapabilityTableEntryNumber },
17143         { "capability", NO_EXTENSIONS, OPTIONAL,
17144                 dissect_h245_Capability },
17145         { NULL, 0, 0, NULL }
17146 };
17147 static int
17148 dissect_h245_CapabilityTableEntry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17149 {
17150         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CapabilityTableEntry, ett_h245_CapabilityTableEntry, CapabilityTableEntry_sequence);
17151
17152         return offset;
17153 }
17154
17155
17156
17157
17158 static per_sequence_t MultiplexedStreamParameter_sequence[] = {
17159         { "multiplexFormat", EXTENSION_ROOT, NOT_OPTIONAL,
17160                 dissect_h245_MultiplexFormat },
17161         { "controlOnMuxStream", EXTENSION_ROOT, NOT_OPTIONAL, 
17162                 dissect_h245_controlOnMuxStream },
17163         { NULL, 0, 0, NULL }
17164 };
17165 static int
17166 dissect_h245_MultiplexedStreamParameter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17167 {
17168         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplexedStreamParameter, ett_h245_MultiplexedStreamParameter, MultiplexedStreamParameter_sequence);
17169
17170         return offset;
17171 }
17172
17173
17174
17175
17176
17177 static const value_string DataType_vals[] = {
17178         {  0, "nonStandard" },
17179         {  1, "nullData" },
17180         {  2, "videoData" },
17181         {  3, "audioData" },
17182         {  4, "data" },
17183         {  5, "encryptionData" },
17184         {  6, "h235Control" },
17185         {  7, "h235Media" },
17186         {  8, "multiplexedStream" },
17187         {  9, "redundancyEncoding" },
17188         { 10, "multiplePayloadStream" },
17189         { 11, "fec" },
17190         {  0, NULL }
17191 };
17192 static per_choice_t DataType_choice[] = {
17193         {  0, "nonStandard", EXTENSION_ROOT,
17194                 dissect_h245_NonStandardParameter },
17195         {  1, "nullData", EXTENSION_ROOT, 
17196                 dissect_h245_NULL },
17197         {  2, "videoData", EXTENSION_ROOT,
17198                 dissect_h245_VideoCapability },
17199         {  3, "audioData", EXTENSION_ROOT,
17200                 dissect_h245_AudioCapability },
17201         {  4, "data", EXTENSION_ROOT,
17202                 dissect_h245_DataApplicationCapability },
17203         {  5, "encryptionData", EXTENSION_ROOT,
17204                 dissect_h245_EncryptionMode },
17205         {  6, "h235Control", NOT_EXTENSION_ROOT,
17206                 dissect_h245_NonStandardParameter },
17207         {  7, "h235Media", NOT_EXTENSION_ROOT,
17208                 dissect_h245_H235Media },
17209         {  8, "multiplexedStream", NOT_EXTENSION_ROOT,
17210                 dissect_h245_MultiplexedStreamParameter },
17211         {  9, "redundancyEncoding", NOT_EXTENSION_ROOT,
17212                 dissect_h245_RedundancyEncoding },
17213         { 10, "multiplePayloadStream", NOT_EXTENSION_ROOT,
17214                 dissect_h245_MultiplePayloadStream },
17215         { 11, "fec", NOT_EXTENSION_ROOT, 
17216                 dissect_h245_FECData },
17217         {  0, NULL, 0, NULL }
17218 };
17219 static int
17220 dissect_h245_DataType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17221 {
17222         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_DataType, ett_h245_DataType, DataType_choice, "DataType", NULL);
17223
17224         return offset;
17225 }
17226
17227
17228
17229
17230 static int dissect_h245_VBDMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
17231 static const value_string AudioMode_vals[] = {
17232         {  0, "nonStandard" },
17233         {  1, "g711Alaw64k" },
17234         {  2, "g711Alaw56k" },
17235         {  3, "g711Ulaw64k" },
17236         {  4, "g711Ulaw56k" },
17237         {  5, "g722-64k" },
17238         {  6, "g722-56k" },
17239         {  7, "g722-48k" },
17240         {  8, "g728" },
17241         {  9, "g729" },
17242         { 10, "g729AnnexA" },
17243         { 11, "g7231" },
17244         { 12, "is11172AudioMode" },
17245         { 13, "is13818AudioMode" },
17246         { 14, "g729wAnnexB" },
17247         { 15, "g729AnnexAwAnnexB" },
17248         { 16, "g7231AnnexCMode" },
17249         { 17, "gsmFullRate" },
17250         { 18, "gsmHalfRate" },
17251         { 19, "gsmEnhancedFullRate" },
17252         { 20, "genericAudioMode" },
17253         { 21, "g729Extensions" },
17254         { 22, "vbd" },
17255         {  0, NULL }
17256 };
17257 static per_choice_t AudioMode_choice[] = {
17258         {  0, "nonStandard", EXTENSION_ROOT,
17259                 dissect_h245_NonStandardParameter },
17260         {  1, "g711Alaw64k", EXTENSION_ROOT, 
17261                 dissect_h245_NULL },
17262         {  2, "g711Alaw56k", EXTENSION_ROOT, 
17263                 dissect_h245_NULL },
17264         {  3, "g711Ulaw64k", EXTENSION_ROOT, 
17265                 dissect_h245_NULL },
17266         {  4, "g711Ulaw56k", EXTENSION_ROOT, 
17267                 dissect_h245_NULL },
17268         {  5, "g722-64k", EXTENSION_ROOT, 
17269                 dissect_h245_NULL },
17270         {  6, "g722-56k", EXTENSION_ROOT, 
17271                 dissect_h245_NULL },
17272         {  7, "g722-48k", EXTENSION_ROOT, 
17273                 dissect_h245_NULL },
17274         {  8, "g728", EXTENSION_ROOT, 
17275                 dissect_h245_NULL },
17276         {  9, "g729", EXTENSION_ROOT, 
17277                 dissect_h245_NULL },
17278         { 10, "g729AnnexA", EXTENSION_ROOT, 
17279                 dissect_h245_NULL },
17280         { 11, "g7231", EXTENSION_ROOT, 
17281                 dissect_h245_AudioMode_g7231 },
17282         { 12, "is11172AudioMode", EXTENSION_ROOT, 
17283                 dissect_h245_IS11172AudioMode },
17284         { 13, "is13818AudioMode", EXTENSION_ROOT, 
17285                 dissect_h245_IS13818AudioMode },
17286         { 14, "g729wAnnexB", NOT_EXTENSION_ROOT,
17287                 dissect_h245_g729wAnnexB },
17288         { 15, "g729AnnexAwAnnexB", NOT_EXTENSION_ROOT,
17289                 dissect_h245_g729AnnexAwAnnexB },
17290         { 16, "g7231AnnexCMode", NOT_EXTENSION_ROOT,
17291                 dissect_h245_G7231AnnexCMode },
17292         { 17, "gsmFullRate", NOT_EXTENSION_ROOT,
17293                 dissect_h245_GSMAudioCapability },
17294         { 18, "gsmHalfRate", NOT_EXTENSION_ROOT,
17295                 dissect_h245_GSMAudioCapability },
17296         { 19, "gsmEnhancedFullRate", NOT_EXTENSION_ROOT,
17297                 dissect_h245_GSMAudioCapability },
17298         { 20, "genericAudioMode", NOT_EXTENSION_ROOT,
17299                 dissect_h245_GenericCapability },
17300         { 21, "g729Extensions", NOT_EXTENSION_ROOT,
17301                 dissect_h245_G729Extensions },
17302         { 22, "vbd", NOT_EXTENSION_ROOT,
17303                 dissect_h245_VBDMode },
17304         {  0, NULL, 0, NULL }
17305 };
17306 static int
17307 dissect_h245_AudioMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17308 {
17309         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_AudioMode, ett_h245_AudioMode, AudioMode_choice, "AudioMode", NULL);
17310
17311         return offset;
17312 }
17313
17314
17315
17316
17317 static const value_string RedundancyEncodingMode_secondaryEncoding_vals[] = {
17318         {  0, "nonStandard" },
17319         {  1, "audioData" },
17320         {  0, NULL }
17321 };
17322 static per_choice_t RedundancyEncodingMode_secondaryEncoding_choice[] = {
17323         {  0, "nonStandard", EXTENSION_ROOT,
17324                 dissect_h245_NonStandardParameter },
17325         {  1, "audioData", EXTENSION_ROOT,
17326                 dissect_h245_AudioMode },
17327         {  0, NULL, 0, NULL }
17328 };
17329 static int
17330 dissect_h245_RedundancyEncodingMode_secondaryEncoding(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17331 {
17332         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingMode_secondaryEncoding, ett_h245_RedundancyEncodingMode_secondaryEncoding, RedundancyEncodingMode_secondaryEncoding_choice, "secondaryEncoding", NULL);
17333
17334         return offset;
17335 }
17336
17337
17338
17339 static per_sequence_t RedundancyEncodingMode_sequence[] = {
17340         { "redundancyEncodingMethod", EXTENSION_ROOT, NOT_OPTIONAL,
17341                 dissect_h245_RedundancyEncodingMethod },
17342         { "secondaryEncoding", EXTENSION_ROOT, OPTIONAL,
17343                 dissect_h245_RedundancyEncodingMode_secondaryEncoding },
17344         { NULL, 0, 0, NULL }
17345 };
17346 static int
17347 dissect_h245_RedundancyEncodingMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17348 {
17349         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingMode, ett_h245_RedundancyEncodingMode, RedundancyEncodingMode_sequence);
17350
17351         return offset;
17352 }
17353
17354
17355
17356 static per_sequence_t H2250ModeParameters_sequence[] = {
17357         { "redundancyEncodingMode", EXTENSION_ROOT, OPTIONAL,
17358                 dissect_h245_RedundancyEncodingMode },
17359         { NULL, 0, 0, NULL }
17360 };
17361 static int
17362 dissect_h245_H2250ModeParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17363 {
17364         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H2250ModeParameters, ett_h245_H2250ModeParameters, H2250ModeParameters_sequence);
17365
17366         return offset;
17367 }
17368
17369
17370
17371
17372
17373 static per_sequence_t VBDMode_sequence[] = {
17374         { "type", EXTENSION_ROOT, NOT_OPTIONAL,
17375                 dissect_h245_AudioMode },
17376         { NULL, 0, 0, NULL }
17377 };
17378 static int
17379 dissect_h245_VBDMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17380 {
17381         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_VBDMode, ett_h245_VBDMode, VBDMode_sequence);
17382
17383         return offset;
17384 }
17385
17386
17387
17388 static const value_string MultiplexCapability_vals[] = {
17389         {  0, "nonStandard" },
17390         {  1, "h222Capability" },
17391         {  2, "h223Capability" },
17392         {  3, "v76Capability" },
17393         {  4, "h2250Capability" },
17394         {  5, "genericMultiplexCapability" },
17395         {  0, NULL }
17396 };
17397 static per_choice_t MultiplexCapability_choice[] = {
17398         {  0, "nonStandard", EXTENSION_ROOT,
17399                 dissect_h245_NonStandardParameter },
17400         {  1, "h222Capability", EXTENSION_ROOT,
17401                 dissect_h245_H222Capability },
17402         {  2, "h223Capability", EXTENSION_ROOT,
17403                 dissect_h245_H223Capability },
17404         {  3, "v76Capability", EXTENSION_ROOT,
17405                 dissect_h245_V76Capability },
17406         {  4, "h2250Capability", NOT_EXTENSION_ROOT,
17407                 dissect_h245_H2250Capability },
17408         {  5, "genericMultiplexCapability", NOT_EXTENSION_ROOT,
17409                 dissect_h245_GenericCapability },
17410         {  0, NULL, 0, NULL }
17411 };
17412 static int
17413 dissect_h245_MultiplexCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17414 {
17415         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_MultiplexCapability, ett_h245_MultiplexCapability, MultiplexCapability_choice, "MultiplexCapability", NULL);
17416
17417         return offset;
17418 }
17419
17420
17421
17422
17423
17424 static per_sequence_t TerminalCapabilitySet_sequence[] = {
17425         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
17426                 dissect_h245_SequenceNumber },
17427         { "protocolIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
17428                 dissect_h245_protocolIdentifier },
17429         { "multiplexCapability", EXTENSION_ROOT, OPTIONAL,
17430                 dissect_h245_MultiplexCapability },
17431         { "capabilityTable", EXTENSION_ROOT, OPTIONAL,
17432                 dissect_h245_capabilityTable },
17433         { "capabilityDescriptors", EXTENSION_ROOT, OPTIONAL,
17434                 dissect_h245_capabilityDescriptors },
17435         { NULL, 0, 0, NULL }
17436 };
17437 static int
17438 dissect_h245_TerminalCapabilitySet(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17439 {
17440         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySet, ett_h245_TerminalCapabilitySet, TerminalCapabilitySet_sequence);
17441
17442         return offset;
17443 }
17444
17445
17446
17447
17448
17449
17450 static per_sequence_t ConferenceResponse_terminalIDResponse_sequence[] = {
17451         { "terminalLabel", EXTENSION_ROOT, NOT_OPTIONAL,
17452                 dissect_h245_TerminalLabel },
17453         { "terminalID", EXTENSION_ROOT, NOT_OPTIONAL,
17454                 dissect_h245_TerminalID },
17455         { NULL, 0, 0, NULL }
17456 };
17457 static int
17458 dissect_h245_ConferenceResponse_terminalIDResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17459 {
17460         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse_terminalIDResponse, ett_h245_ConferenceResponse_terminalIDResponse, ConferenceResponse_terminalIDResponse_sequence);
17461
17462         return offset;
17463 }
17464
17465
17466
17467
17468
17469 static const value_string ConferenceResponse_vals[] = {
17470         {  0, "mCTerminalIDResponse" },
17471         {  1, "terminalIDResponse" },
17472         {  2, "conferenceIDResponse" },
17473         {  3, "passwordResponse" },
17474         {  4, "terminalListResponse" },
17475         {  5, "videoCommandReject" },
17476         {  6, "terminalDropReject" },
17477         {  7, "makeMeChairResponse" },
17478         {  8, "extensionAddressResponse" },
17479         {  9, "chairTokenOwnerResponse" },
17480         { 10, "terminalCertificateResponse" },
17481         { 11, "broadcastMyLogicalChannelResponse" },
17482         { 12, "makeTerminalBroadcasterResponse" },
17483         { 13, "sendThisSourceResponse" },
17484         { 14, "requestAllTerminalIDsResponse" },
17485         { 15, "remoteMCResponse" },
17486         {  0, NULL }
17487 };
17488 static per_choice_t ConferenceResponse_choice[] = {
17489         {  0, "mCTerminalIDResponse", EXTENSION_ROOT,
17490                 dissect_h245_ConferenceResponse_mCterminalIDResponse },
17491         {  1, "terminalIDResponse", EXTENSION_ROOT,
17492                 dissect_h245_ConferenceResponse_terminalIDResponse },
17493         {  2, "conferenceIDResponse", EXTENSION_ROOT,
17494                 dissect_h245_ConferenceResponse_conferenceIDResponse },
17495         {  3, "passwordResponse", EXTENSION_ROOT,
17496                 dissect_h245_ConferenceResponse_passwordResponse },
17497         {  4, "terminalListResponse", EXTENSION_ROOT,
17498                 dissect_h245_terminalListResponse },
17499         {  5, "videoCommandReject", EXTENSION_ROOT, 
17500                 dissect_h245_NULL },
17501         {  6, "terminalDropReject", EXTENSION_ROOT, 
17502                 dissect_h245_NULL },
17503         {  7, "makeMeChairResponse", EXTENSION_ROOT, 
17504                 dissect_h245_ConferenceResponse_makeMeChairResponse },
17505         {  8, "extensionAddressResponse", NOT_EXTENSION_ROOT,
17506                 dissect_h245_ConferenceResponse_extensionAddressResponse },
17507         {  9, "chairTokenOwnerResponse", NOT_EXTENSION_ROOT,
17508                 dissect_h245_ConferenceResponse_chairTokenOwnerResponse },
17509         { 10, "terminalCertificateResponse", NOT_EXTENSION_ROOT,
17510                 dissect_h245_ConferenceResponse_terminalCertificateResponse },
17511         { 11, "broadcastMyLogicalChannelResponse", NOT_EXTENSION_ROOT, 
17512                 dissect_h245_ConferenceResponse_broadcastMyLogicalChannelResponse },
17513         { 12, "makeTerminalBroadcasterResponse", NOT_EXTENSION_ROOT, 
17514                 dissect_h245_ConferenceResponse_makeTerminalBroadcasterResponse },
17515         { 13, "sendThisSourceResponse", NOT_EXTENSION_ROOT, 
17516                 dissect_h245_ConferenceResponse_sendThisSourceResponse },
17517         { 14, "requestAllTerminalIDsResponse", NOT_EXTENSION_ROOT,
17518                 dissect_h245_RequestAllTerminalIDsResponse },
17519         { 15, "remoteMCResponse", NOT_EXTENSION_ROOT, 
17520                 dissect_h245_RemoteMCResponse },
17521         {  0, NULL, 0, NULL }
17522 };
17523 static int
17524 dissect_h245_ConferenceResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17525 {
17526         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ConferenceResponse, ett_h245_ConferenceResponse, ConferenceResponse_choice, "ConferenceResponse", NULL);
17527
17528         return offset;
17529 }
17530
17531
17532
17533
17534
17535 static const value_string H261VideoMode_resolution_vals[] = {
17536         {  0, "qcif" },
17537         {  1, "cif" },
17538         {  0, NULL }
17539 };
17540 static per_choice_t H261VideoMode_resolution_choice[] = {
17541         {  0, "qcif", NO_EXTENSIONS,
17542                 dissect_h245_NULL },
17543         {  1, "cif", NO_EXTENSIONS,
17544                 dissect_h245_NULL },
17545         {  0, NULL, 0, NULL }
17546 };
17547 static int
17548 dissect_h245_H261VideoMode_resolution(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17549 {
17550         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H261VideoMode_resolution, ett_h245_H261VideoMode_resolution, H261VideoMode_resolution_choice, "resolution", NULL);
17551
17552         return offset;
17553 }
17554
17555
17556
17557
17558 static per_sequence_t H261VideoMode_sequence[] = {
17559         { "resolution", EXTENSION_ROOT, NOT_OPTIONAL,
17560                 dissect_h245_H261VideoMode_resolution },
17561         { "bitRate", EXTENSION_ROOT, NOT_OPTIONAL,
17562                 dissect_h245_h223bitRate },
17563         { "stillImageTransmission", EXTENSION_ROOT, NOT_OPTIONAL, 
17564                 dissect_h245_stillImageTransmission },
17565         { NULL, 0, 0, NULL }
17566 };
17567 static int
17568 dissect_h245_H261VideoMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17569 {
17570         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H261VideoMode, ett_h245_H261VideoMode, H261VideoMode_sequence);
17571
17572         return offset;
17573 }
17574
17575
17576
17577
17578 static const value_string VideoMode_vals[] = {
17579         {  0, "nonStandard" },
17580         {  1, "h261VideoMode" },
17581         {  2, "h262VideoMode" },
17582         {  3, "h263VideoMode" },
17583         {  4, "is11172VideoMode" },
17584         {  5, "genericVideoMode" },
17585         {  0, NULL }
17586 };
17587 static per_choice_t VideoMode_choice[] = {
17588         {  0, "nonStandard", EXTENSION_ROOT,
17589                 dissect_h245_NonStandardParameter },
17590         {  1, "h261VideoMode", EXTENSION_ROOT,
17591                 dissect_h245_H261VideoMode },
17592         {  2, "h262VideoMode", EXTENSION_ROOT,
17593                 dissect_h245_H262VideoMode },
17594         {  3, "h263VideoMode", EXTENSION_ROOT,
17595                 dissect_h245_H263VideoMode },
17596         {  4, "is11172VideoMode", EXTENSION_ROOT, 
17597                 dissect_h245_IS11172VideoMode},
17598         {  5, "genericVideoMode", NOT_EXTENSION_ROOT,
17599                 dissect_h245_GenericCapability },
17600         {  0, NULL, 0, NULL }
17601 };
17602 static int
17603 dissect_h245_VideoMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17604 {
17605         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_VideoMode, ett_h245_VideoMode, VideoMode_choice, "VideoMode", NULL);
17606
17607         return offset;
17608 }
17609
17610
17611
17612
17613 static const value_string H235Mode_mediaMode_vals[] = {
17614         {  0, "nonStandard" },
17615         {  1, "videoMode" },
17616         {  2, "audioMode" },
17617         {  3, "dataMode" },
17618         {  0, NULL }
17619 };
17620 static per_choice_t H235Mode_mediaMode_choice[] = {
17621         {  0, "nonStandard", EXTENSION_ROOT,
17622                 dissect_h245_NonStandardParameter },
17623         {  1, "videoMode", EXTENSION_ROOT,
17624                 dissect_h245_VideoMode },
17625         {  2, "audioMode", EXTENSION_ROOT,
17626                 dissect_h245_AudioMode },
17627         {  3, "dataMode", EXTENSION_ROOT,
17628                 dissect_h245_DataMode },
17629         {  0, NULL, 0, NULL }
17630 };
17631 static int
17632 dissect_h245_H235Mode_mediaMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17633 {
17634         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_H235Mode_mediaMode, ett_h245_H235Mode_mediaMode, H235Mode_mediaMode_choice, "mediaMode", NULL);
17635
17636         return offset;
17637 }
17638
17639
17640
17641
17642 static per_sequence_t H235Mode_sequence[] = {
17643         { "encryptionAuthenticationAndIntegrity", EXTENSION_ROOT, NOT_OPTIONAL,
17644                 dissect_h245_EncryptionAuthenticationAndIntegrity },
17645         { "mediaMode", EXTENSION_ROOT, NOT_OPTIONAL,
17646                 dissect_h245_H235Mode_mediaMode },
17647         { NULL, 0, 0, NULL }
17648 };
17649 static int
17650 dissect_h245_H235Mode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17651 {
17652         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H235Mode, ett_h245_H235Mode, H235Mode_sequence);
17653
17654         return offset;
17655 }
17656
17657
17658
17659
17660
17661 static const value_string RedundancyEncodingDTModeElement_type_vals[] = {
17662         {  0, "nonStandard" },
17663         {  1, "videoMode" },
17664         {  2, "audioMode" },
17665         {  3, "dataMode" },
17666         {  4, "encryptionMode" },
17667         {  5, "h235Mode" },
17668         {  0, NULL }
17669 };
17670 static per_choice_t RedundancyEncodingDTModeElement_type_choice[] = {
17671         {  0, "nonStandard", EXTENSION_ROOT,
17672                 dissect_h245_NonStandardParameter },
17673         {  1, "videoMode", EXTENSION_ROOT,
17674                 dissect_h245_VideoMode },
17675         {  2, "audioMode", EXTENSION_ROOT,
17676                 dissect_h245_AudioMode },
17677         {  3, "dataMode", EXTENSION_ROOT, 
17678                 dissect_h245_DataMode },
17679         {  4, "encryptionMode", EXTENSION_ROOT,
17680                 dissect_h245_EncryptionMode },
17681         {  5, "h235Mode", EXTENSION_ROOT,
17682                 dissect_h245_H235Mode },
17683         {  0, NULL, 0, NULL }
17684 };
17685 static int
17686 dissect_h245_RedundancyEncodingDTModeElement_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17687 {
17688         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingDTModeElement_type, ett_h245_RedundancyEncodingDTModeElement_type, RedundancyEncodingDTModeElement_type_choice, "type", NULL);
17689
17690         return offset;
17691 }
17692
17693
17694
17695
17696 static per_sequence_t RedundancyEncodingDTModeElement_sequence[] = {
17697         { "type", EXTENSION_ROOT, NOT_OPTIONAL,
17698                 dissect_h245_RedundancyEncodingDTModeElement_type },
17699         { NULL, 0, 0, NULL }
17700 };
17701 static int
17702 dissect_h245_RedundancyEncodingDTModeElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17703 {
17704         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingDTModeElement, ett_h245_RedundancyEncodingDTModeElement, RedundancyEncodingDTModeElement_sequence);
17705
17706         return offset;
17707 }
17708
17709
17710
17711
17712
17713 static per_sequence_t RedundancyEncodingDTMode_sequence[] = {
17714         { "redundancyEncodingMethod", EXTENSION_ROOT, NOT_OPTIONAL,
17715                 dissect_h245_RedundancyEncodingMethod },
17716         { "primary", EXTENSION_ROOT, NOT_OPTIONAL,
17717                 dissect_h245_RedundancyEncodingDTModeElement },
17718         { "secondary", EXTENSION_ROOT, NOT_OPTIONAL,
17719                 dissect_h245_secondary_REDTME_sequence_of },
17720         { NULL, 0, 0, NULL }
17721 };
17722 static int
17723 dissect_h245_RedundancyEncodingDTMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17724 {
17725         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RedundancyEncodingDTMode, ett_h245_RedundancyEncodingDTMode, RedundancyEncodingDTMode_sequence);
17726
17727         return offset;
17728 }
17729
17730
17731
17732
17733 static int dissect_h245_FECMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
17734 static const value_string ModeElementType_vals[] = {
17735         {  0, "nonStandard" },
17736         {  1, "videoMode" },
17737         {  2, "audioMode" },
17738         {  3, "dataMode" },
17739         {  4, "encryptionMode" },
17740         {  5, "h235Mode" },
17741         {  6, "multiplexedStreamMode" },
17742         {  7, "redundancyEncodingDTMode" },
17743         {  8, "multiplePayloadStreamMode" },
17744         {  9, "fecMode" },
17745         {  0, NULL }
17746 };
17747 static per_choice_t ModeElementType_choice[] = {
17748         {  0, "nonStandard", EXTENSION_ROOT,
17749                 dissect_h245_NonStandardParameter },
17750         {  1, "videoMode", EXTENSION_ROOT,
17751                 dissect_h245_VideoMode },
17752         {  2, "audioMode", EXTENSION_ROOT,
17753                 dissect_h245_AudioMode },
17754         {  3, "dataMode", EXTENSION_ROOT,
17755                 dissect_h245_DataMode },
17756         {  4, "encryptionMode", EXTENSION_ROOT,
17757                 dissect_h245_EncryptionMode },
17758         {  5, "h235Mode", NOT_EXTENSION_ROOT,
17759                 dissect_h245_H235Mode },
17760         {  6, "multiplexedStreamMode", NOT_EXTENSION_ROOT,
17761                 dissect_h245_MultiplexedStreamParameter },
17762         {  7, "redundancyEncodingDTMode", NOT_EXTENSION_ROOT,
17763                 dissect_h245_RedundancyEncodingDTMode },
17764         {  8, "multiplePayloadStreamMode", NOT_EXTENSION_ROOT,
17765                 dissect_h245_MultiplePayloadStreamMode },
17766         {  9, "fecMode", NOT_EXTENSION_ROOT,
17767                 dissect_h245_FECMode },
17768         {  0, NULL, 0, NULL }
17769 };
17770 static int
17771 dissect_h245_ModeElementType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17772 {
17773         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ModeElementType, ett_h245_ModeElementType, ModeElementType_choice, "ModeElementType", NULL);
17774
17775         return offset;
17776 }
17777
17778
17779
17780
17781 static per_sequence_t MultiplePayloadStreamElementMode_sequence[] = {
17782         { "type", EXTENSION_ROOT, NOT_OPTIONAL,
17783                 dissect_h245_ModeElementType },
17784         { NULL, 0, 0, NULL }
17785 };
17786 static int
17787 dissect_h245_MultiplePayloadStreamElementMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17788 {
17789         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MultiplePayloadStreamElementMode, ett_h245_MultiplePayloadStreamElementMode, MultiplePayloadStreamElementMode_sequence);
17790
17791         return offset;
17792 }
17793
17794
17795
17796
17797
17798 static per_sequence_t FECMode_rfc2733Mode_mode_separateStream_samePort_sequence[] = {
17799         { "protectedType", EXTENSION_ROOT, NOT_OPTIONAL,
17800                 dissect_h245_ModeElementType },
17801         { NULL, 0, 0, NULL }
17802 };
17803 static int
17804 dissect_h245_FECMode_rfc2733Mode_mode_separateStream_samePort(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17805 {
17806         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);
17807
17808         return offset;
17809 }
17810
17811
17812
17813 static const value_string FECMode_rfc2733Mode_mode_separateStream_vals[] = {
17814         {  0, "differentPort" },
17815         {  1, "samePort" },
17816         {  0, NULL }
17817 };
17818 static per_choice_t FECMode_rfc2733Mode_mode_separateStream_choice[] = {
17819         {  0, "differentPort", EXTENSION_ROOT,
17820                 dissect_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort },
17821         {  1, "samePort", EXTENSION_ROOT,
17822                 dissect_h245_FECMode_rfc2733Mode_mode_separateStream_samePort },
17823         {  0, NULL, 0, NULL }
17824 };
17825 static int
17826 dissect_h245_FECMode_rfc2733Mode_mode_separateStream(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17827 {
17828         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);
17829
17830         return offset;
17831 }
17832
17833
17834
17835
17836
17837 static const value_string FECMode_rfc2733Mode_mode_vals[] = {
17838         {  0, "redundancyEncoding" },
17839         {  1, "separateStream" },
17840         {  0, NULL }
17841 };
17842 static per_choice_t FECMode_rfc2733Mode_mode_choice[] = {
17843         {  0, "redundancyEncoding", EXTENSION_ROOT, 
17844                 dissect_h245_NULL },
17845         {  1, "separateStream", EXTENSION_ROOT,
17846                 dissect_h245_FECMode_rfc2733Mode_mode_separateStream },
17847         {  0, NULL, 0, NULL }
17848 };
17849 static int
17850 dissect_h245_FECMode_rfc2733Mode_mode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17851 {
17852         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FECMode_rfc2733Mode_mode, ett_h245_FECMode_rfc2733Mode_mode, FECMode_rfc2733Mode_mode_choice, "mode", NULL);
17853
17854         return offset;
17855 }
17856
17857
17858
17859 static per_sequence_t FECMode_rfc2733Mode_sequence[] = {
17860         { "mode", EXTENSION_ROOT, NOT_OPTIONAL,
17861                 dissect_h245_FECMode_rfc2733Mode_mode },
17862         { NULL, 0, 0, NULL }
17863 };
17864 static int
17865 dissect_h245_FECMode_rfc2733Mode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17866 {
17867         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_FECMode_rfc2733Mode, ett_h245_FECMode_rfc2733Mode, FECMode_rfc2733Mode_sequence);
17868
17869         return offset;
17870 }
17871
17872
17873
17874
17875 static const value_string FECMode_vals[] = {
17876         {  0, "rfc2733Mode" },
17877         {  0, NULL }
17878 };
17879 static per_choice_t FECMode_choice[] = {
17880         {  0, "rfc2733Mode", EXTENSION_ROOT,
17881                 dissect_h245_FECMode_rfc2733Mode },
17882         {  0, NULL, 0, NULL }
17883 };
17884 static int
17885 dissect_h245_FECMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17886 {
17887         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FECMode, ett_h245_FECMode, FECMode_choice, "FECMode", NULL);
17888
17889         return offset;
17890 }
17891
17892
17893
17894
17895 static int dissect_h245_RequestMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
17896 static int dissect_h245_ResponseMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
17897 static int dissect_h245_CommandMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
17898 static const value_string FunctionNotUnderstood_vals[] = {
17899         {  0, "request" },
17900         {  1, "response" },
17901         {  2, "command" },
17902         {  0, NULL }
17903 };
17904 static per_choice_t FunctionNotUnderstood_choice[] = {
17905         {  0, "request", NO_EXTENSIONS,
17906                 dissect_h245_RequestMessage },
17907         {  1, "response", NO_EXTENSIONS,
17908                 dissect_h245_ResponseMessage },
17909         {  2, "command", NO_EXTENSIONS,
17910                 dissect_h245_CommandMessage },
17911         {  0, NULL, 0, NULL }
17912 };
17913 static int
17914 dissect_h245_FunctionNotUnderstood(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17915 {
17916         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_FunctionNotUnderstood, ett_h245_FunctionNotUnderstood, FunctionNotUnderstood_choice, "FunctionNotUnderstood", NULL);
17917
17918         return offset;
17919 }
17920
17921
17922
17923 static int
17924 dissect_h245_signalType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17925 {
17926         offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h245_signalType, 1, 128, "!#*0123456789ABCD", 17);
17927
17928         return offset;
17929 }
17930
17931
17932
17933
17934
17935
17936
17937 static per_sequence_t UserInputIndication_signal_sequence[] = {
17938         { "signalType", EXTENSION_ROOT, NOT_OPTIONAL,
17939                 dissect_h245_signalType },
17940         { "duration", EXTENSION_ROOT, OPTIONAL,
17941                 dissect_h245_duration },
17942         { "rtp", EXTENSION_ROOT, OPTIONAL,
17943                 dissect_h245_UserInputIndication_signal_rtp },
17944         { "rtpPayloadIndication", NOT_EXTENSION_ROOT, OPTIONAL, 
17945                 dissect_h245_NULL },
17946         { NULL, 0, 0, NULL }
17947 };
17948 static int
17949 dissect_h245_UserInputIndication_signal(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17950 {
17951         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_UserInputIndication_signal, ett_h245_UserInputIndication_signal, UserInputIndication_signal_sequence);
17952
17953         return offset;
17954 }
17955
17956
17957
17958
17959 static const value_string UserInputIndication_vals[] = {
17960         {  0, "nonStandard" },
17961         {  1, "alphanumeric" },
17962         {  2, "userInputSupportIndication" },
17963         {  3, "signal" },
17964         {  4, "signalUpdate" },
17965         {  5, "extendedAlphanumeric" },
17966         {  0, NULL }
17967 };
17968 static per_choice_t UserInputIndication_choice[] = {
17969         {  0, "nonStandard", EXTENSION_ROOT,
17970                 dissect_h245_NonStandardParameter },
17971         {  1, "alphanumeric", EXTENSION_ROOT,
17972                 dissect_h245_alphanumeric },
17973         {  2, "userInputSupportIndication", NOT_EXTENSION_ROOT,
17974                 dissect_h245_UserInputIndication_userInputSupportIndication },
17975         {  3, "signal", NOT_EXTENSION_ROOT,
17976                 dissect_h245_UserInputIndication_signal },
17977         {  4, "signalUpdate", NOT_EXTENSION_ROOT,
17978                 dissect_h245_UserInputIndication_signalUpdate },
17979         {  5, "extendedAlphanumeric", NOT_EXTENSION_ROOT,
17980                 dissect_h245_UserInputIndication_extendedAlphanumeric },
17981         {  0, NULL, 0, NULL }
17982 };
17983 static int
17984 dissect_h245_UserInputIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
17985 {
17986         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_UserInputIndication, ett_h245_UserInputIndication, UserInputIndication_choice, "UserInputIndication", NULL);
17987
17988         return offset;
17989 }
17990
17991
17992
17993
17994
17995 static per_sequence_t TerminalCapabilitySetRelease_sequence[] = {
17996         { NULL, EXTENSION_ROOT, NOT_OPTIONAL, NULL }
17997 };
17998 static int
17999 dissect_h245_TerminalCapabilitySetRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18000 {
18001         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_TerminalCapabilitySetRelease, ett_h245_TerminalCapabilitySetRelease, TerminalCapabilitySetRelease_sequence);
18002
18003         return offset;
18004 }
18005
18006
18007
18008 static int
18009 dissect_h245_internationalNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18010 {
18011         offset=dissect_per_NumericString(tvb, offset, pinfo, tree, hf_h245_internationalNumber, 1, 16);
18012         return offset;
18013 }
18014
18015
18016
18017
18018
18019 static const value_string Q2931Address_address_vals[] = {
18020         {  0, "internationalNumber" },
18021         {  1, "nsapAddress" },
18022         {  0, NULL }
18023 };
18024 static per_choice_t Q2931Address_address_choice[] = {
18025         {  0, "internationalNumber", EXTENSION_ROOT,
18026                 dissect_h245_internationalNumber },
18027         {  1, "nsapAddress", EXTENSION_ROOT, 
18028                 dissect_h245_nsapAddress},
18029         {  0, NULL, 0, NULL }
18030 };
18031 static int
18032 dissect_h245_Q2931Address_address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18033 {
18034         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_Q2931Address_address, ett_h245_Q2931Address_address, Q2931Address_address_choice, "address", NULL);
18035
18036         return offset;
18037 }
18038
18039
18040
18041
18042
18043 static per_sequence_t Q2931Address_sequence[] = {
18044         { "address", EXTENSION_ROOT, NOT_OPTIONAL,
18045                 dissect_h245_Q2931Address_address },
18046         { "subaddress", EXTENSION_ROOT, OPTIONAL,
18047                 dissect_h245_subaddress_1_20 },
18048         { NULL, 0, 0, NULL }
18049 };
18050 static int
18051 dissect_h245_Q2931Address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18052 {
18053         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_Q2931Address, ett_h245_Q2931Address, Q2931Address_sequence);
18054
18055         return offset;
18056 }
18057
18058
18059
18060
18061 static int
18062 dissect_h245_e164Address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18063 {
18064         offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h245_e164Address, 1, 128, "#*,0123456789", 13);
18065
18066         return offset;
18067 }
18068
18069
18070
18071
18072 static const value_string NetworkAccessParameters_networkAddress_vals[] = {
18073         {  0, "q2931Address" },
18074         {  1, "e164Address" },
18075         {  2, "localAreaAddress" },
18076         {  0, NULL }
18077 };
18078 static per_choice_t NetworkAccessParameters_networkAddress_choice[] = {
18079         {  0, "q2931Address", EXTENSION_ROOT,
18080                 dissect_h245_Q2931Address },
18081         {  1, "e164Address", EXTENSION_ROOT,
18082                 dissect_h245_e164Address },
18083         {  2, "localAreaAddress", EXTENSION_ROOT, 
18084                 dissect_h245_localAreaAddress },
18085         {  0, NULL, 0, NULL }
18086 };
18087 static int
18088 dissect_h245_NetworkAccessParameters_networkAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18089 {
18090         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_NetworkAccessParameters_networkAddress, ett_h245_NetworkAccessParameters_networkAddress, NetworkAccessParameters_networkAddress_choice, "networkAddress", NULL);
18091
18092         return offset;
18093 }
18094
18095
18096
18097
18098
18099 static per_sequence_t NetworkAccessParameters_sequence[] = {
18100         { "distribution", EXTENSION_ROOT, OPTIONAL, 
18101                 dissect_h245_NetworkAccessParameters_distribution },
18102         { "networkAddress", EXTENSION_ROOT, NOT_OPTIONAL,
18103                 dissect_h245_NetworkAccessParameters_networkAddress },
18104         { "associateConference", EXTENSION_ROOT, NOT_OPTIONAL, 
18105                 dissect_h245_associateConference},
18106         { "externalReference", EXTENSION_ROOT, OPTIONAL,
18107                 dissect_h245_externalReference },
18108         { "t120SetupProcedure", NOT_EXTENSION_ROOT, OPTIONAL, 
18109                 dissect_h245_NetworkAccessParameters_t120SetupProcedure },
18110         { NULL, 0, 0, NULL }
18111 };
18112 static int
18113 dissect_h245_NetworkAccessParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18114 {
18115         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NetworkAccessParameters, ett_h245_NetworkAccessParameters, NetworkAccessParameters_sequence);
18116
18117         return offset;
18118 }
18119
18120
18121
18122
18123
18124 static per_sequence_t OpenLogicalChannel_sequence[] = {
18125         { "forwardLogicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
18126                 dissect_h245_LogicalChannelNumber },
18127         { "forwardLogicalChannelParameters", EXTENSION_ROOT, NOT_OPTIONAL,
18128                 dissect_h245_forwardLogicalChannelParameters },
18129         { "reverseLogicalChannelParameters", EXTENSION_ROOT, OPTIONAL,
18130                 dissect_h245_reverseLogicalChannelParameters },
18131         { "separateStack", NOT_EXTENSION_ROOT, OPTIONAL,
18132                 dissect_h245_NetworkAccessParameters },
18133         { "encryptionSync", NOT_EXTENSION_ROOT, OPTIONAL,
18134                 dissect_h245_EncryptionSync },
18135         { NULL, 0, 0, NULL }
18136 };
18137 int
18138 dissect_h245_OpenLogicalChannel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18139 {
18140         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannel, ett_h245_OpenLogicalChannel, OpenLogicalChannel_sequence);
18141
18142         return offset;
18143 }
18144
18145
18146
18147
18148 static per_sequence_t OpenLogicalChannelAck_sequence[] = {
18149         { "forwardLogicalChannelNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
18150                 dissect_h245_LogicalChannelNumber },
18151         { "reverseLogicalChannelParameters", EXTENSION_ROOT, OPTIONAL,
18152                 dissect_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters },
18153         { "separateStack", NOT_EXTENSION_ROOT, OPTIONAL,
18154                 dissect_h245_NetworkAccessParameters },
18155         { "forwardMultiplexAckParameters", NOT_EXTENSION_ROOT, OPTIONAL,
18156                 dissect_h245_forwardMultiplexAckParameters},
18157         { "encryptionSync", NOT_EXTENSION_ROOT, OPTIONAL,
18158                 dissect_h245_EncryptionSync},
18159         { NULL, 0, 0, NULL }
18160 };
18161 static int
18162 dissect_h245_OpenLogicalChannelAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18163 {
18164         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_OpenLogicalChannelAck, ett_h245_OpenLogicalChannelAck, OpenLogicalChannelAck_sequence);
18165
18166         return offset;
18167 }
18168
18169
18170
18171
18172 static int
18173 dissect_h245_escrowValue(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18174 {
18175 NOT_DECODED_YET("escrowValue");
18176         return offset;
18177 }
18178
18179
18180
18181
18182
18183 static per_sequence_t EscrowData_sequence[] = {
18184         { "escrowID", EXTENSION_ROOT, NOT_OPTIONAL,
18185                 dissect_h245_escrowID },
18186         { "escrowValue", EXTENSION_ROOT, NOT_OPTIONAL,
18187                 dissect_h245_escrowValue },
18188         { NULL, 0, 0, NULL }
18189 };
18190 static int
18191 dissect_h245_EscrowData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18192 {
18193         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_EscrowData, ett_h245_EscrowData, EscrowData_sequence);
18194
18195         return offset;
18196 }
18197
18198
18199
18200
18201
18202
18203
18204
18205
18206 static const value_string RequestModeAck_response_decision_vals[] = {
18207         {  0, "willTransmitMostPreferredMode" },
18208         {  1, "willTransmitLessPreferredMode" },
18209         {  0, NULL }
18210 };
18211 static per_choice_t RequestModeAck_response_decision_choice[] = {
18212         {  0, "willTransmitMostPreferredMode", EXTENSION_ROOT, 
18213                 dissect_h245_NULL },
18214         {  1, "willTransmitLessPreferredMode", EXTENSION_ROOT, 
18215                 dissect_h245_NULL },
18216         {  0, NULL, 0, NULL }
18217 };
18218 static int
18219 dissect_h245_RequestModeAck_response_decision(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18220 {
18221         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestModeAck_response_decision, ett_h245_RequestModeAck_response_decision, RequestModeAck_response_decision_choice, "decision", NULL);
18222
18223         return offset;
18224 }
18225
18226
18227
18228
18229
18230 static per_sequence_t RequestModeAck_sequence[] = {
18231         { "sequenceNumber", EXTENSION_ROOT, NOT_OPTIONAL, 
18232                 dissect_h245_SequenceNumber },
18233         { "response", EXTENSION_ROOT, NOT_OPTIONAL,
18234                 dissect_h245_RequestModeAck_response_decision },
18235         { NULL, 0, 0, NULL }
18236 };
18237 static int
18238 dissect_h245_RequestModeAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18239 {
18240         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestModeAck, ett_h245_RequestModeAck, RequestModeAck_sequence);
18241
18242         return offset;
18243 }
18244
18245
18246
18247
18248 static per_sequence_t RequestModeRelease_sequence[] = {
18249         { NULL, EXTENSION_ROOT, 0, NULL }
18250 };
18251 static int
18252 dissect_h245_RequestModeRelease(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18253 {
18254         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_RequestModeRelease, ett_h245_RequestModeRelease, RequestModeRelease_sequence);
18255
18256         return offset;
18257 }
18258
18259
18260
18261 static per_sequence_t MaintenanceLoopOffCommand_sequence[] = {
18262         { NULL, EXTENSION_ROOT, 0, NULL }
18263 };
18264 static int
18265 dissect_h245_MaintenanceLoopOffCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18266 {
18267         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MaintenanceLoopOffCommand, ett_h245_MaintenanceLoopOffCommand, MaintenanceLoopOffCommand_sequence);
18268
18269         return offset;
18270 }
18271
18272
18273
18274
18275 static per_sequence_t CommunicationModeRequest_sequence[] = {
18276         { NULL, EXTENSION_ROOT, 0, NULL }
18277 };
18278 static int
18279 dissect_h245_CommunicationModeRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18280 {
18281         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CommunicationModeRequest, ett_h245_CommunicationModeRequest, CommunicationModeRequest_sequence);
18282
18283         return offset;
18284 }
18285
18286
18287
18288
18289
18290
18291 static const value_string IndicationMessage_vals[] = {
18292         {  0,   "NonStandardMessage" },
18293         {  1,   "FunctionNotUnderstood" },
18294         {  2,   "MasterSlaveDeterminationRelease" },
18295         {  3,   "TerminalCapabilitySetRelease" },
18296         {  4,   "OpenLogicalChannelConfirm" },
18297         {  5,   "RequestChannelCloseRelease" },
18298         {  6,   "MultiplexEntrySendRelease" },
18299         {  7,   "RequestMultiplexEntryRelease" },
18300         {  8,   "RequestModeRelease" },
18301         {  9,   "MiscellaneousIndication" },
18302         { 10,   "JitterIndication" },
18303         { 11,   "H223SkewIndication" },
18304         { 12,   "NewATMVCIndication" },
18305         { 13,   "UserInputIndication" },
18306         { 14,   "H2250MaximumSkewIndication" },
18307         { 15,   "MCLocationIndication" },
18308         { 16,   "ConferenceIndication" },
18309         { 17,   "VendorIdentification" },
18310         { 18,   "FunctionNotSupported" },
18311         { 19,   "MultilinkIndication" },
18312         { 20,   "LogicalChannelRateRelease" },
18313         { 21,   "FlowControlIndication" },
18314         { 22,   "MobileMultilinkReconfigurationIndication" },
18315         {  0, NULL }
18316 };
18317 static per_choice_t IndicationMessage_choice[] = {
18318         {  0,   "NonStandardMessage",                   EXTENSION_ROOT,
18319                         dissect_h245_NonStandardMessage },
18320         {  1,   "FunctionNotUnderstood",                EXTENSION_ROOT,
18321                         dissect_h245_FunctionNotUnderstood },
18322         {  2,   "MasterSlaveDeterminationRelease",      EXTENSION_ROOT,
18323                         dissect_h245_MasterSlaveDeterminationRelease },
18324         {  3,   "TerminalCapabilitySetRelease",         EXTENSION_ROOT,
18325                         dissect_h245_TerminalCapabilitySetRelease },
18326         {  4,   "OpenLogicalChannelConfirm",            EXTENSION_ROOT, 
18327                         dissect_h245_OpenLogicalChannelConfirm },
18328         {  5,   "RequestChannelCloseRelease",           EXTENSION_ROOT, 
18329                         dissect_h245_RequestChannelCloseRelease },
18330         {  6,   "MultiplexEntrySendRelease",            EXTENSION_ROOT,
18331                         dissect_h245_MultiplexEntrySendRelease },
18332         {  7,   "RequestMultiplexEntryRelease",         EXTENSION_ROOT,
18333                         dissect_h245_RequestMultiplexEntryRelease },
18334         {  8,   "RequestModeRelease",                   EXTENSION_ROOT,
18335                         dissect_h245_RequestModeRelease },
18336         {  9,   "MiscellaneousIndication",              EXTENSION_ROOT, 
18337                         dissect_h245_MiscellaneousIndication },
18338         { 10,   "JitterIndication",                     EXTENSION_ROOT,
18339                         dissect_h245_JitterIndication },
18340         { 11,   "H223SkewIndication",                   EXTENSION_ROOT,
18341                         dissect_h245_H223SkewIndication },
18342         { 12,   "NewATMVCIndication",                   EXTENSION_ROOT,
18343                         dissect_h245_NewATMVCIndication },
18344         { 13,   "UserInputIndication",                  EXTENSION_ROOT,
18345                         dissect_h245_UserInputIndication },
18346         { 14,   "H2250MaximumSkewIndication",           NOT_EXTENSION_ROOT,
18347                         dissect_h245_H2250MaximumSkewIndication },
18348         { 15,   "MCLocationIndication",                 NOT_EXTENSION_ROOT,
18349                         dissect_h245_MCLocationIndication },
18350         { 16,   "ConferenceIndication",                 NOT_EXTENSION_ROOT,
18351                 dissect_h245_ConferenceIndication },
18352         { 17,   "VendorIdentification",                 NOT_EXTENSION_ROOT,
18353                 dissect_h245_VendorIdentification },
18354         { 18,   "FunctionNotSupported",                 NOT_EXTENSION_ROOT,
18355                 dissect_h245_FunctionNotSupported },
18356         { 19,   "MultilinkIndication",                  NOT_EXTENSION_ROOT,
18357                 dissect_h245_MultilinkIndication },
18358         { 20,   "LogicalChannelRateRelease",            NOT_EXTENSION_ROOT,
18359                 dissect_h245_LogicalChannelRateRelease },
18360         { 21,   "FlowControlIndication",                NOT_EXTENSION_ROOT,
18361                 dissect_h245_FlowControlIndication },
18362         { 22,   "MobileMultilinkReconfigurationIndication",NOT_EXTENSION_ROOT,
18363                 dissect_h245_MobileMultilinkReconfigurationIndication },
18364         {  0, NULL, 0, NULL }
18365 };
18366 static int
18367 dissect_h245_IndicationMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18368 {
18369         guint32 value;
18370
18371         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_IndicationMessage_type, ett_h245_IndicationMessage, IndicationMessage_choice, "IndicationMessage", &value);
18372
18373         if (check_col(pinfo->cinfo, COL_INFO)){
18374                 col_prepend_fstr(pinfo->cinfo, COL_INFO, "%s ",
18375                         val_to_str(value, IndicationMessage_vals, "<unknown>"));
18376         }
18377
18378         return offset;
18379 }
18380
18381
18382
18383
18384
18385 static const value_string RequestMessage_vals[] = {
18386         {  0,   "NonStandardMessage" },
18387         {  1,   "MasterSlaveDetermination" },
18388         {  2,   "TerminalCapabilitySet" },
18389         {  3,   "OpenLogicalChannel" },
18390         {  4,   "CloseLogicalChannel" },
18391         {  5,   "RequestChannelClose" },
18392         {  6,   "MultiplexEntrySend" },
18393         {  7,   "RequestMultiplexEntry" },
18394         {  8,   "RequestMode" },
18395         {  9,   "RoundTripDelayRequest" },
18396         { 10,   "MaintenanceLoopRequest" },
18397         { 11,   "CommunicationModeRequest" },
18398         { 12,   "ConferenceRequest" },
18399         { 13,   "MultilinkRequest" },
18400         { 14,   "LogicalChannelRateRequest" },
18401         {  0, NULL }
18402 };
18403 static per_choice_t RequestMessage_choice[] = {
18404         {  0,   "NonStandardMessage",           EXTENSION_ROOT,
18405                         dissect_h245_NonStandardMessage },
18406         {  1,   "MasterSlaveDetermination",     EXTENSION_ROOT, 
18407                         dissect_h245_MasterSlaveDetermination },
18408         {  2,   "TerminalCapabilitySet",        EXTENSION_ROOT,
18409                         dissect_h245_TerminalCapabilitySet },
18410         {  3,   "OpenLogicalChannel",           EXTENSION_ROOT,
18411                         dissect_h245_OpenLogicalChannel },
18412         {  4,   "CloseLogicalChannel",          EXTENSION_ROOT, 
18413                         dissect_h245_CloseLogicalChannel },
18414         {  5,   "RequestChannelClose",          EXTENSION_ROOT,
18415                         dissect_h245_RequestChannelClose },
18416         {  6,   "MultiplexEntrySend",           EXTENSION_ROOT,
18417                         dissect_h245_MultiplexEntrySend },
18418         {  7,   "RequestMultiplexEntry",        EXTENSION_ROOT,
18419                         dissect_h245_RequestMultiplexEntry },
18420         {  8,   "RequestMode",                  EXTENSION_ROOT,
18421                         dissect_h245_RequestMode },
18422         {  9,   "RoundTripDelayRequest",        EXTENSION_ROOT, 
18423                         dissect_h245_RoundTripDelayRequest },
18424         { 10,   "MaintenanceLoopRequest",       EXTENSION_ROOT, 
18425                         dissect_h245_MaintenanceLoopRequest },
18426         { 11,   "CommunicationModeRequest",     NOT_EXTENSION_ROOT,
18427                         dissect_h245_CommunicationModeRequest },
18428         { 12,   "ConferenceRequest",            NOT_EXTENSION_ROOT,
18429                         dissect_h245_ConferenceRequest },
18430         { 13,   "MultilinkRequest",             NOT_EXTENSION_ROOT,
18431                         dissect_h245_MultilinkRequest },
18432         { 14,   "LogicalChannelRateRequest",    NOT_EXTENSION_ROOT,
18433                         dissect_h245_LogicalChannelRateRequest },
18434         {  0, NULL, 0, NULL }
18435 };
18436 static int
18437 dissect_h245_RequestMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18438 {
18439         guint32 value;
18440
18441         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_RequestMessage_type, ett_h245_RequestMessage, RequestMessage_choice, "RequestMessage", &value);
18442         if (check_col(pinfo->cinfo, COL_INFO)){
18443                 col_prepend_fstr(pinfo->cinfo, COL_INFO, "%s ",
18444                         val_to_str(value, RequestMessage_vals, "<unknown>"));
18445         }
18446
18447         return offset;
18448 }
18449
18450
18451
18452
18453
18454 static int
18455 dissect_h245_centralizedData_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18456 {
18457         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_centralizedData, ett_h245_centralizedData, dissect_h245_DataApplicationCapability );
18458         return offset;
18459 }
18460
18461
18462
18463
18464 static int
18465 dissect_h245_distributedData_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18466 {
18467         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_distributedData, ett_h245_distributedData, dissect_h245_DataApplicationCapability );
18468         return offset;
18469 }
18470
18471
18472
18473 static per_sequence_t MediaDistributionCapability_sequence[] = {
18474         { "centralizedControl", EXTENSION_ROOT, NOT_OPTIONAL, 
18475                 dissect_h245_centralizedControl },
18476         { "distributedControl", EXTENSION_ROOT, NOT_OPTIONAL, 
18477                 dissect_h245_distributedControl },
18478         { "centralizedAudio", EXTENSION_ROOT, NOT_OPTIONAL, 
18479                 dissect_h245_centralizedAudio },
18480         { "distributedAudio", EXTENSION_ROOT, NOT_OPTIONAL, 
18481                 dissect_h245_distributedAudio },
18482         { "centralizedVideo", EXTENSION_ROOT, NOT_OPTIONAL, 
18483                 dissect_h245_centralizedVideo },
18484         { "distributedVideo", EXTENSION_ROOT, NOT_OPTIONAL, 
18485                 dissect_h245_distributedVideo },
18486         { "centralizedData", EXTENSION_ROOT, OPTIONAL,
18487                 dissect_h245_centralizedData_sequence_of },
18488         { "distributedData", EXTENSION_ROOT, OPTIONAL,
18489                 dissect_h245_distributedData_sequence_of },
18490         { NULL, 0, 0, NULL }
18491 };
18492 static int
18493 dissect_h245_MediaDistributionCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18494 {
18495         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_MediaDistributionCapability, ett_h245_MediaDistributionCapability, MediaDistributionCapability_sequence);
18496
18497         return offset;
18498 }
18499
18500
18501 static int
18502 dissect_h245_mediaDistributionCapability_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18503 {
18504         offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_mediaDistributionCapability, ett_h245_mediaDistributionCapability, dissect_h245_MediaDistributionCapability );
18505         return offset;
18506 }
18507
18508
18509
18510
18511
18512 static int
18513 dissect_h245_rtpPayloadType_sequence_of(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18514 {
18515         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 );
18516         return offset;
18517 }
18518
18519
18520
18521
18522
18523 static per_sequence_t H223ModeParameters_sequence[] = {
18524         { "adaptationLayerType", EXTENSION_ROOT, NOT_OPTIONAL,
18525                 dissect_h245_H223ModeParameters_adaptationLayerType },
18526         { "segmentableFlag", EXTENSION_ROOT, NOT_OPTIONAL, 
18527                 dissect_h245_segmentableFlag },
18528         { NULL, 0, 0, NULL }
18529 };
18530 static int
18531 dissect_h245_H223ModeParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18532 {
18533         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_H223ModeParameters, ett_h245_H223ModeParameters, H223ModeParameters_sequence);
18534
18535         return offset;
18536 }
18537
18538
18539
18540
18541
18542 static per_sequence_t ModeElement_sequence[] = {
18543         { "type", EXTENSION_ROOT, NOT_OPTIONAL,
18544                 dissect_h245_ModeElementType },
18545         { "h223ModeParameters", EXTENSION_ROOT, OPTIONAL,
18546                 dissect_h245_H223ModeParameters },
18547         { "v76ModeParameters", NOT_EXTENSION_ROOT, OPTIONAL, 
18548                 dissect_h245_V76ModeParameters },
18549         { "h2250ModeParameters", NOT_EXTENSION_ROOT, OPTIONAL,
18550                 dissect_h245_H2250ModeParameters },
18551         { "genericModeParameters", NOT_EXTENSION_ROOT, OPTIONAL,
18552                 dissect_h245_GenericCapability },
18553         { "multiplexedStreamModeParameters", NOT_EXTENSION_ROOT, OPTIONAL, 
18554                 dissect_h245_MultiplexedStreamModeParameters },
18555         { NULL, 0, 0, NULL }
18556 };
18557 static int
18558 dissect_h245_ModeElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18559 {
18560         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_ModeElement, ett_h245_ModeElement, ModeElement_sequence);
18561
18562         return offset;
18563 }
18564
18565
18566
18567
18568
18569 static int
18570 dissect_h245_t38FaxMaxBuffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18571 {
18572         offset=dissect_per_integer(tvb, offset, pinfo, tree,
18573                 hf_h245_t38FaxMaxBuffer,
18574                 NULL, NULL);
18575
18576         return offset;
18577 }
18578
18579
18580
18581 static int
18582 dissect_h245_t38FaxMaxDatagram(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18583 {
18584         offset=dissect_per_integer(tvb, offset, pinfo, tree,
18585                 hf_h245_t38FaxMaxDatagram,
18586                 NULL, NULL);
18587
18588         return offset;
18589 }
18590
18591
18592
18593
18594
18595 static per_sequence_t T38FaxUdpOptions_sequence[] = {
18596         { "t38FaxMaxBuffer", NO_EXTENSIONS, OPTIONAL,
18597                 dissect_h245_t38FaxMaxBuffer },
18598         { "t38FaxMaxDatagram", NO_EXTENSIONS, OPTIONAL,
18599                 dissect_h245_t38FaxMaxDatagram },
18600         { "t38FaxUdpEC", NO_EXTENSIONS, NOT_OPTIONAL,
18601                 dissect_h245_T38FaxUdpOptions_t38FaxUdpEC },
18602         { NULL, 0, 0, NULL }
18603 };
18604 static int
18605 dissect_h245_T38FaxUdpOptions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18606 {
18607         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_T38FaxUdpOptions, ett_h245_T38FaxUdpOptions, T38FaxUdpOptions_sequence);
18608
18609         return offset;
18610 }
18611
18612
18613
18614
18615
18616
18617 static int
18618 dissect_h245_sessionDescription(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18619 {
18620 NOT_DECODED_YET("sessionDescription");
18621         return offset;
18622 }
18623
18624
18625
18626 static per_sequence_t CommunicationModeTableEntry_sequence[] = {
18627         { "nonStandard", EXTENSION_ROOT, OPTIONAL,
18628                 dissect_h245_nonStandardData_sequence_of },
18629         { "sessionID", EXTENSION_ROOT, NOT_OPTIONAL,
18630                 dissect_h245_sessionID_1_255 },
18631         { "associatedSessionID", EXTENSION_ROOT, OPTIONAL,
18632                 dissect_h245_associatedSessionID },
18633         { "terminalLabel", EXTENSION_ROOT, OPTIONAL,
18634                 dissect_h245_TerminalLabel },
18635         { "sessionDescription", EXTENSION_ROOT, NOT_OPTIONAL,
18636                 dissect_h245_sessionDescription },
18637         { "dataType", EXTENSION_ROOT, NOT_OPTIONAL,
18638                 dissect_h245_CommunicationModeTableEntry_dataType },
18639         { "mediaChannel", EXTENSION_ROOT, OPTIONAL,
18640                 dissect_h245_mediaChannel },
18641         { "mediaGuaranteedDelivery", EXTENSION_ROOT, OPTIONAL, 
18642                 dissect_h245_mediaGuaranteedDelivery },
18643         { "mediaControlChannel", EXTENSION_ROOT, OPTIONAL,
18644                 dissect_h245_mediaControlChannel },
18645         { "mediaControlGuaranteedDelivery", EXTENSION_ROOT, OPTIONAL, 
18646                 dissect_h245_mediaControlGuaranteedDelivery },
18647         { "redundancyEncoding", NOT_EXTENSION_ROOT, OPTIONAL,
18648                 dissect_h245_RedundancyEncoding },
18649         { "sessionDependency", NOT_EXTENSION_ROOT, OPTIONAL,
18650                 dissect_h245_sessionDependency },
18651         { "destination", NOT_EXTENSION_ROOT, OPTIONAL,
18652                 dissect_h245_TerminalLabel },
18653         { NULL, 0, 0, NULL }
18654 };
18655 static int
18656 dissect_h245_CommunicationModeTableEntry(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18657 {
18658         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_CommunicationModeTableEntry, ett_h245_CommunicationModeTableEntry, CommunicationModeTableEntry_sequence);
18659
18660         return offset;
18661 }
18662
18663
18664
18665
18666 static per_sequence_t NewATMVCCommand_sequence[] = {
18667         { "resouceID", EXTENSION_ROOT, NOT_OPTIONAL,
18668                 dissect_h245_resourceID },
18669         { "bitRate", EXTENSION_ROOT, NOT_OPTIONAL,
18670                 dissect_h245_ATM_BitRate },
18671         { "bitRateLockedToPCRClock", EXTENSION_ROOT, NOT_OPTIONAL,
18672                 dissect_h245_bitRateLockedToPCRClock },
18673         { "bitRateLockedToNetworkClock", EXTENSION_ROOT, NOT_OPTIONAL, 
18674                 dissect_h245_bitRateLockedToNetworkClock },
18675         { "aal", EXTENSION_ROOT, NOT_OPTIONAL, 
18676                 dissect_h245_NewATMVCCommand_aal },
18677         { "multiplex", EXTENSION_ROOT, NOT_OPTIONAL, 
18678                 dissect_h245_NewATMVCCommand_multiplex },
18679         { "reverseParameters", EXTENSION_ROOT, NOT_OPTIONAL,
18680                 dissect_h245_NewATMVCCommand_reverseParameters },
18681         { NULL, 0, 0, NULL }
18682 };
18683 static int
18684 dissect_h245_NewATMVCCommand(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18685 {
18686         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_NewATMVCCommand, ett_h245_NewATMVCCommand, NewATMVCCommand_sequence);
18687
18688         return offset;
18689 }
18690
18691
18692
18693
18694 static const value_string CommandMessage_vals[] = {
18695         {  0,   "NonStandardMessage" },
18696         {  1,   "MaintenanceLoopOffCommand" },
18697         {  2,   "SendTerminalCapabilitySet" },
18698         {  3,   "EncryptionCommand" },
18699         {  4,   "FlowControlCommand" },
18700         {  5,   "EndSessionCommand" },
18701         {  6,   "MiscellaneousCommand" },
18702         {  7,   "CommunicationModeCommand" },
18703         {  8,   "ConferenceCommand" },
18704         {  9,   "H223MultiplexReconfiguration" },
18705         { 10,   "NewATMVCCommand" },
18706         { 11,   "MobileMultilinkReconfigurationCommand" },
18707         {  0, NULL }
18708 };
18709 static per_choice_t CommandMessage_choice[] = {
18710         {  0,   "NonStandardMessage",           EXTENSION_ROOT,
18711                         dissect_h245_NonStandardMessage },
18712         {  1,   "MaintenanceLoopOffCommand",    EXTENSION_ROOT,
18713                         dissect_h245_MaintenanceLoopOffCommand },
18714         {  2,   "SendTerminalCapabilitySet",    EXTENSION_ROOT,
18715                         dissect_h245_SendTerminalCapabilitySet },
18716         {  3,   "EncryptionCommand",            EXTENSION_ROOT,
18717                         dissect_h245_EncryptionCommand },
18718         {  4,   "FlowControlCommand",           EXTENSION_ROOT,
18719                         dissect_h245_FlowControlCommand },
18720         {  5,   "EndSessionCommand",            EXTENSION_ROOT,
18721                         dissect_h245_EndSessionCommand },
18722         {  6,   "MiscellaneousCommand",         EXTENSION_ROOT,
18723                         dissect_h245_MiscellaneousCommand },
18724         {  7,   "CommunicationModeCommand",     NOT_EXTENSION_ROOT,
18725                         dissect_h245_CommunicationModeCommand },
18726         {  8,   "ConferenceCommand",            NOT_EXTENSION_ROOT,
18727                         dissect_h245_ConferenceCommand },
18728         {  9,   "H223MultiplexReconfiguration", NOT_EXTENSION_ROOT, 
18729                         dissect_h245_H223MultiplexReconfiguration },
18730         { 10,   "NewATMVCCommand",              NOT_EXTENSION_ROOT,
18731                         dissect_h245_NewATMVCCommand },
18732         { 11,   "MobileMultilinkReconfigurationCommand",NOT_EXTENSION_ROOT,
18733                         dissect_h245_MobileMultilinkReconfigurationCommand },
18734         {  0, NULL, 0, NULL }
18735 };
18736 static int
18737 dissect_h245_CommandMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18738 {
18739         guint32 value;
18740
18741         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_CommandMessage_type, ett_h245_CommandMessage, CommandMessage_choice, "CommandMessage", &value);
18742
18743         if (check_col(pinfo->cinfo, COL_INFO)){
18744                 col_prepend_fstr(pinfo->cinfo, COL_INFO, "%s ",
18745                         val_to_str(value, CommandMessage_vals, "<unknown>"));
18746         }
18747
18748         return offset;
18749 }
18750
18751
18752
18753
18754
18755
18756 static const value_string ResponseMessage_vals[] = {
18757         {  0,   "NonStandardMessage" },
18758         {  1,   "MasterSlaveDeterminationAck" },
18759         {  2,   "MasterSlaveDeterminationReject" },
18760         {  3,   "TerminalCapabilitySetAck" },
18761         {  4,   "TerminalCapabilitySetReject" },
18762         {  5,   "OpenLogicalChannelAck" },
18763         {  6,   "OpenLogicalChannelReject" },
18764         {  7,   "CloseLogicalChannelAck" },
18765         {  8,   "RequestChannelCloseAck" },
18766         {  9,   "RequestChannelCloseReject" },
18767         { 10,   "MultiplexEntrySendAck" },
18768         { 11,   "MultiplexEntrySendReject" },
18769         { 12,   "RequestMultiplexEntryAck" },
18770         { 13,   "RequestMultiplexEntryReject" },
18771         { 14,   "RequestModeAck" },
18772         { 15,   "RequestModeReject" },
18773         { 16,   "RoundTripDelayResponse" },
18774         { 17,   "MaintenanceLoopAck" },
18775         { 18,   "MaintenanceLoopReject" },
18776         { 19,   "CommunicationModeResponse" },
18777         { 20,   "ConferenceResponse" },
18778         { 21,   "MultilinkResponse" },
18779         { 22,   "LogicalChannelRateAck" },
18780         { 23,   "LogicalChannelRateReject" },
18781         {  0, NULL }
18782 };
18783 static per_choice_t ResponseMessage_choice[] = {
18784         {  0,   "NonStandardMessage",           EXTENSION_ROOT,
18785                         dissect_h245_NonStandardMessage },
18786         {  1,   "MasterSlaveDeterminationAck",  EXTENSION_ROOT,
18787                         dissect_h245_MasterSlaveDeterminationAck },
18788         {  2,   "MasterSlaveDeterminationReject",EXTENSION_ROOT,
18789                         dissect_h245_MasterSlaveDeterminationReject },
18790         {  3,   "TerminalCapabilitySetAck",     EXTENSION_ROOT, 
18791                         dissect_h245_TerminalCapabilitySetAck },
18792         {  4,   "TerminalCapabilitySetReject",  EXTENSION_ROOT,
18793                         dissect_h245_TerminalCapabilitySetReject },
18794         {  5,   "OpenLogicalChannelAck",        EXTENSION_ROOT,
18795                         dissect_h245_OpenLogicalChannelAck },
18796         {  6,   "OpenLogicalChannelReject",     EXTENSION_ROOT, 
18797                         dissect_h245_OpenLogicalChannelReject },
18798         {  7,   "CloseLogicalChannelAck",       EXTENSION_ROOT, 
18799                         dissect_h245_CloseLogicalChannelAck },
18800         {  8,   "RequestChannelCloseAck",       EXTENSION_ROOT, 
18801                         dissect_h245_RequestChannelCloseAck },
18802         {  9,   "RequestChannelCloseReject",    EXTENSION_ROOT, 
18803                         dissect_h245_RequestChannelCloseReject },
18804         { 10,   "MultiplexEntrySendAck",        EXTENSION_ROOT,
18805                         dissect_h245_MultiplexEntrySendAck },
18806         { 11,   "MultiplexEntrySendReject",     EXTENSION_ROOT,
18807                         dissect_h245_MultiplexEntrySendReject },
18808         { 12,   "RequestMultiplexEntryAck",     EXTENSION_ROOT,
18809                         dissect_h245_RequestMultiplexEntryAck },
18810         { 13,   "RequestMultiplexEntryReject",  EXTENSION_ROOT,
18811                         dissect_h245_RequestMultiplexEntryReject },
18812         { 14,   "RequestModeAck",               EXTENSION_ROOT,
18813                         dissect_h245_RequestModeAck },
18814         { 15,   "RequestModeReject",            EXTENSION_ROOT, 
18815                         dissect_h245_RequestModeReject },
18816         { 16,   "RoundTripDelayResponse",       EXTENSION_ROOT, 
18817                         dissect_h245_RoundTripDelayResponse },
18818         { 17,   "MaintenanceLoopAck",           EXTENSION_ROOT, 
18819                         dissect_h245_MaintenanceLoopAck },
18820         { 18,   "MaintenanceLoopReject",        EXTENSION_ROOT, 
18821                         dissect_h245_MaintenanceLoopReject },
18822         { 19,   "CommunicationModeResponse",    NOT_EXTENSION_ROOT,
18823                         dissect_h245_CommunicationModeResponse },
18824         { 20,   "ConferenceResponse",           NOT_EXTENSION_ROOT,
18825                         dissect_h245_ConferenceResponse },
18826         { 21,   "MultilinkResponse",            NOT_EXTENSION_ROOT,
18827                         dissect_h245_MultilinkResponse },
18828         { 22,   "LogicalChannelRateAck",        NOT_EXTENSION_ROOT,
18829                         dissect_h245_LogicalChannelRateAck },
18830         { 23,   "LogicalChannelRateReject",     NOT_EXTENSION_ROOT,
18831                         dissect_h245_LogicalChannelRateReject },
18832         {  0, NULL, 0, NULL }
18833 };
18834 static int
18835 dissect_h245_ResponseMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18836 {
18837         guint32 value;
18838
18839         offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h245_ResponseMessage_type, ett_h245_ResponseMessage, ResponseMessage_choice, "ResponseMessage", &value);
18840
18841         if (check_col(pinfo->cinfo, COL_INFO)){
18842                 col_prepend_fstr(pinfo->cinfo, COL_INFO, "%s ",
18843                         val_to_str(value, ResponseMessage_vals, "<unknown>"));
18844         }
18845
18846         return offset;
18847 }
18848
18849
18850
18851
18852
18853
18854 static int
18855 dissect_h245_DialingInformationNumber_networkAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18856 {
18857         offset=dissect_per_NumericString(tvb, offset, pinfo, tree, hf_h245_DialingInformationNumber_networkAddress, 0, 40);
18858
18859         return offset;
18860 }
18861
18862
18863
18864
18865 static int
18866 dissect_h245_DialingInformationNumber_subAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18867 {
18868         offset=dissect_per_IA5String(tvb, offset, pinfo, tree, hf_h245_subAddress, 0, 40);
18869
18870         return offset;
18871 }
18872
18873
18874
18875 static per_sequence_t DialingInformationNumber_sequence[] = {
18876         { "networkAddress", EXTENSION_ROOT, NOT_OPTIONAL,
18877                 dissect_h245_DialingInformationNumber_networkAddress },
18878         { "subAddress", EXTENSION_ROOT, OPTIONAL,
18879                 dissect_h245_DialingInformationNumber_subAddress },
18880         { "networkType", EXTENSION_ROOT, NOT_OPTIONAL,
18881                 dissect_h245_networkType },
18882         { NULL, 0, 0, NULL }
18883 };
18884 static int
18885 dissect_h245_DialingInformationNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
18886 {
18887         offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h245_DialingInformationNumber, ett_h245_DialingInformationNumber, DialingInformationNumber_sequence);
18888
18889         return offset;
18890 }
18891
18892
18893 static const value_string MultimediaSystemControlMessage_vals[] = {
18894         { 0,    "Request" },
18895         { 1,    "Response" },
18896         { 2,    "Command" },
18897         { 3,    "Indication" },
18898         { 0, NULL }
18899 };
18900 static per_choice_t MultimediaSystemControlMessage_choice[] = {
18901         { 0,    "Request",      EXTENSION_ROOT, 
18902                         dissect_h245_RequestMessage },
18903         { 1,    "Response",     EXTENSION_ROOT, 
18904                         dissect_h245_ResponseMessage },
18905         { 2,    "Command",      EXTENSION_ROOT, 
18906                         dissect_h245_CommandMessage },
18907         { 3,    "Indication",   EXTENSION_ROOT, 
18908                         dissect_h245_IndicationMessage },
18909         { 0, NULL, 0, NULL }
18910 };
18911 void
18912 dissect_h245_MultimediaSystemControlMessage(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
18913 {
18914         proto_item *it;
18915         proto_tree *tr;
18916         guint32 offset=0;
18917         guint32 value;
18918
18919         if (check_col(pinfo->cinfo, COL_PROTOCOL)){
18920                 col_set_str(pinfo->cinfo, COL_PROTOCOL, "H.245");
18921         }
18922         if (check_col(pinfo->cinfo, COL_INFO)){
18923                 col_clear(pinfo->cinfo, COL_INFO);
18924         }
18925
18926         it=proto_tree_add_protocol_format(tree, proto_h245, tvb, 0, tvb_length(tvb), "H.245");
18927         tr=proto_item_add_subtree(it, ett_h245);
18928
18929         /* this code is called from at least TPKT (over TCP) and
18930            MEGACO.  Over MEGACO there is no framing so we just have to assume
18931            that as long as we havent run out of TVB data, there is more
18932            MSCM PDUsa to decode.
18933         */
18934         while(tvb_length_remaining(tvb, offset>>3)>0){
18935                 offset=dissect_per_choice(tvb, offset, pinfo, tr, hf_h245_pdu_type, ett_h245_MultimediaSystemControlMessage, MultimediaSystemControlMessage_choice, "MultimediaSystemControlMessage", &value);
18936                 /* align next PDU to octet boundary */
18937                 if(offset&0x07){
18938                         offset=(offset&0xfffffff8)+8;
18939                 }
18940         }
18941
18942         if (check_col(pinfo->cinfo, COL_INFO)){
18943                 col_prepend_fstr(pinfo->cinfo, COL_INFO, "%s ",
18944                         val_to_str(value, MultimediaSystemControlMessage_vals, "<unknown>"));
18945         }
18946         
18947 }
18948
18949
18950
18951
18952
18953
18954 void
18955 dissect_h245(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
18956 {
18957         dissect_tpkt_encap(tvb, pinfo, tree, h245_reassembly, MultimediaSystemControlMessage_handle);
18958 }
18959
18960 void
18961 proto_register_h245(void)
18962 {
18963         static hf_register_info hf[] =
18964         {
18965         { &hf_h245_pdu_type,
18966                 { "PDU Type", "h245.pdu_type", FT_UINT32, BASE_DEC,
18967                 VALS(MultimediaSystemControlMessage_vals), 0, "Type of H.245 PDU", HFILL }},
18968         { &hf_h245_IndicationMessage_type,
18969                 { "Indication Type", "h245.indication_type", FT_UINT32, BASE_DEC,
18970                 VALS(IndicationMessage_vals), 0, "Type of Indication", HFILL }},
18971         { &hf_h245_RequestMessage_type,
18972                 { "Request Type", "h245.request_type", FT_UINT32, BASE_DEC,
18973                 VALS(RequestMessage_vals), 0, "Type of Request", HFILL }},
18974         { &hf_h245_ResponseMessage_type,
18975                 { "Response Type", "h245.response_type", FT_UINT32, BASE_DEC,
18976                 VALS(ResponseMessage_vals), 0, "Type of Response", HFILL }},
18977         { &hf_h245_CommandMessage_type,
18978                 { "Command Type", "h245.command_type", FT_UINT32, BASE_DEC,
18979                 VALS(CommandMessage_vals), 0, "Type of Command", HFILL }},
18980         { &hf_h245_EndSessionCommand_type,
18981                 { "EndSessionCommand type", "h245.endsessioncommand_type", FT_UINT32, BASE_DEC,
18982                 VALS(EndSessionCommand_vals), 0, "Type of EndSessionCommand", HFILL }},
18983         { &hf_h245_PixelAspectCode,
18984                 { "PixelAspectCode", "h245.PixelAspectCode", FT_UINT32, BASE_DEC,
18985                 NULL, 0, "PixelAspectCode", HFILL }},
18986         { &hf_h245_LogicalChannelNumber,
18987                 { "LogicalChannelNumber", "h245.logicalchannelnumber", FT_UINT32, BASE_DEC,
18988                 NULL, 0, "LogicalChannelNumber", HFILL }},
18989         { &hf_h245_SequenceNumber,
18990                 { "SequenceNumber", "h245.sequencenumber", FT_UINT32, BASE_DEC,
18991                 NULL, 0, "SequenceNumber", HFILL }},
18992         { &hf_h245_OpenLogicalChannelConfirm,
18993                 { "OpenLogicalChannelConfirm", "h245.openlogicalchannelconfirm", FT_NONE, BASE_NONE,
18994                 NULL, 0, "OpenLogicalChannelConfirm sequence", HFILL }},
18995         { &hf_h245_MobileMultilinkReconfigurationIndication,
18996                 { "MobileMultilinkReconfigurationIndication", "h245.MobileMultilinkReconfigurationIndication", FT_NONE, BASE_NONE,
18997                 NULL, 0, "MobileMultilinkReconfigurationIndication sequence", HFILL }},
18998         { &hf_h245_FlowControlIndication,
18999                 { "FlowControlIndication", "h245.FlowControlIndication", FT_NONE, BASE_NONE,
19000                 NULL, 0, "FlowControlIndication sequence", HFILL }},
19001         { &hf_h245_UserInputIndication_extendedAlphanumeric,
19002                 { "UserInputIndication_extendedAlphanumeric", "h245.UserInputIndication_extendedAlphanumeric", FT_NONE, BASE_NONE,
19003                 NULL, 0, "UserInputIndication_extendedAlphanumeric sequence", HFILL }},
19004         { &hf_h245_UserInputIndication_signalUpdate_rtp,
19005                 { "UserInputIndication_signalUpdate_rtp", "h245.UserInputIndication_signalUpdate_rtp", FT_NONE, BASE_NONE,
19006                 NULL, 0, "UserInputIndication_signalUpdate_rtp sequence", HFILL }},
19007         { &hf_h245_UserInputIndication_signalUpdate,
19008                 { "UserInputIndication_signalUpdate", "h245.UserInputIndication_signalUpdate", FT_NONE, BASE_NONE,
19009                 NULL, 0, "UserInputIndication_signalUpdate sequence", HFILL }},
19010         { &hf_h245_UserInputIndication_signal_rtp,
19011                 { "UserInputIndication_signal_rtp", "h245.UserInputIndication_signal_rtp", FT_NONE, BASE_NONE,
19012                 NULL, 0, "UserInputIndication_signal_rtp sequence", HFILL }},
19013         { &hf_h245_UserInputIndication_signal,
19014                 { "UserInputIndication_signal", "h245.UserInputIndication_signal", FT_NONE, BASE_NONE,
19015                 NULL, 0, "UserInputIndication_signal sequence", HFILL }},
19016         { &hf_h245_NewATMVCIndication_reverseParameters,
19017                 { "NewATMVCIndication_reverseParameters", "h245.NewATMVCIndication_reverseParameters", FT_NONE, BASE_NONE,
19018                 NULL, 0, "NewATMVCIndication_reverseParameters sequence", HFILL }},
19019         { &hf_h245_NewATMVCIndication_aal_aal5,
19020                 { "NewATMVCIndication_aal_aal5", "h245.NewATMVCIndication_aal_aal5", FT_NONE, BASE_NONE,
19021                 NULL, 0, "NewATMVCIndication_aal_aal5 sequence", HFILL }},
19022         { &hf_h245_NewATMVCIndication_aal_aal1,
19023                 { "NewATMVCIndication_aal_aal1", "h245.NewATMVCIndication_aal_aal1", FT_NONE, BASE_NONE,
19024                 NULL, 0, "NewATMVCIndication_aal_aal1 sequence", HFILL }},
19025         { &hf_h245_NewATMVCIndication,
19026                 { "NewATMVCIndication", "h245.NewATMVCIndication", FT_NONE, BASE_NONE,
19027                 NULL, 0, "NewATMVCIndication sequence", HFILL }},
19028         { &hf_h245_VendorIdentification,
19029                 { "VendorIdentification", "h245.VendorIdentification", FT_NONE, BASE_NONE,
19030                 NULL, 0, "VendorIdentification sequence", HFILL }},
19031         { &hf_h245_MCLocationIndication,
19032                 { "MCLocationIndication", "h245.MCLocationIndication", FT_NONE, BASE_NONE,
19033                 NULL, 0, "MCLocationIndication sequence", HFILL }},
19034         { &hf_h245_H2250MaximumSkewIndication,
19035                 { "H2250MaximumSkewIndication", "h245.H2250MaximumSkewIndication", FT_NONE, BASE_NONE,
19036                 NULL, 0, "H2250MaximumSkewIndication sequence", HFILL }},
19037         { &hf_h245_H223SkewIndication,
19038                 { "H223SkewIndication", "h245.H223SkewIndication", FT_NONE, BASE_NONE,
19039                 NULL, 0, "H223SkewIndication sequence", HFILL }},
19040         { &hf_h245_JitterIndication,
19041                 { "JitterIndication", "h245.JitterIndication", FT_NONE, BASE_NONE,
19042                 NULL, 0, "JitterIndication sequence", HFILL }},
19043         { &hf_h245_MiscellaneousIndication_type_videoNotDecodedMBs,
19044                 { "MiscellaneousIndication_type_videoNotDecodedMBs", "h245.MiscellaneousIndication_type_videoNotDecodedMBs", FT_NONE, BASE_NONE,
19045                 NULL, 0, "MiscellaneousIndication_type_videoNotDecodedMBs sequence", HFILL }},
19046         { &hf_h245_MiscellaneousIndication,
19047                 { "MiscellaneousIndication", "h245.MiscellaneousIndication", FT_NONE, BASE_NONE,
19048                 NULL, 0, "MiscellaneousIndication sequence", HFILL }},
19049         { &hf_h245_VideoIndicateCompose,
19050                 { "VideoIndicateCompose", "h245.VideoIndicateCompose", FT_NONE, BASE_NONE,
19051                 NULL, 0, "VideoIndicateCompose sequence", HFILL }},
19052         { &hf_h245_TerminalYouAreSeeingInSubPictureNumber,
19053                 { "TerminalYouAreSeeingInSubPictureNumber", "h245.TerminalYouAreSeeingInSubPictureNumber", FT_NONE, BASE_NONE,
19054                 NULL, 0, "TerminalYouAreSeeingInSubPictureNumber sequence", HFILL }},
19055         { &hf_h245_FunctionNotSupported,
19056                 { "FunctionNotSupported", "h245.FunctionNotSupported", FT_NONE, BASE_NONE,
19057                 NULL, 0, "FunctionNotSupported sequence", HFILL }},
19058         { &hf_h245_MobileMultilinkReconfigurationCommand,
19059                 { "MobileMultilinkReconfigurationCommand", "h245.MobileMultilinkReconfigurationCommand", FT_NONE, BASE_NONE,
19060                 NULL, 0, "MobileMultilinkReconfigurationCommand sequence", HFILL }},
19061         { &hf_h245_NewATMVCCommand_reverseParameters,
19062                 { "NewATMVCCommand_reverseParameters", "h245.NewATMVCCommand_reverseParameters", FT_NONE, BASE_NONE,
19063                 NULL, 0, "NewATMVCCommand_reverseParameters sequence", HFILL }},
19064         { &hf_h245_NewATMVCCommand,
19065                 { "NewATMVCCommand", "h245.NewATMVCCommand", FT_NONE, BASE_NONE,
19066                 NULL, 0, "NewATMVCCommand sequence", HFILL }},
19067         { &hf_h245_NewATMVCCommand_aal_aal5,
19068                 { "NewATMVCCommand_aal_aal5", "h245.NewATMVCCommand_aal_aal5", FT_NONE, BASE_NONE,
19069                 NULL, 0, "NewATMVCCommand_aal_aal5 sequence", HFILL }},
19070         { &hf_h245_NewATMVCCommand_aal_aal1,
19071                 { "NewATMVCCommand_aal_aal1", "h245.NewATMVCCommand_aal_aal1", FT_NONE, BASE_NONE,
19072                 NULL, 0, "NewATMVCCommand_aal_aal1 sequence", HFILL }},
19073         { &hf_h245_EncryptionUpdateRequest,
19074                 { "EncryptionUpdateRequest", "h245.EncryptionUpdateRequest", FT_NONE, BASE_NONE,
19075                 NULL, 0, "EncryptionUpdateRequest sequence", HFILL }},
19076         { &hf_h245_KeyProtectionMethod,
19077                 { "KeyProtectionMethod", "h245.KeyProtectionMethod", FT_NONE, BASE_NONE,
19078                 NULL, 0, "KeyProtectionMethod sequence", HFILL }},
19079         { &hf_h245_MiscellaneousCommand_type_lostPartialPicture,
19080                 { "MiscellaneousCommand_type_lostPartialPicture", "h245.MiscellaneousCommand_type_lostPartialPicture", FT_NONE, BASE_NONE,
19081                 NULL, 0, "MiscellaneousCommand_type_lostPartialPicture sequence", HFILL }},
19082         { &hf_h245_MiscellaneousCommand_type_videoBadMBs,
19083                 { "MiscellaneousCommand_type_videoBadMBs", "h245.MiscellaneousCommand_type_videoBadMBs", FT_NONE, BASE_NONE,
19084                 NULL, 0, "MiscellaneousCommand_type_videoBadMBs sequence", HFILL }},
19085         { &hf_h245_MiscellaneousCommand_type_progressiveRefinementStart,
19086                 { "MiscellaneousCommand_type_progressiveRefinementStart", "h245.MiscellaneousCommand_type_progressiveRefinementStart", FT_NONE, BASE_NONE,
19087                 NULL, 0, "MiscellaneousCommand_type_progressiveRefinementStart sequence", HFILL }},
19088         { &hf_h245_MiscellaneousCommand_type_videoFastUpdateMB,
19089                 { "MiscellaneousCommand_type_videoFastUpdateMB", "h245.MiscellaneousCommand_type_videoFastUpdateMB", FT_NONE, BASE_NONE,
19090                 NULL, 0, "MiscellaneousCommand_type_videoFastUpdateMB sequence", HFILL }},
19091         { &hf_h245_MiscellaneousCommand_type_videoFastUpdateGOB,
19092                 { "MiscellaneousCommand_type_videoFastUpdateGOB", "h245.MiscellaneousCommand_type_videoFastUpdateGOB", FT_NONE, BASE_NONE,
19093                 NULL, 0, "MiscellaneousCommand_type_videoFastUpdateGOB sequence", HFILL }},
19094         { &hf_h245_MiscellaneousCommand,
19095                 { "MiscellaneousCommand", "h245.MiscellaneousCommand", FT_NONE, BASE_NONE,
19096                 NULL, 0, "MiscellaneousCommand sequence", HFILL }},
19097         { &hf_h245_SubstituteConferenceIDCommand,
19098                 { "SubstituteConferenceIDCommand", "h245.SubstituteConferenceIDCommand", FT_NONE, BASE_NONE,
19099                 NULL, 0, "SubstituteConferenceIDCommand sequence", HFILL }},
19100         { &hf_h245_FlowControlCommand,
19101                 { "FlowControlCommand", "h245.FlowControlCommand", FT_NONE, BASE_NONE,
19102                 NULL, 0, "FlowControlCommand sequence", HFILL }},
19103         { &hf_h245_EncryptionCommand_encryptionAlgorithmID,
19104                 { "EncryptionCommand_encryptionAlgorithmID", "h245.EncryptionCommand_encryptionAlgorithmID", FT_NONE, BASE_NONE,
19105                 NULL, 0, "EncryptionCommand_encryptionAlgorithmID sequence", HFILL }},
19106         { &hf_h245_SendTerminalCapabilitySet_specificRequest,
19107                 { "SendTerminalCapabilitySet_specificRequest", "h245.SendTerminalCapabilitySet_specificRequest", FT_NONE, BASE_NONE,
19108                 NULL, 0, "SendTerminalCapabilitySet_specificRequest sequence", HFILL }},
19109         { &hf_h245_LogicalChannelRateRelease,
19110                 { "LogicalChannelRateRelease", "h245.LogicalChannelRateRelease", FT_NONE, BASE_NONE,
19111                 NULL, 0, "LogicalChannelRateRelease sequence", HFILL }},
19112         { &hf_h245_LogicalChannelRateReject,
19113                 { "LogicalChannelRateReject", "h245.LogicalChannelRateReject", FT_NONE, BASE_NONE,
19114                 NULL, 0, "LogicalChannelRateReject sequence", HFILL }},
19115         { &hf_h245_LogicalChannelRateAck,
19116                 { "LogicalChannelRateAck", "h245.LogicalChannelRateAck", FT_NONE, BASE_NONE,
19117                 NULL, 0, "LogicalChannelRateAck sequence", HFILL }},
19118         { &hf_h245_LogicalChannelRateRequest,
19119                 { "LogicalChannelRateRequest", "h245.LogicalChannelRateRequest", FT_NONE, BASE_NONE,
19120                 NULL, 0, "LogicalChannelRateRequest sequence", HFILL }},
19121         { &hf_h245_ConnectionIdentifier,
19122                 { "ConnectionIdentifier", "h245.ConnectionIdentifier", FT_NONE, BASE_NONE,
19123                 NULL, 0, "ConnectionIdentifier sequence", HFILL }},
19124         { &hf_h245_DialingInformationNumber,
19125                 { "DialingInformationNumber", "h245.DialingInformationNumber", FT_NONE, BASE_NONE,
19126                 NULL, 0, "DialingInformationNumber sequence", HFILL }},
19127         { &hf_h245_MultilinkIndication_excessiveError,
19128                 { "MultilinkIndication_excessiveError", "h245.MultilinkIndication_excessiveError", FT_NONE, BASE_NONE,
19129                 NULL, 0, "MultilinkIndication_excessiveError sequence", HFILL }},
19130         { &hf_h245_MultilinkIndication_crcDesired,
19131                 { "MultilinkIndication_crcDesired", "h245.MultilinkIndication_crcDesired", FT_NONE, BASE_NONE,
19132                 NULL, 0, "MultilinkIndication_crcDesired sequence", HFILL }},
19133         { &hf_h245_MultilinkResponse_maximumHeaderInterval,
19134                 { "MultilinkResponse_maximumHeaderInterval", "h245.MultilinkResponse_maximumHeaderInterval", FT_NONE, BASE_NONE,
19135                 NULL, 0, "MultilinkResponse_maximumHeaderInterval sequence", HFILL }},
19136         { &hf_h245_MultilinkResponse_removeConnection,
19137                 { "MultilinkResponse_removeConnection", "h245.MultilinkResponse_removeConnection", FT_NONE, BASE_NONE,
19138                 NULL, 0, "MultilinkResponse_removeConnection sequence", HFILL }},
19139         { &hf_h245_MultilinkResponse_addConnection,
19140                 { "MultilinkResponse_addConnection", "h245.MultilinkResponse_addConnection", FT_NONE, BASE_NONE,
19141                 NULL, 0, "MultilinkResponse_addConnection sequence", HFILL }},
19142         { &hf_h245_MultilinkResponse_callInformation,
19143                 { "MultilinkResponse_callInformation", "h245.MultilinkResponse_callInformation", FT_NONE, BASE_NONE,
19144                 NULL, 0, "MultilinkResponse_callInformation sequence", HFILL }},
19145         { &hf_h245_MultilinkRequest_maximumHeaderInterval,
19146                 { "MultilinkRequest_maximumHeaderInterval", "h245.MultilinkRequest_maximumHeaderInterval", FT_NONE, BASE_NONE,
19147                 NULL, 0, "MultilinkRequest_maximumHeaderInterval sequence", HFILL }},
19148         { &hf_h245_MultilinkRequest_removeConnection,
19149                 { "MultilinkRequest_removeConnection", "h245.MultilinkRequest_removeConnection", FT_NONE, BASE_NONE,
19150                 NULL, 0, "MultilinkRequest_removeConnection sequence", HFILL }},
19151         { &hf_h245_MultilinkRequest_addConnection,
19152                 { "MultilinkRequest_addConnection", "h245.MultilinkRequest_addConnection", FT_NONE, BASE_NONE,
19153                 NULL, 0, "MultilinkRequest_addConnection sequence", HFILL }},
19154         { &hf_h245_MultilinkRequest_callInformation,
19155                 { "MultilinkRequest_callInformation", "h245.MultilinkRequest_callInformation", FT_NONE, BASE_NONE,
19156                 NULL, 0, "MultilinkRequest_callInformation sequence", HFILL }},
19157         { &hf_h245_TerminalInformation,
19158                 { "TerminalInformation", "h245.TerminalInformation", FT_NONE, BASE_NONE,
19159                 NULL, 0, "TerminalInformation sequence", HFILL }},
19160         { &hf_h245_RequestAllTerminalIDsResponse,
19161                 { "RequestAllTerminalIDsResponse", "h245.RequestAllTerminalIDsResponse", FT_NONE, BASE_NONE,
19162                 NULL, 0, "RequestAllTerminalIDsResponse sequence", HFILL }},
19163         { &hf_h245_ConferenceResponse_terminalCertificateResponse,
19164                 { "ConferenceResponse_terminalCertificateResponse", "h245.ConferenceResponse_terminalCertificateResponse", FT_NONE, BASE_NONE,
19165                 NULL, 0, "ConferenceResponse_terminalCertificateResponse sequence", HFILL }},
19166         { &hf_h245_ConferenceResponse_chairTokenOwnerResponse,
19167                 { "ConferenceResponse_chairTokenOwnerResponse", "h245.ConferenceResponse_chairTokenOwnerResponse", FT_NONE, BASE_NONE,
19168                 NULL, 0, "ConferenceResponse_chairTokenOwnerResponse sequence", HFILL }},
19169         { &hf_h245_ConferenceResponse_extensionAddressResponse,
19170                 { "ConferenceResponse_extensionAddressResponse", "h245.ConferenceResponse_extensionAddressResponse", FT_NONE, BASE_NONE,
19171                 NULL, 0, "ConferenceResponse_extensionAddressResponse sequence", HFILL }},
19172         { &hf_h245_ConferenceResponse_passwordResponse,
19173                 { "ConferenceResponse_passwordResponse", "h245.ConferenceResponse_passwordResponse", FT_NONE, BASE_NONE,
19174                 NULL, 0, "ConferenceResponse_passwordResponse sequence", HFILL }},
19175         { &hf_h245_ConferenceResponse_conferenceIDResponse,
19176                 { "ConferenceResponse_conferenceIDResponse", "h245.ConferenceResponse_conferenceIDResponse", FT_NONE, BASE_NONE,
19177                 NULL, 0, "ConferenceResponse_conferenceIDResponse sequence", HFILL }},
19178         { &hf_h245_ConferenceResponse_terminalIDResponse,
19179                 { "ConferenceResponse_terminalIDResponse", "h245.ConferenceResponse_terminalIDResponse", FT_NONE, BASE_NONE,
19180                 NULL, 0, "ConferenceResponse_terminalIDResponse sequence", HFILL }},
19181         { &hf_h245_ConferenceResponse_mCterminalIDResponse,
19182                 { "ConferenceResponse_mCterminalIDResponse", "h245.ConferenceResponse_mCterminalIDResponse", FT_NONE, BASE_NONE,
19183                 NULL, 0, "ConferenceResponse_mCterminalIDResponse sequence", HFILL }},
19184         { &hf_h245_TerminalLabel,
19185                 { "TerminalLabel", "h245.TerminalLabel", FT_NONE, BASE_NONE,
19186                 NULL, 0, "TerminalLabel sequence", HFILL }},
19187         { &hf_h245_Criteria,
19188                 { "Criteria", "h245.Criteria", FT_NONE, BASE_NONE,
19189                 NULL, 0, "Criteria sequence", HFILL }},
19190         { &hf_h245_ConferenceRequest_requestTerminalCertificate,
19191                 { "ConferenceRequest_requestTerminalCertificate", "h245.ConferenceRequest_requestTerminalCertificate", FT_NONE, BASE_NONE,
19192                 NULL, 0, "ConferenceRequest_requestTerminalCertificate sequence", HFILL }},
19193         { &hf_h245_CommunicationModeTableEntry,
19194                 { "CommunicationModeTableEntry", "h245.CommunicationModeTableEntry", FT_NONE, BASE_NONE,
19195                 NULL, 0, "CommunicationModeTableEntry sequence", HFILL }},
19196         { &hf_h245_CommunicationModeRequest,
19197                 { "CommunicationModeRequest", "h245.CommunicationModeRequest", FT_NONE, BASE_NONE,
19198                 NULL, 0, "CommunicationModeRequest sequence", HFILL }},
19199         { &hf_h245_CommunicationModeCommand,
19200                 { "CommunicationModeCommand", "h245.CommunicationModeCommand", FT_NONE, BASE_NONE,
19201                 NULL, 0, "CommunicationModeCommand sequence", HFILL }},
19202         { &hf_h245_MaintenanceLoopOffCommand,
19203                 { "MaintenanceLoopOffCommand", "h245.MaintenanceLoopOffCommand", FT_NONE, BASE_NONE,
19204                 NULL, 0, "MaintenanceLoopOffCommand sequence", HFILL }},
19205         { &hf_h245_MaintenanceLoopReject,
19206                 { "MaintenanceLoopReject", "h245.MaintenanceLoopReject", FT_NONE, BASE_NONE,
19207                 NULL, 0, "MaintenanceLoopReject sequence", HFILL }},
19208         { &hf_h245_MaintenanceLoopAck,
19209                 { "MaintenanceLoopAck", "h245.MaintenanceLoopAck", FT_NONE, BASE_NONE,
19210                 NULL, 0, "MaintenanceLoopAck sequence", HFILL }},
19211         { &hf_h245_MaintenanceLoopRequest,
19212                 { "MaintenanceLoopRequest", "h245.MaintenanceLoopRequest", FT_NONE, BASE_NONE,
19213                 NULL, 0, "MaintenanceLoopRequest sequence", HFILL }},
19214         { &hf_h245_RoundTripDelayResponse,
19215                 { "RoundTripDelayResponse", "h245.RoundTripDelayResponse", FT_NONE, BASE_NONE,
19216                 NULL, 0, "RoundTripDelayResponse sequence", HFILL }},
19217         { &hf_h245_RoundTripDelayRequest,
19218                 { "RoundTripDelayRequest", "h245.RoundTripDelayRequest", FT_NONE, BASE_NONE,
19219                 NULL, 0, "RoundTripDelayRequest sequence", HFILL }},
19220         { &hf_h245_DataMode_application_t38fax,
19221                 { "DataMode_application_t38fax", "h245.DataMode_application_t38fax", FT_NONE, BASE_NONE,
19222                 NULL, 0, "DataMode_application_t38fax sequence", HFILL }},
19223         { &hf_h245_DataMode_application_nlpid,
19224                 { "DataMode_application_nlpid", "h245.DataMode_application_nlpid", FT_NONE, BASE_NONE,
19225                 NULL, 0, "DataMode_application_nlpid sequence", HFILL }},
19226         { &hf_h245_DataMode,
19227                 { "DataMode", "h245.DataMode", FT_NONE, BASE_NONE,
19228                 NULL, 0, "DataMode sequence", HFILL }},
19229         { &hf_h245_VBDMode,
19230                 { "VBDMode", "h245.VBDMode", FT_NONE, BASE_NONE,
19231                 NULL, 0, "VBDMode sequence", HFILL }},
19232         { &hf_h245_G7231AnnexCMode_g723AnnexCAudioMode,
19233                 { "G7231AnnexCMode_g723AnnexCAudioMode", "h245.G7231AnnexCMode_g723AnnexCAudioMode", FT_NONE, BASE_NONE,
19234                 NULL, 0, "G7231AnnexCMode_g723AnnexCAudioMode sequence", HFILL }},
19235         { &hf_h245_G7231AnnexCMode,
19236                 { "G7231AnnexCMode", "h245.G7231AnnexCMode", FT_NONE, BASE_NONE,
19237                 NULL, 0, "G7231AnnexCMode sequence", HFILL }},
19238         { &hf_h245_IS13818AudioMode,
19239                 { "IS13818AudioMode", "h245.IS13818AudioMode", FT_NONE, BASE_NONE,
19240                 NULL, 0, "IS13818AudioMode sequence", HFILL }},
19241         { &hf_h245_IS11172AudioMode,
19242                 { "IS11172AudioMode", "h245.IS11172AudioMode", FT_NONE, BASE_NONE,
19243                 NULL, 0, "IS11172AudioMode sequence", HFILL }},
19244         { &hf_h245_IS11172VideoMode,
19245                 { "IS11172VideoMode", "h245.IS11172VideoMode", FT_NONE, BASE_NONE,
19246                 NULL, 0, "IS11172VideoMode sequence", HFILL }},
19247         { &hf_h245_H263VideoMode,
19248                 { "H263VideoMode", "h245.H263VideoMode", FT_NONE, BASE_NONE,
19249                 NULL, 0, "H263VideoMode sequence", HFILL }},
19250         { &hf_h245_H262VideoMode,
19251                 { "H262VideoMode", "h245.H262VideoMode", FT_NONE, BASE_NONE,
19252                 NULL, 0, "H262VideoMode sequence", HFILL }},
19253         { &hf_h245_H261VideoMode,
19254                 { "H261VideoMode", "h245.H261VideoMode", FT_NONE, BASE_NONE,
19255                 NULL, 0, "H261VideoMode sequence", HFILL }},
19256         { &hf_h245_RedundancyEncodingMode,
19257                 { "RedundancyEncodingMode", "h245.RedundancyEncodingMode", FT_NONE, BASE_NONE,
19258                 NULL, 0, "RedundancyEncodingMode sequence", HFILL }},
19259         { &hf_h245_H2250ModeParameters,
19260                 { "H2250ModeParameters", "h245.H2250ModeParameters", FT_NONE, BASE_NONE,
19261                 NULL, 0, "H2250ModeParameters sequence", HFILL }},
19262         { &hf_h245_H223ModeParameters_adaptationLayerType_al3,
19263                 { "H223ModeParameters_adaptationLayerType_al3", "h245.H223ModeParameters_adaptationLayerType_al3", FT_NONE, BASE_NONE,
19264                 NULL, 0, "H223ModeParameters_adaptationLayerType_al3 sequence", HFILL }},
19265         { &hf_h245_H223ModeParameters,
19266                 { "H223ModeParameters", "h245.H223ModeParameters", FT_NONE, BASE_NONE,
19267                 NULL, 0, "H223ModeParameters sequence", HFILL }},
19268         { &hf_h245_FECMode_rfc2733Mode_mode_separateStream_samePort,
19269                 { "FECMode_rfc2733Mode_mode_separateStream_samePort", "h245.FECMode_rfc2733Mode_mode_separateStream_samePort", FT_NONE, BASE_NONE,
19270                 NULL, 0, "FECMode_rfc2733Mode_mode_separateStream_samePort sequence", HFILL }},
19271         { &hf_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort,
19272                 { "FECMode_rfc2733Mode_mode_separateStream_differentPort", "h245.FECMode_rfc2733Mode_mode_separateStream_differentPort", FT_NONE, BASE_NONE,
19273                 NULL, 0, "FECMode_rfc2733Mode_mode_separateStream_differentPort sequence", HFILL }},
19274         { &hf_h245_FECMode_rfc2733Mode,
19275                 { "FECMode_rfc2733Mode", "h245.FECMode_rfc2733Mode", FT_NONE, BASE_NONE,
19276                 NULL, 0, "FECMode_rfc2733Mode sequence", HFILL }},
19277         { &hf_h245_MultiplePayloadStreamElementMode,
19278                 { "MultiplePayloadStreamElementMode", "h245.MultiplePayloadStreamElementMode", FT_NONE, BASE_NONE,
19279                 NULL, 0, "MultiplePayloadStreamElementMode sequence", HFILL }},
19280         { &hf_h245_MultiplePayloadStreamMode,
19281                 { "MultiplePayloadStreamMode", "h245.MultiplePayloadStreamMode", FT_NONE, BASE_NONE,
19282                 NULL, 0, "MultiplePayloadStreamMode sequence", HFILL }},
19283         { &hf_h245_RedundancyEncodingDTModeElement,
19284                 { "RedundancyEncodingDTModeElement", "h245.RedundancyEncodingDTModeElement", FT_NONE, BASE_NONE,
19285                 NULL, 0, "RedundancyEncodingDTModeElement sequence", HFILL }},
19286         { &hf_h245_RedundancyEncodingDTMode,
19287                 { "RedundancyEncodingDTMode", "h245.RedundancyEncodingDTMode", FT_NONE, BASE_NONE,
19288                 NULL, 0, "RedundancyEncodingDTMode sequence", HFILL }},
19289         { &hf_h245_MultiplexedStreamModeParameters,
19290                 { "MultiplexedStreamModeParameters", "h245.MultiplexedStreamModeParameters", FT_NONE, BASE_NONE,
19291                 NULL, 0, "MultiplexedStreamModeParameters sequence", HFILL }},
19292         { &hf_h245_H235Mode,
19293                 { "H235Mode", "h245.H235Mode", FT_NONE, BASE_NONE,
19294                 NULL, 0, "H235Mode sequence", HFILL }},
19295         { &hf_h245_ModeElement,
19296                 { "ModeElement", "h245.ModeElement", FT_NONE, BASE_NONE,
19297                 NULL, 0, "ModeElement sequence", HFILL }},
19298         { &hf_h245_RequestModeRelease,
19299                 { "RequestModeRelease", "h245.RequestModeRelease", FT_NONE, BASE_NONE,
19300                 NULL, 0, "RequestModeRelease sequence", HFILL }},
19301         { &hf_h245_RequestModeReject,
19302                 { "RequestModeReject", "h245.RequestModeReject", FT_NONE, BASE_NONE,
19303                 NULL, 0, "RequestModeReject sequence", HFILL }},
19304         { &hf_h245_RequestModeAck,
19305                 { "RequestModeAck", "h245.RequestModeAck", FT_NONE, BASE_NONE,
19306                 NULL, 0, "RequestModeAck sequence", HFILL }},
19307         { &hf_h245_RequestMode,
19308                 { "RequestMode", "h245.RequestMode", FT_NONE, BASE_NONE,
19309                 NULL, 0, "RequestMode sequence", HFILL }},
19310         { &hf_h245_RequestMultiplexEntryRelease,
19311                 { "RequestMultiplexEntryRelease", "h245.RequestMultiplexEntryRelease", FT_NONE, BASE_NONE,
19312                 NULL, 0, "RequestMultiplexEntryRelease sequence", HFILL }},
19313         { &hf_h245_RequestMultiplexEntryRejectionDescriptions,
19314                 { "RequestMultiplexEntryRejectionDescriptions", "h245.RequestMultiplexEntryRejectionDescriptions", FT_NONE, BASE_NONE,
19315                 NULL, 0, "RequestMultiplexEntryRejectionDescriptions sequence", HFILL }},
19316         { &hf_h245_RequestMultiplexEntryReject,
19317                 { "RequestMultiplexEntryReject", "h245.RequestMultiplexEntryReject", FT_NONE, BASE_NONE,
19318                 NULL, 0, "RequestMultiplexEntryReject sequence", HFILL }},
19319         { &hf_h245_RequestMultiplexEntryAck,
19320                 { "RequestMultiplexEntryAck", "h245.RequestMultiplexEntryAck", FT_NONE, BASE_NONE,
19321                 NULL, 0, "RequestMultiplexEntryAck sequence", HFILL }},
19322         { &hf_h245_RequestMultiplexEntry,
19323                 { "RequestMultiplexEntry", "h245.RequestMultiplexEntry", FT_NONE, BASE_NONE,
19324                 NULL, 0, "RequestMultiplexEntry sequence", HFILL }},
19325         { &hf_h245_MultiplexEntrySendRelease,
19326                 { "MultiplexEntrySendRelease", "h245.MultiplexEntrySendRelease", FT_NONE, BASE_NONE,
19327                 NULL, 0, "MultiplexEntrySendRelease sequence", HFILL }},
19328         { &hf_h245_MultiplexEntryRejectionDescriptions,
19329                 { "MultiplexEntryRejectionDescriptions", "h245.MultiplexEntryRejectionDescriptions", FT_NONE, BASE_NONE,
19330                 NULL, 0, "MultiplexEntryRejectionDescriptions sequence", HFILL }},
19331         { &hf_h245_MultiplexEntrySendReject,
19332                 { "MultiplexEntrySendReject", "h245.MultiplexEntrySendReject", FT_NONE, BASE_NONE,
19333                 NULL, 0, "MultiplexEntrySendReject sequence", HFILL }},
19334         { &hf_h245_MultiplexEntrySendAck,
19335                 { "MultiplexEntrySendAck", "h245.MultiplexEntrySendAck", FT_NONE, BASE_NONE,
19336                 NULL, 0, "MultiplexEntrySendAck sequence", HFILL }},
19337         { &hf_h245_MultiplexElement,
19338                 { "MultiplexElement", "h245.MultiplexElement", FT_NONE, BASE_NONE,
19339                 NULL, 0, "MultiplexElement sequence", HFILL }},
19340         { &hf_h245_MultiplexEntryDescriptor,
19341                 { "MultiplexEntryDescriptor", "h245.MultiplexEntryDescriptor", FT_NONE, BASE_NONE,
19342                 NULL, 0, "MultiplexEntryDescriptor sequence", HFILL }},
19343         { &hf_h245_MultiplexEntrySend,
19344                 { "MultiplexEntrySend", "h245.MultiplexEntrySend", FT_NONE, BASE_NONE,
19345                 NULL, 0, "MultiplexEntrySend sequence", HFILL }},
19346         { &hf_h245_RequestChannelCloseRelease,
19347                 { "RequestChannelCloseRelease", "h245.RequestChannelCloseRelease", FT_NONE, BASE_NONE,
19348                 NULL, 0, "RequestChannelCloseRelease sequence", HFILL }},
19349         { &hf_h245_RequestChannelCloseReject,
19350                 { "RequestChannelCloseReject", "h245.RequestChannelCloseReject", FT_NONE, BASE_NONE,
19351                 NULL, 0, "RequestChannelCloseReject sequence", HFILL }},
19352         { &hf_h245_RequestChannelCloseAck,
19353                 { "RequestChannelCloseAck", "h245.RequestChannelCloseAck", FT_NONE, BASE_NONE,
19354                 NULL, 0, "RequestChannelCloseAck sequence", HFILL }},
19355         { &hf_h245_RequestChannelClose,
19356                 { "RequestChannelClose", "h245.RequestChannelClose", FT_NONE, BASE_NONE,
19357                 NULL, 0, "RequestChannelClose sequence", HFILL }},
19358         { &hf_h245_CloseLogicalChannelAck,
19359                 { "CloseLogicalChannelAck", "h245.CloseLogicalChannelAck", FT_NONE, BASE_NONE,
19360                 NULL, 0, "CloseLogicalChannelAck sequence", HFILL }},
19361         { &hf_h245_CloseLogicalChannel,
19362                 { "CloseLogicalChannel", "h245.CloseLogicalChannel", FT_NONE, BASE_NONE,
19363                 NULL, 0, "CloseLogicalChannel sequence", HFILL }},
19364         { &hf_h245_H2250LogicalChannelAckParameters,
19365                 { "H2250LogicalChannelAckParameters", "h245.H2250LogicalChannelAckParameters", FT_NONE, BASE_NONE,
19366                 NULL, 0, "H2250LogicalChannelAckParameters sequence", HFILL }},
19367         { &hf_h245_OpenLogicalChannelReject,
19368                 { "OpenLogicalChannelReject", "h245.OpenLogicalChannelReject", FT_NONE, BASE_NONE,
19369                 NULL, 0, "OpenLogicalChannelReject sequence", HFILL }},
19370         { &hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters,
19371                 { "OpenLogicalChannelAck_reverseLogicalChannelParameters", "h245.OpenLogicalChannelAck_reverseLogicalChannelParameters", FT_NONE, BASE_NONE,
19372                 NULL, 0, "OpenLogicalChannelAck_reverseLogicalChannelParameters sequence", HFILL }},
19373         { &hf_h245_OpenLogicalChannelAck,
19374                 { "OpenLogicalChannelAck", "h245.OpenLogicalChannelAck", FT_NONE, BASE_NONE,
19375                 NULL, 0, "OpenLogicalChannelAck sequence", HFILL }},
19376         { &hf_h245_EscrowData,
19377                 { "EscrowData", "h245.EscrowData", FT_NONE, BASE_NONE,
19378                 NULL, 0, "EscrowData sequence", HFILL }},
19379         { &hf_h245_EncryptionSync,
19380                 { "EncryptionSync", "h245.EncryptionSync", FT_NONE, BASE_NONE,
19381                 NULL, 0, "EncryptionSync sequence", HFILL }},
19382         { &hf_h245_MulticastAddress_iP6Address,
19383                 { "MulticastAddress_iP6Address", "h245.MulticastAddress_iP6Address", FT_NONE, BASE_NONE,
19384                 NULL, 0, "MulticastAddress_iP6Address sequence", HFILL }},
19385         { &hf_h245_MulticastAddress_iPAddress,
19386                 { "MulticastAddress_iPAddress", "h245.MulticastAddress_iPAddress", FT_NONE, BASE_NONE,
19387                 NULL, 0, "MulticastAddress_iPAddress sequence", HFILL }},
19388         { &hf_h245_UnicastAddress_iPSourceRouteAddress,
19389                 { "UnicastAddress_iPSourceRouteAddress", "h245.UnicastAddress_iPSourceRouteAddress", FT_NONE, BASE_NONE,
19390                 NULL, 0, "UnicastAddress_iPSourceRouteAddress sequence", HFILL }},
19391         { &hf_h245_UnicastAddress_iP6Address,
19392                 { "UnicastAddress_iP6Address", "h245.UnicastAddress_iP6Address", FT_NONE, BASE_NONE,
19393                 NULL, 0, "UnicastAddress_iP6Address sequence", HFILL }},
19394         { &hf_h245_UnicastAddress_iPXAddress,
19395                 { "UnicastAddress_iPXAddress", "h245.UnicastAddress_iPXAddress", FT_NONE, BASE_NONE,
19396                 NULL, 0, "UnicastAddress_iPXAddress sequence", HFILL }},
19397         { &hf_h245_UnicastAddress_iPAddress,
19398                 { "UnicastAddress_iPAddress", "h245.UnicastAddress_iPAddress", FT_NONE, BASE_NONE,
19399                 NULL, 0, "UnicastAddress_iPAddress sequence", HFILL }},
19400         { &hf_h245_FECData_rfc2733_mode_separateStream_samePort,
19401                 { "FECData_rfc2733_mode_separateStream_samePort", "h245.FECData_rfc2733_mode_separateStream_samePort", FT_NONE, BASE_NONE,
19402                 NULL, 0, "FECData_rfc2733_mode_separateStream_samePort sequence", HFILL }},
19403         { &hf_h245_FECData_rfc2733_mode_separateStream_differentPort,
19404                 { "FECData_rfc2733_mode_separateStream_differentPort", "h245.FECData_rfc2733_mode_separateStream_differentPort", FT_NONE, BASE_NONE,
19405                 NULL, 0, "FECData_rfc2733_mode_separateStream_differentPort sequence", HFILL }},
19406         { &hf_h245_FECData_rfc2733,
19407                 { "FECData_rfc2733", "h245.FECData_rfc2733", FT_NONE, BASE_NONE,
19408                 NULL, 0, "FECData_rfc2733 sequence", HFILL }},
19409         { &hf_h245_MultiplePayloadStreamElement,
19410                 { "MultiplePayloadStreamElement", "h245.MultiplePayloadStreamElement", FT_NONE, BASE_NONE,
19411                 NULL, 0, "MultiplePayloadStreamElement sequence", HFILL }},
19412         { &hf_h245_MultiplePayloadStream,
19413                 { "MultiplePayloadStream", "h245.MultiplePayloadStream", FT_NONE, BASE_NONE,
19414                 NULL, 0, "MultiplePayloadStream sequence", HFILL }},
19415         { &hf_h245_RedundancyEncodingElement,
19416                 { "RedundancyEncodingElement", "h245.RedundancyEncodingElement", FT_NONE, BASE_NONE,
19417                 NULL, 0, "RedundancyEncodingElement sequence", HFILL }},
19418         { &hf_h245_RedundancyEncoding_rtpRedundancyEncoding,
19419                 { "RedundancyEncoding_rtpRedundancyEncoding", "h245.RedundancyEncoding_rtpRedundancyEncoding", FT_NONE, BASE_NONE,
19420                 NULL, 0, "RedundancyEncoding_rtpRedundancyEncoding sequence", HFILL }},
19421         { &hf_h245_RedundancyEncoding,
19422                 { "RedundancyEncoding", "h245.RedundancyEncoding", FT_NONE, BASE_NONE,
19423                 NULL, 0, "RedundancyEncoding sequence", HFILL }},
19424         { &hf_h245_RTPPayloadType,
19425                 { "RTPPayloadType", "h245.RTPPayloadType", FT_NONE, BASE_NONE,
19426                 NULL, 0, "RTPPayloadType sequence", HFILL }},
19427         { &hf_h245_H2250LogicalChannelParameters,
19428                 { "H2250LogicalChannelParameters", "h245.H2250LogicalChannelParameters", FT_NONE, BASE_NONE,
19429                 NULL, 0, "H2250LogicalChannelParameters sequence", HFILL }},
19430         { &hf_h245_V76HDLCParameters,
19431                 { "V76HDLCParameters", "h245.V76HDLCParameters", FT_NONE, BASE_NONE,
19432                 NULL, 0, "V76HDLCParameters sequence", HFILL }},
19433         { &hf_h245_V76LogicalChannelParameters_mode_eRM,
19434                 { "V76LogicalChannelParameters_mode_eRM", "h245.V76LogicalChannelParameters_mode_eRM", FT_NONE, BASE_NONE,
19435                 NULL, 0, "V76LogicalChannelParameters_mode_eRM sequence", HFILL }},
19436         { &hf_h245_V76LogicalChannelParameters,
19437                 { "V76LogicalChannelParameters", "h245.V76LogicalChannelParameters", FT_NONE, BASE_NONE,
19438                 NULL, 0, "V76LogicalChannelParameters sequence", HFILL }},
19439         { &hf_h245_H223AnnexCArqParameters,
19440                 { "H223AnnexCArqParameters", "h245.H223AnnexCArqParameters", FT_NONE, BASE_NONE,
19441                 NULL, 0, "H223AnnexCArqParameters sequence", HFILL }},
19442         { &hf_h245_H223AL3MParameters,
19443                 { "H223AL3MParameters", "h245.H223AL3MParameters", FT_NONE, BASE_NONE,
19444                 NULL, 0, "H223AL3MParameters sequence", HFILL }},
19445         { &hf_h245_H223AL2MParameters,
19446                 { "H223AL2MParameters", "h245.H223AL2MParameters", FT_NONE, BASE_NONE,
19447                 NULL, 0, "H223AL2MParameters sequence", HFILL }},
19448         { &hf_h245_H223AL1MParameters,
19449                 { "H223AL1MParameters", "h245.H223AL1MParameters", FT_NONE, BASE_NONE,
19450                 NULL, 0, "H223AL1MParameters sequence", HFILL }},
19451         { &hf_h245_H223LogicalChannelParameters_adaptionLayerType_al3,
19452                 { "H223LogicalChannelParameters_adaptionLayerType_al3", "h245.H223LogicalChannelParameters_adaptionLayerType_al3", FT_NONE, BASE_NONE,
19453                 NULL, 0, "H223LogicalChannelParameters_adaptionLayerType_al3 sequence", HFILL }},
19454         { &hf_h245_H223LogicalChannelParameters,
19455                 { "H223LogicalChannelParameters", "h245.H223LogicalChannelParameters", FT_NONE, BASE_NONE,
19456                 NULL, 0, "H223LogicalChannelParameters sequence", HFILL }},
19457         { &hf_h245_H222LogicalChannelParameters,
19458                 { "H222LogicalChannelParameters", "h245.H222LogicalChannelParameters", FT_NONE, BASE_NONE,
19459                 NULL, 0, "H222LogicalChannelParameters sequence", HFILL }},
19460         { &hf_h245_MultiplexedStreamParameter,
19461                 { "MultiplexedStreamParameter", "h245.MultiplexedStreamParameter", FT_NONE, BASE_NONE,
19462                 NULL, 0, "MultiplexedStreamParameter sequence", HFILL }},
19463         { &hf_h245_H235Media,
19464                 { "H235Media", "h245.H235Media", FT_NONE, BASE_NONE,
19465                 NULL, 0, "H235Media sequence", HFILL }},
19466         { &hf_h245_V75Parameters,
19467                 { "V75Parameters", "h245.V75Parameters", FT_NONE, BASE_NONE,
19468                 NULL, 0, "V75Parameters sequence", HFILL }},
19469         { &hf_h245_Q2931Address,
19470                 { "Q2931Address", "h245.Q2931Address", FT_NONE, BASE_NONE,
19471                 NULL, 0, "Q2931Address sequence", HFILL }},
19472         { &hf_h245_NetworkAccessParameters,
19473                 { "NetworkAccessParameters", "h245.NetworkAccessParameters", FT_NONE, BASE_NONE,
19474                 NULL, 0, "NetworkAccessParameters sequence", HFILL }},
19475         { &hf_h245_reverseLogicalChannelParameters,
19476                 { "reverseLogicalChannelParameters", "h245.reverseLogicalChannelParameters", FT_NONE, BASE_NONE,
19477                 NULL, 0, "reverseLogicalChannelParameters sequence", HFILL }},
19478         { &hf_h245_forwardLogicalChannelParameters,
19479                 { "forwardLogicalChannelParameters", "h245.forwardLogicalChannelParameters", FT_NONE, BASE_NONE,
19480                 NULL, 0, "forwardLogicalChannelParameters sequence", HFILL }},
19481         { &hf_h245_OpenLogicalChannel,
19482                 { "OpenLogicalChannel", "h245.OpenLogicalChannel", FT_NONE, BASE_NONE,
19483                 NULL, 0, "OpenLogicalChannel sequence", HFILL }},
19484         { &hf_h245_FECCapability_rfc2733_separateStream,
19485                 { "FECCapability_rfc2733_separateStream", "h245.FECCapability_rfc2733_separateStream", FT_NONE, BASE_NONE,
19486                 NULL, 0, "FECCapability_rfc2733_separateStream sequence", HFILL }},
19487         { &hf_h245_FECCapability_rfc2733,
19488                 { "FECCapability_rfc2733", "h245.FECCapability_rfc2733", FT_NONE, BASE_NONE,
19489                 NULL, 0, "FECCapability_rfc2733 sequence", HFILL }},
19490         { &hf_h245_MultiplePayloadStreamCapability,
19491                 { "MultiplePayloadStreamCapability", "h245.MultiplePayloadStreamCapability", FT_NONE, BASE_NONE,
19492                 NULL, 0, "MultiplePayloadStreamCapability sequence", HFILL }},
19493         { &hf_h245_NoPTAudioToneCapability,
19494                 { "NoPTAudioToneCapability", "h245.NoPTAudioToneCapability", FT_NONE, BASE_NONE,
19495                 NULL, 0, "NoPTAudioToneCapability sequence", HFILL }},
19496         { &hf_h245_NoPTAudioTelephonyEventCapability,
19497                 { "NoPTAudioTelephonyEventCapability", "h245.NoPTAudioTelephonyEventCapability", FT_NONE, BASE_NONE,
19498                 NULL, 0, "NoPTAudioTelephonyEventCapability sequence", HFILL }},
19499         { &hf_h245_AudioToneCapability,
19500                 { "AudioToneCapability", "h245.AudioToneCapability", FT_NONE, BASE_NONE,
19501                 NULL, 0, "AudioToneCapability sequence", HFILL }},
19502         { &hf_h245_AudioTelephonyEventCapability,
19503                 { "AudioTelephonyEventCapability", "h245.AudioTelephonyEventCapability", FT_NONE, BASE_NONE,
19504                 NULL, 0, "AudioTelephonyEventCapability sequence", HFILL }},
19505         { &hf_h245_MultiplexedStreamCapability,
19506                 { "MultiplexedStreamCapability", "h245.MultiplexedStreamCapability", FT_NONE, BASE_NONE,
19507                 NULL, 0, "MultiplexedStreamCapability sequence", HFILL }},
19508         { &hf_h245_GenericParameter,
19509                 { "GenericParameter", "h245.GenericParameter", FT_NONE, BASE_NONE,
19510                 NULL, 0, "GenericParameter sequence", HFILL }},
19511         { &hf_h245_GenericCapability,
19512                 { "GenericCapability", "h245.GenericCapability", FT_NONE, BASE_NONE,
19513                 NULL, 0, "GenericCapability sequence", HFILL }},
19514         { &hf_h245_ConferenceCapability,
19515                 { "ConferenceCapability", "h245.ConferenceCapability", FT_NONE, BASE_NONE,
19516                 NULL, 0, "ConferenceCapability sequence", HFILL }},
19517         { &hf_h245_IntegrityCapability,
19518                 { "IntegrityCapability", "h245.IntegrityCapability", FT_NONE, BASE_NONE,
19519                 NULL, 0, "IntegrityCapability sequence", HFILL }},
19520         { &hf_h245_AuthenticationCapability,
19521                 { "AuthenticationCapability", "h245.AuthenticationCapability", FT_NONE, BASE_NONE,
19522                 NULL, 0, "AuthenticationCapability sequence", HFILL }},
19523         { &hf_h245_EncryptionAuthenticationAndIntegrity,
19524                 { "EncryptionAuthenticationAndIntegrity", "h245.EncryptionAuthenticationAndIntegrity", FT_NONE, BASE_NONE,
19525                 NULL, 0, "EncryptionAuthenticationAndIntegrity sequence", HFILL }},
19526         { &hf_h245_T38FaxTcpOptions,
19527                 { "T38FaxTcpOptions", "h245.T38FaxTcpOptions", FT_NONE, BASE_NONE,
19528                 NULL, 0, "T38FaxTcpOptions sequence", HFILL }},
19529         { &hf_h245_T38FaxUdpOptions,
19530                 { "T38FaxUdpOptions", "h245.T38FaxUdpOptions", FT_NONE, BASE_NONE,
19531                 NULL, 0, "T38FaxUdpOptions sequence", HFILL }},
19532         { &hf_h245_T38FaxProfile,
19533                 { "T38FaxProfile", "h245.T38FaxProfile", FT_NONE, BASE_NONE,
19534                 NULL, 0, "T38FaxProfile sequence", HFILL }},
19535         { &hf_h245_T84Profile_t84Restricted,
19536                 { "T84Profile_t84Restricted", "h245.T84Profile_t84Restricted", FT_NONE, BASE_NONE,
19537                 NULL, 0, "T84Profile_t84Restricted sequence", HFILL }},
19538         { &hf_h245_V42bis,
19539                 { "V42bis", "h245.V42bis", FT_NONE, BASE_NONE,
19540                 NULL, 0, "V42bis sequence", HFILL }},
19541         { &hf_h245_DataApplicationCapability_application_t38fax,
19542                 { "DataApplicationCapability_application_t38fax", "h245.DataApplicationCapability_application_t38fax", FT_NONE, BASE_NONE,
19543                 NULL, 0, "DataApplicationCapability_application_t38fax sequence", HFILL }},
19544         { &hf_h245_DataApplicationCapability_application_nlpid,
19545                 { "DataApplicationCapability_application_nlpid", "h245.DataApplicationCapability_application_nlpid", FT_NONE, BASE_NONE,
19546                 NULL, 0, "DataApplicationCapability_application_nlpid sequence", HFILL }},
19547         { &hf_h245_DataApplicationCapability_application_t84,
19548                 { "DataApplicationCapability_application_t84", "h245.DataApplicationCapability_application_t84", FT_NONE, BASE_NONE,
19549                 NULL, 0, "DataApplicationCapability_application_t84 sequence", HFILL }},
19550         { &hf_h245_DataApplicationCapability,
19551                 { "DataApplicationCapability", "h245.DataApplicationCapability", FT_NONE, BASE_NONE,
19552                 NULL, 0, "DataApplicationCapability sequence", HFILL }},
19553         { &hf_h245_VBDCapability,
19554                 { "VBDCapability", "h245.VBDCapability", FT_NONE, BASE_NONE,
19555                 NULL, 0, "VBDCapability sequence", HFILL }},
19556         { &hf_h245_GSMAudioCapability,
19557                 { "GSMAudioCapability", "h245.GSMAudioCapability", FT_NONE, BASE_NONE,
19558                 NULL, 0, "GSMAudioCapability sequence", HFILL }},
19559         { &hf_h245_IS13818AudioCapability,
19560                 { "IS13818AudioCapability", "h245.IS13818AudioCapability", FT_NONE, BASE_NONE,
19561                 NULL, 0, "IS13818AudioCapability sequence", HFILL }},
19562         { &hf_h245_IS11172AudioCapability,
19563                 { "IS11172AudioCapability", "h245.IS11172AudioCapability", FT_NONE, BASE_NONE,
19564                 NULL, 0, "IS11172AudioCapability sequence", HFILL }},
19565         { &hf_h245_G7231AnnexCCapability_g723AnnexCAudioMode,
19566                 { "G7231AnnexCCapability_g723AnnexCAudioMode", "h245.G7231AnnexCCapability_g723AnnexCAudioMode", FT_NONE, BASE_NONE,
19567                 NULL, 0, "G7231AnnexCCapability_g723AnnexCAudioMode sequence", HFILL }},
19568         { &hf_h245_G7231AnnexCCapability,
19569                 { "G7231AnnexCCapability", "h245.G7231AnnexCCapability", FT_NONE, BASE_NONE,
19570                 NULL, 0, "G7231AnnexCCapability sequence", HFILL }},
19571         { &hf_h245_G729Extensions,
19572                 { "G729Extensions", "h245.G729Extensions", FT_NONE, BASE_NONE,
19573                 NULL, 0, "G729Extensions sequence", HFILL }},
19574         { &hf_h245_AudioCapability_g7231,
19575                 { "AudioCapability_g7231", "h245.AudioCapability_g7231", FT_NONE, BASE_NONE,
19576                 NULL, 0, "AudioCapability_g7231 sequence", HFILL }},
19577         { &hf_h245_IS11172VideoCapability,
19578                 { "IS11172VideoCapability", "h245.IS11172VideoCapability", FT_NONE, BASE_NONE,
19579                 NULL, 0, "IS11172VideoCapability sequence", HFILL }},
19580         { &hf_h245_H263Version3Options,
19581                 { "H263Version3Options", "h245.H263Version3Options", FT_NONE, BASE_NONE,
19582                 NULL, 0, "H263Version3Options sequence", HFILL }},
19583         { &hf_h245_H263ModeComboFlags,
19584                 { "H263ModeComboFlags", "h245.H263ModeComboFlags", FT_NONE, BASE_NONE,
19585                 NULL, 0, "H263ModeComboFlags sequence", HFILL }},
19586         { &hf_h245_H263VideoModeCombos,
19587                 { "H263VideoModeCombos", "h245.H263VideoModeCombos", FT_NONE, BASE_NONE,
19588                 NULL, 0, "H263VideoModeCombos sequence", HFILL }},
19589         { &hf_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR,
19590                 { "CustomPictureFormat_pixelAspectInformation_extendedPAR", "h245.CustomPictureFormat_pixelAspectInformation_extendedPAR", FT_NONE, BASE_NONE,
19591                 NULL, 0, "CustomPictureFormat_pixelAspectInformation_extendedPAR sequence", HFILL }},
19592         { &hf_h245_CustomPictureFormat_mPI_customPCF,
19593                 { "CustomPictureFormat_mPI_customPCF", "h245.CustomPictureFormat_mPI_customPCF", FT_NONE, BASE_NONE,
19594                 NULL, 0, "CustomPictureFormat_mPI_customPCF sequence", HFILL }},
19595         { &hf_h245_CustomPictureFormat_mPI,
19596                 { "CustomPictureFormat_mPI", "h245.CustomPictureFormat_mPI", FT_NONE, BASE_NONE,
19597                 NULL, 0, "CustomPictureFormat_mPI sequence", HFILL }},
19598         { &hf_h245_CustomPictureFormat,
19599                 { "CustomPictureFormat", "h245.CustomPictureFormat", FT_NONE, BASE_NONE,
19600                 NULL, 0, "CustomPictureFormat sequence", HFILL }},
19601         { &hf_h245_CustomPictureClockFrequency,
19602                 { "CustomPictureClockFrequency", "h245.CustomPictureClockFrequency", FT_NONE, BASE_NONE,
19603                 NULL, 0, "CustomPictureClockFrequency sequence", HFILL }},
19604         { &hf_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters,
19605                 { "RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters", "h245.RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters", FT_NONE, BASE_NONE,
19606                 NULL, 0, "RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters sequence", HFILL }},
19607         { &hf_h245_RefPictureSelection_enhancedReferencePicSelect,
19608                 { "RefPictureSelection_enhancedReferencePicSelect", "h245.RefPictureSelection_enhancedReferencePicSelect", FT_NONE, BASE_NONE,
19609                 NULL, 0, "RefPictureSelection_enhancedReferencePicSelect sequence", HFILL }},
19610         { &hf_h245_RefPictureSelection_additionalPictureMemory,
19611                 { "RefPictureSelection_additionalPictureMemory", "h245.RefPictureSelection_additionalPictureMemory", FT_NONE, BASE_NONE,
19612                 NULL, 0, "RefPictureSelection_additionalPictureMemory sequence", HFILL }},
19613         { &hf_h245_RefPictureSelection,
19614                 { "RefPictureSelection", "h245.RefPictureSelection", FT_NONE, BASE_NONE,
19615                 NULL, 0, "RefPictureSelection sequence", HFILL }},
19616         { &hf_h245_TransperencyParameters,
19617                 { "TransperencyParameters", "h245.TransperencyParameters", FT_NONE, BASE_NONE,
19618                 NULL, 0, "TransperencyParameters sequence", HFILL }},
19619         { &hf_h245_H263Options,
19620                 { "H263Options", "h245.H263Options", FT_NONE, BASE_NONE,
19621                 NULL, 0, "H263Options sequence", HFILL }},
19622         { &hf_h245_EnhancementOptions,
19623                 { "EnhancementOptions", "h245.EnhancementOptions", FT_NONE, BASE_NONE,
19624                 NULL, 0, "EnhancementOptions sequence", HFILL }},
19625         { &hf_h245_BEnhancementParameters,
19626                 { "BEnhancementParameters", "h245.BEnhancementParameters", FT_NONE, BASE_NONE,
19627                 NULL, 0, "BEnhancementParameters sequence", HFILL }},
19628         { &hf_h245_EnhancementLayerInfo,
19629                 { "EnhancementLayerInfo", "h245.EnhancementLayerInfo", FT_NONE, BASE_NONE,
19630                 NULL, 0, "EnhancementLayerInfo sequence", HFILL }},
19631         { &hf_h245_H263VideoCapability,
19632                 { "H263VideoCapability", "h245.H263VideoCapability", FT_NONE, BASE_NONE,
19633                 NULL, 0, "H263VideoCapability sequence", HFILL }},
19634         { &hf_h245_H262VideoCapability,
19635                 { "H262VideoCapability", "h245.H262VideoCapability", FT_NONE, BASE_NONE,
19636                 NULL, 0, "H262VideoCapability sequence", HFILL }},
19637         { &hf_h245_H261VideoCapability,
19638                 { "H261VideoCapability", "h245.H261VideoCapability", FT_NONE, BASE_NONE,
19639                 NULL, 0, "H261VideoCapability sequence", HFILL }},
19640         { &hf_h245_MediaDistributionCapability,
19641                 { "MediaDistributionCapability", "h245.MediaDistributionCapability", FT_NONE, BASE_NONE,
19642                 NULL, 0, "MediaDistributionCapability sequence", HFILL }},
19643         { &hf_h245_MultipointCapability,
19644                 { "MultipointCapability", "h245.MultipointCapability", FT_NONE, BASE_NONE,
19645                 NULL, 0, "MultipointCapability sequence", HFILL }},
19646         { &hf_h245_receiveMultipointCapability,
19647                 { "receiveMultipointCapability", "h245.receiveMultipointCapability", FT_NONE, BASE_NONE,
19648                 NULL, 0, "Receive MultipointCapability sequence", HFILL }},
19649         { &hf_h245_transmitMultipointCapability,
19650                 { "transmitMultipointCapability", "h245.transmitMultipointCapability", FT_NONE, BASE_NONE,
19651                 NULL, 0, "Transmit MultipointCapability sequence", HFILL }},
19652         { &hf_h245_receiveAndTransmitMultipointCapability,
19653                 { "receiveAndTransmitMultipointCapability", "h245.receiveAndTransmitMultipointCapability", FT_NONE, BASE_NONE,
19654                 NULL, 0, "Receive And Transmit MultipointCapability sequence", HFILL }},
19655         { &hf_h245_RTPH263VideoRedundancyFrameMapping,
19656                 { "RTPH263VideoRedundancyFrameMapping", "h245.RTPH263VideoRedundancyFrameMapping", FT_NONE, BASE_NONE,
19657                 NULL, 0, "RTPH263VideoRedundancyFrameMapping sequence", HFILL }},
19658         { &hf_h245_RTPH263VideoRedundancyEncoding,
19659                 { "RTPH263VideoRedundancyEncoding", "h245.RTPH263VideoRedundancyEncoding", FT_NONE, BASE_NONE,
19660                 NULL, 0, "RTPH263VideoRedundancyEncoding sequence", HFILL }},
19661         { &hf_h245_RedundancyEncodingCapability,
19662                 { "RedundancyEncodingCapability", "h245.RedundancyEncodingCapability", FT_NONE, BASE_NONE,
19663                 NULL, 0, "RedundancyEncodingCapability sequence", HFILL }},
19664         { &hf_h245_TransportCapability,
19665                 { "TransportCapability", "h245.TransportCapability", FT_NONE, BASE_NONE,
19666                 NULL, 0, "TransportCapability sequence", HFILL }},
19667         { &hf_h245_MediaChannelCapability,
19668                 { "MediaChannelCapability", "h245.MediaChannelCapability", FT_NONE, BASE_NONE,
19669                 NULL, 0, "MediaChannelCapability sequence", HFILL }},
19670         { &hf_h245_MediaTransportType_AtmAAL5Compressed,
19671                 { "MediaTransportType_AtmAAL5Compressed", "h245.MediaTransportType_AtmAAL5Compressed", FT_NONE, BASE_NONE,
19672                 NULL, 0, "MediaTransportType_AtmAAL5Compressed sequence", HFILL }},
19673         { &hf_h245_QOSCapability,
19674                 { "QOSCapability", "h245.QOSCapability", FT_NONE, BASE_NONE,
19675                 NULL, 0, "QOSCapability sequence", HFILL }},
19676         { &hf_h245_ATMParameters,
19677                 { "ATMParameters", "h245.ATMParameters", FT_NONE, BASE_NONE,
19678                 NULL, 0, "ATMParameters sequence", HFILL }},
19679         { &hf_h245_RSVPParameters,
19680                 { "RSVPParameters", "h245.RSVPParameters", FT_NONE, BASE_NONE,
19681                 NULL, 0, "RSVPParameters sequence", HFILL }},
19682         { &hf_h245_MediaPacketizationCapability,
19683                 { "MediaPacketizationCapability", "h245.MediaPacketizationCapability", FT_NONE, BASE_NONE,
19684                 NULL, 0, "MediaPacketizationCapability sequence", HFILL }},
19685         { &hf_h245_H2250Capability_mcCapability,
19686                 { "H2250Capability_mcCapability", "h245.H2250Capability_mcCapability", FT_NONE, BASE_NONE,
19687                 NULL, 0, "H2250Capability_mcCapability sequence", HFILL }},
19688         { &hf_h245_H2250Capability,
19689                 { "H2250Capability", "h245.H2250Capability", FT_NONE, BASE_NONE,
19690                 NULL, 0, "H2250Capability sequence", HFILL }},
19691         { &hf_h245_V75Capability,
19692                 { "V75Capability", "h245.V75Capability", FT_NONE, BASE_NONE,
19693                 NULL, 0, "V75Capability sequence", HFILL }},
19694         { &hf_h245_V76Capability,
19695                 { "V76Capability", "h245.V76Capability", FT_NONE, BASE_NONE,
19696                 NULL, 0, "V76Capability sequence", HFILL }},
19697         { &hf_h245_H223AnnexCCapability,
19698                 { "H223AnnexCCapability", "h245.H223AnnexCCapability", FT_NONE, BASE_NONE,
19699                 NULL, 0, "H223AnnexCCapability sequence", HFILL }},
19700         { &hf_h245_H223Capability_mobileMultilinkFrameCapability,
19701                 { "H223Capability_mobileMultilinkFrameCapability", "h245.H223Capability_mobileMultilinkFrameCapability", FT_NONE, BASE_NONE,
19702                 NULL, 0, "H223Capability_mobileMultilinkFrameCapability sequence", HFILL }},
19703         { &hf_h245_H223Capability_mobileOperationTransmitCapability,
19704                 { "H223Capability_mobileOperationTransmitCapability", "h245.H223Capability_mobileOperationTransmitCapability", FT_NONE, BASE_NONE,
19705                 NULL, 0, "H223Capability_mobileOperationTransmitCapability sequence", HFILL }},
19706         { &hf_h245_H223Capability_h223MultiplexTableCapability_enhanced,
19707                 { "H223Capability_h223MultiplexTableCapability_enhanced", "h245.H223Capability_h223MultiplexTableCapability_enhanced", FT_NONE, BASE_NONE,
19708                 NULL, 0, "H223Capability_h223MultiplexTableCapability_enhanced sequence", HFILL }},
19709         { &hf_h245_H223Capability,
19710                 { "H223Capability", "h245.H223Capability", FT_NONE, BASE_NONE,
19711                 NULL, 0, "H223Capability sequence", HFILL }},
19712         { &hf_h245_VCCapability_aal1ViaGateway,
19713                 { "VCCapability_aal1ViaGateway", "h245.VCCapability_aal1ViaGateway", FT_NONE, BASE_NONE,
19714                 NULL, 0, "VCCapability_aal1ViaGateway sequence", HFILL }},
19715         { &hf_h245_VCCapability_availableBitRates_rangeOfBitRates,
19716                 { "VCCapability_availableBitRates_rangeOfBitRates", "h245.VCCapability_availableBitRates_rangeOfBitRates", FT_NONE, BASE_NONE,
19717                 NULL, 0, "VCCapability_availableBitRates_rangeOfBitRates sequence", HFILL }},
19718         { &hf_h245_VCCapability_availableBitRates,
19719                 { "VCCapability_availableBitRates", "h245.VCCapability_availableBitRates", FT_NONE, BASE_NONE,
19720                 NULL, 0, "VCCapability_availableBitRates sequence", HFILL }},
19721         { &hf_h245_VCCapability_aal5,
19722                 { "VCCapability_aal5", "h245.VCCapability_aal5", FT_NONE, BASE_NONE,
19723                 NULL, 0, "VCCapability_aal5 sequence", HFILL }},
19724         { &hf_h245_VCCapability_aal1,
19725                 { "VCCapability_aal1", "h245.VCCapability_aal1", FT_NONE, BASE_NONE,
19726                 NULL, 0, "VCCapability_aal1 sequence", HFILL }},
19727         { &hf_h245_VCCapability,
19728                 { "VCCapability", "h245.VCCapability", FT_NONE, BASE_NONE,
19729                 NULL, 0, "VCCapability sequence", HFILL }},
19730         { &hf_h245_H222Capability,
19731                 { "H222Capability", "h245.H222Capability", FT_NONE, BASE_NONE,
19732                 NULL, 0, "H222Capability sequence", HFILL }},
19733         { &hf_h245_H235SecurityCapability,
19734                 { "H235SecurityCapability", "h245.H235SecurityCapability", FT_NONE, BASE_NONE,
19735                 NULL, 0, "H235SecurityCapability sequence", HFILL }},
19736         { &hf_h245_Capability_h233EncryptionReceiveCapability,
19737                 { "Capability_h233EncryptionReceiveCapability", "h245.Capability_h233EncryptionReceiveCapability", FT_NONE, BASE_NONE,
19738                 NULL, 0, "Capability_h233EncryptionReceiveCapability sequence", HFILL }},
19739         { &hf_h245_TerminalCapabilitySetRelease,
19740                 { "TerminalCapabilitySetRelease", "h245.TerminalCapabilitySetRelease", FT_NONE, BASE_NONE,
19741                 NULL, 0, "TerminalCapabilitySetRelease sequence", HFILL }},
19742         { &hf_h245_TerminalCapabilitySetReject,
19743                 { "TerminalCapabilitySetReject", "h245.TerminalCapabilitySetReject", FT_NONE, BASE_NONE,
19744                 NULL, 0, "TerminalCapabilitySetReject sequence", HFILL }},
19745         { &hf_h245_TerminalCapabilitySetAck,
19746                 { "TerminalCapabilitySetAck", "h245.TerminalCapabilitySetAck", FT_NONE, BASE_NONE,
19747                 NULL, 0, "TerminalCapabilitySetAck sequence", HFILL }},
19748         { &hf_h245_CapabilityDescriptor,
19749                 { "CapabilityDescriptor", "h245.CapabilityDescriptor", FT_NONE, BASE_NONE,
19750                 NULL, 0, "CapabilityDescriptor sequence", HFILL }},
19751         { &hf_h245_CapabilityTableEntry,
19752                 { "CapabilityTableEntry", "h245.CapabilityTableEntry", FT_NONE, BASE_NONE,
19753                 NULL, 0, "CapabilityTableEntry sequence", HFILL }},
19754         { &hf_h245_TerminalCapabilitySet,
19755                 { "TerminalCapabilitySet", "h245.TerminalCapabilitySet", FT_NONE, BASE_NONE,
19756                 NULL, 0, "TerminalCapabilitySet sequence", HFILL }},
19757         { &hf_h245_MasterSlaveDeterminationRelease,
19758                 { "MasterSlaveDeterminationRelease", "h245.MasterSlaveDeterminationRelease", FT_NONE, BASE_NONE,
19759                 NULL, 0, "MasterSlaveDeterminationRelease sequence", HFILL }},
19760         { &hf_h245_MasterSlaveDeterminationReject,
19761                 { "MasterSlaveDeterminationReject", "h245.MasterSlaveDeterminationReject", FT_NONE, BASE_NONE,
19762                 NULL, 0, "MasterSlaveDeterminationReject sequence", HFILL }},
19763         { &hf_h245_MasterSlaveDeterminationAck,
19764                 { "MasterSlaveDeterminationAck", "h245.MasterSlaveDeterminationAck", FT_NONE, BASE_NONE,
19765                 NULL, 0, "MasterSlaveDeterminationAck sequence", HFILL }},
19766         { &hf_h245_MasterSlaveDetermination,
19767                 { "MasterSlaveDetermination", "h245.MasterSlaveDetermination", FT_NONE, BASE_NONE,
19768                 NULL, 0, "MasterSlaveDetermination sequence", HFILL }},
19769         { &hf_h245_h221NonStandard,
19770                 { "h221NonStandard", "h245.h221NonStandard", FT_NONE, BASE_NONE,
19771                 NULL, 0, "h221NonStandard sequence", HFILL }},
19772         { &hf_h245_NonStandardParameter,
19773                 { "NonStandardParameter", "h245.NonStandardParameter", FT_NONE, BASE_NONE,
19774                 NULL, 0, "NonStandardParameter sequence", HFILL }},
19775         { &hf_h245_NonStandardMessage,
19776                 { "NonStandardMessage", "h245.NonStandardMessage", FT_NONE, BASE_NONE,
19777                 NULL, 0, "NonStandardMessage sequence", HFILL }},
19778         { &hf_h245_FlowControlIndication_restriction,
19779                 { "FlowControlIndication_restriction", "h245.FlowControlIndication_restriction_type", FT_UINT32, BASE_DEC,
19780                 VALS(FlowControlIndication_restriction_vals), 0, "FlowControlIndication_restriction choice", HFILL }},
19781         { &hf_h245_FlowControlIndication_scope,
19782                 { "FlowControlIndication_scope", "h245.FlowControlIndication_scope_type", FT_UINT32, BASE_DEC,
19783                 VALS(FlowControlIndication_scope_vals), 0, "FlowControlIndication_scope choice", HFILL }},
19784         { &hf_h245_UserInputIndication_userInputSupportIndication,
19785                 { "UserInputIndication_userInputSupportIndication type", "h245.UserInputIndication_userInputSupportIndication_type", FT_UINT32, BASE_DEC,
19786                 VALS(UserInputIndication_userInputSupportIndication_vals), 0, "Type of UserInputIndication_userInputSupportIndication choice", HFILL }},
19787         { &hf_h245_UserInputIndication,
19788                 { "UserInputIndication type", "h245.UserInputIndication_type", FT_UINT32, BASE_DEC,
19789                 VALS(UserInputIndication_vals), 0, "Type of UserInputIndication choice", HFILL }},
19790         { &hf_h245_NewATMVCIndication_reverseParameters_multiplex,
19791                 { "NewATMVCIndication_reverseParameters_multiplex type", "h245.NewATMVCIndication_reverseParameters_multiplex_type", FT_UINT32, BASE_DEC,
19792                 VALS(NewATMVCIndication_reverseParameters_multiplex_vals), 0, "Type of NewATMVCIndication_reverseParameters_multiplex choice", HFILL }},
19793         { &hf_h245_NewATMVCIndication_multiplex,
19794                 { "NewATMVCIndication_multiplex type", "h245.NewATMVCIndication_multiplex_type", FT_UINT32, BASE_DEC,
19795                 VALS(NewATMVCIndication_multiplex_vals), 0, "Type of NewATMVCIndication_multiplex choice", HFILL }},
19796         { &hf_h245_NewATMVCIndication_aal_aal1_errorCorrection,
19797                 { "NewATMVCIndication_aal_aal1_errorCorrection type", "h245.NewATMVCIndication_aal_aal1_errorCorrection_type", FT_UINT32, BASE_DEC,
19798                 VALS(NewATMVCIndication_aal_aal1_errorCorrection_vals), 0, "Type of NewATMVCIndication_aal_aal1_errorCorrection choice", HFILL }},
19799         { &hf_h245_NewATMVCIndication_aal_aal1_clockRecovery,
19800                 { "NewATMVCIndication_aal_aal1_clockRecovery type", "h245.NewATMVCIndication_aal_aal1_clockRecovery_type", FT_UINT32, BASE_DEC,
19801                 VALS(NewATMVCIndication_aal_aal1_clockRecovery_vals), 0, "Type of NewATMVCIndication_aal_aal1_clockRecovery choice", HFILL }},
19802         { &hf_h245_NewATMVCIndication_aal,
19803                 { "NewATMVCIndication_aal type", "h245.NewATMVCIndication_aal_type", FT_UINT32, BASE_DEC,
19804                 VALS(NewATMVCIndication_aal_vals), 0, "Type of NewATMVCIndication_aal choice", HFILL }},
19805         { &hf_h245_JitterIndication_scope,
19806                 { "JitterIndication_scope type", "h245.JitterIndication_scope_type", FT_UINT32, BASE_DEC,
19807                 VALS(JitterIndication_scope_vals), 0, "Type of JitterIndication_scope choice", HFILL }},
19808         { &hf_h245_MiscellaneousIndication_type,
19809                 { "MiscellaneousIndication_type type", "h245.MiscellaneousIndication_type_type", FT_UINT32, BASE_DEC,
19810                 VALS(MiscellaneousIndication_type_vals), 0, "Type of MiscellaneousIndication_type choice", HFILL }},
19811         { &hf_h245_ConferenceIndication,
19812                 { "ConferenceIndication type", "h245.ConferenceIndication_type", FT_UINT32, BASE_DEC,
19813                 VALS(ConferenceIndication_vals), 0, "Type of ConferenceIndication choice", HFILL }},
19814         { &hf_h245_FunctionNotSupported_cause,
19815                 { "FunctionNotSupported_cause type", "h245.FunctionNotSupported_cause_type", FT_UINT32, BASE_DEC,
19816                 VALS(FunctionNotSupported_cause_vals), 0, "Type of FunctionNotSupported_cause choice", HFILL }},
19817         { &hf_h245_FunctionNotUnderstood,
19818                 { "FunctionNotUnderstood type", "h245.FunctionNotUnderstood_type", FT_UINT32, BASE_DEC,
19819                 VALS(FunctionNotUnderstood_vals), 0, "Type of FunctionNotUnderstood choice", HFILL }},
19820         { &hf_h245_MobileMultilinkReconfigurationCommand_status,
19821                 { "MobileMultilinkReconfigurationCommand_status type", "h245.MobileMultilinkReconfigurationCommand_status_type", FT_UINT32, BASE_DEC,
19822                 VALS(MobileMultilinkReconfigurationCommand_status_vals), 0, "Type of MobileMultilinkReconfigurationCommand_status choice", HFILL }},
19823         { &hf_h245_NewATMVCCommand_reverseParameters_multiplex,
19824                 { "NewATMVCCommand_reverseParameters_multiplex type", "h245.NewATMVCCommand_reverseParameters_multiplex_type", FT_UINT32, BASE_DEC,
19825                 VALS(NewATMVCCommand_reverseParameters_multiplex_vals), 0, "Type of NewATMVCCommand_reverseParameters_multiplex choice", HFILL }},
19826         { &hf_h245_NewATMVCCommand_multiplex,
19827                 { "NewATMVCCommand_multiplex type", "h245.NewATMVCCommand_multiplex_type", FT_UINT32, BASE_DEC,
19828                 VALS(NewATMVCCommand_multiplex_vals), 0, "Type of NewATMVCCommand_multiplex choice", HFILL }},
19829         { &hf_h245_NewATMVCCommand_aal_aal1_errorCorrection,
19830                 { "NewATMVCCommand_aal_aal1_errorCorrection type", "h245.NewATMVCCommand_aal_aal1_errorCorrection_type", FT_UINT32, BASE_DEC,
19831                 VALS(NewATMVCCommand_aal_aal1_errorCorrection_vals), 0, "Type of NewATMVCCommand_aal_aal1_errorCorrection choice", HFILL }},
19832         { &hf_h245_NewATMVCCommand_aal_aal1_clockRecovery,
19833                 { "NewATMVCCommand_aal_aal1_clockRecovery type", "h245.NewATMVCCommand_aal_aal1_clockRecovery_type", FT_UINT32, BASE_DEC,
19834                 VALS(NewATMVCCommand_aal_aal1_clockRecovery_vals), 0, "Type of NewATMVCCommand_aal_aal1_clockRecovery choice", HFILL }},
19835         { &hf_h245_NewATMVCCommand_aal,
19836                 { "NewATMVCCommand_aal type", "h245.NewATMVCCommand_aal_type", FT_UINT32, BASE_DEC,
19837                 VALS(NewATMVCCommand_aal_vals), 0, "Type of NewATMVCCommand_aal choice", HFILL }},
19838         { &hf_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag,
19839                 { "H223MultiplexReconfiguration_h223AnnexADoubleFlag type", "h245.H223MultiplexReconfiguration_h223AnnexADoubleFlag_type", FT_UINT32, BASE_DEC,
19840                 VALS(H223MultiplexReconfiguration_h223AnnexADoubleFlag_vals), 0, "Type of H223MultiplexReconfiguration_h223AnnexADoubleFlag choice", HFILL }},
19841         { &hf_h245_H223MultiplexReconfiguration_h223ModeChange,
19842                 { "H223MultiplexReconfiguration_h223ModeChange type", "h245.H223MultiplexReconfiguration_h223ModeChange_type", FT_UINT32, BASE_DEC,
19843                 VALS(H223MultiplexReconfiguration_h223ModeChange_vals), 0, "Type of H223MultiplexReconfiguration_h223ModeChange choice", HFILL }},
19844         { &hf_h245_H223MultiplexReconfiguration,
19845                 { "H223MultiplexReconfiguration type", "h245.H223MultiplexReconfiguration_type", FT_UINT32, BASE_DEC,
19846                 VALS(H223MultiplexReconfiguration_vals), 0, "Type of H223MultiplexReconfiguration choice", HFILL }},
19847         { &hf_h245_PictureReference,
19848                 { "PictureReference type", "h245.PictureReference_type", FT_UINT32, BASE_DEC,
19849                 VALS(PictureReference_vals), 0, "Type of PictureReference choice", HFILL }},
19850         { &hf_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount,
19851                 { "MiscellaneousCommand_type_progressiveRefinementStart_repeatCount type", "h245.MiscellaneousCommand_type_progressiveRefinementStart_repeatCount_type", FT_UINT32, BASE_DEC,
19852                 VALS(MiscellaneousCommand_type_progressiveRefinementStart_repeatCount_vals), 0, "Type of MiscellaneousCommand_type_progressiveRefinementStart_repeatCount choice", HFILL }},
19853         { &hf_h245_MiscellaneousCommand_type,
19854                 { "MiscellaneousCommand_type type", "h245.MiscellaneousCommand_type_type", FT_UINT32, BASE_DEC,
19855                 VALS(MiscellaneousCommand_type_vals), 0, "Type of MiscellaneousCommand_type choice", HFILL }},
19856         { &hf_h245_ConferenceCommand,
19857                 { "ConferenceCommand type", "h245.ConferenceCommand_type", FT_UINT32, BASE_DEC,
19858                 VALS(ConferenceCommand_vals), 0, "Type of ConferenceCommand choice", HFILL }},
19859         { &hf_h245_EndSessionCommand_gstnOptions,
19860                 { "EndSessionCommand_gstnOptions type", "h245.EndSessionCommand_gstnOptions_type", FT_UINT32, BASE_DEC,
19861                 VALS(EndSessionCommand_gstnOptions_vals), 0, "Type of EndSessionCommand_gstnOptions choice", HFILL }},
19862         { &hf_h245_EndSessionCommand_isdnOptions,
19863                 { "EndSessionCommand_isdnOptions type", "h245.EndSessionCommand_isdnOptions_type", FT_UINT32, BASE_DEC,
19864                 VALS(EndSessionCommand_isdnOptions_vals), 0, "Type of EndSessionCommand_isdnOptions choice", HFILL }},
19865         { &hf_h245_FlowControlCommand_restriction,
19866                 { "FlowControlCommand_restriction type", "h245.FlowControlCommand_restriction_type", FT_UINT32, BASE_DEC,
19867                 VALS(FlowControlCommand_restriction_vals), 0, "Type of FlowControlCommand_restriction choice", HFILL }},
19868         { &hf_h245_FlowControlCommand_scope,
19869                 { "FlowControlCommand_scope type", "h245.FlowControlCommand_scope_type", FT_UINT32, BASE_DEC,
19870                 VALS(FlowControlCommand_scope_vals), 0, "Type of FlowControlCommand_scope choice", HFILL }},
19871         { &hf_h245_EncryptionCommand,
19872                 { "EncryptionCommand type", "h245.EncryptionCommand_type", FT_UINT32, BASE_DEC,
19873                 VALS(EncryptionCommand_vals), 0, "Type of EncryptionCommand choice", HFILL }},
19874         { &hf_h245_SendTerminalCapabilitySet,
19875                 { "SendTerminalCapabilitySet type", "h245.SendTerminalCapabilitySet_type", FT_UINT32, BASE_DEC,
19876                 VALS(SendTerminalCapabilitySet_vals), 0, "Type of SendTerminalCapabilitySet choice", HFILL }},
19877         { &hf_h245_LogicalChannelRateRejectReason,
19878                 { "LogicalChannelRateRejectReason type", "h245.LogicalChannelRateRejectReason_type", FT_UINT32, BASE_DEC,
19879                 VALS(LogicalChannelRateRejectReason_vals), 0, "Type of LogicalChannelRateRejectReason choice", HFILL }},
19880         { &hf_h245_DialingInformationNetworkType,
19881                 { "DialingInformationNetworkType type", "h245.DialingInformationNetworkType_type", FT_UINT32, BASE_DEC,
19882                 VALS(DialingInformationNetworkType_vals), 0, "Type of DialingInformationNetworkType choice", HFILL }},
19883         { &hf_h245_DialingInformation,
19884                 { "DialingInformation type", "h245.DialingInformation_type", FT_UINT32, BASE_DEC,
19885                 VALS(DialingInformation_vals), 0, "Type of DialingInformation choice", HFILL }},
19886         { &hf_h245_MultilinkIndication,
19887                 { "MultilinkIndication type", "h245.MultilinkIndication_type", FT_UINT32, BASE_DEC,
19888                 VALS(MultilinkIndication_vals), 0, "Type of MultilinkIndication choice", HFILL }},
19889         { &hf_h245_MultilinkResponse_addConnection_responseCode_rejected,
19890                 { "MultilinkResponse_addConnection_responseCode_rejected type", "h245.MultilinkResponse_addConnection_responseCode_rejected_type", FT_UINT32, BASE_DEC,
19891                 VALS(MultilinkResponse_addConnection_responseCode_rejected_vals), 0, "Type of MultilinkResponse_addConnection_responseCode_rejected choice", HFILL }},
19892         { &hf_h245_MultilinkResponse_addConnection_responseCode,
19893                 { "MultilinkResponse_addConnection_responseCode type", "h245.MultilinkResponse_addConnection_responseCode_type", FT_UINT32, BASE_DEC,
19894                 VALS(MultilinkResponse_addConnection_responseCode_vals), 0, "Type of MultilinkResponse_addConnection_responseCode choice", HFILL }},
19895         { &hf_h245_MultilinkResponse,
19896                 { "MultilinkResponse type", "h245.MultilinkResponse_type", FT_UINT32, BASE_DEC,
19897                 VALS(MultilinkResponse_vals), 0, "Type of MultilinkResponse choice", HFILL }},
19898         { &hf_h245_MultilinkRequest_maximumHeaderInterval_requestType,
19899                 { "MultilinkRequest_maximumHeaderInterval_requestType type", "h245.MultilinkRequest_maximumHeaderInterval_requestType_type", FT_UINT32, BASE_DEC,
19900                 VALS(MultilinkRequest_maximumHeaderInterval_requestType_vals), 0, "Type of MultilinkRequest_maximumHeaderInterval_requestType choice", HFILL }},
19901         { &hf_h245_MultilinkRequest,
19902                 { "MultilinkRequest type", "h245.MultilinkRequest_type", FT_UINT32, BASE_DEC,
19903                 VALS(MultilinkRequest_vals), 0, "Type of MultilinkRequest choice", HFILL }},
19904         { &hf_h245_RemoteMCResponse_reject,
19905                 { "RemoteMCResponse_reject type", "h245.RemoteMCResponse_reject_type", FT_UINT32, BASE_DEC,
19906                 VALS(RemoteMCResponse_reject_vals), 0, "Type of RemoteMCResponse_reject choice", HFILL }},
19907         { &hf_h245_RemoteMCResponse,
19908                 { "RemoteMCResponse type", "h245.RemoteMCResponse_type", FT_UINT32, BASE_DEC,
19909                 VALS(RemoteMCResponse_vals), 0, "Type of RemoteMCResponse choice", HFILL }},
19910         { &hf_h245_RemoteMCRequest,
19911                 { "RemoteMCRequest type", "h245.RemoteMCRequest_type", FT_UINT32, BASE_DEC,
19912                 VALS(RemoteMCRequest_vals), 0, "Type of RemoteMCRequest choice", HFILL }},
19913         { &hf_h245_ConferenceResponse_sendThisSourceResponse,
19914                 { "ConferenceResponse_sendThisSourceResponse type", "h245.ConferenceResponse_sendThisSourceResponse_type", FT_UINT32, BASE_DEC,
19915                 VALS(ConferenceResponse_sendThisSourceResponse_vals), 0, "Type of ConferenceResponse_sendThisSourceResponse choice", HFILL }},
19916         { &hf_h245_ConferenceResponse_makeTerminalBroadcasterResponse,
19917                 { "ConferenceResponse_makeTerminalBroadcasterResponse type", "h245.ConferenceResponse_makeTerminalBroadcasterResponse_type", FT_UINT32, BASE_DEC,
19918                 VALS(ConferenceResponse_makeTerminalBroadcasterResponse_vals), 0, "Type of ConferenceResponse_makeTerminalBroadcasterResponse choice", HFILL }},
19919         { &hf_h245_ConferenceResponse_broadcastMyLogicalChannelResponse,
19920                 { "ConferenceResponse_broadcastMyLogicalChannelResponse type", "h245.ConferenceResponse_broadcastMyLogicalChannelResponse_type", FT_UINT32, BASE_DEC,
19921                 VALS(ConferenceResponse_broadcastMyLogicalChannelResponse_vals), 0, "Type of ConferenceResponse_broadcastMyLogicalChannelResponse choice", HFILL }},
19922         { &hf_h245_ConferenceResponse_makeMeChairResponse,
19923                 { "ConferenceResponse_makeMeChairResponse type", "h245.ConferenceResponse_makeMeChairResponse_type", FT_UINT32, BASE_DEC,
19924                 VALS(ConferenceResponse_makeMeChairResponse_vals), 0, "Type of ConferenceResponse_makeMeChairResponse choice", HFILL }},
19925         { &hf_h245_ConferenceResponse,
19926                 { "ConferenceResponse type", "h245.ConferenceResponse_type", FT_UINT32, BASE_DEC,
19927                 VALS(ConferenceResponse_vals), 0, "Type of ConferenceResponse choice", HFILL }},
19928         { &hf_h245_ConferenceRequest,
19929                 { "ConferenceRequest type", "h245.ConferenceRequest_type", FT_UINT32, BASE_DEC,
19930                 VALS(ConferenceRequest_vals), 0, "Type of ConferenceRequest choice", HFILL }},
19931         { &hf_h245_CommunicationModeTableEntry_dataType,
19932                 { "CommunicationModeTableEntry_dataType type", "h245.CommunicationModeTableEntry_dataType_type", FT_UINT32, BASE_DEC,
19933                 VALS(CommunicationModeTableEntry_dataType_vals), 0, "Type of CommunicationModeTableEntry_dataType choice", HFILL }},
19934         { &hf_h245_CommunicationModeResponse,
19935                 { "CommunicationModeResponse type", "h245.CommunicationModeResponse_type", FT_UINT32, BASE_DEC,
19936                 VALS(CommunicationModeResponse_vals), 0, "Type of CommunicationModeResponse choice", HFILL }},
19937         { &hf_h245_MaintenanceLoopReject_cause,
19938                 { "MaintenanceLoopReject_cause type", "h245.MaintenanceLoopReject_cause_type", FT_UINT32, BASE_DEC,
19939                 VALS(MaintenanceLoopReject_cause_vals), 0, "Type of MaintenanceLoopReject_cause choice", HFILL }},
19940         { &hf_h245_MaintenanceLoopReject_type,
19941                 { "MaintenanceLoopReject_type type", "h245.MaintenanceLoopReject_type_type", FT_UINT32, BASE_DEC,
19942                 VALS(MaintenanceLoopReject_type_vals), 0, "Type of MaintenanceLoopReject_type choice", HFILL }},
19943         { &hf_h245_MaintenanceLoopAck_type,
19944                 { "MaintenanceLoopAck_type type", "h245.MaintenanceLoopAck_type_type", FT_UINT32, BASE_DEC,
19945                 VALS(MaintenanceLoopAck_type_vals), 0, "Type of MaintenanceLoopAck_type choice", HFILL }},
19946         { &hf_h245_MaintenanceLoopRequest_type,
19947                 { "MaintenanceLoopRequest_type type", "h245.MaintenanceLoopRequest_type_type", FT_UINT32, BASE_DEC,
19948                 VALS(MaintenanceLoopRequest_type_vals), 0, "Type of MaintenanceLoopRequest_type choice", HFILL }},
19949         { &hf_h245_EncryptionMode,
19950                 { "EncryptionMode type", "h245.EncryptionMode_type", FT_UINT32, BASE_DEC,
19951                 VALS(EncryptionMode_vals), 0, "Type of EncryptionMode choice", HFILL }},
19952         { &hf_h245_DataMode_application,
19953                 { "DataMode_application type", "h245.DataMode_application_type", FT_UINT32, BASE_DEC,
19954                 VALS(DataMode_application_vals), 0, "Type of DataMode_application choice", HFILL }},
19955         { &hf_h245_IS13818AudioMode_multiChannelType,
19956                 { "IS13818AudioMode_multiChannelType type", "h245.IS13818AudioMode_multiChannelType_type", FT_UINT32, BASE_DEC,
19957                 VALS(IS13818AudioMode_multiChannelType_vals), 0, "Type of IS13818AudioMode_multiChannelType choice", HFILL }},
19958         { &hf_h245_IS13818AudioMode_audioSampling,
19959                 { "IS13818AudioMode_audioSampling type", "h245.IS13818AudioMode_audioSampling_type", FT_UINT32, BASE_DEC,
19960                 VALS(IS13818AudioMode_audioSampling_vals), 0, "Type of IS13818AudioMode_audioSampling choice", HFILL }},
19961         { &hf_h245_IS13818AudioMode_audioLayer,
19962                 { "IS13818AudioMode_audioLayer type", "h245.IS13818AudioMode_audioLayer_type", FT_UINT32, BASE_DEC,
19963                 VALS(IS13818AudioMode_audioLayer_vals), 0, "Type of IS13818AudioMode_audioLayer choice", HFILL }},
19964         { &hf_h245_IS11172AudioMode_multichannelType,
19965                 { "IS11172AudioMode_multichannelType type", "h245.IS11172AudioMode_multichannelType_type", FT_UINT32, BASE_DEC,
19966                 VALS(IS11172AudioMode_multichannelType_vals), 0, "Type of IS11172AudioMode_multichannelType choice", HFILL }},
19967         { &hf_h245_IS11172AudioMode_audioSampling,
19968                 { "IS11172AudioMode_audioSampling type", "h245.IS11172AudioMode_audioSampling_type", FT_UINT32, BASE_DEC,
19969                 VALS(IS11172AudioMode_audioSampling_vals), 0, "Type of IS11172AudioMode_audioSampling choice", HFILL }},
19970         { &hf_h245_IS11172AudioMode_audioLayer,
19971                 { "IS11172AudioMode_audioLayer type", "h245.IS11172AudioMode_audioLayer_type", FT_UINT32, BASE_DEC,
19972                 VALS(IS11172AudioMode_audioLayer_vals), 0, "Type of IS11172AudioMode_audioLayer choice", HFILL }},
19973         { &hf_h245_AudioMode_g7231,
19974                 { "AudioMode_g7231 type", "h245.AudioMode_g7231_type", FT_UINT32, BASE_DEC,
19975                 VALS(AudioMode_g7231_vals), 0, "Type of AudioMode_g7231 choice", HFILL }},
19976         { &hf_h245_AudioMode,
19977                 { "AudioMode type", "h245.AudioMode_type", FT_UINT32, BASE_DEC,
19978                 VALS(AudioMode_vals), 0, "Type of AudioMode choice", HFILL }},
19979         { &hf_h245_H263VideoMode_resolution,
19980                 { "H263VideoMode_resolution type", "h245.H263VideoMode_resolution_type", FT_UINT32, BASE_DEC,
19981                 VALS(H263VideoMode_resolution_vals), 0, "Type of H263VideoMode_resolution choice", HFILL }},
19982         { &hf_h245_H262VideoMode_profileAndLevel,
19983                 { "H262VideoMode_profileAndLevel type", "h245.H262VideoMode_profileAndLevel_type", FT_UINT32, BASE_DEC,
19984                 VALS(H262VideoMode_profileAndLevel_vals), 0, "Type of H262VideoMode_profileAndLevel choice", HFILL }},
19985         { &hf_h245_H261VideoMode_resolution,
19986                 { "H261VideoMode_resolution type", "h245.H261VideoMode_resolution_type", FT_UINT32, BASE_DEC,
19987                 VALS(H261VideoMode_resolution_vals), 0, "Type of H261VideoMode_resolution choice", HFILL }},
19988         { &hf_h245_VideoMode,
19989                 { "VideoMode type", "h245.VideoMode_type", FT_UINT32, BASE_DEC,
19990                 VALS(VideoMode_vals), 0, "Type of VideoMode choice", HFILL }},
19991         { &hf_h245_RedundancyEncodingMode_secondaryEncoding,
19992                 { "RedundancyEncodingMode_secondaryEncoding type", "h245.RedundancyEncodingMode_secondaryEncoding_type", FT_UINT32, BASE_DEC,
19993                 VALS(RedundancyEncodingMode_secondaryEncoding_vals), 0, "Type of RedundancyEncodingMode_secondaryEncoding choice", HFILL }},
19994         { &hf_h245_V76ModeParameters,
19995                 { "V76ModeParameters type", "h245.V76ModeParameters_type", FT_UINT32, BASE_DEC,
19996                 VALS(V76ModeParameters_vals), 0, "Type of V76ModeParameters choice", HFILL }},
19997         { &hf_h245_H223ModeParameters_adaptationLayerType,
19998                 { "H223ModeParameters_adaptationLayerType type", "h245.H223ModeParameters_adaptationLayerType_type", FT_UINT32, BASE_DEC,
19999                 VALS(H223ModeParameters_adaptationLayerType_vals), 0, "Type of H223ModeParameters_adaptationLayerType choice", HFILL }},
20000         { &hf_h245_FECMode_rfc2733Mode_mode_separateStream,
20001                 { "FECMode_rfc2733Mode_mode_separateStream type", "h245.FECMode_rfc2733Mode_mode_separateStream_type", FT_UINT32, BASE_DEC,
20002                 VALS(FECMode_rfc2733Mode_mode_separateStream_vals), 0, "Type of FECMode_rfc2733Mode_mode_separateStream choice", HFILL }},
20003         { &hf_h245_FECMode_rfc2733Mode_mode,
20004                 { "FECMode_rfc2733Mode_mode type", "h245.FECMode_rfc2733Mode_mode_type", FT_UINT32, BASE_DEC,
20005                 VALS(FECMode_rfc2733Mode_mode_vals), 0, "Type of FECMode_rfc2733Mode_mode choice", HFILL }},
20006         { &hf_h245_FECMode,
20007                 { "FECMode type", "h245.FECMode_type", FT_UINT32, BASE_DEC,
20008                 VALS(FECMode_vals), 0, "Type of FECMode choice", HFILL }},
20009         { &hf_h245_RedundancyEncodingDTModeElement_type,
20010                 { "RedundancyEncodingDTModeElement_type type", "h245.RedundancyEncodingDTModeElement_type_type", FT_UINT32, BASE_DEC,
20011                 VALS(RedundancyEncodingDTModeElement_type_vals), 0, "Type of RedundancyEncodingDTModeElement_type choice", HFILL }},
20012         { &hf_h245_H235Mode_mediaMode,
20013                 { "H235Mode_mediaMode type", "h245.H235Mode_mediaMode_type", FT_UINT32, BASE_DEC,
20014                 VALS(H235Mode_mediaMode_vals), 0, "Type of H235Mode_mediaMode choice", HFILL }},
20015         { &hf_h245_ModeElementType,
20016                 { "ModeElementType type", "h245.ModeElementType_type", FT_UINT32, BASE_DEC,
20017                 VALS(ModeElementType_vals), 0, "Type of ModeElementType choice", HFILL }},
20018         { &hf_h245_RequestModeReject_cause,
20019                 { "RequestModeReject_cause type", "h245.RequestModeReject_cause_type", FT_UINT32, BASE_DEC,
20020                 VALS(RequestModeReject_cause_vals), 0, "Type of RequestModeReject_cause choice", HFILL }},
20021         { &hf_h245_RequestMultiplexEntryRejectionDescriptions_cause,
20022                 { "RequestMultiplexEntryRejectionDescriptions_cause type", "h245.RequestMultiplexEntryRejectionDescriptions_cause_type", FT_UINT32, BASE_DEC,
20023                 VALS(RequestMultiplexEntryRejectionDescriptions_cause_vals), 0, "Type of RequestMultiplexEntryRejectionDescriptions_cause choice", HFILL }},
20024         { &hf_h245_MultiplexEntryRejectionDescriptions_cause,
20025                 { "MultiplexEntryRejectionDescriptions_cause type", "h245.MultiplexEntryRejectionDescriptions_cause_type", FT_UINT32, BASE_DEC,
20026                 VALS(MultiplexEntryRejectionDescriptions_cause_vals), 0, "Type of MultiplexEntryRejectionDescriptions_cause choice", HFILL }},
20027         { &hf_h245_MultiplexElement_repeatCount,
20028                 { "MultiplexElement_repeatCount type", "h245.MultiplexElement_repeatCount_type", FT_UINT32, BASE_DEC,
20029                 VALS(MultiplexElement_repeatCount_vals), 0, "Type of MultiplexElement_repeatCount choice", HFILL }},
20030         { &hf_h245_MultiplexElement_type,
20031                 { "MultiplexElement_type type", "h245.MultiplexElement_type_type", FT_UINT32, BASE_DEC,
20032                 VALS(MultiplexElement_type_vals), 0, "Type of MultiplexElement_type choice", HFILL }},
20033         { &hf_h245_RequestChannelCloseReject_cause,
20034                 { "RequestChannelCloseReject_cause type", "h245.RequestChannelCloseReject_cause_type", FT_UINT32, BASE_DEC,
20035                 VALS(RequestChannelCloseReject_cause_vals), 0, "Type of RequestChannelCloseReject_cause choice", HFILL }},
20036         { &hf_h245_RequestChannelClose_reason,
20037                 { "RequestChannelClose_reason type", "h245.RequestChannelClose_reason_type", FT_UINT32, BASE_DEC,
20038                 VALS(RequestChannelClose_reason_vals), 0, "Type of RequestChannelClose_reason choice", HFILL }},
20039         { &hf_h245_CloseLogicalChannel_reason,
20040                 { "CloseLogicalChannel_reason type", "h245.CloseLogicalChannel_reason_type", FT_UINT32, BASE_DEC,
20041                 VALS(CloseLogicalChannel_reason_vals), 0, "Type of CloseLogicalChannel_reason choice", HFILL }},
20042         { &hf_h245_CloseLogicalChannel_source,
20043                 { "CloseLogicalChannel_source type", "h245.CloseLogicalChannel_source_type", FT_UINT32, BASE_DEC,
20044                 VALS(CloseLogicalChannel_source_vals), 0, "Type of CloseLogicalChannel_source choice", HFILL }},
20045         { &hf_h245_OpenLogicalChannelReject_cause,
20046                 { "OpenLogicalChannelReject_cause type", "h245.OpenLogicalChannelReject_cause_type", FT_UINT32, BASE_DEC,
20047                 VALS(OpenLogicalChannelReject_cause_vals), 0, "Type of OpenLogicalChannelReject_cause choice", HFILL }},
20048         { &hf_h245_forwardMultiplexAckParameters,
20049                 { "forwardMultiplexAckParameters type", "h245.forwardMultiplexAckParameters_type", FT_UINT32, BASE_DEC,
20050                 VALS(forwardMultiplexAckParameters_vals), 0, "Type of forwardMultiplexAckParameters choice", HFILL }},
20051         { &hf_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters,
20052                 { "OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters type", "h245.OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_type", FT_UINT32, BASE_DEC,
20053                 VALS(OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_vals), 0, "Type of OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters choice", HFILL }},
20054         { &hf_h245_MulticastAddress,
20055                 { "MulticastAddress type", "h245.MulticastAddress_type", FT_UINT32, BASE_DEC,
20056                 VALS(MulticastAddress_vals), 0, "Type of MulticastAddress choice", HFILL }},
20057         { &hf_h245_UnicastAddress_iPSourceRouteAddress_routing,
20058                 { "UnicastAddress_iPSourceRouteAddress_routing type", "h245.UnicastAddress_iPSourceRouteAddress_routing_type", FT_UINT32, BASE_DEC,
20059                 VALS(UnicastAddress_iPSourceRouteAddress_routing_vals), 0, "Type of UnicastAddress_iPSourceRouteAddress_routing choice", HFILL }},
20060         { &hf_h245_UnicastAddress,
20061                 { "UnicastAddress type", "h245.UnicastAddress_type", FT_UINT32, BASE_DEC,
20062                 VALS(UnicastAddress_vals), 0, "Type of UnicastAddress choice", HFILL }},
20063         { &hf_h245_mediaControlChannel,
20064                 { "mediaControlChannel type", "h245.mediaControlChannel_type", FT_UINT32, BASE_DEC,
20065                 VALS(TransportAddress_vals), 0, "Type of mediaControlChannel choice", HFILL }},
20066         { &hf_h245_mediaChannel,
20067                 { "mediaChannel type", "h245.mediaChannel_type", FT_UINT32, BASE_DEC,
20068                 VALS(TransportAddress_vals), 0, "Type of mediaChannel choice", HFILL }},
20069         { &hf_h245_localAreaAddress,
20070                 { "localAreaAddress type", "h245.localAreaAddress_type", FT_UINT32, BASE_DEC,
20071                 VALS(TransportAddress_vals), 0, "Type of localAreaAddress choice", HFILL }},
20072         { &hf_h245_signalAddress,
20073                 { "signalAddress type", "h245.signalAddress_type", FT_UINT32, BASE_DEC,
20074                 VALS(TransportAddress_vals), 0, "Type of signalAddress choice", HFILL }},
20075         { &hf_h245_FECData_rfc2733_mode_separateStream,
20076                 { "FECData_rfc2733_mode_separateStream type", "h245.FECData_rfc2733_mode_separateStream_type", FT_UINT32, BASE_DEC,
20077                 VALS(FECData_rfc2733_mode_separateStream_vals), 0, "Type of FECData_rfc2733_mode_separateStream choice", HFILL }},
20078         { &hf_h245_FECData_rfc2733_mode,
20079                 { "FECData_rfc2733_mode type", "h245.FECData_rfc2733_mode_type", FT_UINT32, BASE_DEC,
20080                 VALS(FECData_rfc2733_mode_vals), 0, "Type of FECData_rfc2733_mode choice", HFILL }},
20081         { &hf_h245_FECData,
20082                 { "FECData type", "h245.FECData_type", FT_UINT32, BASE_DEC,
20083                 VALS(FECData_vals), 0, "Type of FECData choice", HFILL }},
20084         { &hf_h245_RTPPayloadType_payloadDescriptor,
20085                 { "RTPPayloadType_payloadDescriptor type", "h245.RTPPayloadType_payloadDescriptor_type", FT_UINT32, BASE_DEC,
20086                 VALS(RTPPayloadType_payloadDescriptor_vals), 0, "Type of RTPPayloadType_payloadDescriptor choice", HFILL }},
20087         { &hf_h245_H2250LogicalChannelParameters_mediaPacketization,
20088                 { "H2250LogicalChannelParameters_mediaPacketization type", "h245.H2250LogicalChannelParameters_mediaPacketization_type", FT_UINT32, BASE_DEC,
20089                 VALS(H2250LogicalChannelParameters_mediaPacketization_vals), 0, "Type of H2250LogicalChannelParameters_mediaPacketization choice", HFILL }},
20090         { &hf_h245_CRCLength,
20091                 { "CRCLength type", "h245.CRCLength_type", FT_UINT32, BASE_DEC,
20092                 VALS(CRCLength_vals), 0, "Type of CRCLength choice", HFILL }},
20093         { &hf_h245_V76LogicalChannelParameters_mode_eRM_recovery,
20094                 { "V76LogicalChannelParameters_mode_eRM_recovery type", "h245.V76LogicalChannelParameters_mode_eRM_recovery_type", FT_UINT32, BASE_DEC,
20095                 VALS(V76LogicalChannelParameters_mode_eRM_recovery_vals), 0, "Type of V76LogicalChannelParameters_mode_eRM_recovery choice", HFILL }},
20096         { &hf_h245_V76LogicalChannelParameters_mode,
20097                 { "V76LogicalChannelParameters_mode type", "h245.V76LogicalChannelParameters_mode_type", FT_UINT32, BASE_DEC,
20098                 VALS(V76LogicalChannelParameters_mode_vals), 0, "Type of V76LogicalChannelParameters_mode choice", HFILL }},
20099         { &hf_h245_V76LogicalChannelParameters_suspendResume,
20100                 { "V76LogicalChannelParameters_suspendResume type", "h245.V76LogicalChannelParameters_suspendResume_type", FT_UINT32, BASE_DEC,
20101                 VALS(V76LogicalChannelParameters_suspendResume_vals), 0, "Type of V76LogicalChannelParameters_suspendResume choice", HFILL }},
20102         { &hf_h245_H223AnnexCArqParameters_numberOfRetransmissions,
20103                 { "H223AnnexCArqParameters_numberOfRetransmissions type", "h245.H223AnnexCArqParameters_numberOfRetransmissions_type", FT_UINT32, BASE_DEC,
20104                 VALS(H223AnnexCArqParameters_numberOfRetransmissions_vals), 0, "Type of H223AnnexCArqParameters_numberOfRetransmissions choice", HFILL }},
20105         { &hf_h245_H223AL3MParameters_arqType,
20106                 { "H223AL3MParameters_arqType type", "h245.H223AL3MParameters_arqType_type", FT_UINT32, BASE_DEC,
20107                 VALS(H223AL3MParameters_arqType_vals), 0, "Type of H223AL3MParameters_arqType choice", HFILL }},
20108         { &hf_h245_H223AL3MParameters_crcLength,
20109                 { "H223AL3MParameters_crcLength type", "h245.H223AL3MParameters_crcLength_type", FT_UINT32, BASE_DEC,
20110                 VALS(H223AL3MParameters_crcLength_vals), 0, "Type of H223AL3MParameters_crcLength choice", HFILL }},
20111         { &hf_h245_H223AL3MParameters_headerFormat,
20112                 { "H223AL3MParameters_headerFormat type", "h245.H223AL3MParameters_headerFormat_type", FT_UINT32, BASE_DEC,
20113                 VALS(H223AL3MParameters_headerFormat_vals), 0, "Type of H223AL3MParameters_headerFormat choice", HFILL }},
20114         { &hf_h245_H223AL2MParameters_headerFEC,
20115                 { "H223AL2MParameters_headerFEC type", "h245.H223AL2MParameters_headerFEC_type", FT_UINT32, BASE_DEC,
20116                 VALS(H223AL2MParameters_headerFEC_vals), 0, "Type of H223AL2MParameters_headerFEC choice", HFILL }},
20117         { &hf_h245_H223AL1MParameters_arqType,
20118                 { "H223AL1MParameters_arqType type", "h245.H223AL1MParameters_arqType_type", FT_UINT32, BASE_DEC,
20119                 VALS(H223AL1MParameters_arqType_vals), 0, "Type of H223AL1MParameters_arqType choice", HFILL }},
20120         { &hf_h245_H223AL1MParameters_crcLength,
20121                 { "H223AL1MParameters_crcLength type", "h245.H223AL1MParameters_crcLength_type", FT_UINT32, BASE_DEC,
20122                 VALS(H223AL1MParameters_crcLength_vals), 0, "Type of H223AL1MParameters_crcLength choice", HFILL }},
20123         { &hf_h245_H223AL1MParameters_headerFEC,
20124                 { "H223AL1MParameters_headerFEC type", "h245.H223AL1MParameters_headerFEC_type", FT_UINT32, BASE_DEC,
20125                 VALS(H223AL1MParameters_headerFEC_vals), 0, "Type of H223AL1MParameters_headerFEC choice", HFILL }},
20126         { &hf_h245_H223AL1MParameters_transferMode,
20127                 { "H223AL1MParameters_transferMode type", "h245.H223AL1MParameters_transferMode_type", FT_UINT32, BASE_DEC,
20128                 VALS(H223AL1MParameters_transferMode_vals), 0, "Type of H223AL1MParameters_transferMode choice", HFILL }},
20129         { &hf_h245_H223LogicalChannelParameters_adaptationLayerType,
20130                 { "H223LogicalChannelParameters_adaptationLayerType type", "h245.H223LogicalChannelParameters_adaptationLayerType_type", FT_UINT32, BASE_DEC,
20131                 VALS(H223LogicalChannelParameters_adaptationLayerType_vals), 0, "Type of H223LogicalChannelParameters_adaptationLayerType choice", HFILL }},
20132         { &hf_h245_H235Media_mediaType,
20133                 { "H235Media_mediaType type", "h245.H235Media_mediaType_type", FT_UINT32, BASE_DEC,
20134                 VALS(H235Media_mediaType_vals), 0, "Type of H235Media_mediaType choice", HFILL }},
20135         { &hf_h245_DataType,
20136                 { "DataType type", "h245.DataType_type", FT_UINT32, BASE_DEC,
20137                 VALS(DataType_vals), 0, "Type of DataType choice", HFILL }},
20138         { &hf_h245_Q2931Address_address,
20139                 { "Q2931Address_address type", "h245.Q2931Address_address_type", FT_UINT32, BASE_DEC,
20140                 VALS(Q2931Address_address_vals), 0, "Type of Q2931Address_address choice", HFILL }},
20141         { &hf_h245_NetworkAccessParameters_t120SetupProcedure,
20142                 { "NetworkAccessParameters_t120SetupProcedure type", "h245.NetworkAccessParameters_t120SetupProcedure_type", FT_UINT32, BASE_DEC,
20143                 VALS(NetworkAccessParameters_t120SetupProcedure_vals), 0, "Type of NetworkAccessParameters_t120SetupProcedure choice", HFILL }},
20144         { &hf_h245_NetworkAccessParameters_networkAddress,
20145                 { "NetworkAccessParameters_networkAddress type", "h245.NetworkAccessParameters_networkAddress_type", FT_UINT32, BASE_DEC,
20146                 VALS(NetworkAccessParameters_networkAddress_vals), 0, "Type of NetworkAccessParameters_networkAddress choice", HFILL }},
20147         { &hf_h245_NetworkAccessParameters_distribution,
20148                 { "NetworkAccessParameters_distribution type", "h245.NetworkAccessParameters_distribution_type", FT_UINT32, BASE_DEC,
20149                 VALS(NetworkAccessParameters_distribution_vals), 0, "Type of NetworkAccessParameters_distribution choice", HFILL }},
20150         { &hf_h245_reverseLogicalChannelParameters_multiplexParameters,
20151                 { "reverseLogicalChannelParameters_multiplexParameters type", "h245.reverseLogicalChannelParameters_multiplexParameters_type", FT_UINT32, BASE_DEC,
20152                 VALS(reverseLogicalChannelParameters_multiplexParameters_vals), 0, "Type of reverseLogicalChannelParameters_multiplexParameters choice", HFILL }},
20153         { &hf_h245_forwardLogicalChannelParameters_multiplexParameters,
20154                 { "forwardLogicalChannelParameters_multiplexParameters type", "h245.forwardLogicalChannelParameters_multiplexParameters_type", FT_UINT32, BASE_DEC,
20155                 VALS(forwardLogicalChannelParameters_multiplexParameters_vals), 0, "Type of forwardLogicalChannelParameters_multiplexParameters choice", HFILL }},
20156         { &hf_h245_FECCapability,
20157                 { "FECCapability type", "h245.FECCapability_type", FT_UINT32, BASE_DEC,
20158                 VALS(FECCapability_vals), 0, "Type of FECCapability choice", HFILL }},
20159         { &hf_h245_MultiplexFormat,
20160                 { "MultiplexFormat type", "h245.MultiplexFormat_type", FT_UINT32, BASE_DEC,
20161                 VALS(MultiplexFormat_vals), 0, "Type of MultiplexFormat choice", HFILL }},
20162         { &hf_h245_ParameterValue,
20163                 { "ParameterValue type", "h245.ParameterValue_type", FT_UINT32, BASE_DEC,
20164                 VALS(ParameterValue_vals), 0, "Type of ParameterValue choice", HFILL }},
20165         { &hf_h245_ParameterIdentifier,
20166                 { "ParameterIdentifier type", "h245.ParameterIdentifier_type", FT_UINT32, BASE_DEC,
20167                 VALS(ParameterIdentifier_vals), 0, "Type of ParameterIdentifier choice", HFILL }},
20168         { &hf_h245_CapabilityIdentifier,
20169                 { "CapabilityIdentifier type", "h245.CapabilityIdentifier_type", FT_UINT32, BASE_DEC,
20170                 VALS(CapabilityIdentifier_vals), 0, "Type of CapabilityIdentifier choice", HFILL }},
20171         { &hf_h245_UserInputCapability,
20172                 { "UserInputCapability type", "h245.UserInputCapability_type", FT_UINT32, BASE_DEC,
20173                 VALS(UserInputCapability_vals), 0, "Type of UserInputCapability choice", HFILL }},
20174         { &hf_h245_MediaEncryptionAlgorithm,
20175                 { "MediaEncryptionAlgorithm type", "h245.MediaEncryptionAlgorithm_type", FT_UINT32, BASE_DEC,
20176                 VALS(MediaEncryptionAlgorithm_vals), 0, "Type of MediaEncryptionAlgorithm choice", HFILL }},
20177         { &hf_h245_T38FaxUdpOptions_t38FaxUdpEC,
20178                 { "T38FaxUdpOptions_t38FaxUdpEC type", "h245.T38FaxUdpOptions_t38FaxUdpEC_type", FT_UINT32, BASE_DEC,
20179                 VALS(T38FaxUdpOptions_t38FaxUdpEC_vals), 0, "Type of T38FaxUdpOptions_t38FaxUdpEC choice", HFILL }},
20180         { &hf_h245_T38FaxRateManagement,
20181                 { "T38FaxRateManagement type", "h245.T38FaxRateManagement_type", FT_UINT32, BASE_DEC,
20182                 VALS(T38FaxRateManagement_vals), 0, "Type of T38FaxRateManagement choice", HFILL }},
20183         { &hf_h245_T84Profile,
20184                 { "T84Profile type", "h245.T84Profile_type", FT_UINT32, BASE_DEC,
20185                 VALS(T84Profile_vals), 0, "Type of T84Profile choice", HFILL }},
20186         { &hf_h245_CompressionType,
20187                 { "CompressionType type", "h245.CompressionType_type", FT_UINT32, BASE_DEC,
20188                 VALS(CompressionType_vals), 0, "Type of CompressionType choice", HFILL }},
20189         { &hf_h245_DataProtocolCapability_v76wCompression,
20190                 { "DataProtocolCapability_v76wCompression type", "h245.DataProtocolCapability_v76wCompression_type", FT_UINT32, BASE_DEC,
20191                 VALS(DataProtocolCapability_v76wCompression_vals), 0, "Type of DataProtocolCapability_v76wCompression choice", HFILL }},
20192         { &hf_h245_DataProtocolCapability,
20193                 { "DataProtocolCapability type", "h245.DataProtocolCapability_type", FT_UINT32, BASE_DEC,
20194                 VALS(DataProtocolCapability_vals), 0, "Type of DataProtocolCapability choice", HFILL }},
20195         { &hf_h245_DataApplicationCapability_application,
20196                 { "DataApplicationCapability_application type", "h245.DataApplicationCapability_application_type", FT_UINT32, BASE_DEC,
20197                 VALS(DataApplicationCapability_application_vals), 0, "Type of DataApplicationCapability_application choice", HFILL }},
20198         { &hf_h245_AudioCapability,
20199                 { "AudioCapability type", "h245.AudioCapability_type", FT_UINT32, BASE_DEC,
20200                 VALS(AudioCapability_vals), 0, "Type of AudioCapability choice", HFILL }},
20201         { &hf_h245_CustomPictureFormat_pixelAspectInformation,
20202                 { "CustomPictureFormat_pixelAspectInformation type", "h245.CustomPictureFormat_pixelAspectInformation_type", FT_UINT32, BASE_DEC,
20203                 VALS(CustomPictureFormat_pixelAspectInformation_vals), 0, "Type of CustomPictureFormat_pixelAspectInformation choice", HFILL }},
20204         { &hf_h245_RefPictureSelection_videoBackChannelSend,
20205                 { "RefPictureSelection_videoBackChannelSend type", "h245.RefPictureSelection_videoBackChannelSend_type", FT_UINT32, BASE_DEC,
20206                 VALS(RefPictureSelection_videoBackChannelSend_vals), 0, "Type of RefPictureSelection_videoBackChannelSend choice", HFILL }},
20207         { &hf_h245_VideoCapability,
20208                 { "VideoCapability type", "h245.VideoCapability_type", FT_UINT32, BASE_DEC,
20209                 VALS(VideoCapability_vals), 0, "Type of VideoCapability choice", HFILL }},
20210         { &hf_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping,
20211                 { "RTPH263VideoRedundancyEncoding_frameToThreadMapping type", "h245.RTPH263VideoRedundancyEncoding_frameToThreadMapping_type", FT_UINT32, BASE_DEC,
20212                 VALS(RTPH263VideoRedundancyEncoding_frameToThreadMapping_vals), 0, "Type of RTPH263VideoRedundancyEncoding_frameToThreadMapping choice", HFILL }},
20213         { &hf_h245_RedundancyEncodingMethod,
20214                 { "RedundancyEncodingMethod type", "h245.RedundancyEncodingMethod_type", FT_UINT32, BASE_DEC,
20215                 VALS(RedundancyEncodingMethod_vals), 0, "Type of RedundancyEncodingMethod choice", HFILL }},
20216         { &hf_h245_MediaTransportType,
20217                 { "MediaTransportType type", "h245.MediaTransportType_type", FT_UINT32, BASE_DEC,
20218                 VALS(MediaTransportType_vals), 0, "Type of MediaTransportType choice", HFILL }},
20219         { &hf_h245_QOSMode,
20220                 { "QOSMode type", "h245.QOSMode_type", FT_UINT32, BASE_DEC,
20221                 VALS(QOSMode_vals), 0, "Type of QOSMode choice", HFILL }},
20222         { &hf_h245_H223Capability_h223MultiplexTableCapability,
20223                 { "H223Capability_h223MultiplexTableCapability type", "h245.H223Capability_h223MultiplexTableCapability_type", FT_UINT32, BASE_DEC,
20224                 VALS(H223Capability_h223MultiplexTableCapability_vals), 0, "Type of H223Capability_h223MultiplexTableCapability choice", HFILL }},
20225         { &hf_h245_VCCapability_availableBitRates_type,
20226                 { "VCCapability_availableBitRates_type type", "h245.VCCapability_availableBitRates_type_type", FT_UINT32, BASE_DEC,
20227                 VALS(VCCapability_availableBitRates_type_vals), 0, "Type of VCCapability_availableBitRates_type choice", HFILL }},
20228         { &hf_h245_MultiplexCapability,
20229                 { "MultiplexCapability type", "h245.MultiplexCapability_type", FT_UINT32, BASE_DEC,
20230                 VALS(MultiplexCapability_vals), 0, "Type of MultiplexCapability choice", HFILL }},
20231         { &hf_h245_Capability,
20232                 { "Capability type", "h245.Capability_type", FT_UINT32, BASE_DEC,
20233                 VALS(Capability_vals), 0, "Type of Capability choice", HFILL }},
20234         { &hf_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded,
20235                 { "TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded type", "h245.TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded_type", FT_UINT32, BASE_DEC,
20236                 VALS(TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded_vals), 0, "Type of TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded choice", HFILL }},
20237         { &hf_h245_TerminalCapabilitySetReject_cause,
20238                 { "TerminalCapabilitySetReject_cause type", "h245.TerminalCapabilitySetReject_cause_type", FT_UINT32, BASE_DEC,
20239                 VALS(TerminalCapabilitySetReject_cause_vals), 0, "Type of TerminalCapabilitySetReject_cause choice", HFILL }},
20240         { &hf_h245_MasterSlaveDeterminationReject_cause,
20241                 { "MasterSlaveDeterminationReject_cause type", "h245.MasterSlaveDeterminationReject_cause_type", FT_UINT32, BASE_DEC,
20242                 VALS(MasterSlaveDeterminationReject_cause_vals), 0, "Type of MasterSlaveDeterminationReject_cause choice", HFILL }},
20243         { &hf_h245_MasterSlaveDeterminationAck_decision,
20244                 { "MasterSlaveDeterminationAck_decision type", "h245.MasterSlaveDeterminationAck_decision_type", FT_UINT32, BASE_DEC,
20245                 VALS(MasterSlaveDeterminationAck_decision_vals), 0, "Type of MasterSlaveDeterminationAck_decision choice", HFILL }},
20246         { &hf_h245_RequestModeAck_response_decision,
20247                 { "RequestModeAck_response_decision type", "h245.RequestModeAck_response_decision_type", FT_UINT32, BASE_DEC,
20248                 VALS(RequestModeAck_response_decision_vals), 0, "Type of RequestModeAck_response_decision choice", HFILL }},
20249         { &hf_h245_NonStandardIdentifier,
20250                 { "NonStandardIdentifier type", "h245.NonStandardIdentifier_type", FT_UINT32, BASE_DEC,
20251                 VALS(NonStandardIdentifier_vals), 0, "Type of NonStandardIdentifier choice", HFILL }},
20252         { &hf_h245_h233EncryptionTransmitCapability,
20253                 { "h233EncryptionTransmitCapability", "h245.h233EncryptionTransmitCapability", FT_BOOLEAN, 8,
20254                 TFS(&tfs_h233EncryptionTransmitCapability_bit), 0x01, "The h233EncryptionTransmitCapability bit", HFILL }},
20255         { &hf_h245_nullClockRecovery,
20256                 { "nullClockRecovery", "h245.nullClockRecovery", FT_BOOLEAN, 8,
20257                 TFS(&tfs_nullClockRecovery_bit), 0x01, "The nullClockRecovery bit", HFILL }},
20258         { &hf_h245_srtsClockRecovery,
20259                 { "srtsClockRecovery", "h245.srtsClockRecovery", FT_BOOLEAN, 8,
20260                 TFS(&tfs_srtsClockRecovery_bit), 0x01, "The srtsClockRecovery bit", HFILL }},
20261         { &hf_h245_adaptiveClockRecovery,
20262                 { "adaptiveClockRecovery", "h245.adaptiveClockRecovery", FT_BOOLEAN, 8,
20263                 TFS(&tfs_adaptiveClockRecovery_bit), 0x01, "The adaptiveClockRecovery bit", HFILL }},
20264         { &hf_h245_nullErrorCorrection,
20265                 { "nullErrorCorrection", "h245.nullErrorCorrection", FT_BOOLEAN, 8,
20266                 TFS(&tfs_nullErrorCorrection_bit), 0x01, "The nullErrorCorrection bit", HFILL }},
20267         { &hf_h245_longInterleaver,
20268                 { "longInterleaver", "h245.longInterleaver", FT_BOOLEAN, 8,
20269                 TFS(&tfs_longInterleaver_bit), 0x01, "The longInterleaver bit", HFILL }},
20270         { &hf_h245_shortInterleaver,
20271                 { "shortInterleaver", "h245.shortInterleaver", FT_BOOLEAN, 8,
20272                 TFS(&tfs_shortInterleaver_bit), 0x01, "The shortInterleaver bit", HFILL }},
20273         { &hf_h245_errorCorrectionOnly,
20274                 { "errorCorrectionOnly", "h245.errorCorrectionOnly", FT_BOOLEAN, 8,
20275                 TFS(&tfs_errorCorrectionOnly_bit), 0x01, "The errorCorrectionOnly bit", HFILL }},
20276         { &hf_h245_structuredDataTransfer,
20277                 { "structuredDataTransfer", "h245.structuredDataTransfer", FT_BOOLEAN, 8,
20278                 TFS(&tfs_structuredDataTransfer_bit), 0x01, "The structuredDataTransfer bit", HFILL }},
20279         { &hf_h245_partiallyFilledCells,
20280                 { "partiallyFilledCells", "h245.partiallyFilledCells", FT_BOOLEAN, 8,
20281                 TFS(&tfs_partiallyFilledCells_bit), 0x01, "The partiallyFilledCells bit", HFILL }},
20282         { &hf_h245_transportStream,
20283                 { "transportStream", "h245.transportStream", FT_BOOLEAN, 8,
20284                 TFS(&tfs_transportStream_bit), 0x01, "The transportStream bit", HFILL }},
20285         { &hf_h245_programStream,
20286                 { "programStream", "h245.programStream", FT_BOOLEAN, 8,
20287                 TFS(&tfs_programStream_bit), 0x01, "The programStream bit", HFILL }},
20288         { &hf_h245_transportWithIframes,
20289                 { "transportWithIframes", "h245.transportWithIframes", FT_BOOLEAN, 8,
20290                 TFS(&tfs_transportWithIframes_bit), 0x01, "The transportWithIframes bit", HFILL }},
20291         { &hf_h245_videoWithAL1,
20292                 { "videoWithAL1", "h245.videoWithAL1", FT_BOOLEAN, 8,
20293                 TFS(&tfs_videoWithAL1_bit), 0x01, "The videoWithAL1 bit", HFILL }},
20294         { &hf_h245_videoWithAL2,
20295                 { "videoWithAL2", "h245.videoWithAL2", FT_BOOLEAN, 8,
20296                 TFS(&tfs_videoWithAL2_bit), 0x01, "The videoWithAL2 bit", HFILL }},
20297         { &hf_h245_videoWithAL3,
20298                 { "videoWithAL3", "h245.videoWithAL3", FT_BOOLEAN, 8,
20299                 TFS(&tfs_videoWithAL3_bit), 0x01, "The videoWithAL3 bit", HFILL }},
20300         { &hf_h245_audioWithAL1,
20301                 { "audioWithAL1", "h245.audioWithAL1", FT_BOOLEAN, 8,
20302                 TFS(&tfs_audioWithAL1_bit), 0x01, "The audioWithAL1 bit", HFILL }},
20303         { &hf_h245_audioWithAL2,
20304                 { "audioWithAL2", "h245.audioWithAL2", FT_BOOLEAN, 8,
20305                 TFS(&tfs_audioWithAL2_bit), 0x01, "The audioWithAL2 bit", HFILL }},
20306         { &hf_h245_audioWithAL3,
20307                 { "audioWithAL3", "h245.audioWithAL3", FT_BOOLEAN, 8,
20308                 TFS(&tfs_audioWithAL3_bit), 0x01, "The audioWithAL3 bit", HFILL }},
20309         { &hf_h245_dataWithAL1,
20310                 { "dataWithAL1", "h245.dataWithAL1", FT_BOOLEAN, 8,
20311                 TFS(&tfs_dataWithAL1_bit), 0x01, "The dataWithAL1 bit", HFILL }},
20312         { &hf_h245_dataWithAL2,
20313                 { "dataWithAL2", "h245.dataWithAL2", FT_BOOLEAN, 8,
20314                 TFS(&tfs_dataWithAL2_bit), 0x01, "The dataWithAL2 bit", HFILL }},
20315         { &hf_h245_dataWithAL3,
20316                 { "dataWithAL3", "h245.dataWithAL3", FT_BOOLEAN, 8,
20317                 TFS(&tfs_dataWithAL3_bit), 0x01, "The dataWithAL3 bit", HFILL }},
20318         { &hf_h245_maxMUXPDUSizeCapability,
20319                 { "maxMUXPDUSizeCapability", "h245.maxMUXPDUSizeCapability", FT_BOOLEAN, 8,
20320                 TFS(&tfs_maxMUXPDUSizeCapability_bit), 0x01, "The maxMUXPDUSizeCapability bit", HFILL }},
20321         { &hf_h245_nsrpSupport,
20322                 { "nsrpSupport", "h245.nsrpSupport", FT_BOOLEAN, 8,
20323                 TFS(&tfs_nsrpSupport_bit), 0x01, "The nsrpSupport bit", HFILL }},
20324         { &hf_h245_modeChangeCapability,
20325                 { "modeChangeCapability", "h245.modeChangeCapability", FT_BOOLEAN, 8,
20326                 TFS(&tfs_modeChangeCapability_bit), 0x01, "The modeChangeCapability bit", HFILL }},
20327         { &hf_h245_h223AnnexA,
20328                 { "h223AnnexA", "h245.h223AnnexA", FT_BOOLEAN, 8,
20329                 TFS(&tfs_h223AnnexA_bit), 0x01, "The h223AnnexA bit", HFILL }},
20330         { &hf_h245_h223AnnexADoubleFlag_bool,
20331                 { "h223AnnexADoubleFlag_bool", "h245.h223AnnexADoubleFlag_bool", FT_BOOLEAN, 8,
20332                 TFS(&tfs_h223AnnexADoubleFlag_bool_bit), 0x01, "The h223AnnexADoubleFlag_bool bit", HFILL }},
20333         { &hf_h245_h223AnnexB,
20334                 { "h223AnnexB", "h245.h223AnnexB", FT_BOOLEAN, 8,
20335                 TFS(&tfs_h223AnnexB_bit), 0x01, "The h223AnnexB bit", HFILL }},
20336         { &hf_h245_h223AnnexBwithHeader,
20337                 { "h223AnnexBwithHeader", "h245.h223AnnexBwithHeader", FT_BOOLEAN, 8,
20338                 TFS(&tfs_h223AnnexBwithHeader_bit), 0x01, "The h223AnnexBwithHeader bit", HFILL }},
20339         { &hf_h245_videoWithAL1M,
20340                 { "videoWithAL1M", "h245.videoWithAL1M", FT_BOOLEAN, 8,
20341                 TFS(&tfs_videoWithAL1M_bit), 0x01, "The videoWithAL1M bit", HFILL }},
20342         { &hf_h245_videoWithAL2M,
20343                 { "videoWithAL2M", "h245.videoWithAL2M", FT_BOOLEAN, 8,
20344                 TFS(&tfs_videoWithAL2M_bit), 0x01, "The videoWithAL2M bit", HFILL }},
20345         { &hf_h245_videoWithAL3M,
20346                 { "videoWithAL3M", "h245.videoWithAL3M", FT_BOOLEAN, 8,
20347                 TFS(&tfs_videoWithAL3M_bit), 0x01, "The videoWithAL3M bit", HFILL }},
20348         { &hf_h245_audioWithAL1M,
20349                 { "audioWithAL1M", "h245.audioWithAL1M", FT_BOOLEAN, 8,
20350                 TFS(&tfs_audioWithAL1M_bit), 0x01, "The audioWithAL1M bit", HFILL }},
20351         { &hf_h245_audioWithAL2M,
20352                 { "audioWithAL2M", "h245.audioWithAL2M", FT_BOOLEAN, 8,
20353                 TFS(&tfs_audioWithAL2M_bit), 0x01, "The audioWithAL2M bit", HFILL }},
20354         { &hf_h245_audioWithAL3M,
20355                 { "audioWithAL3M", "h245.audioWithAL3M", FT_BOOLEAN, 8,
20356                 TFS(&tfs_audioWithAL3M_bit), 0x01, "The audioWithAL3M bit", HFILL }},
20357         { &hf_h245_dataWithAL1M,
20358                 { "dataWithAL1M", "h245.dataWithAL1M", FT_BOOLEAN, 8,
20359                 TFS(&tfs_dataWithAL1M_bit), 0x01, "The dataWithAL1M bit", HFILL }},
20360         { &hf_h245_dataWithAL2M,
20361                 { "dataWithAL2M", "h245.dataWithAL2M", FT_BOOLEAN, 8,
20362                 TFS(&tfs_dataWithAL2M_bit), 0x01, "The dataWithAL2M bit", HFILL }},
20363         { &hf_h245_dataWithAL3M,
20364                 { "dataWithAL3M", "h245.dataWithAL3M", FT_BOOLEAN, 8,
20365                 TFS(&tfs_dataWithAL3M_bit), 0x01, "The dataWithAL3M bit", HFILL }},
20366         { &hf_h245_alpduInterleaving,
20367                 { "alpduInterleaving", "h245.alpduInterleaving", FT_BOOLEAN, 8,
20368                 TFS(&tfs_alpduInterleaving_bit), 0x01, "The alpduInterleaving bit", HFILL }},
20369         { &hf_h245_rsCodeCapability,
20370                 { "rsCodeCapability", "h245.rsCodeCapability", FT_BOOLEAN, 8,
20371                 TFS(&tfs_rsCodeCapability_bit), 0x01, "The rsCodeCapability bit", HFILL }},
20372         { &hf_h245_suspendResumeCapabilitywAddress,
20373                 { "suspendResumeCapabilitywAddress", "h245.suspendResumeCapabilitywAddress", FT_BOOLEAN, 8,
20374                 TFS(&tfs_suspendResumeCapabilitywAddress_bit), 0x01, "The suspendResumeCapabilitywAddress bit", HFILL }},
20375         { &hf_h245_suspendResumeCapabilitywoAddress,
20376                 { "suspendResumeCapabilitywoAddress", "h245.suspendResumeCapabilitywoAddress", FT_BOOLEAN, 8,
20377                 TFS(&tfs_suspendResumeCapabilitywoAddress_bit), 0x01, "The suspendResumeCapabilitywoAddress bit", HFILL }},
20378         { &hf_h245_rejCapability,
20379                 { "rejCapability", "h245.rejCapability", FT_BOOLEAN, 8,
20380                 TFS(&tfs_rejCapability_bit), 0x01, "The rejCapability bit", HFILL }},
20381         { &hf_h245_sREJCapability,
20382                 { "sREJCapability", "h245.sREJCapability", FT_BOOLEAN, 8,
20383                 TFS(&tfs_sREJCapability_bit), 0x01, "The sREJCapability bit", HFILL }},
20384         { &hf_h245_mREJCapability,
20385                 { "mREJCapability", "h245.mREJCapability", FT_BOOLEAN, 8,
20386                 TFS(&tfs_mREJCapability_bit), 0x01, "The mREJCapability bit", HFILL }},
20387         { &hf_h245_crc8bitCapability,
20388                 { "crc8bitCapability", "h245.crc8bitCapability", FT_BOOLEAN, 8,
20389                 TFS(&tfs_crc8bitCapability_bit), 0x01, "The crc8bitCapability bit", HFILL }},
20390         { &hf_h245_crc16bitCapability,
20391                 { "crc16bitCapability", "h245.crc16bitCapability", FT_BOOLEAN, 8,
20392                 TFS(&tfs_crc16bitCapability_bit), 0x01, "The crc16bitCapability bit", HFILL }},
20393         { &hf_h245_crc32bitCapability,
20394                 { "crc32bitCapability", "h245.crc32bitCapability", FT_BOOLEAN, 8,
20395                 TFS(&tfs_crc32bitCapability_bit), 0x01, "The crc32bitCapability bit", HFILL }},
20396         { &hf_h245_uihCapability,
20397                 { "uihCapability", "h245.uihCapability", FT_BOOLEAN, 8,
20398                 TFS(&tfs_uihCapability_bit), 0x01, "The uihCapability bit", HFILL }},
20399         { &hf_h245_twoOctetAddressFieldCapability,
20400                 { "twoOctetAddressFieldCapability", "h245.twoOctetAddressFieldCapability", FT_BOOLEAN, 8,
20401                 TFS(&tfs_twoOctetAddressFieldCapability_bit), 0x01, "The twoOctetAddressFieldCapability bit", HFILL }},
20402         { &hf_h245_loopBackTestCapability,
20403                 { "loopBackTestCapability", "h245.loopBackTestCapability", FT_BOOLEAN, 8,
20404                 TFS(&tfs_loopBackTestCapability_bit), 0x01, "The loopBackTestCapability bit", HFILL }},
20405         { &hf_h245_audioHeader,
20406                 { "audioHeader", "h245.audioHeader", FT_BOOLEAN, 8,
20407                 TFS(&tfs_audioHeader_bit), 0x01, "The audioHeader bit", HFILL }},
20408         { &hf_h245_centralizedConferenceMC,
20409                 { "centralizedConferenceMC", "h245.centralizedConferenceMC", FT_BOOLEAN, 8,
20410                 TFS(&tfs_centralizedConferenceMC_bit), 0x01, "The centralizedConferenceMC bit", HFILL }},
20411         { &hf_h245_decentralizedConferenceMC,
20412                 { "decentralizedConferenceMC", "h245.decentralizedConferenceMC", FT_BOOLEAN, 8,
20413                 TFS(&tfs_decentralizedConferenceMC_bit), 0x01, "The decentralizedConferenceMC bit", HFILL }},
20414         { &hf_h245_rtcpVideoControlCapability,
20415                 { "rtcpVideoControlCapability", "h245.rtcpVideoControlCapability", FT_BOOLEAN, 8,
20416                 TFS(&tfs_rtcpVideoControlCapability_bit), 0x01, "The rtcpVideoControlCapability bit", HFILL }},
20417         { &hf_h245_logicalChannelSwitchingCapability,
20418                 { "logicalChannelSwitchingCapability", "h245.logicalChannelSwitchingCapability", FT_BOOLEAN, 8,
20419                 TFS(&tfs_logicalChannelSwitchingCapability_bit), 0x01, "The logicalChannelSwitchingCapability bit", HFILL }},
20420         { &hf_h245_t120DynamicPortCapability,
20421                 { "t120DynamicPortCapability", "h245.t120DynamicPortCapability", FT_BOOLEAN, 8,
20422                 TFS(&tfs_t120DynamicPortCapability_bit), 0x01, "The t120DynamicPortCapability bit", HFILL }},
20423         { &hf_h245_h261aVideoPacketization,
20424                 { "h261aVideoPacketization", "h245.h261aVideoPacketization", FT_BOOLEAN, 8,
20425                 TFS(&tfs_h261aVideoPacketization_bit), 0x01, "The h261aVideoPacketization bit", HFILL }},
20426         { &hf_h245_atmUBR,
20427                 { "atmUBR", "h245.atmUBR", FT_BOOLEAN, 8,
20428                 TFS(&tfs_atmUBR_bit), 0x01, "The atmUBR bit", HFILL }},
20429         { &hf_h245_atmrtVBR,
20430                 { "atmrtVBR", "h245.atmrtVBR", FT_BOOLEAN, 8,
20431                 TFS(&tfs_atmrtVBR_bit), 0x01, "The atmrtVBR bit", HFILL }},
20432         { &hf_h245_atmnrtVBR,
20433                 { "atmnrtVBR", "h245.atmnrtVBR", FT_BOOLEAN, 8,
20434                 TFS(&tfs_atmnrtVBR_bit), 0x01, "The atmnrtVBR bit", HFILL }},
20435         { &hf_h245_atmABR,
20436                 { "atmABR", "h245.atmABR", FT_BOOLEAN, 8,
20437                 TFS(&tfs_atmABR_bit), 0x01, "The atmABR bit", HFILL }},
20438         { &hf_h245_atmCBR,
20439                 { "atmCBR", "h245.atmCBR", FT_BOOLEAN, 8,
20440                 TFS(&tfs_atmCBR_bit), 0x01, "The atmCBR bit", HFILL }},
20441         { &hf_h245_variableDelta,
20442                 { "variableDelta", "h245.variableDelta", FT_BOOLEAN, 8,
20443                 TFS(&tfs_variableDelta_bit), 0x01, "The variableDelta bit", HFILL }},
20444         { &hf_h245_multicastCapability,
20445                 { "multicastCapability", "h245.multicastCapability", FT_BOOLEAN, 8,
20446                 TFS(&tfs_multicastCapability_bit), 0x01, "The multicastCapability bit", HFILL }},
20447         { &hf_h245_multiUniCastConference,
20448                 { "multiUniCastConference", "h245.multiUniCastConference", FT_BOOLEAN, 8,
20449                 TFS(&tfs_multiUniCastConference_bit), 0x01, "The multiUniCastConference bit", HFILL }},
20450         { &hf_h245_centralizedControl,
20451                 { "centralizedControl", "h245.centralizedControl", FT_BOOLEAN, 8,
20452                 TFS(&tfs_centralizedControl_bit), 0x01, "The centralizedControl bit", HFILL }},
20453         { &hf_h245_distributedControl,
20454                 { "distributedControl", "h245.distributedControl", FT_BOOLEAN, 8,
20455                 TFS(&tfs_distributedControl_bit), 0x01, "The distributedControl bit", HFILL }},
20456         { &hf_h245_centralizedAudio,
20457                 { "centralizedAudio", "h245.centralizedAudio", FT_BOOLEAN, 8,
20458                 TFS(&tfs_centralizedAudio_bit), 0x01, "The centralizedAudio bit", HFILL }},
20459         { &hf_h245_distributedAudio,
20460                 { "distributedAudio", "h245.distributedAudio", FT_BOOLEAN, 8,
20461                 TFS(&tfs_distributedAudio_bit), 0x01, "The distributedAudio bit", HFILL }},
20462         { &hf_h245_centralizedVideo,
20463                 { "centralizedVideo", "h245.centralizedVideo", FT_BOOLEAN, 8,
20464                 TFS(&tfs_centralizedVideo_bit), 0x01, "The centralizedVideo bit", HFILL }},
20465         { &hf_h245_distributedVideo,
20466                 { "distributedVideo", "h245.distributedVideo", FT_BOOLEAN, 8,
20467                 TFS(&tfs_distributedVideo_bit), 0x01, "The distributedVideo bit", HFILL }},
20468         { &hf_h245_temporalSpatialTradeOffCapability,
20469                 { "temporalSpatialTradeOffCapability", "h245.temporalSpatialTradeOffCapability", FT_BOOLEAN, 8,
20470                 TFS(&tfs_temporalSpatialTradeOffCapability_bit), 0x01, "The temporalSpatialTradeOffCapability bit", HFILL }},
20471         { &hf_h245_stillImageTransmission,
20472                 { "stillImageTransmission", "h245.stillImageTransmission", FT_BOOLEAN, 8,
20473                 TFS(&tfs_stillImageTransmission_bit), 0x01, "The stillImageTransmission bit", HFILL }},
20474         { &hf_h245_videoBadMBsCap,
20475                 { "videoBadMBsCap", "h245.videoBadMBsCap", FT_BOOLEAN, 8,
20476                 TFS(&tfs_videoBadMBsCap_bit), 0x01, "The videoBadMBsCap bit", HFILL }},
20477         { &hf_h245_profileAndLevelSPatML,
20478                 { "profileAndLevelSPatML", "h245.profileAndLevelSPatML", FT_BOOLEAN, 8,
20479                 TFS(&tfs_profileAndLevelSPatML_bit), 0x01, "The profileAndLevelSPatML bit", HFILL }},
20480         { &hf_h245_profileAndLevelMPatLL,
20481                 { "profileAndLevelMPatLL", "h245.profileAndLevelMPatLL", FT_BOOLEAN, 8,
20482                 TFS(&tfs_profileAndLevelMPatLL_bit), 0x01, "The profileAndLevelMPatLL bit", HFILL }},
20483         { &hf_h245_profileAndLevelMPatML,
20484                 { "profileAndLevelMPatML", "h245.profileAndLevelMPatML", FT_BOOLEAN, 8,
20485                 TFS(&tfs_profileAndLevelMPatML_bit), 0x01, "The profileAndLevelMPatML bit", HFILL }},
20486         { &hf_h245_profileAndLevelMPatH14,
20487                 { "profileAndLevelMPatH14", "h245.profileAndLevelMPatH14", FT_BOOLEAN, 8,
20488                 TFS(&tfs_profileAndLevelMPatH14_bit), 0x01, "The profileAndLevelMPatH14 bit", HFILL }},
20489         { &hf_h245_profileAndLevelMPatHL,
20490                 { "profileAndLevelMPatHL", "h245.profileAndLevelMPatHL", FT_BOOLEAN, 8,
20491                 TFS(&tfs_profileAndLevelMPatHL_bit), 0x01, "The profileAndLevelMPatHL bit", HFILL }},
20492         { &hf_h245_profileAndLevelSNRatLL,
20493                 { "profileAndLevelSNRatLL", "h245.profileAndLevelSNRatLL", FT_BOOLEAN, 8,
20494                 TFS(&tfs_profileAndLevelSNRatLL_bit), 0x01, "The profileAndLevelSNRatLL bit", HFILL }},
20495         { &hf_h245_profileAndLevelSNRatML,
20496                 { "profileAndLevelSNRatML", "h245.profileAndLevelSNRatML", FT_BOOLEAN, 8,
20497                 TFS(&tfs_profileAndLevelSNRatML_bit), 0x01, "The profileAndLevelSNRatML bit", HFILL }},
20498         { &hf_h245_profileAndLevelSpatialatH14,
20499                 { "profileAndLevelSpatialatH14", "h245.profileAndLevelSpatialatH14", FT_BOOLEAN, 8,
20500                 TFS(&tfs_profileAndLevelSpatialatH14_bit), 0x01, "The profileAndLevelSpatialatH14 bit", HFILL }},
20501         { &hf_h245_profileAndLevelHPatML,
20502                 { "profileAndLevelHPatML", "h245.profileAndLevelHPatML", FT_BOOLEAN, 8,
20503                 TFS(&tfs_profileAndLevelHPatML_bit), 0x01, "The profileAndLevelHPatML bit", HFILL }},
20504         { &hf_h245_profileAndLevelHPatH14,
20505                 { "profileAndLevelHPatH14", "h245.profileAndLevelHPatH14", FT_BOOLEAN, 8,
20506                 TFS(&tfs_profileAndLevelHPatH14_bit), 0x01, "The profileAndLevelHPatH14 bit", HFILL }},
20507         { &hf_h245_profileAndLevelHPatHL,
20508                 { "profileAndLevelHPatHL", "h245.profileAndLevelHPatHL", FT_BOOLEAN, 8,
20509                 TFS(&tfs_profileAndLevelHPatHL_bit), 0x01, "The profileAndLevelHPatHL bit", HFILL }},
20510         { &hf_h245_unrestrictedVector,
20511                 { "unrestrictedVector", "h245.unrestrictedVector", FT_BOOLEAN, 8,
20512                 TFS(&tfs_unrestrictedVector_bit), 0x01, "The unrestrictedVector bit", HFILL }},
20513         { &hf_h245_arithmeticCoding,
20514                 { "arithmeticCoding", "h245.arithmeticCoding", FT_BOOLEAN, 8,
20515                 TFS(&tfs_arithmeticCoding_bit), 0x01, "The arithmeticCoding bit", HFILL }},
20516         { &hf_h245_advancedPrediction,
20517                 { "advancedPrediction", "h245.advancedPrediction", FT_BOOLEAN, 8,
20518                 TFS(&tfs_advancedPrediction_bit), 0x01, "The advancedPrediction bit", HFILL }},
20519         { &hf_h245_pbFrames,
20520                 { "pbFrames", "h245.pbFrames", FT_BOOLEAN, 8,
20521                 TFS(&tfs_pbFrames_bit), 0x01, "The pbFrames bit", HFILL }},
20522         { &hf_h245_errorCompensation,
20523                 { "errorCompensation", "h245.errorCompensation", FT_BOOLEAN, 8,
20524                 TFS(&tfs_errorCompensation_bit), 0x01, "The errorCompensation bit", HFILL }},
20525         { &hf_h245_baseBitRateConstrained,
20526                 { "baseBitRateConstrained", "h245.baseBitRateConstrained", FT_BOOLEAN, 8,
20527                 TFS(&tfs_baseBitRateConstrained_bit), 0x01, "The baseBitRateConstrained bit", HFILL }},
20528         { &hf_h245_advancedIntraCodingMode,
20529                 { "advancedIntraCodingMode", "h245.advancedIntraCodingMode", FT_BOOLEAN, 8,
20530                 TFS(&tfs_advancedIntraCodingMode_bit), 0x01, "The advancedIntraCodingMode bit", HFILL }},
20531         { &hf_h245_deblockingFilterMode,
20532                 { "deblockingFilterMode", "h245.deblockingFilterMode", FT_BOOLEAN, 8,
20533                 TFS(&tfs_deblockingFilterMode_bit), 0x01, "The deblockingFilterMode bit", HFILL }},
20534         { &hf_h245_improvedPBFramesMode,
20535                 { "improvedPBFramesMode", "h245.improvedPBFramesMode", FT_BOOLEAN, 8,
20536                 TFS(&tfs_improvedPBFramesMode_bit), 0x01, "The improvedPBFramesMode bit", HFILL }},
20537         { &hf_h245_unlimitedMotionVectors,
20538                 { "unlimitedMotionVectors", "h245.unlimitedMotionVectors", FT_BOOLEAN, 8,
20539                 TFS(&tfs_unlimitedMotionVectors_bit), 0x01, "The unlimitedMotionVectors bit", HFILL }},
20540         { &hf_h245_fullPictureFreeze,
20541                 { "fullPictureFreeze", "h245.fullPictureFreeze", FT_BOOLEAN, 8,
20542                 TFS(&tfs_fullPictureFreeze_bit), 0x01, "The fullPictureFreeze bit", HFILL }},
20543         { &hf_h245_partialPictureFreezeAndRelease,
20544                 { "partialPictureFreezeAndRelease", "h245.partialPictureFreezeAndRelease", FT_BOOLEAN, 8,
20545                 TFS(&tfs_partialPictureFreezeAndRelease_bit), 0x01, "The partialPictureFreezeAndRelease bit", HFILL }},
20546         { &hf_h245_resizingPartPicFreezeAndRelease,
20547                 { "resizingPartPicFreezeAndRelease", "h245.resizingPartPicFreezeAndRelease", FT_BOOLEAN, 8,
20548                 TFS(&tfs_resizingPartPicFreezeAndRelease_bit), 0x01, "The resizingPartPicFreezeAndRelease bit", HFILL }},
20549         { &hf_h245_fullPictureSnapshot,
20550                 { "fullPictureSnapshot", "h245.fullPictureSnapshot", FT_BOOLEAN, 8,
20551                 TFS(&tfs_fullPictureSnapshot_bit), 0x01, "The fullPictureSnapshot bit", HFILL }},
20552         { &hf_h245_partialPictureSnapshot,
20553                 { "partialPictureSnapshot", "h245.partialPictureSnapshot", FT_BOOLEAN, 8,
20554                 TFS(&tfs_partialPictureSnapshot_bit), 0x01, "The partialPictureSnapshot bit", HFILL }},
20555         { &hf_h245_videoSegmentTagging,
20556                 { "videoSegmentTagging", "h245.videoSegmentTagging", FT_BOOLEAN, 8,
20557                 TFS(&tfs_videoSegmentTagging_bit), 0x01, "The videoSegmentTagging bit", HFILL }},
20558         { &hf_h245_progressiveRefinement,
20559                 { "progressiveRefinement", "h245.progressiveRefinement", FT_BOOLEAN, 8,
20560                 TFS(&tfs_progressiveRefinement_bit), 0x01, "The progressiveRefinement bit", HFILL }},
20561         { &hf_h245_dynamicPictureResizingByFour,
20562                 { "dynamicPictureResizingByFour", "h245.dynamicPictureResizingByFour", FT_BOOLEAN, 8,
20563                 TFS(&tfs_dynamicPictureResizingByFour_bit), 0x01, "The dynamicPictureResizingByFour bit", HFILL }},
20564         { &hf_h245_dynamicPictureResizingSixteenthPel,
20565                 { "dynamicPictureResizingSixteenthPel", "h245.dynamicPictureResizingSixteenthPel", FT_BOOLEAN, 8,
20566                 TFS(&tfs_dynamicPictureResizingSixteenthPel_bit), 0x01, "The dynamicPictureResizingSixteenthPel bit", HFILL }},
20567         { &hf_h245_dynamicWarpingHalfPel,
20568                 { "dynamicWarpingHalfPel", "h245.dynamicWarpingHalfPel", FT_BOOLEAN, 8,
20569                 TFS(&tfs_dynamicWarpingHalfPel_bit), 0x01, "The dynamicWarpingHalfPel bit", HFILL }},
20570         { &hf_h245_dynamicWarpingSixteenthPel,
20571                 { "dynamicWarpingSixteenthPel", "h245.dynamicWarpingSixteenthPel", FT_BOOLEAN, 8,
20572                 TFS(&tfs_dynamicWarpingSixteenthPel_bit), 0x01, "The dynamicWarpingSixteenthPel bit", HFILL }},
20573         { &hf_h245_independentSegmentDecoding,
20574                 { "independentSegmentDecoding", "h245.independentSegmentDecoding", FT_BOOLEAN, 8,
20575                 TFS(&tfs_independentSegmentDecoding_bit), 0x01, "The independentSegmentDecoding bit", HFILL }},
20576         { &hf_h245_slicesInOrderNonRect,
20577                 { "slicesInOrderNonRect", "h245.slicesInOrderNonRect", FT_BOOLEAN, 8,
20578                 TFS(&tfs_slicesInOrderNonRect_bit), 0x01, "The slicesInOrderNonRect bit", HFILL }},
20579         { &hf_h245_slicesInOrderRect,
20580                 { "slicesInOrderRect", "h245.slicesInOrderRect", FT_BOOLEAN, 8,
20581                 TFS(&tfs_slicesInOrderRect_bit), 0x01, "The slicesInOrderRect bit", HFILL }},
20582         { &hf_h245_slicesNoOrderNonRect,
20583                 { "slicesNoOrderNonRect", "h245.slicesNoOrderNonRect", FT_BOOLEAN, 8,
20584                 TFS(&tfs_slicesNoOrderNonRect_bit), 0x01, "The slicesNoOrderNonRect bit", HFILL }},
20585         { &hf_h245_slicesNoOrderRect,
20586                 { "slicesNoOrderRect", "h245.slicesNoOrderRect", FT_BOOLEAN, 8,
20587                 TFS(&tfs_slicesNoOrderRect_bit), 0x01, "The slicesNoOrderRect bit", HFILL }},
20588         { &hf_h245_alternateInterVLCMode,
20589                 { "alternateInterVLCMode", "h245.alternateInterVLCMode", FT_BOOLEAN, 8,
20590                 TFS(&tfs_alternateInterVLCMode_bit), 0x01, "The alternateInterVLCMode bit", HFILL }},
20591         { &hf_h245_modifiedQuantizationMode,
20592                 { "modifiedQuantizationMode", "h245.modifiedQuantizationMode", FT_BOOLEAN, 8,
20593                 TFS(&tfs_modifiedQuantizationMode_bit), 0x01, "The modifiedQuantizationMode bit", HFILL }},
20594         { &hf_h245_reducedResolutionUpdate,
20595                 { "reducedResolutionUpdate", "h245.reducedResolutionUpdate", FT_BOOLEAN, 8,
20596                 TFS(&tfs_reducedResolutionUpdate_bit), 0x01, "The reducedResolutionUpdate bit", HFILL }},
20597         { &hf_h245_separateVideoBackChannel,
20598                 { "separateVideoBackChannel", "h245.separateVideoBackChannel", FT_BOOLEAN, 8,
20599                 TFS(&tfs_separateVideoBackChannel_bit), 0x01, "The separateVideoBackChannel bit", HFILL }},
20600         { &hf_h245_videoMux,
20601                 { "videoMux", "h245.videoMux", FT_BOOLEAN, 8,
20602                 TFS(&tfs_videoMux_bit), 0x01, "The videoMux bit", HFILL }},
20603         { &hf_h245_anyPixelAspectRatio,
20604                 { "anyPixelAspectRatio", "h245.anyPixelAspectRatio", FT_BOOLEAN, 8,
20605                 TFS(&tfs_anyPixelAspectRatio_bit), 0x01, "The anyPixelAspectRatio bit", HFILL }},
20606         { &hf_h245_referencePicSelect,
20607                 { "referencePicSelect", "h245.referencePicSelect", FT_BOOLEAN, 8,
20608                 TFS(&tfs_referencePicSelect_bit), 0x01, "The referencePicSelect bit", HFILL }},
20609         { &hf_h245_enhancedReferencePicSelect_bool,
20610                 { "enhancedReferencePicSelect_bool", "h245.enhancedReferencePicSelect_bool", FT_BOOLEAN, 8,
20611                 TFS(&tfs_enhancedReferencePicSelect_bool_bit), 0x01, "The enhancedReferencePicSelect_bool bit", HFILL }},
20612         { &hf_h245_dataPartitionedSlices,
20613                 { "dataPartitionedSlices", "h245.dataPartitionedSlices", FT_BOOLEAN, 8,
20614                 TFS(&tfs_dataPartitionedSlices_bit), 0x01, "The dataPartitionedSlices bit", HFILL }},
20615         { &hf_h245_fixedPointIDCT0,
20616                 { "fixedPointIDCT0", "h245.fixedPointIDCT0", FT_BOOLEAN, 8,
20617                 TFS(&tfs_fixedPointIDCT0_bit), 0x01, "The fixedPointIDCT0 bit", HFILL }},
20618         { &hf_h245_interlacedFields,
20619                 { "interlacedFields", "h245.interlacedFields", FT_BOOLEAN, 8,
20620                 TFS(&tfs_interlacedFields_bit), 0x01, "The interlacedFields bit", HFILL }},
20621         { &hf_h245_currentPictureHeaderRepetition,
20622                 { "currentPictureHeaderRepetition", "h245.currentPictureHeaderRepetition", FT_BOOLEAN, 8,
20623                 TFS(&tfs_currentPictureHeaderRepetition_bit), 0x01, "The currentPictureHeaderRepetition bit", HFILL }},
20624         { &hf_h245_previousPictureHeaderRepetition,
20625                 { "previousPictureHeaderRepetition", "h245.previousPictureHeaderRepetition", FT_BOOLEAN, 8,
20626                 TFS(&tfs_previousPictureHeaderRepetition_bit), 0x01, "The previousPictureHeaderRepetition bit", HFILL }},
20627         { &hf_h245_nextPictureHeaderRepetition,
20628                 { "nextPictureHeaderRepetition", "h245.nextPictureHeaderRepetition", FT_BOOLEAN, 8,
20629                 TFS(&tfs_nextPictureHeaderRepetition_bit), 0x01, "The nextPictureHeaderRepetition bit", HFILL }},
20630         { &hf_h245_pictureNumber_bool,
20631                 { "pictureNumber_bool", "h245.pictureNumber_bool", FT_BOOLEAN, 8,
20632                 TFS(&tfs_pictureNumber_bool_bit), 0x01, "The pictureNumber_bool bit", HFILL }},
20633         { &hf_h245_spareReferencePictures,
20634                 { "spareReferencePictures", "h245.spareReferencePictures", FT_BOOLEAN, 8,
20635                 TFS(&tfs_spareReferencePictures_bit), 0x01, "The spareReferencePictures bit", HFILL }},
20636         { &hf_h245_constrainedBitstream,
20637                 { "constrainedBitstream", "h245.constrainedBitstream", FT_BOOLEAN, 8,
20638                 TFS(&tfs_constrainedBitstream_bit), 0x01, "The constrainedBitstream bit", HFILL }},
20639         { &hf_h245_silenceSuppression,
20640                 { "silenceSuppression", "h245.silenceSuppression", FT_BOOLEAN, 8,
20641                 TFS(&tfs_silenceSuppression_bit), 0x01, "The silenceSuppression bit", HFILL }},
20642         { &hf_h245_annexA,
20643                 { "annexA", "h245.annexA", FT_BOOLEAN, 8,
20644                 TFS(&tfs_annexA_bit), 0x01, "The annexA bit", HFILL }},
20645         { &hf_h245_annexB,
20646                 { "annexB", "h245.annexB", FT_BOOLEAN, 8,
20647                 TFS(&tfs_annexB_bit), 0x01, "The annexB bit", HFILL }},
20648         { &hf_h245_annexD,
20649                 { "annexD", "h245.annexD", FT_BOOLEAN, 8,
20650                 TFS(&tfs_annexD_bit), 0x01, "The annexD bit", HFILL }},
20651         { &hf_h245_annexE,
20652                 { "annexE", "h245.annexE", FT_BOOLEAN, 8,
20653                 TFS(&tfs_annexE_bit), 0x01, "The annexE bit", HFILL }},
20654         { &hf_h245_annexF,
20655                 { "annexF", "h245.annexF", FT_BOOLEAN, 8,
20656                 TFS(&tfs_annexF_bit), 0x01, "The annexF bit", HFILL }},
20657         { &hf_h245_annexG,
20658                 { "annexG", "h245.annexG", FT_BOOLEAN, 8,
20659                 TFS(&tfs_annexG_bit), 0x01, "The annexG bit", HFILL }},
20660         { &hf_h245_annexH,
20661                 { "annexH", "h245.annexH", FT_BOOLEAN, 8,
20662                 TFS(&tfs_annexH_bit), 0x01, "The annexH bit", HFILL }},
20663         { &hf_h245_audioLayer1,
20664                 { "audioLayer1", "h245.audioLayer1", FT_BOOLEAN, 8,
20665                 TFS(&tfs_audioLayer1_bit), 0x01, "The audioLayer1 bit", HFILL }},
20666         { &hf_h245_audioLayer2,
20667                 { "audioLayer2", "h245.audioLayer2", FT_BOOLEAN, 8,
20668                 TFS(&tfs_audioLayer2_bit), 0x01, "The audioLayer2 bit", HFILL }},
20669         { &hf_h245_audioLayer3,
20670                 { "audioLayer3", "h245.audioLayer3", FT_BOOLEAN, 8,
20671                 TFS(&tfs_audioLayer3_bit), 0x01, "The audioLayer3 bit", HFILL }},
20672         { &hf_h245_audioSampling32k,
20673                 { "audioSampling32k", "h245.audioSampling32k", FT_BOOLEAN, 8,
20674                 TFS(&tfs_audioSampling32k_bit), 0x01, "The audioSampling32k bit", HFILL }},
20675         { &hf_h245_audioSampling44k1,
20676                 { "audioSampling44k1", "h245.audioSampling44k1", FT_BOOLEAN, 8,
20677                 TFS(&tfs_audioSampling44k1_bit), 0x01, "The audioSampling44k1 bit", HFILL }},
20678         { &hf_h245_audioSampling48k,
20679                 { "audioSampling48k", "h245.audioSampling48k", FT_BOOLEAN, 8,
20680                 TFS(&tfs_audioSampling48k_bit), 0x01, "The audioSampling48k bit", HFILL }},
20681         { &hf_h245_singleChannel,
20682                 { "singleChannel", "h245.singleChannel", FT_BOOLEAN, 8,
20683                 TFS(&tfs_singleChannel_bit), 0x01, "The singleChannel bit", HFILL }},
20684         { &hf_h245_twoChannels,
20685                 { "twoChannels", "h245.twoChannels", FT_BOOLEAN, 8,
20686                 TFS(&tfs_twoChannels_bit), 0x01, "The twoChannels bit", HFILL }},
20687         { &hf_h245_audioSampling16k,
20688                 { "audioSampling16k", "h245.audioSampling16k", FT_BOOLEAN, 8,
20689                 TFS(&tfs_audioSampling16k_bit), 0x01, "The audioSampling16k bit", HFILL }},
20690         { &hf_h245_audioSampling22k05,
20691                 { "audioSampling22k05", "h245.audioSampling22k05", FT_BOOLEAN, 8,
20692                 TFS(&tfs_audioSampling22k05_bit), 0x01, "The audioSampling22k05 bit", HFILL }},
20693         { &hf_h245_audioSampling24k,
20694                 { "audioSampling24k", "h245.audioSampling24k", FT_BOOLEAN, 8,
20695                 TFS(&tfs_audioSampling24k_bit), 0x01, "The audioSampling24k bit", HFILL }},
20696         { &hf_h245_threeChannels21,
20697                 { "threeChannels21", "h245.threeChannels21", FT_BOOLEAN, 8,
20698                 TFS(&tfs_threeChannels21_bit), 0x01, "The threeChannels21 bit", HFILL }},
20699         { &hf_h245_threeChannels30,
20700                 { "threeChannels30", "h245.threeChannels30", FT_BOOLEAN, 8,
20701                 TFS(&tfs_threeChannels30_bit), 0x01, "The threeChannels30 bit", HFILL }},
20702         { &hf_h245_fourChannels2020,
20703                 { "fourChannels2020", "h245.fourChannels2020", FT_BOOLEAN, 8,
20704                 TFS(&tfs_fourChannels2020_bit), 0x01, "The fourChannels2020 bit", HFILL }},
20705         { &hf_h245_fourChannels22,
20706                 { "fourChannels22", "h245.fourChannels22", FT_BOOLEAN, 8,
20707                 TFS(&tfs_fourChannels22_bit), 0x01, "The fourChannels22 bit", HFILL }},
20708         { &hf_h245_fourChannels31,
20709                 { "fourChannels31", "h245.fourChannels31", FT_BOOLEAN, 8,
20710                 TFS(&tfs_fourChannels31_bit), 0x01, "The fourChannels31 bit", HFILL }},
20711         { &hf_h245_fiveChannels3020,
20712                 { "fiveChannels3020", "h245.fiveChannels3020", FT_BOOLEAN, 8,
20713                 TFS(&tfs_fiveChannels3020_bit), 0x01, "The fiveChannels3020 bit", HFILL }},
20714         { &hf_h245_fiveChannels32,
20715                 { "fiveChannels32", "h245.fiveChannels32", FT_BOOLEAN, 8,
20716                 TFS(&tfs_fiveChannels32_bit), 0x01, "The fiveChannels32 bit", HFILL }},
20717         { &hf_h245_lowFrequencyEnhancement,
20718                 { "lowFrequencyEnhancement", "h245.lowFrequencyEnhancement", FT_BOOLEAN, 8,
20719                 TFS(&tfs_lowFrequencyEnhancement_bit), 0x01, "The lowFrequencyEnhancement bit", HFILL }},
20720         { &hf_h245_multilingual,
20721                 { "multilingual", "h245.multilingual", FT_BOOLEAN, 8,
20722                 TFS(&tfs_multilingual_bit), 0x01, "The multilingual bit", HFILL }},
20723         { &hf_h245_comfortNoise,
20724                 { "comfortNoise", "h245.comfortNoise", FT_BOOLEAN, 8,
20725                 TFS(&tfs_comfortNoise_bit), 0x01, "The comfortNoise bit", HFILL }},
20726         { &hf_h245_scrambled,
20727                 { "scrambled", "h245.scrambled", FT_BOOLEAN, 8,
20728                 TFS(&tfs_scrambled_bit), 0x01, "The scrambled bit", HFILL }},
20729         { &hf_h245_qcif_bool,
20730                 { "qcif_bool", "h245.qcif_bool", FT_BOOLEAN, 8,
20731                 TFS(&tfs_qcif_bool_bit), 0x01, "The qcif_bool bit", HFILL }},
20732         { &hf_h245_cif_bool,
20733                 { "cif_bool", "h245.cif_bool", FT_BOOLEAN, 8,
20734                 TFS(&tfs_cif_bool_bit), 0x01, "The cif_bool bit", HFILL }},
20735         { &hf_h245_ccir601Seq,
20736                 { "ccir601Seq", "h245.ccir601Seq", FT_BOOLEAN, 8,
20737                 TFS(&tfs_ccir601Seq_bit), 0x01, "The ccir601Seq bit", HFILL }},
20738         { &hf_h245_ccir601Prog,
20739                 { "ccir601Prog", "h245.ccir601Prog", FT_BOOLEAN, 8,
20740                 TFS(&tfs_ccir601Prog_bit), 0x01, "The ccir601Prog bit", HFILL }},
20741         { &hf_h245_hdtvSeq,
20742                 { "hdtvSeq", "h245.hdtvSeq", FT_BOOLEAN, 8,
20743                 TFS(&tfs_hdtvSeq_bit), 0x01, "The hdtvSeq bit", HFILL }},
20744         { &hf_h245_hdtvProg,
20745                 { "hdtvProg", "h245.hdtvProg", FT_BOOLEAN, 8,
20746                 TFS(&tfs_hdtvProg_bit), 0x01, "The hdtvProg bit", HFILL }},
20747         { &hf_h245_g3FacsMH200x100,
20748                 { "g3FacsMH200x100", "h245.g3FacsMH200x100", FT_BOOLEAN, 8,
20749                 TFS(&tfs_g3FacsMH200x100_bit), 0x01, "The g3FacsMH200x100 bit", HFILL }},
20750         { &hf_h245_g3FacsMH200x200,
20751                 { "g3FacsMH200x200", "h245.g3FacsMH200x200", FT_BOOLEAN, 8,
20752                 TFS(&tfs_g3FacsMH200x200_bit), 0x01, "The g3FacsMH200x200 bit", HFILL }},
20753         { &hf_h245_g4FacsMMR200x100,
20754                 { "g4FacsMMR200x100", "h245.g4FacsMMR200x100", FT_BOOLEAN, 8,
20755                 TFS(&tfs_g4FacsMMR200x100_bit), 0x01, "The g4FacsMMR200x100 bit", HFILL }},
20756         { &hf_h245_g4FacsMMR200x200,
20757                 { "g4FacsMMR200x200", "h245.g4FacsMMR200x200", FT_BOOLEAN, 8,
20758                 TFS(&tfs_g4FacsMMR200x200_bit), 0x01, "The g4FacsMMR200x200 bit", HFILL }},
20759         { &hf_h245_jbig200x200Seq,
20760                 { "jbig200x200Seq", "h245.jbig200x200Seq", FT_BOOLEAN, 8,
20761                 TFS(&tfs_jbig200x200Seq_bit), 0x01, "The jbig200x200Seq bit", HFILL }},
20762         { &hf_h245_jbig200x200Prog,
20763                 { "jbig200x200Prog", "h245.jbig200x200Prog", FT_BOOLEAN, 8,
20764                 TFS(&tfs_jbig200x200Prog_bit), 0x01, "The jbig200x200Prog bit", HFILL }},
20765         { &hf_h245_jbig300x300Seq,
20766                 { "jbig300x300Seq", "h245.jbig300x300Seq", FT_BOOLEAN, 8,
20767                 TFS(&tfs_jbig300x300Seq_bit), 0x01, "The jbig300x300Seq bit", HFILL }},
20768         { &hf_h245_jbig300x300Prog,
20769                 { "jbig300x300Prog", "h245.jbig300x300Prog", FT_BOOLEAN, 8,
20770                 TFS(&tfs_jbig300x300Prog_bit), 0x01, "The jbig300x300Prog bit", HFILL }},
20771         { &hf_h245_digPhotoLow,
20772                 { "digPhotoLow", "h245.digPhotoLow", FT_BOOLEAN, 8,
20773                 TFS(&tfs_digPhotoLow_bit), 0x01, "The digPhotoLow bit", HFILL }},
20774         { &hf_h245_digPhotoMedSeq,
20775                 { "digPhotoMedSeq", "h245.digPhotoMedSeq", FT_BOOLEAN, 8,
20776                 TFS(&tfs_digPhotoMedSeq_bit), 0x01, "The digPhotoMedSeq bit", HFILL }},
20777         { &hf_h245_digPhotoMedProg,
20778                 { "digPhotoMedProg", "h245.digPhotoMedProg", FT_BOOLEAN, 8,
20779                 TFS(&tfs_digPhotoMedProg_bit), 0x01, "The digPhotoMedProg bit", HFILL }},
20780         { &hf_h245_digPhotoHighSeq,
20781                 { "digPhotoHighSeq", "h245.digPhotoHighSeq", FT_BOOLEAN, 8,
20782                 TFS(&tfs_digPhotoHighSeq_bit), 0x01, "The digPhotoHighSeq bit", HFILL }},
20783         { &hf_h245_digPhotoHighProg,
20784                 { "digPhotoHighProg", "h245.digPhotoHighProg", FT_BOOLEAN, 8,
20785                 TFS(&tfs_digPhotoHighProg_bit), 0x01, "The digPhotoHighProg bit", HFILL }},
20786         { &hf_h245_fillBitRemoval,
20787                 { "fillBitRemoval", "h245.fillBitRemoval", FT_BOOLEAN, 8,
20788                 TFS(&tfs_fillBitRemoval_bit), 0x01, "The fillBitRemoval bit", HFILL }},
20789         { &hf_h245_transcodingJBIG,
20790                 { "transcodingJBIG", "h245.transcodingJBIG", FT_BOOLEAN, 8,
20791                 TFS(&tfs_transcodingJBIG_bit), 0x01, "The transcodingJBIG bit", HFILL }},
20792         { &hf_h245_transcodingMMR,
20793                 { "transcodingMMR", "h245.transcodingMMR", FT_BOOLEAN, 8,
20794                 TFS(&tfs_transcodingMMR_bit), 0x01, "The transcodingMMR bit", HFILL }},
20795         { &hf_h245_t38TCPBidirectionalMode,
20796                 { "t38TCPBidirectionalMode", "h245.t38TCPBidirectionalMode", FT_BOOLEAN, 8,
20797                 TFS(&tfs_t38TCPBidirectionalMode_bit), 0x01, "The t38TCPBidirectionalMode bit", HFILL }},
20798         { &hf_h245_chairControlCapability,
20799                 { "chairControlCapability", "h245.chairControlCapability", FT_BOOLEAN, 8,
20800                 TFS(&tfs_chairControlCapability_bit), 0x01, "The chairControlCapability bit", HFILL }},
20801         { &hf_h245_videoIndicateMixingCapability,
20802                 { "videoIndicateMixingCapability", "h245.videoIndicateMixingCapability", FT_BOOLEAN, 8,
20803                 TFS(&tfs_videoIndicateMixingCapability_bit), 0x01, "The videoIndicateMixingCapability bit", HFILL }},
20804         { &hf_h245_multipointVisualizationCapability,
20805                 { "multipointVisualizationCapability", "h245.multipointVisualizationCapability", FT_BOOLEAN, 8,
20806                 TFS(&tfs_multipointVisualizationCapability_bit), 0x01, "The multipointVisualizationCapability bit", HFILL }},
20807         { &hf_h245_controlOnMuxStream,
20808                 { "controlOnMuxStream", "h245.controlOnMuxStream", FT_BOOLEAN, 8,
20809                 TFS(&tfs_controlOnMuxStream_bit), 0x01, "The controlOnMuxStream bit", HFILL }},
20810         { &hf_h245_redundancyEncoding_bool,
20811                 { "redundancyEncoding_bool", "h245.redundancyEncoding_bool", FT_BOOLEAN, 8,
20812                 TFS(&tfs_redundancyEncoding_bool_bit), 0x01, "The redundancyEncoding_bool bit", HFILL }},
20813         { &hf_h245_separatePort,
20814                 { "separatePort", "h245.separatePort", FT_BOOLEAN, 8,
20815                 TFS(&tfs_separatePort_bit), 0x01, "The separatePort bit", HFILL }},
20816         { &hf_h245_samePort_bool,
20817                 { "samePort_bool", "h245.samePort_bool", FT_BOOLEAN, 8,
20818                 TFS(&tfs_samePort_bool_bit), 0x01, "The samePort_bool bit", HFILL }},
20819         { &hf_h245_associateConference,
20820                 { "associateConference", "h245.associateConference", FT_BOOLEAN, 8,
20821                 TFS(&tfs_associateConference_bit), 0x01, "The associateConference bit", HFILL }},
20822         { &hf_h245_audioHeaderPresent,
20823                 { "audioHeaderPresent", "h245.audioHeaderPresent", FT_BOOLEAN, 8,
20824                 TFS(&tfs_audioHeaderPresent_bit), 0x01, "The audioHeaderPresent bit", HFILL }},
20825         { &hf_h245_segmentableFlag,
20826                 { "segmentableFlag", "h245.segmentableFlag", FT_BOOLEAN, 8,
20827                 TFS(&tfs_segmentableFlag_bit), 0x01, "The segmentableFlag bit", HFILL }},
20828         { &hf_h245_alsduSplitting,
20829                 { "alsduSplitting", "h245.alsduSplitting", FT_BOOLEAN, 8,
20830                 TFS(&tfs_alsduSplitting_bit), 0x01, "The alsduSplitting bit", HFILL }},
20831         { &hf_h245_uIH,
20832                 { "uIH", "h245.uIH", FT_BOOLEAN, 8,
20833                 TFS(&tfs_uIH_bit), 0x01, "The uIH bit", HFILL }},
20834         { &hf_h245_loopbackTestProcedure,
20835                 { "loopbackTestProcedure", "h245.loopbackTestProcedure", FT_BOOLEAN, 8,
20836                 TFS(&tfs_loopbackTestProcedure_bit), 0x01, "The loopbackTestProcedure bit", HFILL }},
20837         { &hf_h245_mediaGuaranteedDelivery,
20838                 { "mediaGuaranteedDelivery", "h245.mediaGuaranteedDelivery", FT_BOOLEAN, 8,
20839                 TFS(&tfs_mediaGuaranteedDelivery_bit), 0x01, "The mediaGuaranteedDelivery bit", HFILL }},
20840         { &hf_h245_mediaControlGuaranteedDelivery,
20841                 { "mediaControlGuaranteedDelivery", "h245.mediaControlGuaranteedDelivery", FT_BOOLEAN, 8,
20842                 TFS(&tfs_mediaControlGuaranteedDelivery_bit), 0x01, "The mediaControlGuaranteedDelivery bit", HFILL }},
20843         { &hf_h245_flowControlToZero,
20844                 { "flowControlToZero", "h245.flowControlToZero", FT_BOOLEAN, 8,
20845                 TFS(&tfs_flowControlToZero_bit), 0x01, "The flowControlToZero bit", HFILL }},
20846         { &hf_h245_multiplexCapability_bool,
20847                 { "multiplexCapability_bool", "h245.multiplexCapability_bool", FT_BOOLEAN, 8,
20848                 TFS(&tfs_multiplexCapability_bool_bit), 0x01, "The multiplexCapability_bool bit", HFILL }},
20849         { &hf_h245_secureChannel,
20850                 { "secureChannel", "h245.secureChannel", FT_BOOLEAN, 8,
20851                 TFS(&tfs_secureChannel_bit), 0x01, "The secureChannel bit", HFILL }},
20852         { &hf_h245_sharedSecret,
20853                 { "sharedSecret", "h245.sharedSecret", FT_BOOLEAN, 8,
20854                 TFS(&tfs_sharedSecret_bit), 0x01, "The sharedSecret bit", HFILL }},
20855         { &hf_h245_certProtectedKey,
20856                 { "certProtectedKey", "h245.certProtectedKey", FT_BOOLEAN, 8,
20857                 TFS(&tfs_certProtectedKey_bit), 0x01, "The certProtectedKey bit", HFILL }},
20858         { &hf_h245_bitRateLockedToPCRClock,
20859                 { "bitRateLockedToPCRClock", "h245.bitRateLockedToPCRClock", FT_BOOLEAN, 8,
20860                 TFS(&tfs_bitRateLockedToPCRClock_bit), 0x01, "The bitRateLockedToPCRClock bit", HFILL }},
20861         { &hf_h245_bitRateLockedToNetworkClock,
20862                 { "bitRateLockedToNetworkClock", "h245.bitRateLockedToNetworkClock", FT_BOOLEAN, 8,
20863                 TFS(&tfs_bitRateLockedToNetworkClock_bit), 0x01, "The bitRateLockedToNetworkClock bit", HFILL }},
20864         { &hf_h245_IS11172_BitRate,
20865                 { "BitRate", "h245.IS11172_BitRate", FT_UINT32, BASE_DEC,
20866                 NULL, 0, "IS11172 BitRate in kbit/s", HFILL }},
20867         { &hf_h245_IS13818_BitRate,
20868                 { "BitRate", "h245.IS13818_BitRate", FT_UINT32, BASE_DEC,
20869                 NULL, 0, "IS13818 BitRate in kbit/s", HFILL }},
20870         { &hf_h245_ATM_BitRate,
20871                 { "BitRate", "h245.ATM_BitRate", FT_UINT32, BASE_DEC,
20872                 NULL, 0, "ATM BitRate in 64kbit/s units", HFILL }},
20873         { &hf_h245_t35CountryCode,
20874                 { "t35CountryCode", "h245.t35CountryCode", FT_UINT32, BASE_DEC,
20875                 NULL, 0, "t35CountryCode value", HFILL }},
20876         { &hf_h245_t35Extension,
20877                 { "t35Extension", "h245.t35Extension", FT_UINT32, BASE_DEC,
20878                 NULL, 0, "t35Extension value", HFILL }},
20879         { &hf_h245_manufacturerCode,
20880                 { "manufacturerCode", "h245.manufacturerCode", FT_UINT32, BASE_DEC,
20881                 NULL, 0, "manufacturerCode value", HFILL }},
20882         { &hf_h245_terminalType,
20883                 { "terminalType", "h245.terminalType", FT_UINT32, BASE_DEC,
20884                 NULL, 0, "terminalType value", HFILL }},
20885         { &hf_h245_statusDeterminationNumber,
20886                 { "statusDeterminationNumber", "h245.statusDeterminationNumber", FT_UINT32, BASE_DEC,
20887                 NULL, 0, "statusDeterminationNumber value", HFILL }},
20888         { &hf_h245_CapabilityTableEntryNumber,
20889                 { "CapabilityTableEntryNumber", "h245.CapabilityTableEntryNumber", FT_UINT32, BASE_DEC,
20890                 NULL, 0, "CapabilityTableEntryNumber value", HFILL }},
20891         { &hf_h245_CapabilityDescriptorNumber,
20892                 { "CapabilityDescriptorNumber", "h245.CapabilityDescriptorNumber", FT_UINT32, BASE_DEC,
20893                 NULL, 0, "CapabilityDescriptorNumber value", HFILL }},
20894         { &hf_h245_h233IVResponseTime,
20895                 { "h233IVResponseTime", "h245.h233IVResponseTime", FT_UINT32, BASE_DEC,
20896                 NULL, 0, "h233IVResponseTime value", HFILL }},
20897         { &hf_h245_maxPendingReplacementFor,
20898                 { "maxPendingReplacementFor", "h245.maxPendingReplacementFor", FT_UINT32, BASE_DEC,
20899                 NULL, 0, "maxPendingReplacementFor value", HFILL }},
20900         { &hf_h245_numberOfVCs,
20901                 { "numberOfVCs", "h245.numberOfVCs", FT_UINT32, BASE_DEC,
20902                 NULL, 0, "numberOfVCs value", HFILL }},
20903         { &hf_h245_forwardMaximumSDUSize,
20904                 { "forwardMaximumSDUSize", "h245.forwardMaximumSDUSize", FT_UINT32, BASE_DEC,
20905                 NULL, 0, "forwardMaximumSDUSize value", HFILL }},
20906         { &hf_h245_backwardMaximumSDUSize,
20907                 { "backwardMaximumSDUSize", "h245.backwardMaximumSDUSize", FT_UINT32, BASE_DEC,
20908                 NULL, 0, "backwardMaximumSDUSize value", HFILL }},
20909         { &hf_h245_singleBitRate,
20910                 { "singleBitRate", "h245.singleBitRate", FT_UINT32, BASE_DEC,
20911                 NULL, 0, "singleBitRate value", HFILL }},
20912         { &hf_h245_lowerBitRate,
20913                 { "lowerBitRate", "h245.lowerBitRate", FT_UINT32, BASE_DEC,
20914                 NULL, 0, "lowerBitRate value", HFILL }},
20915         { &hf_h245_higherBitRate,
20916                 { "higherBitRate", "h245.higherBitRate", FT_UINT32, BASE_DEC,
20917                 NULL, 0, "higherBitRate value", HFILL }},
20918         { &hf_h245_maximumAl2SDUSize,
20919                 { "maximumAl2SDUSize", "h245.maximumAl2SDUSize", FT_UINT32, BASE_DEC,
20920                 NULL, 0, "maximumAl2SDUSize value", HFILL }},
20921         { &hf_h245_maximumAl3SDUSize,
20922                 { "maximumAl3SDUSize", "h245.maximumAl3SDUSize", FT_UINT32, BASE_DEC,
20923                 NULL, 0, "maximumAl3SDUSize value", HFILL }},
20924         { &hf_h245_maximumDelayJitter,
20925                 { "maximumDelayJitter", "h245.maximumDelayJitter", FT_UINT32, BASE_DEC,
20926                 NULL, 0, "maximumDelayJitter value", HFILL }},
20927         { &hf_h245_maximumNestingDepth,
20928                 { "maximumNestingDepth", "h245.maximumNestingDepth", FT_UINT32, BASE_DEC,
20929                 NULL, 0, "maximumNestingDepth value", HFILL }},
20930         { &hf_h245_maximumElementListSize,
20931                 { "maximumElementListSize", "h245.maximumElementListSize", FT_UINT32, BASE_DEC,
20932                 NULL, 0, "maximumElementListSize value", HFILL }},
20933         { &hf_h245_maximumSubElementListSize,
20934                 { "maximumSubElementListSize", "h245.maximumSubElementListSize", FT_UINT32, BASE_DEC,
20935                 NULL, 0, "maximumSubElementListSize value", HFILL }},
20936         { &hf_h245_h223bitRate,
20937                 { "h223bitRate", "h245.h223bitRate", FT_UINT32, BASE_DEC,
20938                 NULL, 0, "h223bitRate value", HFILL }},
20939         { &hf_h245_maximumSampleSize,
20940                 { "maximumSampleSize", "h245.maximumSampleSize", FT_UINT32, BASE_DEC,
20941                 NULL, 0, "maximumSampleSize value", HFILL }},
20942         { &hf_h245_maximumPayloadLength,
20943                 { "maximumPayloadLength", "h245.maximumPayloadLength", FT_UINT32, BASE_DEC,
20944                 NULL, 0, "maximumPayloadLength value", HFILL }},
20945         { &hf_h245_maximumAL1MPDUSize,
20946                 { "maximumAL1MPDUSize", "h245.maximumAL1MPDUSize", FT_UINT32, BASE_DEC,
20947                 NULL, 0, "maximumAL1MPDUSize value", HFILL }},
20948         { &hf_h245_maximumAL2MSDUSize,
20949                 { "maximumAL2MSDUSize", "h245.maximumAL2MSDUSize", FT_UINT32, BASE_DEC,
20950                 NULL, 0, "maximumAL2MSDUSize value", HFILL }},
20951         { &hf_h245_maximumAL3MSDUSize,
20952                 { "maximumAL3MSDUSize", "h245.maximumAL3MSDUSize", FT_UINT32, BASE_DEC,
20953                 NULL, 0, "maximumAL3MSDUSize value", HFILL }},
20954         { &hf_h245_numOfDLCS,
20955                 { "numOfDLCS", "h245.numOfDLCS", FT_UINT32, BASE_DEC,
20956                 NULL, 0, "numOfDLCS value", HFILL }},
20957         { &hf_h245_n401Capability,
20958                 { "n401Capability", "h245.n401Capability", FT_UINT32, BASE_DEC,
20959                 NULL, 0, "n401Capability value", HFILL }},
20960         { &hf_h245_maxWindowSizeCapability,
20961                 { "maxWindowSizeCapability", "h245.maxWindowSizeCapability", FT_UINT32, BASE_DEC,
20962                 NULL, 0, "maxWindowSizeCapability value", HFILL }},
20963         { &hf_h245_maximumAudioDelayJitter,
20964                 { "maximumAudioDelayJitter", "h245.maximumAudioDelayJitter", FT_UINT32, BASE_DEC,
20965                 NULL, 0, "maximumAudioDelayJitter value", HFILL }},
20966         { &hf_h245_tokenRate,
20967                 { "tokenRate", "h245.tokenRate", FT_UINT32, BASE_DEC,
20968                 NULL, 0, "tokenRate value", HFILL }},
20969         { &hf_h245_bucketSize,
20970                 { "bucketSize", "h245.bucketSize", FT_UINT32, BASE_DEC,
20971                 NULL, 0, "bucketSize value", HFILL }},
20972         { &hf_h245_peakRate,
20973                 { "peakRate", "h245.peakRate", FT_UINT32, BASE_DEC,
20974                 NULL, 0, "peakRate value", HFILL }},
20975         { &hf_h245_minPoliced,
20976                 { "minPoliced", "h245.minPoliced", FT_UINT32, BASE_DEC,
20977                 NULL, 0, "minPoliced value", HFILL }},
20978         { &hf_h245_maxPktSize,
20979                 { "maxPktSize", "h245.maxPktSize", FT_UINT32, BASE_DEC,
20980                 NULL, 0, "maxPktSize value", HFILL }},
20981         { &hf_h245_maxNTUSize,
20982                 { "maxNTUSize", "h245.maxNTUSize", FT_UINT32, BASE_DEC,
20983                 NULL, 0, "maxNTUSize value", HFILL }},
20984         { &hf_h245_numberOfThreads,
20985                 { "numberOfThreads", "h245.numberOfThreads", FT_UINT32, BASE_DEC,
20986                 NULL, 0, "numberOfThreads value", HFILL }},
20987         { &hf_h245_framesBetweenSyncPoints,
20988                 { "framesBetweenSyncPoints", "h245.framesBetweenSyncPoints", FT_UINT32, BASE_DEC,
20989                 NULL, 0, "framesBetweenSyncPoints value", HFILL }},
20990         { &hf_h245_threadNumber,
20991                 { "threadNumber", "h245.threadNumber", FT_UINT32, BASE_DEC,
20992                 NULL, 0, "threadNumber value", HFILL }},
20993         { &hf_h245_qcifMPI_1_4,
20994                 { "qcifMPI_1_4", "h245.qcifMPI_1_4", FT_UINT32, BASE_DEC,
20995                 NULL, 0, "qcifMPI_1_4 value", HFILL }},
20996         { &hf_h245_qcifMPI_1_32,
20997                 { "qcifMPI_1_32", "h245.qcifMPI_1_32", FT_UINT32, BASE_DEC,
20998                 NULL, 0, "qcifMPI_1_32 value", HFILL }},
20999         { &hf_h245_qcifMPI_1_2048,
21000                 { "qcifMPI_1_2048", "h245.qcifMPI_1_2048", FT_UINT32, BASE_DEC,
21001                 NULL, 0, "qcifMPI_1_2048 value", HFILL }},
21002         { &hf_h245_cifMPI_1_4,
21003                 { "cifMPI_1_4", "h245.cifMPI_1_4", FT_UINT32, BASE_DEC,
21004                 NULL, 0, "cifMPI_1_4 value", HFILL }},
21005         { &hf_h245_cifMPI_1_32,
21006                 { "cifMPI_1_32", "h245.cifMPI_1_32", FT_UINT32, BASE_DEC,
21007                 NULL, 0, "cifMPI_1_32 value", HFILL }},
21008         { &hf_h245_cifMPI_1_2048,
21009                 { "cifMPI_1_2048", "h245.cifMPI_1_2048", FT_UINT32, BASE_DEC,
21010                 NULL, 0, "cifMPI_1_2048 value", HFILL }},
21011         { &hf_h245_videoBitRate,
21012                 { "videoBitRate", "h245.videoBitRate", FT_UINT32, BASE_DEC,
21013                 NULL, 0, "videoBitRate value  (units 400 bit/s)", HFILL }},
21014         { &hf_h245_vbvBufferSize,
21015                 { "vbvBufferSize", "h245.vbvBufferSize", FT_UINT32, BASE_DEC,
21016                 NULL, 0, "vbvBufferSize value  (units 16384 bits)", HFILL }},
21017         { &hf_h245_samplesPerLine,
21018                 { "samplesPerLine", "h245.samplesPerLine", FT_UINT32, BASE_DEC,
21019                 NULL, 0, "samplesPerLine value", HFILL }},
21020         { &hf_h245_linesPerFrame,
21021                 { "linesPerFrame", "h245.linesPerFrame", FT_UINT32, BASE_DEC,
21022                 NULL, 0, "linesPerFrame value", HFILL }},
21023         { &hf_h245_framesPerSecond,
21024                 { "framesPerSecond", "h245.framesPerSecond", FT_UINT32, BASE_DEC,
21025                 NULL, 0, "framesPerSecond value", HFILL }},
21026         { &hf_h245_luminanceSampleRate,
21027                 { "luminanceSampleRate", "h245.luminanceSampleRate", FT_UINT32, BASE_DEC,
21028                 NULL, 0, "luminanceSampleRate value", HFILL }},
21029         { &hf_h245_sqcifMPI_1_32,
21030                 { "sqcifMPI_1_32", "h245.sqcifMPI_1_32", FT_UINT32, BASE_DEC,
21031                 NULL, 0, "sqcifMPI_1_32 value", HFILL }},
21032         { &hf_h245_sqcifMPI_1_2048,
21033                 { "sqcifMPI_1_2048", "h245.sqcifMPI_1_2048", FT_UINT32, BASE_DEC,
21034                 NULL, 0, "sqcifMPI_1_2048 value", HFILL }},
21035         { &hf_h245_cif4MPI_1_32,
21036                 { "cif4MPI_1_32", "h245.cif4MPI_1_32", FT_UINT32, BASE_DEC,
21037                 NULL, 0, "cif4MPI_1_32 value", HFILL }},
21038         { &hf_h245_cif4MPI_1_2048,
21039                 { "cif4MPI_1_2048", "h245.cif4MPI_1_2048", FT_UINT32, BASE_DEC,
21040                 NULL, 0, "cif4MPI_1_2048 value", HFILL }},
21041         { &hf_h245_cif16MPI_1_32,
21042                 { "cif16MPI_1_32", "h245.cif16MPI_1_32", FT_UINT32, BASE_DEC,
21043                 NULL, 0, "cif16MPI_1_32 value", HFILL }},
21044         { &hf_h245_cif16MPI_1_2048,
21045                 { "cif16MPI_1_2048", "h245.cif16MPI_1_2048", FT_UINT32, BASE_DEC,
21046                 NULL, 0, "cif16MPI_1_2048 value", HFILL }},
21047         { &hf_h245_maxBitRate_192400,
21048                 { "maxBitRate_192400", "h245.maxBitRate_192400", FT_UINT32, BASE_DEC,
21049                 NULL, 0, "maxBitRate_192400 value", HFILL }},
21050         { &hf_h245_hrd_B,
21051                 { "hrd_B", "h245.hrd_B", FT_UINT32, BASE_DEC,
21052                 NULL, 0, "hrd_B value", HFILL }},
21053         { &hf_h245_bppMaxKb,
21054                 { "bppMaxKb", "h245.bppMaxKb", FT_UINT32, BASE_DEC,
21055                 NULL, 0, "bppMaxKb value", HFILL }},
21056         { &hf_h245_slowSqcifMPI,
21057                 { "slowSqcifMPI", "h245.slowSqcifMPI", FT_UINT32, BASE_DEC,
21058                 NULL, 0, "slowSqcifMPI value", HFILL }},
21059         { &hf_h245_slowQcifMPI,
21060                 { "slowQcifMPI", "h245.slowQcifMPI", FT_UINT32, BASE_DEC,
21061                 NULL, 0, "slowQcifMPI value", HFILL }},
21062         { &hf_h245_slowCifMPI,
21063                 { "slowCifMPI", "h245.slowCifMPI", FT_UINT32, BASE_DEC,
21064                 NULL, 0, "slowCifMPI value", HFILL }},
21065         { &hf_h245_slowCif4MPI,
21066                 { "slowCif4MPI", "h245.slowCif4MPI", FT_UINT32, BASE_DEC,
21067                 NULL, 0, "slowCif4MPI value", HFILL }},
21068         { &hf_h245_slowCif16MPI,
21069                 { "slowCif16MPI", "h245.slowCif16MPI", FT_UINT32, BASE_DEC,
21070                 NULL, 0, "slowCif16MPI value", HFILL }},
21071         { &hf_h245_numberOfBPictures,
21072                 { "numberOfBPictures", "h245.numberOfBPictures", FT_UINT32, BASE_DEC,
21073                 NULL, 0, "numberOfBPictures value", HFILL }},
21074         { &hf_h245_presentationOrder,
21075                 { "presentationOrder", "h245.presentationOrder", FT_UINT32, BASE_DEC,
21076                 NULL, 0, "presentationOrder value", HFILL }},
21077         { &hf_h245_offset_x,
21078                 { "offset_x", "h245.offset_x", FT_UINT32, BASE_DEC,
21079                 NULL, 0, "offset_x value", HFILL }},
21080         { &hf_h245_offset_y,
21081                 { "offset_y", "h245.offset_y", FT_UINT32, BASE_DEC,
21082                 NULL, 0, "offset_y value", HFILL }},
21083         { &hf_h245_scale_x,
21084                 { "scale_x", "h245.scale_x", FT_UINT32, BASE_DEC,
21085                 NULL, 0, "scale_x value", HFILL }},
21086         { &hf_h245_scale_y,
21087                 { "scale_y", "h245.scale_y", FT_UINT32, BASE_DEC,
21088                 NULL, 0, "scale_y value", HFILL }},
21089         { &hf_h245_sqcifAdditionalPictureMemory,
21090                 { "sqcifAdditionalPictureMemory", "h245.sqcifAdditionalPictureMemory", FT_UINT32, BASE_DEC,
21091                 NULL, 0, "sqcifAdditionalPictureMemory value", HFILL }},
21092         { &hf_h245_qcifAdditionalPictureMemory,
21093                 { "qcifAdditionalPictureMemory", "h245.qcifAdditionalPictureMemory", FT_UINT32, BASE_DEC,
21094                 NULL, 0, "qcifAdditionalPictureMemory value", HFILL }},
21095         { &hf_h245_cifAdditionalPictureMemory,
21096                 { "cifAdditionalPictureMemory", "h245.cifAdditionalPictureMemory", FT_UINT32, BASE_DEC,
21097                 NULL, 0, "cifAdditionalPictureMemory value", HFILL }},
21098         { &hf_h245_cif4AdditionalPictureMemory,
21099                 { "cif4AdditionalPictureMemory", "h245.cif4AdditionalPictureMemory", FT_UINT32, BASE_DEC,
21100                 NULL, 0, "cif4AdditionalPictureMemory value", HFILL }},
21101         { &hf_h245_cif16AdditionalPictureMemory,
21102                 { "cif16AdditionalPictureMemory", "h245.cif16AdditionalPictureMemory", FT_UINT32, BASE_DEC,
21103                 NULL, 0, "cif16AdditionalPictureMemory value", HFILL }},
21104         { &hf_h245_bigCpfAdditionalPictureMemory,
21105                 { "bigCpfAdditionalPictureMemory", "h245.bigCpfAdditionalPictureMemory", FT_UINT32, BASE_DEC,
21106                 NULL, 0, "bigCpfAdditionalPictureMemory value", HFILL }},
21107         { &hf_h245_mpuHorizMBs,
21108                 { "mpuHorizMBs", "h245.mpuHorizMBs", FT_UINT32, BASE_DEC,
21109                 NULL, 0, "mpuHorizMBs value", HFILL }},
21110         { &hf_h245_mpuVertMBs,
21111                 { "mpuVertMBs", "h245.mpuVertMBs", FT_UINT32, BASE_DEC,
21112                 NULL, 0, "mpuVertMBs value", HFILL }},
21113         { &hf_h245_mpuTotalNumber,
21114                 { "mpuTotalNumber", "h245.mpuTotalNumber", FT_UINT32, BASE_DEC,
21115                 NULL, 0, "mpuTotalNumber value", HFILL }},
21116         { &hf_h245_clockConversionCode,
21117                 { "clockConversionCode", "h245.clockConversionCode", FT_UINT32, BASE_DEC,
21118                 NULL, 0, "clockConversionCode value", HFILL }},
21119         { &hf_h245_clockDivisor,
21120                 { "clockDivisor", "h245.clockDivisor", FT_UINT32, BASE_DEC,
21121                 NULL, 0, "clockDivisor value", HFILL }},
21122         { &hf_h245_maxCustomPictureWidth,
21123                 { "maxCustomPictureWidth", "h245.maxCustomPictureWidth", FT_UINT32, BASE_DEC,
21124                 NULL, 0, "maxCustomPictureWidth value", HFILL }},
21125         { &hf_h245_minCustomPictureWidth,
21126                 { "minCustomPictureWidth", "h245.minCustomPictureWidth", FT_UINT32, BASE_DEC,
21127                 NULL, 0, "minCustomPictureWidth value", HFILL }},
21128         { &hf_h245_minCustomPictureHeight,
21129                 { "minCustomPictureHeight", "h245.minCustomPictureHeight", FT_UINT32, BASE_DEC,
21130                 NULL, 0, "minCustomPictureHeight value", HFILL }},
21131         { &hf_h245_maxCustomPictureHeight,
21132                 { "maxCustomPictureHeight", "h245.maxCustomPictureHeight", FT_UINT32, BASE_DEC,
21133                 NULL, 0, "maxCustomPictureHeight value", HFILL }},
21134         { &hf_h245_standardMPI,
21135                 { "standardMPI", "h245.standardMPI", FT_UINT32, BASE_DEC,
21136                 NULL, 0, "standardMPI value", HFILL }},
21137         { &hf_h245_customMPI,
21138                 { "customMPI", "h245.customMPI", FT_UINT32, BASE_DEC,
21139                 NULL, 0, "customMPI value", HFILL }},
21140         { &hf_h245_width,
21141                 { "width", "h245.width", FT_UINT32, BASE_DEC,
21142                 NULL, 0, "width value", HFILL }},
21143         { &hf_h245_height,
21144                 { "height", "h245.height", FT_UINT32, BASE_DEC,
21145                 NULL, 0, "height value", HFILL }},
21146         { &hf_h245_pictureRate,
21147                 { "pictureRate", "h245.pictureRate", FT_UINT32, BASE_DEC,
21148                 NULL, 0, "pictureRate value", HFILL }},
21149         { &hf_h245_g711Alaw64k,
21150                 { "g711Alaw64k", "h245.g711Alaw64k", FT_UINT32, BASE_DEC,
21151                 NULL, 0, "g711Alaw64k value", HFILL }},
21152         { &hf_h245_g711Alaw56k,
21153                 { "g711Alaw56k", "h245.g711Alaw56k", FT_UINT32, BASE_DEC,
21154                 NULL, 0, "g711Alaw56k value", HFILL }},
21155         { &hf_h245_g711Ulaw64k,
21156                 { "g711Ulaw64k", "h245.g711Ulaw64k", FT_UINT32, BASE_DEC,
21157                 NULL, 0, "g711Ulaw64k value", HFILL }},
21158         { &hf_h245_g711Ulaw56k,
21159                 { "g711Ulaw56k", "h245.g711Ulaw56k", FT_UINT32, BASE_DEC,
21160                 NULL, 0, "g711Ulaw56k value", HFILL }},
21161         { &hf_h245_g722_64k,
21162                 { "g722_64k", "h245.g722_64k", FT_UINT32, BASE_DEC,
21163                 NULL, 0, "g722_64k value", HFILL }},
21164         { &hf_h245_g722_56k,
21165                 { "g722_56k", "h245.g722_56k", FT_UINT32, BASE_DEC,
21166                 NULL, 0, "g722_56k value", HFILL }},
21167         { &hf_h245_g722_48k,
21168                 { "g722_48k", "h245.g722_48k", FT_UINT32, BASE_DEC,
21169                 NULL, 0, "g722_48k value", HFILL }},
21170         { &hf_h245_maxAl_sduAudioFrames,
21171                 { "maxAl_sduAudioFrames", "h245.maxAl_sduAudioFrames", FT_UINT32, BASE_DEC,
21172                 NULL, 0, "maxAl_sduAudioFrames value", HFILL }},
21173         { &hf_h245_g728,
21174                 { "g728", "h245.g728", FT_UINT32, BASE_DEC,
21175                 NULL, 0, "g728 value", HFILL }},
21176         { &hf_h245_g729,
21177                 { "g729", "h245.g729", FT_UINT32, BASE_DEC,
21178                 NULL, 0, "g729 value", HFILL }},
21179         { &hf_h245_g729AnnexA,
21180                 { "g729AnnexA", "h245.g729AnnexA", FT_UINT32, BASE_DEC,
21181                 NULL, 0, "g729AnnexA value", HFILL }},
21182         { &hf_h245_g729wAnnexB,
21183                 { "g729wAnnexB", "h245.g729wAnnexB", FT_UINT32, BASE_DEC,
21184                 NULL, 0, "g729wAnnexB value", HFILL }},
21185         { &hf_h245_g729AnnexAwAnnexB,
21186                 { "g729AnnexAwAnnexB", "h245.g729AnnexAwAnnexB", FT_UINT32, BASE_DEC,
21187                 NULL, 0, "g729AnnexAwAnnexB value", HFILL }},
21188         { &hf_h245_audioUnit,
21189                 { "audioUnit", "h245.audioUnit", FT_UINT32, BASE_DEC,
21190                 NULL, 0, "audioUnit value", HFILL }},
21191         { &hf_h245_highRateMode0,
21192                 { "highRateMode0", "h245.highRateMode0", FT_UINT32, BASE_DEC,
21193                 NULL, 0, "highRateMode0 value", HFILL }},
21194         { &hf_h245_highRateMode1,
21195                 { "highRateMode1", "h245.highRateMode1", FT_UINT32, BASE_DEC,
21196                 NULL, 0, "highRateMode1 value", HFILL }},
21197         { &hf_h245_lowRateMode0,
21198                 { "lowRateMode0", "h245.lowRateMode0", FT_UINT32, BASE_DEC,
21199                 NULL, 0, "lowRateMode0 value", HFILL }},
21200         { &hf_h245_lowRateMode1,
21201                 { "lowRateMode1", "h245.lowRateMode1", FT_UINT32, BASE_DEC,
21202                 NULL, 0, "lowRateMode1 value", HFILL }},
21203         { &hf_h245_sidMode0,
21204                 { "sidMode0", "h245.sidMode0", FT_UINT32, BASE_DEC,
21205                 NULL, 0, "sidMode0 value", HFILL }},
21206         { &hf_h245_sidMode1,
21207                 { "sidMode1", "h245.sidMode1", FT_UINT32, BASE_DEC,
21208                 NULL, 0, "sidMode1 value", HFILL }},
21209         { &hf_h245_audioUnitSize,
21210                 { "audioUnitSize", "h245.audioUnitSize", FT_UINT32, BASE_DEC,
21211                 NULL, 0, "audioUnitSize value", HFILL }},
21212         { &hf_h245_maxBitRate_4294967295UL,
21213                 { "maxBitRate_4294967295UL", "h245.maxBitRate_4294967295UL", FT_UINT32, BASE_DEC,
21214                 NULL, 0, "maxBitRate value in units of 100bits/s", HFILL }},
21215         { &hf_h245_numberOfCodewords,
21216                 { "numberOfCodewords", "h245.numberOfCodewords", FT_UINT32, BASE_DEC,
21217                 NULL, 0, "numberOfCodewords value", HFILL }},
21218         { &hf_h245_maximumStringLength,
21219                 { "maximumStringLength", "h245.maximumStringLength", FT_UINT32, BASE_DEC,
21220                 NULL, 0, "maximumStringLength value", HFILL }},
21221         { &hf_h245_version,
21222                 { "version", "h245.version", FT_UINT32, BASE_DEC,
21223                 NULL, 0, "version value", HFILL }},
21224         { &hf_h245_standard_0_127,
21225                 { "standard_0_127", "h245.standard_0_127", FT_UINT32, BASE_DEC,
21226                 NULL, 0, "standard_0_127 value", HFILL }},
21227         { &hf_h245_booleanArray,
21228                 { "booleanArray", "h245.booleanArray", FT_UINT32, BASE_DEC,
21229                 NULL, 0, "booleanArray value", HFILL }},
21230         { &hf_h245_unsignedMin,
21231                 { "unsignedMin", "h245.unsignedMin", FT_UINT32, BASE_DEC,
21232                 NULL, 0, "unsignedMin value", HFILL }},
21233         { &hf_h245_unsignedMax,
21234                 { "unsignedMax", "h245.unsignedMax", FT_UINT32, BASE_DEC,
21235                 NULL, 0, "unsignedMax value", HFILL }},
21236         { &hf_h245_unsigned32Min,
21237                 { "unsigned32Min", "h245.unsigned32Min", FT_UINT32, BASE_DEC,
21238                 NULL, 0, "unsigned32Min value", HFILL }},
21239         { &hf_h245_unsigned32Max,
21240                 { "unsigned32Max", "h245.unsigned32Max", FT_UINT32, BASE_DEC,
21241                 NULL, 0, "unsigned32Max value", HFILL }},
21242         { &hf_h245_dynamicRTPPayloadType,
21243                 { "dynamicRTPPayloadType", "h245.dynamicRTPPayloadType", FT_UINT32, BASE_DEC,
21244                 NULL, 0, "dynamicRTPPayloadType value", HFILL }},
21245         { &hf_h245_portNumber,
21246                 { "portNumber", "h245.portNumber", FT_UINT32, BASE_DEC,
21247                 NULL, 0, "portNumber value", HFILL }},
21248         { &hf_h245_resourceID,
21249                 { "resourceID", "h245.resourceID", FT_UINT32, BASE_DEC,
21250                 NULL, 0, "resourceID value", HFILL }},
21251         { &hf_h245_subChannelID,
21252                 { "subChannelID", "h245.subChannelID", FT_UINT32, BASE_DEC,
21253                 NULL, 0, "subChannelID value", HFILL }},
21254         { &hf_h245_pcr_pid,
21255                 { "pcr_pid", "h245.pcr_pid", FT_UINT32, BASE_DEC,
21256                 NULL, 0, "pcr_pid value", HFILL }},
21257         { &hf_h245_controlFieldOctets,
21258                 { "controlFieldOctets", "h245.controlFieldOctets", FT_UINT32, BASE_DEC,
21259                 NULL, 0, "controlFieldOctets value", HFILL }},
21260         { &hf_h245_sendBufferSize,
21261                 { "sendBufferSize", "h245.sendBufferSize", FT_UINT32, BASE_DEC,
21262                 NULL, 0, "sendBufferSize value", HFILL }},
21263         { &hf_h245_rcpcCodeRate,
21264                 { "rcpcCodeRate", "h245.rcpcCodeRate", FT_UINT32, BASE_DEC,
21265                 NULL, 0, "rcpcCodeRate value", HFILL }},
21266         { &hf_h245_rsCodeCorrection,
21267                 { "rsCodeCorrection", "h245.rsCodeCorrection", FT_UINT32, BASE_DEC,
21268                 NULL, 0, "rsCodeCorrection value", HFILL }},
21269         { &hf_h245_finite_0_16,
21270                 { "finite_0_16", "h245.finite_0_16", FT_UINT32, BASE_DEC,
21271                 NULL, 0, "finite_0_16 value", HFILL }},
21272         { &hf_h245_windowSize,
21273                 { "windowSize", "h245.windowSize", FT_UINT32, BASE_DEC,
21274                 NULL, 0, "windowSize value", HFILL }},
21275         { &hf_h245_n401,
21276                 { "n401", "h245.n401", FT_UINT32, BASE_DEC,
21277                 NULL, 0, "n401 value", HFILL }},
21278         { &hf_h245_sessionID_0_255,
21279                 { "sessionID_0_255", "h245.sessionID_0_255", FT_UINT32, BASE_DEC,
21280                 NULL, 0, "sessionID_0_255 value", HFILL }},
21281         { &hf_h245_sessionID_1_255,
21282                 { "sessionID_1_255", "h245.sessionID_1_255", FT_UINT32, BASE_DEC,
21283                 NULL, 0, "sessionID_1_255 value", HFILL }},
21284         { &hf_h245_associatedSessionID,
21285                 { "associatedSessionID", "h245.associatedSessionID", FT_UINT32, BASE_DEC,
21286                 NULL, 0, "associatedSessionID value", HFILL }},
21287         { &hf_h245_payloadType,
21288                 { "payloadType", "h245.payloadType", FT_UINT32, BASE_DEC,
21289                 NULL, 0, "payloadType value", HFILL }},
21290         { &hf_h245_protectedSessionID,
21291                 { "protectedSessionID", "h245.protectedSessionID", FT_UINT32, BASE_DEC,
21292                 NULL, 0, "protectedSessionID value", HFILL }},
21293         { &hf_h245_protectedPayloadType,
21294                 { "protectedPayloadType", "h245.protectedPayloadType", FT_UINT32, BASE_DEC,
21295                 NULL, 0, "protectedPayloadType value", HFILL }},
21296         { &hf_h245_tsapIdentifier,
21297                 { "tsapIdentifier", "h245.tsapIdentifier", FT_UINT32, BASE_DEC,
21298                 NULL, 0, "tsapIdentifier value", HFILL }},
21299         { &hf_h245_synchFlag,
21300                 { "synchFlag", "h245.synchFlag", FT_UINT32, BASE_DEC,
21301                 NULL, 0, "synchFlag value", HFILL }},
21302         { &hf_h245_finite_1_65535,
21303                 { "finite_1_65535", "h245.finite_1_65535", FT_UINT32, BASE_DEC,
21304                 NULL, 0, "finite_1_65535 value", HFILL }},
21305         { &hf_h245_MultiplexTableEntryNumber,
21306                 { "MultiplexTableEntryNumber", "h245.MultiplexTableEntryNumber", FT_UINT32, BASE_DEC,
21307                 NULL, 0, "MultiplexTableEntryNumber value", HFILL }},
21308         { &hf_h245_dataModeBitRate,
21309                 { "dataModeBitRate", "h245.dataModeBitRate", FT_UINT32, BASE_DEC,
21310                 NULL, 0, "dataModeBitRate value", HFILL }},
21311         { &hf_h245_sessionDependency,
21312                 { "sessionDependency", "h245.sessionDependency", FT_UINT32, BASE_DEC,
21313                 NULL, 0, "sessionDependency value", HFILL }},
21314         { &hf_h245_sRandom,
21315                 { "sRandom", "h245.sRandom", FT_UINT32, BASE_DEC,
21316                 NULL, 0, "sRandom value", HFILL }},
21317         { &hf_h245_McuNumber,
21318                 { "McuNumber", "h245.McuNumber", FT_UINT32, BASE_DEC,
21319                 NULL, 0, "McuNumber value", HFILL }},
21320         { &hf_h245_TerminalNumber,
21321                 { "TerminalNumber", "h245.TerminalNumber", FT_UINT32, BASE_DEC,
21322                 NULL, 0, "TerminalNumber value", HFILL }},
21323         { &hf_h245_maxNumberOfAdditionalConnections,
21324                 { "maxNumberOfAdditionalConnections", "h245.maxNumberOfAdditionalConnections", FT_UINT32, BASE_DEC,
21325                 NULL, 0, "maxNumberOfAdditionalConnections value", HFILL }},
21326         { &hf_h245_requestedInterval,
21327                 { "requestedInterval", "h245.requestedInterval", FT_UINT32, BASE_DEC,
21328                 NULL, 0, "requestedInterval value", HFILL }},
21329         { &hf_h245_callAssociationNumber,
21330                 { "callAssociationNumber", "h245.callAssociationNumber", FT_UINT32, BASE_DEC,
21331                 NULL, 0, "callAssociationNumber value", HFILL }},
21332         { &hf_h245_currentInterval,
21333                 { "currentInterval", "h245.currentInterval", FT_UINT32, BASE_DEC,
21334                 NULL, 0, "currentInterval value", HFILL }},
21335         { &hf_h245_infoNotAvailable,
21336                 { "infoNotAvailable", "h245.infoNotAvailable", FT_UINT32, BASE_DEC,
21337                 NULL, 0, "infoNotAvailable value", HFILL }},
21338         { &hf_h245_channelTag,
21339                 { "channelTag", "h245.channelTag", FT_UINT32, BASE_DEC,
21340                 NULL, 0, "channelTag value", HFILL }},
21341         { &hf_h245_ConnectionIDsequenceNumber,
21342                 { "ConnectionIDsequenceNumber", "h245.ConnectionIDsequenceNumber", FT_UINT32, BASE_DEC,
21343                 NULL, 0, "ConnectionIDsequenceNumber value", HFILL }},
21344         { &hf_h245_MaximumBitRate,
21345                 { "MaximumBitRate", "h245.MaximumBitRate", FT_UINT32, BASE_DEC,
21346                 NULL, 0, "MaximumBitRate value", HFILL }},
21347         { &hf_h245_maximumBitRate_0_16777215,
21348                 { "maximumBitRate_0_16777215", "h245.maximumBitRate_0_16777215", FT_UINT32, BASE_DEC,
21349                 NULL, 0, "maximumBitRate_0_16777215 value", HFILL }},
21350         { &hf_h245_firstGOB_0_17,
21351                 { "firstGOB_0_17", "h245.firstGOB_0_17", FT_UINT32, BASE_DEC,
21352                 NULL, 0, "firstGOB_0_17 value", HFILL }},
21353         { &hf_h245_numberOfGOBs,
21354                 { "numberOfGOBs", "h245.numberOfGOBs", FT_UINT32, BASE_DEC,
21355                 NULL, 0, "numberOfGOBs value", HFILL }},
21356         { &hf_h245_videoTemporalSpatialTradeOff,
21357                 { "videoTemporalSpatialTradeOff", "h245.videoTemporalSpatialTradeOff", FT_UINT32, BASE_DEC,
21358                 NULL, 0, "videoTemporalSpatialTradeOff value", HFILL }},
21359         { &hf_h245_firstGOB_0_255,
21360                 { "firstGOB_0_255", "h245.firstGOB_0_255", FT_UINT32, BASE_DEC,
21361                 NULL, 0, "firstGOB_0_255 value", HFILL }},
21362         { &hf_h245_firstMB_1_8192,
21363                 { "firstMB_1_8192", "h245.firstMB_1_8192", FT_UINT32, BASE_DEC,
21364                 NULL, 0, "firstMB_1_8192 value", HFILL }},
21365         { &hf_h245_firstMB_1_9216,
21366                 { "firstMB_1_9216", "h245.firstMB_1_9216", FT_UINT32, BASE_DEC,
21367                 NULL, 0, "firstMB_1_9216 value", HFILL }},
21368         { &hf_h245_numberOfMBs_1_8192,
21369                 { "numberOfMBs_1_8192", "h245.numberOfMBs_1_8192", FT_UINT32, BASE_DEC,
21370                 NULL, 0, "numberOfMBs_1_8192 value", HFILL }},
21371         { &hf_h245_numberOfMBs_1_9216,
21372                 { "numberOfMBs_1_9216", "h245.numberOfMBs_1_9216", FT_UINT32, BASE_DEC,
21373                 NULL, 0, "numberOfMBs_1_9216 value", HFILL }},
21374         { &hf_h245_maxH223MUXPDUsize,
21375                 { "maxH223MUXPDUsize", "h245.maxH223MUXPDUsize", FT_UINT32, BASE_DEC,
21376                 NULL, 0, "maxH223MUXPDUsize value", HFILL }},
21377         { &hf_h245_temporalReference_0_1023,
21378                 { "temporalReference_0_1023", "h245.temporalReference_0_1023", FT_UINT32, BASE_DEC,
21379                 NULL, 0, "temporalReference_0_1023 value", HFILL }},
21380         { &hf_h245_temporalReference_0_255,
21381                 { "temporalReference_0_255", "h245.temporalReference_0_255", FT_UINT32, BASE_DEC,
21382                 NULL, 0, "temporalReference_0_255 value", HFILL }},
21383         { &hf_h245_pictureNumber,
21384                 { "pictureNumber", "h245.pictureNumber", FT_UINT32, BASE_DEC,
21385                 NULL, 0, "pictureNumber value", HFILL }},
21386         { &hf_h245_longTermPictureIndex,
21387                 { "longTermPictureIndex", "h245.longTermPictureIndex", FT_UINT32, BASE_DEC,
21388                 NULL, 0, "longTermPictureIndex value", HFILL }},
21389         { &hf_h245_sampleSize,
21390                 { "sampleSize", "h245.sampleSize", FT_UINT32, BASE_DEC,
21391                 NULL, 0, "sampleSize value", HFILL }},
21392         { &hf_h245_samplesPerFrame,
21393                 { "samplesPerFrame", "h245.samplesPerFrame", FT_UINT32, BASE_DEC,
21394                 NULL, 0, "samplesPerFrame value", HFILL }},
21395         { &hf_h245_sbeNumber,
21396                 { "sbeNumber", "h245.sbeNumber", FT_UINT32, BASE_DEC,
21397                 NULL, 0, "sbeNumber value", HFILL }},
21398         { &hf_h245_subPictureNumber,
21399                 { "subPictureNumber", "h245.subPictureNumber", FT_UINT32, BASE_DEC,
21400                 NULL, 0, "subPictureNumber value", HFILL }},
21401         { &hf_h245_compositionNumber,
21402                 { "compositionNumber", "h245.compositionNumber", FT_UINT32, BASE_DEC,
21403                 NULL, 0, "compositionNumber value", HFILL }},
21404         { &hf_h245_estimatedReceivedJitterMantissa,
21405                 { "estimatedReceivedJitterMantissa", "h245.estimatedReceivedJitterMantissa", FT_UINT32, BASE_DEC,
21406                 NULL, 0, "estimatedReceivedJitterMantissa value", HFILL }},
21407         { &hf_h245_estimatedReceivedJitterExponent,
21408                 { "estimatedReceivedJitterExponent", "h245.estimatedReceivedJitterExponent", FT_UINT32, BASE_DEC,
21409                 NULL, 0, "estimatedReceivedJitterExponent value", HFILL }},
21410         { &hf_h245_skippedFrameCount,
21411                 { "skippedFrameCount", "h245.skippedFrameCount", FT_UINT32, BASE_DEC,
21412                 NULL, 0, "skippedFrameCount value", HFILL }},
21413         { &hf_h245_additionalDecoderBuffer,
21414                 { "additionalDecoderBuffer", "h245.additionalDecoderBuffer", FT_UINT32, BASE_DEC,
21415                 NULL, 0, "additionalDecoderBuffer value", HFILL }},
21416         { &hf_h245_skew,
21417                 { "skew", "h245.skew", FT_UINT32, BASE_DEC,
21418                 NULL, 0, "skew value", HFILL }},
21419         { &hf_h245_maximumSkew,
21420                 { "maximumSkew", "h245.maximumSkew", FT_UINT32, BASE_DEC,
21421                 NULL, 0, "maximumSkew value", HFILL }},
21422         { &hf_h245_duration,
21423                 { "duration", "h245.duration", FT_UINT32, BASE_DEC,
21424                 NULL, 0, "duration value", HFILL }},
21425         { &hf_h245_timestamp,
21426                 { "timestamp", "h245.timestamp", FT_UINT32, BASE_DEC,
21427                 NULL, 0, "timestamp value", HFILL }},
21428         { &hf_h245_frame,
21429                 { "frame", "h245.frame", FT_UINT32, BASE_DEC,
21430                 NULL, 0, "frame", HFILL }},
21431         { &hf_h245_containedThread,
21432                 { "containedThread", "h245.containedThread", FT_UINT32, BASE_DEC,
21433                 NULL, 0, "containedThread value", HFILL }},
21434         { &hf_h245_t38FaxMaxDatagram,
21435                 { "t38FaxMaxDatagram", "h245.t38FaxMaxDatagram", FT_INT32, BASE_DEC,
21436                 NULL, 0, "t38FaxMaxDatagram value", HFILL }},
21437         { &hf_h245_t38FaxMaxBuffer,
21438                 { "t38FaxMaxBuffer", "h245.t38FaxMaxBuffer", FT_INT32, BASE_DEC,
21439                 NULL, 0, "t38FaxMaxBuffer value", HFILL }},
21440         { &hf_h245_expirationTime,
21441                 { "expirationTime", "h245.expirationTime", FT_UINT32, BASE_DEC,
21442                 NULL, 0, "expirationTime value", HFILL }},
21443         { &hf_h245_rfc_number,
21444                 { "RFC", "h245.rfc_number", FT_UINT32, BASE_DEC,
21445                 NULL, 0, "Number of the RFC where this can be found", HFILL }},
21446         { &hf_h245_object,
21447                 { "Object", "h245.object", FT_STRING, BASE_NONE,
21448                 NULL, 0, "Object Identifier", HFILL }},
21449         { &hf_h245_protocolIdentifier,
21450                 { "protocolIdentifier", "h245.protocolIdentifier", FT_STRING, BASE_NONE,
21451                 NULL, 0, "protocolIdentifier object", HFILL }},
21452         { &hf_h245_algorithm,
21453                 { "algorithm", "h245.algorithm", FT_STRING, BASE_NONE,
21454                 NULL, 0, "algorithm object", HFILL }},
21455         { &hf_h245_antiSpamAlgorithm,
21456                 { "antiSpamAlgorithm", "h245.antiSpamAlgorithm", FT_STRING, BASE_NONE,
21457                 NULL, 0, "antiSpamAlgorithm object", HFILL }},
21458         { &hf_h245_standard_object,
21459                 { "standard_object", "h245.standard_object", FT_STRING, BASE_NONE,
21460                 NULL, 0, "standard_object object", HFILL }},
21461         { &hf_h245_oid,
21462                 { "oid", "h245.oid", FT_STRING, BASE_NONE,
21463                 NULL, 0, "oid object", HFILL }},
21464         { &hf_h245_escrowID,
21465                 { "escrowID", "h245.escrowID", FT_STRING, BASE_NONE,
21466                 NULL, 0, "escrowID object", HFILL }},
21467         { &hf_h245_field,
21468                 { "field", "h245.field", FT_STRING, BASE_NONE,
21469                 NULL, 0, "field object", HFILL }},
21470         { &hf_h245_NonStandardParameterData,
21471                 { "data", "h245.NonStandardParameterData", FT_BYTES, BASE_HEX,
21472                 NULL, 0, "NonStandardParameterData", HFILL }},
21473         { &hf_h245_nlpidData,
21474                 { "nlpidData", "h245.nlpidData", FT_BYTES, BASE_HEX,
21475                 NULL, 0, "nlpidData octet string", HFILL }},
21476         { &hf_h245_nonCollapsingRaw,
21477                 { "nonCollapsingRaw", "h245.nonCollapsingRaw", FT_BYTES, BASE_HEX,
21478                 NULL, 0, "nonCollapsingRaw octet string", HFILL }},
21479         { &hf_h245_uuid,
21480                 { "uuid", "h245.uuid", FT_BYTES, BASE_HEX,
21481                 NULL, 0, "uuid octet string", HFILL }},
21482         { &hf_h245_octetString,
21483                 { "octetString", "h245.octetString", FT_BYTES, BASE_HEX,
21484                 NULL, 0, "octetString octet string", HFILL }},
21485         { &hf_h245_externalReference,
21486                 { "externalReference", "h245.externalReference", FT_BYTES, BASE_HEX,
21487                 NULL, 0, "externalReference octet string", HFILL }},
21488         { &hf_h245_nsapAddress,
21489                 { "nsapAddress", "h245.nsapAddress", FT_BYTES, BASE_HEX,
21490                 NULL, 0, "nsapAddress octet string", HFILL }},
21491         { &hf_h245_subaddress_1_20,
21492                 { "subaddress_1_20", "h245.subaddress_1_20", FT_BYTES, BASE_HEX,
21493                 NULL, 0, "subaddress_1_20 octet string", HFILL }},
21494         { &hf_h245_programDescriptors,
21495                 { "programDescriptors", "h245.programDescriptors", FT_BYTES, BASE_HEX,
21496                 NULL, 0, "programDescriptors octet string", HFILL }},
21497         { &hf_h245_streamDescriptors,
21498                 { "streamDescriptors", "h245.streamDescriptors", FT_BYTES, BASE_HEX,
21499                 NULL, 0, "streamDescriptors octet string", HFILL }},
21500         { &hf_h245_ipv4network,
21501                 { "ipv4network", "h245.ipv4network", FT_IPv4, BASE_NONE,
21502                 NULL, 0, "IPv4 Address", HFILL }},
21503         { &hf_h245_ipxNode,
21504                 { "ipxNode", "h245.ipxNode", FT_BYTES, BASE_HEX,
21505                 NULL, 0, "ipxNode octet string", HFILL }},
21506         { &hf_h245_ipxNetnum,
21507                 { "ipxNetnum", "h245.ipxNetnum", FT_BYTES, BASE_HEX,
21508                 NULL, 0, "ipxNetnum octet string", HFILL }},
21509         { &hf_h245_ipv6network,
21510                 { "ipv6network", "h245.ipv6network", FT_BYTES, BASE_HEX,
21511                 NULL, 0, "ipv6network octet string", HFILL }},
21512         { &hf_h245_netBios,
21513                 { "netBios", "h245.netBios", FT_BYTES, BASE_HEX,
21514                 NULL, 0, "netBios octet string", HFILL }},
21515         { &hf_h245_nsap,
21516                 { "nsap", "h245.nsap", FT_BYTES, BASE_HEX,
21517                 NULL, 0, "nsap octet string", HFILL }},
21518         { &hf_h245_h235Key,
21519                 { "h235Key", "h245.h235Key", FT_BYTES, BASE_HEX,
21520                 NULL, 0, "h235Key octet string", HFILL }},
21521         { &hf_h245_value,
21522                 { "value", "h245.value", FT_BYTES, BASE_HEX,
21523                 NULL, 0, "value octet string", HFILL }},
21524         { &hf_h245_certificateResponse,
21525                 { "certificateResponse", "h245.certificateResponse", FT_BYTES, BASE_HEX,
21526                 NULL, 0, "certificateResponse octet string", HFILL }},
21527         { &hf_h245_TerminalID,
21528                 { "TerminalID", "h245.TerminalID", FT_BYTES, BASE_HEX,
21529                 NULL, 0, "TerminalID octet string", HFILL }},
21530         { &hf_h245_ConferenceID,
21531                 { "ConferenceID", "h245.ConferenceID", FT_BYTES, BASE_HEX,
21532                 NULL, 0, "ConferenceID octet string", HFILL }},
21533         { &hf_h245_Password,
21534                 { "Password", "h245.Password", FT_BYTES, BASE_HEX,
21535                 NULL, 0, "Password octet string", HFILL }},
21536         { &hf_h245_encryptionSE,
21537                 { "encryptionSE", "h245.encryptionSE", FT_BYTES, BASE_HEX,
21538                 NULL, 0, "encryptionSE octet string", HFILL }},
21539         { &hf_h245_conferenceIdentifier,
21540                 { "conferenceIdentifier", "h245.conferenceIdentifier", FT_BYTES, BASE_HEX,
21541                 NULL, 0, "conferenceIdentifier octet string", HFILL }},
21542         { &hf_h245_returnedFunction,
21543                 { "returnedFunction", "h245.returnedFunction", FT_BYTES, BASE_HEX,
21544                 NULL, 0, "returnedFunction octet string", HFILL }},
21545         { &hf_h245_productNumber,
21546                 { "productNumber", "h245.productNumber", FT_BYTES, BASE_HEX,
21547                 NULL, 0, "productNumber octet string", HFILL }},
21548         { &hf_h245_versionNumber,
21549                 { "versionNumber", "h245.versionNumber", FT_BYTES, BASE_HEX,
21550                 NULL, 0, "versionNumber octet string", HFILL }},
21551         { &hf_h245_mediaDistributionCapability,
21552                 { "mediaDistributionCapability", "h245.mediaDistributionCapability_sequence_of", FT_NONE, BASE_NONE,
21553                 NULL, 0 , "mediaDistributionCapability sequence of", HFILL }},
21554         { &hf_h245_AlternativeCapabilitySet,
21555                 { "AlternativeCapabilitySet", "h245.AlternativeCapabilitySet", FT_NONE, BASE_NONE,
21556                 NULL, 0 , "AlternativeCapabilitySet sequence of", HFILL }},
21557         { &hf_h245_CapabilityTableEntryNumber_sequence_of,
21558                 { "CapabilityTableEntryNumber_sequence_of", "h245.CapabilityTableEntryNumber_sequence_of", FT_NONE, BASE_NONE,
21559                 NULL, 0 , "CapabilityTableEntryNumber_sequence_of sequence of", HFILL }},
21560         { &hf_h245_frameToThreadMapping_custom,
21561                 { "frameToThreadMapping_custom", "h245.frameToThreadMapping_custom", FT_NONE, BASE_NONE,
21562                 NULL, 0 , "frameToThreadMapping_custom sequence of", HFILL }},
21563         { &hf_h245_RedundancyEncodingCapability_sequence_of,
21564                 { "RedundancyEncodingCapability_sequence_of", "h245.RedundancyEncodingCapability_sequence_of", FT_NONE, BASE_NONE,
21565                 NULL, 0 , "RedundancyEncodingCapability_sequence_of sequence of", HFILL }},
21566         { &hf_h245_frameSequence,
21567                 { "frameSequence", "h245.frameSequence", FT_NONE, BASE_NONE,
21568                 NULL, 0 , "sequence of frames", HFILL }},
21569         { &hf_h245_escrowentry,
21570                 { "escrowentry", "h245.escrowentry", FT_NONE, BASE_NONE,
21571                 NULL, 0 , "escrowentry sequence of", HFILL }},
21572         { &hf_h245_elementList,
21573                 { "elementList", "h245.elementList", FT_NONE, BASE_NONE,
21574                 NULL, 0 , "elementList sequence of", HFILL }},
21575         { &hf_h245_subElementList,
21576                 { "subElementList", "h245.subElementList", FT_NONE, BASE_NONE,
21577                 NULL, 0 , "subElementList sequence of", HFILL }},
21578         { &hf_h245_requestedModes,
21579                 { "requestedModes", "h245.requestedModes", FT_NONE, BASE_NONE,
21580                 NULL, 0 , "requestedModes sequence of", HFILL }},
21581         { &hf_h245_CertSelectionCriteria,
21582                 { "CertSelectionCriteria", "h245.CertSelectionCriteria", FT_NONE, BASE_NONE,
21583                 NULL, 0 , "CertSelectionCriteria sequence of", HFILL }},
21584         { &hf_h245_capabilityTable,
21585                 { "capabilityTable", "h245.capabilityTable", FT_NONE, BASE_NONE,
21586                 NULL, 0, "capabilityTable set of", HFILL }},
21587         { &hf_h245_capabilityDescriptors,
21588                 { "capabilityDescriptors", "h245.capabilityDescriptors", FT_NONE, BASE_NONE,
21589                 NULL, 0, "capabilityDescriptors set of", HFILL }},
21590         { &hf_h245_simultaneousCapabilities,
21591                 { "simultaneousCapabilities", "h245.simultaneousCapabilities", FT_NONE, BASE_NONE,
21592                 NULL, 0, "simultaneousCapabilities set of", HFILL }},
21593         { &hf_h245_gatewayAddress,
21594                 { "gatewayAddress", "h245.gatewayAddress", FT_NONE, BASE_NONE,
21595                 NULL, 0, "gatewayAddress set of", HFILL }},
21596         { &hf_h245_snrEnhancement,
21597                 { "snrEnhancement", "h245.snrEnhancement", FT_NONE, BASE_NONE,
21598                 NULL, 0, "snrEnhancement set of", HFILL }},
21599         { &hf_h245_spatialEnhancement,
21600                 { "spatialEnhancement", "h245.spatialEnhancement", FT_NONE, BASE_NONE,
21601                 NULL, 0, "spatialEnhancement set of", HFILL }},
21602         { &hf_h245_bPictureEnhancement,
21603                 { "bPictureEnhancement", "h245.bPictureEnhancement", FT_NONE, BASE_NONE,
21604                 NULL, 0, "bPictureEnhancement set of", HFILL }},
21605         { &hf_h245_customPictureClockFrequency,
21606                 { "customPictureClockFrequency", "h245.customPictureClockFrequency", FT_NONE, BASE_NONE,
21607                 NULL, 0, "customPictureClockFrequency set of", HFILL }},
21608         { &hf_h245_customPictureFormat,
21609                 { "customPictureFormat", "h245.customPictureFormat", FT_NONE, BASE_NONE,
21610                 NULL, 0, "customPictureFormat set of", HFILL }},
21611         { &hf_h245_modeCombos,
21612                 { "modeCombos", "h245.modeCombos", FT_NONE, BASE_NONE,
21613                 NULL, 0, "modeCombos set of", HFILL }},
21614         { &hf_h245_customPCF,
21615                 { "customPCF", "h245.customPCF", FT_NONE, BASE_NONE,
21616                 NULL, 0, "customPCF set of", HFILL }},
21617         { &hf_h245_pixelAspectCode,
21618                 { "pixelAspectCode", "h245.pixelAspectCode", FT_NONE, BASE_NONE,
21619                 NULL, 0, "pixelAspectCode set of", HFILL }},
21620         { &hf_h245_extendedPAR,
21621                 { "extendedPAR", "h245.extendedPAR", FT_NONE, BASE_NONE,
21622                 NULL, 0, "extendedPAR set of", HFILL }},
21623         { &hf_h245_h263VideoCoupledModes,
21624                 { "h263VideoCoupledModes", "h245.h263VideoCoupledModes", FT_NONE, BASE_NONE,
21625                 NULL, 0, "h263VideoCoupledModes set of", HFILL }},
21626         { &hf_h245_capabilityOnMuxStream,
21627                 { "capabilityOnMuxStream", "h245.capabilityOnMuxStream", FT_NONE, BASE_NONE,
21628                 NULL, 0, "capabilityOnMuxStream set of", HFILL }},
21629         { &hf_h245_capabilities,
21630                 { "capabilities", "h245.capabilities", FT_NONE, BASE_NONE,
21631                 NULL, 0, "capabilities set of", HFILL }},
21632         { &hf_h245_multiplexEntryDescriptors,
21633                 { "multiplexEntryDescriptors", "h245.multiplexEntryDescriptors", FT_NONE, BASE_NONE,
21634                 NULL, 0, "multiplexEntryDescriptors set of", HFILL }},
21635         { &hf_h245_multiplexTableEntryNumber_set_of,
21636                 { "multiplexTableEntryNumber_set_of", "h245.multiplexTableEntryNumber_set_of", FT_NONE, BASE_NONE,
21637                 NULL, 0, "multiplexTableEntryNumber_set_of set of", HFILL }},
21638         { &hf_h245_VCCapability_set_of,
21639                 { "VCCapability_set_of", "h245.VCCapability_set_of", FT_NONE, BASE_NONE,
21640                 NULL, 0, "VCCapability_set_of set of", HFILL }},
21641         { &hf_h245_rejectionDescriptions,
21642                 { "rejectionDescriptions", "h245.rejectionDescriptions", FT_NONE, BASE_NONE,
21643                 NULL, 0, "rejectionDescriptions set of", HFILL }},
21644         { &hf_h245_entryNumbers,
21645                 { "entryNumbers", "h245.entryNumbers", FT_NONE, BASE_NONE,
21646                 NULL, 0, "entryNumbers set of", HFILL }},
21647         { &hf_h245_ModeDescription,
21648                 { "ModeDescription", "h245.ModeDescription", FT_NONE, BASE_NONE,
21649                 NULL, 0, "ModeDescription set of", HFILL }},
21650         { &hf_h245_communicationModeTable,
21651                 { "communicationModeTable", "h245.communicationModeTable", FT_NONE, BASE_NONE,
21652                 NULL, 0, "communicationModeTable set of", HFILL }},
21653         { &hf_h245_terminalListResponse,
21654                 { "terminalListResponse", "h245.terminalListResponse", FT_NONE, BASE_NONE,
21655                 NULL, 0, "terminalListResponse set of", HFILL }},
21656         { &hf_h245_differential,
21657                 { "differential", "h245.differential", FT_NONE, BASE_NONE,
21658                 NULL, 0, "differential set of", HFILL }},
21659         { &hf_h245_networkType,
21660                 { "networkType", "h245.networkType", FT_NONE, BASE_NONE,
21661                 NULL, 0, "networkType set of", HFILL }},
21662         { &hf_h245_capabilityTableEntryNumbers,
21663                 { "capabilityTableEntryNumbers", "h245.capabilityTableEntryNumbers", FT_NONE, BASE_NONE,
21664                 NULL, 0, "capabilityTableEntryNumbers set of", HFILL }},
21665         { &hf_h245_capabilityDescriptorNumbers,
21666                 { "capabilityDescriptorNumbers", "h245.capabilityDescriptorNumbers", FT_NONE, BASE_NONE,
21667                 NULL, 0, "capabilityDescriptorNumbers set of", HFILL }},
21668         { &hf_h245_qOSCapabilities,
21669                 { "qOSCapabilities", "h245.qOSCapabilities", FT_NONE, BASE_NONE,
21670                 NULL, 0 , "qOSCapabilities sequence of", HFILL }},
21671         { &hf_h245_EncryptionCapability,
21672                 { "EncryptionCapability", "h245.EncryptionCapability", FT_NONE, BASE_NONE,
21673                 NULL, 0 , "EncryptionCapability sequence of", HFILL }},
21674         { &hf_h245_containedThreads,
21675                 { "containedThreads", "h245.containedThreads", FT_NONE, BASE_NONE,
21676                 NULL, 0 , "containedThreads sequence of", HFILL }},
21677         { &hf_h245_mediaChannelCapabilities,
21678                 { "mediaChannelCapabilities", "h245.mediaChannelCapabilities", FT_NONE, BASE_NONE,
21679                 NULL, 0 , "mediaChannelCapabilities sequence of", HFILL }},
21680         { &hf_h245_rtpPayloadType_sequence_of,
21681                 { "rtpPayloadType_sequence_of", "h245.rtpPayloadType_sequence_of", FT_NONE, BASE_NONE,
21682                 NULL, 0 , "rtpPayloadType sequence of", HFILL }},
21683         { &hf_h245_centralizedData,
21684                 { "centralizedData", "h245.centralizedData_sequence_of", FT_NONE, BASE_NONE,
21685                 NULL, 0 , "centralizedData sequence of", HFILL }},
21686         { &hf_h245_distributedData,
21687                 { "distributedData", "h245.distributedData_sequence_of", FT_NONE, BASE_NONE,
21688                 NULL, 0 , "distributedData sequence of", HFILL }},
21689         { &hf_h245_nonStandardData,
21690                 { "nonStandardData", "h245.nonStandardData_sequence_of", FT_NONE, BASE_NONE,
21691                 NULL, 0 , "nonStandardData sequence of", HFILL }},
21692         { &hf_h245_collapsing,
21693                 { "collapsing", "h245.collapsing_sequence_of", FT_NONE, BASE_NONE,
21694                 NULL, 0 , "collapsing sequence of", HFILL }},
21695         { &hf_h245_nonCollapsing,
21696                 { "nonCollapsing", "h245.nonCollapsing_sequence_of", FT_NONE, BASE_NONE,
21697                 NULL, 0 , "nonCollapsing sequence of", HFILL }},
21698         { &hf_h245_supersedes,
21699                 { "supersedes", "h245.supersedes_sequence_of", FT_NONE, BASE_NONE,
21700                 NULL, 0 , "supersedes sequence of", HFILL }},
21701         { &hf_h245_genericParameter,
21702                 { "genericParameter", "h245.genericParameter_sequence_of", FT_NONE, BASE_NONE,
21703                 NULL, 0 , "genericParameter sequence of", HFILL }},
21704         { &hf_h245_secondary_REE,
21705                 { "secondary_REE", "h245.secondary_REE_sequence_of", FT_NONE, BASE_NONE,
21706                 NULL, 0 , "secondary_REE sequence of", HFILL }},
21707         { &hf_h245_elements_MPSE,
21708                 { "elements_MPSE", "h245.elements_MPSE_sequence_of", FT_NONE, BASE_NONE,
21709                 NULL, 0 , "elements_MPSE sequence of", HFILL }},
21710         { &hf_h245_secondary_REDTME,
21711                 { "secondary_REDTME", "h245.secondary_REDTME_sequence_of", FT_NONE, BASE_NONE,
21712                 NULL, 0 , "secondary_REDTME sequence of", HFILL }},
21713         { &hf_h245_elements_MPSEM,
21714                 { "elements_MPSEM", "h245.elements_MPSEM_sequence_of", FT_NONE, BASE_NONE,
21715                 NULL, 0 , "elements_MPSEM sequence of", HFILL }},
21716         { &hf_h245_TerminalInformationSO,
21717                 { "TerminalInformationSO", "h245.TerminalInformationSO_sequence_of", FT_NONE, BASE_NONE,
21718                 NULL, 0 , "TerminalInformationSO sequence of", HFILL }},
21719         { &hf_h245_lostPicture,
21720                 { "lostPicture", "h245.lostPicture_sequence_of", FT_NONE, BASE_NONE,
21721                 NULL, 0 , "lostPicture sequence of", HFILL }},
21722         { &hf_h245_recoveryReferencePicture,
21723                 { "recoveryReferencePicture", "h245.recoveryReferencePicture_sequence_of", FT_NONE, BASE_NONE,
21724                 NULL, 0 , "recoveryReferencePicture sequence of", HFILL }},
21725         { &hf_h245_iPSourceRouteAddress_route,
21726                 { "iPSourceRouteAddress_route", "h245.iPSourceRouteAddress_route", FT_NONE, BASE_NONE,
21727                 NULL, 0, "iPSourceRouteAddress_route sequence of", HFILL }},
21728         { &hf_h245_audioTelephoneEvent,
21729                 { "audioTelephoneEvent", "h245.audioTelephoneEvent", FT_STRING, FT_NONE,
21730                 NULL, 0, "audioTelephoneEvent string", HFILL }},
21731         { &hf_h245_alphanumeric,
21732                 { "alphanumeric", "h245.alphanumeric", FT_STRING, FT_NONE,
21733                 NULL, 0, "alphanumeric string", HFILL }},
21734         { &hf_h245_domainBased,
21735                 { "domainBased", "h245.domainBased", FT_STRING, FT_NONE,
21736                 NULL, 0, "String for domainBased", HFILL }},
21737         { &hf_h245_subAddress,
21738                 { "subAddress", "h245.subAddress", FT_STRING, FT_NONE,
21739                 NULL, 0, "String for subAddress", HFILL }},
21740         { &hf_h245_e164Address,
21741                 { "e164Address", "h245.e164Address", FT_STRING, FT_NONE,
21742                 NULL, 0, "String for e164Address", HFILL }},
21743         { &hf_h245_signalType,
21744                 { "signalType", "h245.signalType", FT_STRING, FT_NONE,
21745                 NULL, 0, "String for signalType", HFILL }},
21746         { &hf_h245_DialingInformationNumber_networkAddress,
21747                 { "networkAddress", "h245.DialingInformationNumber_networkAddress", FT_STRING, FT_NONE,
21748                 NULL, 0, "String for DialingInformationNumber_networkAddress", HFILL }},
21749         { &hf_h245_internationalNumber,
21750                 { "internationalNumber", "h245.internationalNumber", FT_STRING, FT_NONE,
21751                 NULL, 0, "String for internationalNumber", HFILL }},
21752         };
21753
21754         static gint *ett[] =
21755         {
21756                 &ett_h245,
21757                 &ett_h245_MultimediaSystemControlMessage,
21758                 &ett_h245_RequestMessage,
21759                 &ett_h245_ResponseMessage,
21760                 &ett_h245_IndicationMessage,
21761                 &ett_h245_CommandMessage,
21762                 &ett_h245_OpenLogicalChannelConfirm,
21763                 &ett_h245_EndSessionCommand,
21764                 &ett_h245_MobileMultilinkReconfigurationIndication,
21765                 &ett_h245_FlowControlIndication,
21766                 &ett_h245_UserInputIndication_extendedAlphanumeric,
21767                 &ett_h245_UserInputIndication_signalUpdate_rtp,
21768                 &ett_h245_UserInputIndication_signalUpdate,
21769                 &ett_h245_UserInputIndication_signal_rtp,
21770                 &ett_h245_UserInputIndication_signal,
21771                 &ett_h245_NewATMVCIndication_reverseParameters,
21772                 &ett_h245_NewATMVCIndication_aal_aal5,
21773                 &ett_h245_NewATMVCIndication_aal_aal1,
21774                 &ett_h245_NewATMVCIndication_aal,
21775                 &ett_h245_NewATMVCIndication,
21776                 &ett_h245_VendorIdentification,
21777                 &ett_h245_MCLocationIndication,
21778                 &ett_h245_H2250MaximumSkewIndication,
21779                 &ett_h245_H223SkewIndication,
21780                 &ett_h245_JitterIndication,
21781                 &ett_h245_MiscellaneousIndication_type_videoNotDecodedMBs,
21782                 &ett_h245_MiscellaneousIndication,
21783                 &ett_h245_VideoIndicateCompose,
21784                 &ett_h245_TerminalYouAreSeeingInSubPictureNumber,
21785                 &ett_h245_FunctionNotSupported,
21786                 &ett_h245_MobileMultilinkReconfigurationCommand,
21787                 &ett_h245_NewATMVCCommand_reverseParameters,
21788                 &ett_h245_NewATMVCCommand,
21789                 &ett_h245_NewATMVCCommand_aal_aal5,
21790                 &ett_h245_NewATMVCCommand_aal_aal1,
21791                 &ett_h245_EncryptionUpdateRequest,
21792                 &ett_h245_KeyProtectionMethod,
21793                 &ett_h245_MiscellaneousCommand_type_lostPartialPicture,
21794                 &ett_h245_MiscellaneousCommand_type_videoBadMBs,
21795                 &ett_h245_MiscellaneousCommand_type_progressiveRefinementStart,
21796                 &ett_h245_MiscellaneousCommand_type_videoFastUpdateMB,
21797                 &ett_h245_MiscellaneousCommand_type_videoFastUpdateGOB,
21798                 &ett_h245_MiscellaneousCommand,
21799                 &ett_h245_SubstituteConferenceIDCommand,
21800                 &ett_h245_FlowControlCommand,
21801                 &ett_h245_EncryptionCommand_encryptionAlgorithmID,
21802                 &ett_h245_SendTerminalCapabilitySet_specificRequest,
21803                 &ett_h245_LogicalChannelRateRelease,
21804                 &ett_h245_LogicalChannelRateReject,
21805                 &ett_h245_LogicalChannelRateAck,
21806                 &ett_h245_LogicalChannelRateRequest,
21807                 &ett_h245_ConnectionIdentifier,
21808                 &ett_h245_DialingInformationNumber,
21809                 &ett_h245_MultilinkIndication_excessiveError,
21810                 &ett_h245_MultilinkIndication_crcDesired,
21811                 &ett_h245_MultilinkResponse_maximumHeaderInterval,
21812                 &ett_h245_MultilinkResponse_removeConnection,
21813                 &ett_h245_MultilinkResponse_addConnection,
21814                 &ett_h245_MultilinkResponse_callInformation,
21815                 &ett_h245_MultilinkRequest_maximumHeaderInterval,
21816                 &ett_h245_MultilinkRequest_removeConnection,
21817                 &ett_h245_MultilinkRequest_addConnection,
21818                 &ett_h245_MultilinkRequest_callInformation,
21819                 &ett_h245_TerminalInformation,
21820                 &ett_h245_RequestAllTerminalIDsResponse,
21821                 &ett_h245_ConferenceResponse_terminalCertificateResponse,
21822                 &ett_h245_ConferenceResponse_chairTokenOwnerResponse,
21823                 &ett_h245_ConferenceResponse_extensionAddressResponse,
21824                 &ett_h245_ConferenceResponse_passwordResponse,
21825                 &ett_h245_ConferenceResponse_conferenceIDResponse,
21826                 &ett_h245_ConferenceResponse_terminalIDResponse,
21827                 &ett_h245_ConferenceResponse_mCterminalIDResponse,
21828                 &ett_h245_TerminalLabel,
21829                 &ett_h245_Criteria,
21830                 &ett_h245_ConferenceRequest_requestTerminalCertificate,
21831                 &ett_h245_CommunicationModeTableEntry,
21832                 &ett_h245_CommunicationModeRequest,
21833                 &ett_h245_CommunicationModeCommand,
21834                 &ett_h245_MaintenanceLoopOffCommand,
21835                 &ett_h245_MaintenanceLoopReject,
21836                 &ett_h245_MaintenanceLoopAck,
21837                 &ett_h245_MaintenanceLoopRequest,
21838                 &ett_h245_RoundTripDelayResponse,
21839                 &ett_h245_RoundTripDelayRequest,
21840                 &ett_h245_DataMode_application_t38fax,
21841                 &ett_h245_DataMode_application_nlpid,
21842                 &ett_h245_DataMode,
21843                 &ett_h245_VBDMode,
21844                 &ett_h245_G7231AnnexCMode_g723AnnexCAudioMode,
21845                 &ett_h245_G7231AnnexCMode,
21846                 &ett_h245_IS13818AudioMode,
21847                 &ett_h245_IS11172AudioMode,
21848                 &ett_h245_IS11172VideoMode,
21849                 &ett_h245_H263VideoMode,
21850                 &ett_h245_H262VideoMode,
21851                 &ett_h245_H261VideoMode,
21852                 &ett_h245_RedundancyEncodingMode,
21853                 &ett_h245_H2250ModeParameters,
21854                 &ett_h245_H223ModeParameters_adaptationLayerType_al3,
21855                 &ett_h245_H223ModeParameters,
21856                 &ett_h245_FECMode_rfc2733Mode_mode_separateStream_samePort,
21857                 &ett_h245_FECMode_rfc2733Mode_mode_separateStream_differentPort,
21858                 &ett_h245_FECMode_rfc2733Mode,
21859                 &ett_h245_MultiplePayloadStreamElementMode,
21860                 &ett_h245_MultiplePayloadStreamMode,
21861                 &ett_h245_RedundancyEncodingDTModeElement,
21862                 &ett_h245_RedundancyEncodingDTMode,
21863                 &ett_h245_MultiplexedStreamModeParameters,
21864                 &ett_h245_H235Mode,
21865                 &ett_h245_ModeElement,
21866                 &ett_h245_RequestModeRelease,
21867                 &ett_h245_RequestModeReject,
21868                 &ett_h245_RequestModeAck,
21869                 &ett_h245_RequestMode,
21870                 &ett_h245_RequestMultiplexEntryRelease,
21871                 &ett_h245_RequestMultiplexEntryRejectionDescriptions,
21872                 &ett_h245_RequestMultiplexEntryReject,
21873                 &ett_h245_RequestMultiplexEntryAck,
21874                 &ett_h245_RequestMultiplexEntry,
21875                 &ett_h245_MultiplexEntrySendRelease,
21876                 &ett_h245_MultiplexEntryRejectionDescriptions,
21877                 &ett_h245_MultiplexEntrySendReject,
21878                 &ett_h245_MultiplexEntrySendAck,
21879                 &ett_h245_MultiplexElement,
21880                 &ett_h245_MultiplexEntryDescriptor,
21881                 &ett_h245_MultiplexEntrySend,
21882                 &ett_h245_RequestChannelCloseRelease,
21883                 &ett_h245_RequestChannelCloseReject,
21884                 &ett_h245_RequestChannelCloseAck,
21885                 &ett_h245_RequestChannelClose,
21886                 &ett_h245_CloseLogicalChannelAck,
21887                 &ett_h245_CloseLogicalChannel,
21888                 &ett_h245_H2250LogicalChannelAckParameters,
21889                 &ett_h245_OpenLogicalChannelReject,
21890                 &ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters,
21891                 &ett_h245_OpenLogicalChannelAck,
21892                 &ett_h245_EscrowData,
21893                 &ett_h245_EncryptionSync,
21894                 &ett_h245_MulticastAddress_iP6Address,
21895                 &ett_h245_MulticastAddress_iPAddress,
21896                 &ett_h245_UnicastAddress_iPSourceRouteAddress,
21897                 &ett_h245_UnicastAddress_iP6Address,
21898                 &ett_h245_UnicastAddress_iPXAddress,
21899                 &ett_h245_UnicastAddress_iPAddress,
21900                 &ett_h245_FECData_rfc2733_mode_separateStream_samePort,
21901                 &ett_h245_FECData_rfc2733_mode_separateStream_differentPort,
21902                 &ett_h245_FECData_rfc2733,
21903                 &ett_h245_MultiplePayloadStreamElement,
21904                 &ett_h245_MultiplePayloadStream,
21905                 &ett_h245_RedundancyEncodingElement,
21906                 &ett_h245_RedundancyEncoding_rtpRedundancyEncoding,
21907                 &ett_h245_RedundancyEncoding,
21908                 &ett_h245_RTPPayloadType,
21909                 &ett_h245_H2250LogicalChannelParameters,
21910                 &ett_h245_V76HDLCParameters,
21911                 &ett_h245_V76LogicalChannelParameters_mode_eRM,
21912                 &ett_h245_V76LogicalChannelParameters,
21913                 &ett_h245_H223AnnexCArqParameters,
21914                 &ett_h245_H223AL3MParameters,
21915                 &ett_h245_H223AL2MParameters,
21916                 &ett_h245_H223AL1MParameters,
21917                 &ett_h245_H223LogicalChannelParameters_adaptionLayerType_al3,
21918                 &ett_h245_H223LogicalChannelParameters,
21919                 &ett_h245_H222LogicalChannelParameters,
21920                 &ett_h245_MultiplexedStreamParameter,
21921                 &ett_h245_H235Media,
21922                 &ett_h245_V75Parameters,
21923                 &ett_h245_Q2931Address,
21924                 &ett_h245_NetworkAccessParameters,
21925                 &ett_h245_reverseLogicalChannelParameters,
21926                 &ett_h245_forwardLogicalChannelParameters,
21927                 &ett_h245_OpenLogicalChannel,
21928                 &ett_h245_FECCapability_rfc2733_separateStream,
21929                 &ett_h245_FECCapability_rfc2733,
21930                 &ett_h245_MultiplePayloadStreamCapability,
21931                 &ett_h245_NoPTAudioToneCapability,
21932                 &ett_h245_NoPTAudioTelephonyEventCapability,
21933                 &ett_h245_AudioToneCapability,
21934                 &ett_h245_AudioTelephonyEventCapability,
21935                 &ett_h245_MultiplexedStreamCapability,
21936                 &ett_h245_GenericParameter,
21937                 &ett_h245_GenericCapability,
21938                 &ett_h245_ConferenceCapability,
21939                 &ett_h245_IntegrityCapability,
21940                 &ett_h245_AuthenticationCapability,
21941                 &ett_h245_EncryptionAuthenticationAndIntegrity,
21942                 &ett_h245_T38FaxTcpOptions,
21943                 &ett_h245_T38FaxUdpOptions,
21944                 &ett_h245_T38FaxProfile,
21945                 &ett_h245_T84Profile_t84Restricted,
21946                 &ett_h245_V42bis,
21947                 &ett_h245_DataApplicationCapability_application_t38fax,
21948                 &ett_h245_DataApplicationCapability_application_nlpid,
21949                 &ett_h245_DataApplicationCapability_application_t84,
21950                 &ett_h245_DataApplicationCapability,
21951                 &ett_h245_VBDCapability,
21952                 &ett_h245_GSMAudioCapability,
21953                 &ett_h245_IS13818AudioCapability,
21954                 &ett_h245_IS11172AudioCapability,
21955                 &ett_h245_G7231AnnexCCapability_g723AnnexCAudioMode,
21956                 &ett_h245_G7231AnnexCCapability,
21957                 &ett_h245_G729Extensions,
21958                 &ett_h245_AudioCapability_g7231,
21959                 &ett_h245_IS11172VideoCapability,
21960                 &ett_h245_H263Version3Options,
21961                 &ett_h245_H263ModeComboFlags,
21962                 &ett_h245_H263VideoModeCombos,
21963                 &ett_h245_CustomPictureFormat_pixelAspectInformation_extendedPAR,
21964                 &ett_h245_CustomPictureFormat_mPI_customPCF,
21965                 &ett_h245_CustomPictureFormat_mPI,
21966                 &ett_h245_CustomPictureFormat,
21967                 &ett_h245_CustomPictureClockFrequency,
21968                 &ett_h245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters,
21969                 &ett_h245_RefPictureSelection_enhancedReferencePicSelect,
21970                 &ett_h245_RefPictureSelection_additionalPictureMemory,
21971                 &ett_h245_RefPictureSelection,
21972                 &ett_h245_TransperencyParameters,
21973                 &ett_h245_H263Options,
21974                 &ett_h245_EnhancementOptions,
21975                 &ett_h245_BEnhancementParameters,
21976                 &ett_h245_EnhancementLayerInfo,
21977                 &ett_h245_H263VideoCapability,
21978                 &ett_h245_H262VideoCapability,
21979                 &ett_h245_H261VideoCapability,
21980                 &ett_h245_MediaDistributionCapability,
21981                 &ett_h245_MultipointCapability,
21982                 &ett_h245_RTPH263VideoRedundancyFrameMapping,
21983                 &ett_h245_RTPH263VideoRedundancyEncoding,
21984                 &ett_h245_RedundancyEncodingCapability,
21985                 &ett_h245_TransportCapability,
21986                 &ett_h245_MediaChannelCapability,
21987                 &ett_h245_MediaTransportType_AtmAAL5Compressed,
21988                 &ett_h245_QOSCapability,
21989                 &ett_h245_ATMParameters,
21990                 &ett_h245_RSVPParameters,
21991                 &ett_h245_MediaPacketizationCapability,
21992                 &ett_h245_H2250Capability_mcCapability,
21993                 &ett_h245_H2250Capability,
21994                 &ett_h245_V75Capability,
21995                 &ett_h245_V76Capability,
21996                 &ett_h245_H223AnnexCCapability,
21997                 &ett_h245_H223Capability_mobileMultilinkFrameCapability,
21998                 &ett_h245_H223Capability_mobileOperationTransmitCapability,
21999                 &ett_h245_H223Capability_h223MultiplexTableCapability_enhanced,
22000                 &ett_h245_H223Capability,
22001                 &ett_h245_VCCapability_aal1ViaGateway,
22002                 &ett_h245_VCCapability_availableBitRates_rangeOfBitRates,
22003                 &ett_h245_VCCapability_availableBitRates,
22004                 &ett_h245_VCCapability_aal5,
22005                 &ett_h245_VCCapability_aal1,
22006                 &ett_h245_VCCapability,
22007                 &ett_h245_H222Capability,
22008                 &ett_h245_H235SecurityCapability,
22009                 &ett_h245_Capability_h233EncryptionReceiveCapability,
22010                 &ett_h245_TerminalCapabilitySetRelease,
22011                 &ett_h245_TerminalCapabilitySetReject,
22012                 &ett_h245_TerminalCapabilitySetAck,
22013                 &ett_h245_CapabilityDescriptor,
22014                 &ett_h245_CapabilityTableEntry,
22015                 &ett_h245_TerminalCapabilitySet,
22016                 &ett_h245_MasterSlaveDeterminationRelease,
22017                 &ett_h245_MasterSlaveDeterminationReject,
22018                 &ett_h245_MasterSlaveDeterminationAck,
22019                 &ett_h245_MasterSlaveDetermination,
22020                 &ett_h245_h221NonStandard,
22021                 &ett_h245_NonStandardParameter,
22022                 &ett_h245_NonStandardMessage,
22023                 &ett_h245_FlowControlIndication_restriction,
22024                 &ett_h245_FlowControlIndication_scope,
22025                 &ett_h245_UserInputIndication_userInputSupportIndication,
22026                 &ett_h245_UserInputIndication,
22027                 &ett_h245_NewATMVCIndication_reverseParameters_multiplex,
22028                 &ett_h245_NewATMVCIndication_multiplex,
22029                 &ett_h245_NewATMVCIndication_aal_aal1_errorCorrection,
22030                 &ett_h245_NewATMVCIndication_aal_aal1_clockRecovery,
22031                 &ett_h245_JitterIndication_scope,
22032                 &ett_h245_MiscellaneousIndication_type,
22033                 &ett_h245_ConferenceIndication,
22034                 &ett_h245_FunctionNotSupported_cause,
22035                 &ett_h245_FunctionNotUnderstood,
22036                 &ett_h245_MobileMultilinkReconfigurationCommand_status,
22037                 &ett_h245_NewATMVCCommand_reverseParameters_multiplex,
22038                 &ett_h245_NewATMVCCommand_multiplex,
22039                 &ett_h245_NewATMVCCommand_aal_aal1_errorCorrection,
22040                 &ett_h245_NewATMVCCommand_aal_aal1_clockRecovery,
22041                 &ett_h245_NewATMVCCommand_aal,
22042                 &ett_h245_H223MultiplexReconfiguration_h223AnnexADoubleFlag,
22043                 &ett_h245_H223MultiplexReconfiguration_h223ModeChange,
22044                 &ett_h245_H223MultiplexReconfiguration,
22045                 &ett_h245_PictureReference,
22046                 &ett_h245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount,
22047                 &ett_h245_MiscellaneousCommand_type,
22048                 &ett_h245_ConferenceCommand,
22049                 &ett_h245_EndSessionCommand_gstnOptions,
22050                 &ett_h245_EndSessionCommand_isdnOptions,
22051                 &ett_h245_FlowControlCommand_restriction,
22052                 &ett_h245_FlowControlCommand_scope,
22053                 &ett_h245_EncryptionCommand,
22054                 &ett_h245_SendTerminalCapabilitySet,
22055                 &ett_h245_LogicalChannelRateRejectReason,
22056                 &ett_h245_DialingInformationNetworkType,
22057                 &ett_h245_DialingInformation,
22058                 &ett_h245_MultilinkIndication,
22059                 &ett_h245_MultilinkResponse_addConnection_responseCode_rejected,
22060                 &ett_h245_MultilinkResponse_addConnection_responseCode,
22061                 &ett_h245_MultilinkResponse,
22062                 &ett_h245_MultilinkRequest_maximumHeaderInterval_requestType,
22063                 &ett_h245_MultilinkRequest,
22064                 &ett_h245_RemoteMCResponse_reject,
22065                 &ett_h245_RemoteMCResponse,
22066                 &ett_h245_RemoteMCRequest,
22067                 &ett_h245_ConferenceResponse_sendThisSourceResponse,
22068                 &ett_h245_ConferenceResponse_makeTerminalBroadcasterResponse,
22069                 &ett_h245_ConferenceResponse_broadcastMyLogicalChannelResponse,
22070                 &ett_h245_ConferenceResponse_makeMeChairResponse,
22071                 &ett_h245_ConferenceResponse,
22072                 &ett_h245_ConferenceRequest,
22073                 &ett_h245_CommunicationModeTableEntry_dataType,
22074                 &ett_h245_CommunicationModeResponse,
22075                 &ett_h245_MaintenanceLoopReject_cause,
22076                 &ett_h245_MaintenanceLoopReject_type,
22077                 &ett_h245_MaintenanceLoopAck_type,
22078                 &ett_h245_MaintenanceLoopRequest_type,
22079                 &ett_h245_EncryptionMode,
22080                 &ett_h245_DataMode_application,
22081                 &ett_h245_IS13818AudioMode_multiChannelType,
22082                 &ett_h245_IS13818AudioMode_audioSampling,
22083                 &ett_h245_IS13818AudioMode_audioLayer,
22084                 &ett_h245_IS11172AudioMode_multichannelType,
22085                 &ett_h245_IS11172AudioMode_audioSampling,
22086                 &ett_h245_IS11172AudioMode_audioLayer,
22087                 &ett_h245_AudioMode_g7231,
22088                 &ett_h245_AudioMode,
22089                 &ett_h245_H263VideoMode_resolution,
22090                 &ett_h245_H262VideoMode_profileAndLevel,
22091                 &ett_h245_H261VideoMode_resolution,
22092                 &ett_h245_VideoMode,
22093                 &ett_h245_RedundancyEncodingMode_secondaryEncoding,
22094                 &ett_h245_V76ModeParameters,
22095                 &ett_h245_H223ModeParameters_adaptationLayerType,
22096                 &ett_h245_FECMode_rfc2733Mode_mode_separateStream,
22097                 &ett_h245_FECMode_rfc2733Mode_mode,
22098                 &ett_h245_FECMode,
22099                 &ett_h245_RedundancyEncodingDTModeElement_type,
22100                 &ett_h245_H235Mode_mediaMode,
22101                 &ett_h245_ModeElementType,
22102                 &ett_h245_RequestModeReject_cause,
22103                 &ett_h245_RequestMultiplexEntryRejectionDescriptions_cause,
22104                 &ett_h245_MultiplexEntryRejectionDescriptions_cause,
22105                 &ett_h245_MultiplexElement_repeatCount,
22106                 &ett_h245_MultiplexElement_type,
22107                 &ett_h245_RequestChannelCloseReject_cause,
22108                 &ett_h245_RequestChannelClose_reason,
22109                 &ett_h245_CloseLogicalChannel_reason,
22110                 &ett_h245_CloseLogicalChannel_source,
22111                 &ett_h245_OpenLogicalChannelReject_cause,
22112                 &ett_h245_forwardMultiplexAckParameters,
22113                 &ett_h245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters,
22114                 &ett_h245_MulticastAddress,
22115                 &ett_h245_UnicastAddress_iPSourceRouteAddress_routing,
22116                 &ett_h245_UnicastAddress,
22117                 &ett_h245_TransportAddress,
22118                 &ett_h245_FECData_rfc2733_mode_separateStream,
22119                 &ett_h245_FECData_rfc2733_mode,
22120                 &ett_h245_FECData,
22121                 &ett_h245_RTPPayloadType_payloadDescriptor,
22122                 &ett_h245_H2250LogicalChannelParameters_mediaPacketization,
22123                 &ett_h245_CRCLength,
22124                 &ett_h245_V76LogicalChannelParameters_mode_eRM_recovery,
22125                 &ett_h245_V76LogicalChannelParameters_mode,
22126                 &ett_h245_V76LogicalChannelParameters_suspendResume,
22127                 &ett_h245_H223AnnexCArqParameters_numberOfRetransmissions,
22128                 &ett_h245_H223AL3MParameters_arqType,
22129                 &ett_h245_H223AL3MParameters_crcLength,
22130                 &ett_h245_H223AL3MParameters_headerFormat,
22131                 &ett_h245_H223AL2MParameters_headerFEC,
22132                 &ett_h245_H223AL1MParameters_arqType,
22133                 &ett_h245_H223AL1MParameters_crcLength,
22134                 &ett_h245_H223AL1MParameters_headerFEC,
22135                 &ett_h245_H223AL1MParameters_transferMode,
22136                 &ett_h245_H223LogicalChannelParameters_adaptationLayerType,
22137                 &ett_h245_H235Media_mediaType,
22138                 &ett_h245_DataType,
22139                 &ett_h245_Q2931Address_address,
22140                 &ett_h245_NetworkAccessParameters_t120SetupProcedure,
22141                 &ett_h245_NetworkAccessParameters_networkAddress,
22142                 &ett_h245_NetworkAccessParameters_distribution,
22143                 &ett_h245_reverseLogicalChannelParameters_multiplexParameters,
22144                 &ett_h245_forwardLogicalChannelParameters_multiplexParameters,
22145                 &ett_h245_FECCapability,
22146                 &ett_h245_MultiplexFormat,
22147                 &ett_h245_ParameterValue,
22148                 &ett_h245_ParameterIdentifier,
22149                 &ett_h245_CapabilityIdentifier,
22150                 &ett_h245_UserInputCapability,
22151                 &ett_h245_MediaEncryptionAlgorithm,
22152                 &ett_h245_T38FaxUdpOptions_t38FaxUdpEC,
22153                 &ett_h245_T38FaxRateManagement,
22154                 &ett_h245_T84Profile,
22155                 &ett_h245_CompressionType,
22156                 &ett_h245_DataProtocolCapability_v76wCompression,
22157                 &ett_h245_DataProtocolCapability,
22158                 &ett_h245_DataApplicationCapability_application,
22159                 &ett_h245_AudioCapability,
22160                 &ett_h245_CustomPictureFormat_pixelAspectInformation,
22161                 &ett_h245_RefPictureSelection_videoBackChannelSend,
22162                 &ett_h245_VideoCapability,
22163                 &ett_h245_RTPH263VideoRedundancyEncoding_frameToThreadMapping,
22164                 &ett_h245_RedundancyEncodingMethod,
22165                 &ett_h245_MediaTransportType,
22166                 &ett_h245_QOSMode,
22167                 &ett_h245_H223Capability_h223MultiplexTableCapability,
22168                 &ett_h245_VCCapability_availableBitRates_type,
22169                 &ett_h245_MultiplexCapability,
22170                 &ett_h245_Capability,
22171                 &ett_h245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded,
22172                 &ett_h245_TerminalCapabilitySetReject_cause,
22173                 &ett_h245_MasterSlaveDeterminationReject_cause,
22174                 &ett_h245_MasterSlaveDeterminationAck_decision,
22175                 &ett_h245_RequestModeAck_response_decision,
22176                 &ett_h245_NonStandardIdentifier,
22177                 &ett_h245_mediaDistributionCapability,
22178                 &ett_h245_AlternativeCapabilitySet,
22179                 &ett_h245_CapabilityTableEntryNumber_sequence_of,
22180                 &ett_h245_frameToThreadMapping_custom,
22181                 &ett_h245_RedundancyEncodingCapability_sequence_of,
22182                 &ett_h245_frameSequence,
22183                 &ett_h245_EncryptionCapability,
22184                 &ett_h245_escrowentry,
22185                 &ett_h245_elementList,
22186                 &ett_h245_requestedModes,
22187                 &ett_h245_CertSelectionCriteria,
22188                 &ett_h245_capabilityTable,
22189                 &ett_h245_capabilityDescriptors,
22190                 &ett_h245_simultaneousCapabilities,
22191                 &ett_h245_gatewayAddress,
22192                 &ett_h245_snrEnhancement,
22193                 &ett_h245_spatialEnhancement,
22194                 &ett_h245_bPictureEnhancement,
22195                 &ett_h245_customPictureClockFrequency,
22196                 &ett_h245_customPictureFormat,
22197                 &ett_h245_modeCombos,
22198                 &ett_h245_customPCF,
22199                 &ett_h245_pixelAspectCode,
22200                 &ett_h245_extendedPAR,
22201                 &ett_h245_h263VideoCoupledModes,
22202                 &ett_h245_capabilityOnMuxStream,
22203                 &ett_h245_capabilities,
22204                 &ett_h245_multiplexEntryDescriptors,
22205                 &ett_h245_multiplexTableEntryNumber_set_of,
22206                 &ett_h245_VCCapability_set_of,
22207                 &ett_h245_rejectionDescriptions,
22208                 &ett_h245_entryNumbers,
22209                 &ett_h245_ModeDescription,
22210                 &ett_h245_communicationModeTable,
22211                 &ett_h245_terminalListResponse,
22212                 &ett_h245_differential,
22213                 &ett_h245_networkType,
22214                 &ett_h245_capabilityTableEntryNumbers,
22215                 &ett_h245_capabilityDescriptorNumbers,
22216                 &ett_h245_qOSCapabilities,
22217                 &ett_h245_subElementList,
22218                 &ett_h245_containedThreads,
22219                 &ett_h245_mediaChannelCapabilities,
22220                 &ett_h245_rtpPayloadType_sequence_of,
22221                 &ett_h245_centralizedData,
22222                 &ett_h245_distributedData,
22223                 &ett_h245_nonStandardData,
22224                 &ett_h245_collapsing,
22225                 &ett_h245_nonCollapsing,
22226                 &ett_h245_supersedes,
22227                 &ett_h245_genericParameter,
22228                 &ett_h245_secondary_REE,
22229                 &ett_h245_elements_MPSE,
22230                 &ett_h245_secondary_REDTME,
22231                 &ett_h245_elements_MPSEM,
22232                 &ett_h245_TerminalInformationSO,
22233                 &ett_h245_lostPicture,
22234                 &ett_h245_recoveryReferencePicture,
22235                 &ett_h245_iPSourceRouteAddress_route,
22236         };
22237         module_t *h245_module;
22238
22239         proto_h245 = proto_register_protocol("H245", "H245", "h245");
22240         proto_register_field_array(proto_h245, hf, array_length(hf));
22241         proto_register_subtree_array(ett, array_length(ett));
22242         h245_module = prefs_register_protocol(proto_h245, NULL);
22243         prefs_register_bool_preference(h245_module, "reassembly",
22244                 "Reassemble H.245 over TCP",
22245                 "Whether the dissector should reassemble H.245 PDUs spanning multiple TCP segments",
22246                 &h245_reassembly);
22247         register_dissector("h245dg", dissect_h245_MultimediaSystemControlMessage, proto_h245);
22248         register_dissector("h245", dissect_h245, proto_h245);
22249 }
22250
22251 void
22252 proto_reg_handoff_h245(void)
22253 {
22254         rtp_handle = find_dissector("rtp");
22255         rtcp_handle = find_dissector("rtcp");
22256
22257         h245_handle=create_dissector_handle(dissect_h245, proto_h245);
22258         dissector_add_handle("tcp.port", h245_handle);
22259         MultimediaSystemControlMessage_handle=create_dissector_handle(dissect_h245_MultimediaSystemControlMessage, proto_h245);
22260         dissector_add_handle("udp.port", MultimediaSystemControlMessage_handle);
22261 }