2 * Routines for H.225 packet dissection
5 * Maintained by Andreas Sikkema (h323@ramdyne.nl)
7 * $Id: packet-h225.c,v 1.33 2004/02/20 10:56:29 guy Exp $
9 * Ethereal - Network traffic analyzer
10 * By Gerald Combs <gerald@ethereal.com>
11 * Copyright 1998 Gerald Combs
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.
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.
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.
33 #include <epan/packet.h>
34 #include <epan/conversation.h>
41 #include "packet-tpkt.h"
42 #include "packet-per.h"
43 #include "packet-h225.h"
44 #include "packet-h245.h"
46 #include "h225-persistentdata.h"
48 #define UDP_PORT_RAS1 1718
49 #define UDP_PORT_RAS2 1719
50 #define TCP_PORT_CS 1720
52 static void reset_h225_packet_info(h225_packet_info *pi);
53 static void ras_call_matching(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, h225_packet_info *pi);
55 static h225_packet_info h225_pi;
57 static dissector_handle_t h225ras_handle;
58 static dissector_handle_t H323UserInformation_handle;
59 static dissector_handle_t data_handle;
61 static int h225_tap = -1;
62 static int proto_h225 = -1;
63 static int hf_h225_cname = -1;
64 static int hf_h225_route = -1;
65 static int hf_h225_nonStandardUsageTypes = -1;
66 static int hf_h225_nonStandardUsageTypes_item = -1;
67 static int hf_h225_PresentationIndicator = -1;
68 static int hf_h225_conferenceGoal = -1;
69 static int hf_h225_ScnConnectionType = -1;
70 static int hf_h225_ScnConnectionAggregation = -1;
71 static int hf_h225_FacilityReason = -1;
72 static int hf_h225_PublicTypeOfNumber = -1;
73 static int hf_h225_PrivateTypeOfNumber = -1;
74 static int hf_h225_UseSpecifiedTransport = -1;
75 static int hf_h225_SecurityErrors = -1;
76 static int hf_h225_SecurityErrors2 = -1;
77 static int hf_h225_ServiceControlSession_reason = -1;
78 static int hf_h225_billingMode = -1;
79 static int hf_h225_CCSCcallStartingPoint = -1;
80 static int hf_h225_GatekeeperRejectReason = -1;
81 static int hf_h225_UnregRequestReason = -1;
82 static int hf_h225_UnregRejectReason = -1;
83 static int hf_h225_CallType = -1;
84 static int hf_h225_CallModel = -1;
85 static int hf_h225_TransportQOS = -1;
86 static int hf_h225_BandRejectReason = -1;
87 static int hf_h225_DisengageReason = -1;
88 static int hf_h225_DisengageRejectReason = -1;
89 static int hf_h225_InfoRequestNakReason = -1;
90 static int hf_h225_SCRresult = -1;
91 static int hf_h225_GatekeeperInfo = -1;
92 static int hf_h225_SecurityServiceMode_encryption = -1;
93 static int hf_h225_SecurityServiceMode_authentication = -1;
94 static int hf_h225_SecurityServiceMode_integrity = -1;
95 static int hf_h225_SecurityCapabilities_tls = -1;
96 static int hf_h225_SecurityCapabilities_ipsec = -1;
97 static int hf_h225_H245Security = -1;
98 static int hf_h225_RasUsageInfoTypes = -1;
99 static int hf_h225_usageReportingCapability = -1;
100 static int hf_h225_BandWidth = -1;
101 static int hf_h225_channelRate = -1;
102 static int hf_h225_totalBandwidthRestriction = -1;
103 static int hf_h225_allowedBandWidth = -1;
104 static int hf_h225_channelMultiplier = -1;
105 static int hf_h225_DataRate = -1;
106 static int hf_h225_gatewayDataRate = -1;
107 static int hf_h225_dataRatesSupported = -1;
108 static int hf_h225_TerminalInfo = -1;
109 static int hf_h225_h248Message = -1;
110 static int hf_h225_StimulusControl = -1;
111 static int hf_h225_conferenceID = -1;
112 static int hf_h225_Generic_nonStandard = -1;
113 static int hf_h225_guid = -1;
114 static int hf_h225_replaceWithConferenceInvite = -1;
115 static int hf_h225_ReleaseCompleteReason = -1;
116 static int hf_h225_numberOfScnConnections = -1;
117 static int hf_h225_connectionParameters = -1;
118 static int hf_h225_RequestSeqNum = -1;
119 static int hf_h225_RasUsageSpecification_when = -1;
120 static int hf_h225_RasUsageSpecification_callStartingPoint = -1;
121 static int hf_h225_RasUsageSpecification = -1;
122 static int hf_h225_ipAddress_ip = -1;
123 static int hf_h225_ipAddress_port = -1;
124 static int hf_h225_ipAddress = -1;
125 static int hf_h225_routing = -1;
126 static int hf_h225_ipSourceRoute = -1;
127 static int hf_h225_ipxNode = -1;
128 static int hf_h225_ipxNetnum = -1;
129 static int hf_h225_ipxPort = -1;
130 static int hf_h225_ipxAddress = -1;
131 static int hf_h225_ipv6Address_ip = -1;
132 static int hf_h225_ipv6Address_port = -1;
133 static int hf_h225_ip6Address = -1;
134 static int hf_h225_netBios = -1;
135 static int hf_h225_nsap = -1;
136 static int hf_h225_TransportAddress = -1;
137 static int hf_h225_replyAddress = -1;
138 static int hf_h225_rasAddress = -1;
139 static int hf_h225_h245Address = -1;
140 static int hf_h225_destCallSignalAddress = -1;
141 static int hf_h225_sourceCallSignalAddress = -1;
142 static int hf_h225_CallSignalAddress2 = -1;
143 static int hf_h225_alternativeAddress = -1;
144 static int hf_h225_transportID = -1;
145 static int hf_h225_sendAddress = -1;
146 static int hf_h225_recvAddress = -1;
147 static int hf_h225_rtpAddress = -1;
148 static int hf_h225_rtcpAddress = -1;
149 static int hf_h225_h245 = -1;
150 static int hf_h225_callSignaling = -1;
151 static int hf_h225_carrierName = -1;
152 static int hf_h225_carrierIdentificationCode = -1;
153 static int hf_h225_CarrierInfo = -1;
154 static int hf_h225_segment = -1;
155 static int hf_h225_InfoRequestResponseStatus = -1;
156 static int hf_h225_CallIdentifier = -1;
157 static int hf_h225_globalCallId = -1;
158 static int hf_h225_threadId = -1;
159 static int hf_h225_CallLinkage = -1;
160 static int hf_h225_tokens = -1;
161 static int hf_h225_needToRegister = -1;
162 static int hf_h225_priority = -1;
163 static int hf_h225_AlternateGK = -1;
164 static int hf_h225_alternateGatekeeper = -1;
165 static int hf_h225_altGKisPermanent = -1;
166 static int hf_h225_AltGKInfo = -1;
167 static int hf_h225_annexE = -1;
168 static int hf_h225_sctp = -1;
169 static int hf_h225_AlternateTransportAddress = -1;
170 static int hf_h225_setup_bool = -1;
171 static int hf_h225_callProceeding_bool = -1;
172 static int hf_h225_connect_bool = -1;
173 static int hf_h225_alerting_bool = -1;
174 static int hf_h225_information_bool = -1;
175 static int hf_h225_releaseComplete_bool = -1;
176 static int hf_h225_facility_bool = -1;
177 static int hf_h225_progress_bool = -1;
178 static int hf_h225_empty_bool = -1;
179 static int hf_h225_status_bool = -1;
180 static int hf_h225_statusInquiry_bool = -1;
181 static int hf_h225_setupAcknowledge_bool = -1;
182 static int hf_h225_notify_bool = -1;
183 static int hf_h225_UUIEsRequested = -1;
184 static int hf_h225_conferenceCalling = -1;
185 static int hf_h225_threePartyService = -1;
186 static int hf_h225_Q954Details = -1;
187 static int hf_h225_q932Full = -1;
188 static int hf_h225_q951Full = -1;
189 static int hf_h225_q952Full = -1;
190 static int hf_h225_q953Full = -1;
191 static int hf_h225_q955Full = -1;
192 static int hf_h225_q956Full = -1;
193 static int hf_h225_q957Full = -1;
194 static int hf_h225_QseriesOptions = -1;
195 static int hf_h225_ssrc = -1;
196 static int hf_h225_RTPsessionId = -1;
197 static int hf_h225_associatedSessionIds = -1;
198 static int hf_h225_RTPSession = -1;
199 static int hf_h225_cryptoTokens = -1;
200 static int hf_h225_ProtocolIdentifier = -1;
201 static int hf_h225_isoAlgorithm = -1;
202 static int hf_h225_iso9797 = -1;
203 static int hf_h225_algorithmOID = -1;
204 static int hf_h225_hMAC_iso10118_3 = -1;
205 static int hf_h225_enterpriseNumber = -1;
206 static int hf_h225_Generic_oid = -1;
207 static int hf_h225_tunnelledProtocolObjectID = -1;
208 static int hf_h225_StatusUUIE = -1;
209 static int hf_h225_StatusInquiryUUIE = -1;
210 static int hf_h225_SetupAcknowledgeUUIE = -1;
211 static int hf_h225_NotifyUUIE = -1;
212 static int hf_h225_imsi = -1;
213 static int hf_h225_tmsi = -1;
214 static int hf_h225_msisdn = -1;
215 static int hf_h225_imei = -1;
216 static int hf_h225_hplmn = -1;
217 static int hf_h225_vplmn = -1;
218 static int hf_h225_GSMUIM = -1;
219 static int hf_h225_sid = -1;
220 static int hf_h225_mid = -1;
221 static int hf_h225_systemid = -1;
222 static int hf_h225_min = -1;
223 static int hf_h225_mdn = -1;
224 static int hf_h225_esn = -1;
225 static int hf_h225_mscid = -1;
226 static int hf_h225_systemMyTypeCode = -1;
227 static int hf_h225_systemAccessType = -1;
228 static int hf_h225_qualificationInformationCode = -1;
229 static int hf_h225_sesn = -1;
230 static int hf_h225_soc = -1;
231 static int hf_h225_ANSI41UIM = -1;
232 static int hf_h225_MobileUIM = -1;
233 static int hf_h225_dataPartyNumber = -1;
234 static int hf_h225_telexPartyNumber = -1;
235 static int hf_h225_nationalStandardPartyNumber = -1;
236 static int hf_h225_publicNumberDigits = -1;
237 static int hf_h225_privateNumberDigits = -1;
238 static int hf_h225_e164Number = -1;
239 static int hf_h225_privateNumber = -1;
240 static int hf_h225_PartyNumber = -1;
241 static int hf_h225_startOfRange = -1;
242 static int hf_h225_endOfRange = -1;
243 static int hf_h225_protocolType = -1;
244 static int hf_h225_protocolVariant = -1;
245 static int hf_h225_TunnelledProtocolAlternateIdentifier = -1;
246 static int hf_h225_dialedDigits = -1;
247 static int hf_h225_urlId = -1;
248 static int hf_h225_h323ID = -1;
249 static int hf_h225_unicode = -1;
250 static int hf_h225_GatekeeperIdentifier = -1;
251 static int hf_h225_EndpointIdentifier = -1;
252 static int hf_h225_emailId = -1;
253 static int hf_h225_AliasAddress = -1;
254 static int hf_h225_featureServerAlias = -1;
255 static int hf_h225_RemoteExtensionAddress = -1;
256 static int hf_h225_conferenceAlias = -1;
257 static int hf_h225_wildcard = -1;
258 static int hf_h225_prefix = -1;
259 static int hf_h225_SupportedPrefix = -1;
260 static int hf_h225_SupportedPrefixes = -1;
261 static int hf_h225_H310Caps = -1;
262 static int hf_h225_H320Caps = -1;
263 static int hf_h225_H321Caps = -1;
264 static int hf_h225_H322Caps = -1;
265 static int hf_h225_H323Caps = -1;
266 static int hf_h225_H324Caps = -1;
267 static int hf_h225_VoiceCaps = -1;
268 static int hf_h225_T120OnlyCaps = -1;
269 static int hf_h225_NonStandardProtocol = -1;
270 static int hf_h225_SIPCaps = -1;
271 static int hf_h225_AddressPattern_range = -1;
272 static int hf_h225_AddressPattern = -1;
273 static int hf_h225_ConferenceList = -1;
274 static int hf_h225_conferences = -1;
275 static int hf_h225_T38FaxAnnexbOnlyCaps = -1;
276 static int hf_h225_SupportedProtocols = -1;
277 static int hf_h225_protocol = -1;
278 static int hf_h225_GatewayInfo = -1;
279 static int hf_h225_McuInfo = -1;
280 static int hf_h225_TunnelledProtocol_id = -1;
281 static int hf_h225_TunnelledProtocol_subIdentifier = -1;
282 static int hf_h225_TunnelledProtocol = -1;
283 static int hf_h225_desiredTunnelledProtocol = -1;
284 static int hf_h225_CicInfo_cic_item = -1;
285 static int hf_h225_CicInfo_pointCode = -1;
286 static int hf_h225_CicInfo_cic = -1;
287 static int hf_h225_CicInfo = -1;
288 static int hf_h225_GroupID_member_item = -1;
289 static int hf_h225_GroupID_member = -1;
290 static int hf_h225_GroupID_group = -1;
291 static int hf_h225_GroupID = -1;
292 static int hf_h225_sourceCircuitID = -1;
293 static int hf_h225_destinationCircuitID = -1;
294 static int hf_h225_Generic_standard = -1;
295 static int hf_h225_GenericIdentifier = -1;
296 static int hf_h225_EnumeratedParameter = -1;
297 static int hf_h225_parameters = -1;
298 static int hf_h225_GenericData = -1;
299 static int hf_h225_FeatureDescriptor = -1;
300 static int hf_h225_Content_raw = -1;
301 static int hf_h225_Content_text = -1;
302 static int hf_h225_Content = -1;
303 static int hf_h225_Content_bool = -1;
304 static int hf_h225_Content_number8 = -1;
305 static int hf_h225_number16 = -1;
306 static int hf_h225_Content_number32 = -1;
307 static int hf_h225_Content_compound = -1;
308 static int hf_h225_Content_nested = -1;
309 static int hf_h225_replacementFeatureSet = -1;
310 static int hf_h225_neededFeatures = -1;
311 static int hf_h225_desiredFeatures = -1;
312 static int hf_h225_supportedFeatures = -1;
313 static int hf_h225_FeatureSet = -1;
314 static int hf_h225_CallsAvailable_calls = -1;
315 static int hf_h225_CallsAvailable_group = -1;
316 static int hf_h225_CallsAvailable = -1;
317 static int hf_h225_voiceGwCallsAvailable = -1;
318 static int hf_h225_h310GwCallsAvailable = -1;
319 static int hf_h225_h320GwCallsAvailable = -1;
320 static int hf_h225_h321GwCallsAvailable = -1;
321 static int hf_h225_h322GwCallsAvailable = -1;
322 static int hf_h225_h323GwCallsAvailable = -1;
323 static int hf_h225_h324GwCallsAvailable = -1;
324 static int hf_h225_t120OnlyGwCallsAvailable = -1;
325 static int hf_h225_t38FaxAnnexbOnlyGwCallsAvailable = -1;
326 static int hf_h225_terminalCallsAvailable = -1;
327 static int hf_h225_mcuCallsAvailable = -1;
328 static int hf_h225_sipGwCallsAvailable = -1;
329 static int hf_h225_maximumCallCapacity = -1;
330 static int hf_h225_currentCallCapacity = -1;
331 static int hf_h225_CallCapacity = -1;
332 static int hf_h225_productID = -1;
333 static int hf_h225_versionID = -1;
334 static int hf_h225_VendorIdentifier = -1;
335 static int hf_h225_canReportCallCapacity = -1;
336 static int hf_h225_CapacityReportingCapability = -1;
337 static int hf_h225_canDisplayAmountString = -1;
338 static int hf_h225_canEnforceDurationLimit = -1;
339 static int hf_h225_CallCreditCapability = -1;
340 static int hf_h225_BandwidthDetails_sender = -1;
341 static int hf_h225_BandwidthDetails_multicast = -1;
342 static int hf_h225_BandwidthDetails = -1;
343 static int hf_h225_releaseCompleteCauseIE = -1;
344 static int hf_h225_CallTerminationCause = -1;
345 static int hf_h225_CircuitInfo = -1;
346 static int hf_h225_genericData = -1;
347 static int hf_h225_fastStart_item_length = -1;
348 static int hf_h225_fastStart = -1;
349 static int hf_h225_fastConnectRefused = -1;
350 static int hf_h225_InformationUUIE = -1;
351 static int hf_h225_routeCallToSCN = -1;
352 static int hf_h225_AdmissionRejectReason = -1;
353 static int hf_h225_hMAC_iso10118_2_s = -1;
354 static int hf_h225_hMAC_iso10118_2_l = -1;
355 static int hf_h225_NonIsoIntegrityMechanism = -1;
356 static int hf_h225_IntegrityMechanism = -1;
357 static int hf_h225_LocationRejectReason = -1;
358 static int hf_h225_mc = -1;
359 static int hf_h225_undefinedNode = -1;
360 static int hf_h225_EndPointType = -1;
361 static int hf_h225_terminalType = -1;
362 static int hf_h225_sourceInfo = -1;
363 static int hf_h225_destinationInfo = -1;
364 static int hf_h225_multipleCalls = -1;
365 static int hf_h225_maintainConnection = -1;
366 static int hf_h225_CallProceedingUUIE = -1;
367 static int hf_h225_CapacityReportingSpecification_when = -1;
368 static int hf_h225_CapacityReportingSpecification = -1;
369 static int hf_h225_ProgressUUIE = -1;
370 static int hf_h225_EndPoint = -1;
371 static int hf_h225_destinationType = -1;
372 static int hf_h225_destExtraCallInfo = -1;
373 static int hf_h225_remoteExtensionAddress = -1;
374 static int hf_h225_rasAddress_sequence = -1;
375 static int hf_h225_callSignalAddress = -1;
376 static int hf_h225_ICV = -1;
377 static int hf_h225_BandwidthConfirm = -1;
378 static int hf_h225_UnregistrationConfirm = -1;
379 static int hf_h225_NonStandardMessage = -1;
380 static int hf_h225_InfoRequestAck = -1;
381 static int hf_h225_InfoRequestNak = -1;
382 static int hf_h225_ResourcesAvailableConfirm = -1;
383 static int hf_h225_GatekeeperRequest = -1;
384 static int hf_h225_integrity = -1;
385 static int hf_h225_algorithmOIDs = -1;
386 static int hf_h225_alternateEndpoints = -1;
387 static int hf_h225_endpointAlias = -1;
388 static int hf_h225_ServiceControlResponse = -1;
389 static int hf_h225_DisengageReject = -1;
390 static int hf_h225_BandwidthReject = -1;
391 static int hf_h225_UnregistrationReject = -1;
392 static int hf_h225_UnregistrationRequest = -1;
393 static int hf_h225_endpointAliasPattern = -1;
394 static int hf_h225_RegistrationReject = -1;
395 static int hf_h225_invalidTerminalAliases = -1;
396 static int hf_h225_terminalAlias = -1;
397 static int hf_h225_terminalAliasPattern = -1;
398 static int hf_h225_RegistrationRejectReason = -1;
399 static int hf_h225_duplicateAlias = -1;
400 static int hf_h225_GatekeeperReject = -1;
401 static int hf_h225_almostOutOfResources = -1;
402 static int hf_h225_ResourcesAvailableIndicate = -1;
403 static int hf_h225_protocols = -1;
404 static int hf_h225_callDurationLimit = -1;
405 static int hf_h225_enforceCallDurationLimit = -1;
406 static int hf_h225_CallCreditServiceControl = -1;
407 static int hf_h225_ScreeningIndicator = -1;
408 static int hf_h225_ExtendedAliasAddress = -1;
409 static int hf_h225_messageNotUnderstood = -1;
410 static int hf_h225_UnknownMessageResponse = -1;
411 static int hf_h225_CallReferenceValue = -1;
412 static int hf_h225_AdmissionRequest = -1;
413 static int hf_h225_canMapSrcAlias = -1;
414 static int hf_h225_desiredProtocols = -1;
415 static int hf_h225_willSupplyUUIEs = -1;
416 static int hf_h225_destAlternatives = -1;
417 static int hf_h225_srcAlternatives = -1;
418 static int hf_h225_canMapAlias = -1;
419 static int hf_h225_activeMC = -1;
420 static int hf_h225_srcInfo = -1;
421 static int hf_h225_DestinationInfo = -1;
422 static int hf_h225_InfoRequest = -1;
423 static int hf_h225_nextSegmentRequested = -1;
424 static int hf_h225_delay = -1;
425 static int hf_h225_RequestInProgress = -1;
426 static int hf_h225_H248SignalsDescriptor = -1;
427 static int hf_h225_url = -1;
428 static int hf_h225_ServiceControlDescriptor = -1;
429 static int hf_h225_ServiceControlSession = -1;
430 static int hf_h225_sessionId = -1;
431 static int hf_h225_AlertingUUIE = -1;
432 static int hf_h225_serviceControl = -1;
433 static int hf_h225_alertingAddress = -1;
434 static int hf_h225_ReleaseCompleteUUIE = -1;
435 static int hf_h225_busyAddress = -1;
436 static int hf_h225_FacilityUUIE = -1;
437 static int hf_h225_alternativeAliasAddress = -1;
438 static int hf_h225_AdmissionReject = -1;
439 static int hf_h225_hopCount = -1;
440 static int hf_h225_parallelH245Control = -1;
441 static int hf_h225_language = -1;
442 static int hf_h225_languages = -1;
443 static int hf_h225_mediaWaitForConnect = -1;
444 static int hf_h225_canOverlapSend = -1;
445 static int hf_h225_SetupUUIE = -1;
446 static int hf_h225_sourceAddress = -1;
447 static int hf_h225_destinationAddress = -1;
448 static int hf_h225_destExtraCRV = -1;
449 static int hf_h225_h245SecurityCapability = -1;
450 static int hf_h225_additionalSourceAddresses = -1;
451 static int hf_h225_ConnectUUIE = -1;
452 static int hf_h225_connectedAddress = -1;
453 static int hf_h225_h323_message_body = -1;
454 static int hf_h225_LocationConfirm = -1;
455 static int hf_h225_supportedProtocols = -1;
456 static int hf_h225_modifiedSrcInfo = -1;
457 static int hf_h225_LocationReject = -1;
458 static int hf_h225_callSpecific = -1;
459 static int hf_h225_answeredCall = -1;
460 static int hf_h225_ServiceControlIndication = -1;
461 static int hf_h225_RasUsageInformation = -1;
462 static int hf_h225_nonStandardUsageFields = -1;
463 static int hf_h225_nonStandardUsageFields_item = -1;
464 static int hf_h225_TimeToLive = -1;
465 static int hf_h225_GatekeeperConfirm = -1;
466 static int hf_h225_RegistrationRequest = -1;
467 static int hf_h225_discoveryComplete = -1;
468 static int hf_h225_keepAlive = -1;
469 static int hf_h225_H248PackagesDescriptor = -1;
470 static int hf_h225_supportedH248Packages = -1;
471 static int hf_h225_DisengageConfirm = -1;
472 static int hf_h225_AdmissionConfirm = -1;
473 static int hf_h225_irrFrequency = -1;
474 static int hf_h225_willRespondToIRR = -1;
475 static int hf_h225_usageSpec = -1;
476 static int hf_h225_DisengageRequest = -1;
477 static int hf_h225_LocationRequest = -1;
478 static int hf_h225_SourceInfo = -1;
479 static int hf_h225_hopCount255 = -1;
480 static int hf_h225_sourceEndpointInfo = -1;
481 static int hf_h225_BandwidthRequest = -1;
482 static int hf_h225_bandwidthDetails = -1;
483 static int hf_h225_admissionConfirmSequence = -1;
484 static int hf_h225_tunnelledSignallingMessage = -1;
485 static int hf_h225_messageContent_item = -1;
486 static int hf_h225_messageContent = -1;
487 static int hf_h225_H323_UU_PDU = -1;
488 static int hf_h225_h4501SupplementaryService = -1;
489 static int hf_h225_h245Tunneling = -1;
490 static int hf_h225_h245Control = -1;
491 static int hf_h225_nonStandardControl = -1;
492 static int hf_h225_nonStandardControl_item = -1;
493 static int hf_h225_preGrantedARQ = -1;
494 static int hf_h225_makeCall = -1;
495 static int hf_h225_useGKCallSignalAddressToMakeCall = -1;
496 static int hf_h225_answerCall = -1;
497 static int hf_h225_useGKCallSignalAddressToAnswer = -1;
498 static int hf_h225_RegistrationConfirm = -1;
499 static int hf_h225_pdu_item = -1;
500 static int hf_h225_sent = -1;
501 static int hf_h225_pdu = -1;
502 static int hf_h225_perCallInfo_item = -1;
503 static int hf_h225_originator = -1;
504 static int hf_h225_audio = -1;
505 static int hf_h225_video = -1;
506 static int hf_h225_data = -1;
507 static int hf_h225_substituteConfIDs = -1;
508 static int hf_h225_perCallInfo = -1;
509 static int hf_h225_InfoRequestResponse = -1;
510 static int hf_h225_needResponse = -1;
511 static int hf_h225_unsolicited = -1;
512 static int hf_h225_RasMessage = -1;
513 static int hf_h225_H323_UserInformation = -1;
514 static int hf_h225_user_data = -1;
515 static int hf_h225_protocol_discriminator = -1;
516 static int hf_h225_user_information = -1;
517 static int hf_h225_object = -1;
518 static int hf_h225_t35CountryCode = -1;
519 static int hf_h225_t35Extension = -1;
520 static int hf_h225_manufacturerCode = -1;
521 static int hf_h221Manufacturer = -1;
522 static int hf_h225_h221NonStandard = -1;
523 static int hf_h225_nonStandardIdentifier = -1;
524 static int hf_h225_nsp_data = -1;
525 static int hf_h225_nonStandardData = -1;
526 static int hf_h225_nonStandard = -1;
527 static int hf_h225_nonStandardReason = -1;
528 static int hf_h225_nonStandardAddress = -1;
529 static int hf_h225_aliasAddress_sequence = -1;
530 static int hf_h225_ras_req_frame = -1;
531 static int hf_h225_ras_rsp_frame = -1;
532 static int hf_h225_ras_dup = -1;
533 static int hf_h225_ras_deltatime = -1;
536 static gint ett_h225 = -1;
537 static gint ett_h225_T_nonStandardUsageTypes = -1;
538 static gint ett_h225_PresentationIndicator = -1;
539 static gint ett_h225_conferenceGoal = -1;
540 static gint ett_h225_ScnConnectionType = -1;
541 static gint ett_h225_ScnConnectionAggregation = -1;
542 static gint ett_h225_FacilityReason = -1;
543 static gint ett_h225_PublicTypeOfNumber = -1;
544 static gint ett_h225_PrivateTypeOfNumber = -1;
545 static gint ett_h225_UseSpecifiedTransport = -1;
546 static gint ett_h225_SecurityErrors = -1;
547 static gint ett_h225_SecurityErrors2 = -1;
548 static gint ett_h225_ServiceControlSession_reason = -1;
549 static gint ett_h225_billingMode = -1;
550 static gint ett_h225_CCSCcallStartingPoint = -1;
551 static gint ett_h225_GatekeeperRejectReason = -1;
552 static gint ett_h225_UnregRequestReason = -1;
553 static gint ett_h225_UnregRejectReason = -1;
554 static gint ett_h225_CallType = -1;
555 static gint ett_h225_CallModel = -1;
556 static gint ett_h225_TransportQOS = -1;
557 static gint ett_h225_BandRejectReason = -1;
558 static gint ett_h225_DisengageReason = -1;
559 static gint ett_h225_DisengageRejectReason = -1;
560 static gint ett_h225_InfoRequestNakReason = -1;
561 static gint ett_h225_SCRresult = -1;
562 static gint ett_h225_GatekeeperInfo = -1;
563 static gint ett_h225_SecurityServiceMode_encryption = -1;
564 static gint ett_h225_SecurityServiceMode_authentication = -1;
565 static gint ett_h225_SecurityServiceMode_integrity = -1;
566 static gint ett_h225_SecurityCapabilities_tls = -1;
567 static gint ett_h225_SecurityCapabilities_ipsec = -1;
568 static gint ett_h225_H245Security = -1;
569 static gint ett_h225_RasUsageInfoTypes = -1;
570 static gint ett_h225_DataRate = -1;
571 static gint ett_h225_dataRatesSupported = -1;
572 static gint ett_h225_TerminalInfo = -1;
573 static gint ett_h225_StimulusControl = -1;
574 static gint ett_h225_ReleaseCompleteReason = -1;
575 static gint ett_h225_connectionParameters = -1;
576 static gint ett_h225_RasUsageSpecification_when = -1;
577 static gint ett_h225_RasUsageSpecification_callStartingPoint = -1;
578 static gint ett_h225_RasUsageSpecification = -1;
579 static gint ett_h225_ipAddress = -1;
580 static gint ett_h225_routing = -1;
581 static gint ett_h225_route = -1;
582 static gint ett_h225_ipSourceRoute = -1;
583 static gint ett_h225_ipxAddress = -1;
584 static gint ett_h225_ip6Address = -1;
585 static gint ett_h225_TransportAddress = -1;
586 static gint ett_h225_TransportChannelInfo = -1;
587 static gint ett_h225_CarrierInfo = -1;
588 static gint ett_h225_InfoRequestResponseStatus = -1;
589 static gint ett_h225_CallIdentifier = -1;
590 static gint ett_h225_CallLinkage = -1;
591 static gint ett_h225_tokens = -1;
592 static gint ett_h225_AlternateGK = -1;
593 static gint ett_h225_alternateGatekeeper = -1;
594 static gint ett_h225_AltGKInfo = -1;
595 static gint ett_h225_annexE = -1;
596 static gint ett_h225_sctp = -1;
597 static gint ett_h225_AlternateTransportAddress = -1;
598 static gint ett_h225_UUIEsRequested = -1;
599 static gint ett_h225_Q954Details = -1;
600 static gint ett_h225_QseriesOptions = -1;
601 static gint ett_h225_associatedSessionIds = -1;
602 static gint ett_h225_RTPSession = -1;
603 static gint ett_h225_cryptoTokens = -1;
604 static gint ett_h225_StatusUUIE = -1;
605 static gint ett_h225_StatusInquiryUUIE = -1;
606 static gint ett_h225_SetupAcknowledgeUUIE = -1;
607 static gint ett_h225_NotifyUUIE = -1;
608 static gint ett_h225_GSMUIM = -1;
609 static gint ett_h225_systemid = -1;
610 static gint ett_h225_ANSI41UIM = -1;
611 static gint ett_h225_MobileUIM = -1;
612 static gint ett_h225_e164Number = -1;
613 static gint ett_h225_privateNumber = -1;
614 static gint ett_h225_PartyNumber = -1;
615 static gint ett_h225_TunnelledProtocolAlternateIdentifier = -1;
616 static gint ett_h225_AliasAddress = -1;
617 static gint ett_h225_SupportedPrefix = -1;
618 static gint ett_h225_SupportedPrefixes = -1;
619 static gint ett_h225_H310Caps = -1;
620 static gint ett_h225_H320Caps = -1;
621 static gint ett_h225_H321Caps = -1;
622 static gint ett_h225_H322Caps = -1;
623 static gint ett_h225_H323Caps = -1;
624 static gint ett_h225_H324Caps = -1;
625 static gint ett_h225_VoiceCaps = -1;
626 static gint ett_h225_T120OnlyCaps = -1;
627 static gint ett_h225_NonStandardProtocol = -1;
628 static gint ett_h225_SIPCaps = -1;
629 static gint ett_h225_AddressPattern_range = -1;
630 static gint ett_h225_AddressPattern = -1;
631 static gint ett_h225_ConferenceList = -1;
632 static gint ett_h225_conferences = -1;
633 static gint ett_h225_T38FaxAnnexbOnlyCaps = -1;
634 static gint ett_h225_SupportedProtocols = -1;
635 static gint ett_h225_protocol = -1;
636 static gint ett_h225_GatewayInfo = -1;
637 static gint ett_h225_McuInfo = -1;
638 static gint ett_h225_TunnelledProtocol_id = -1;
639 static gint ett_h225_TunnelledProtocol = -1;
640 static gint ett_h225_CicInfo_cic = -1;
641 static gint ett_h225_CicInfo = -1;
642 static gint ett_h225_GroupID_member = -1;
643 static gint ett_h225_GroupID = -1;
644 static gint ett_h225_CircuitIdentifier = -1;
645 static gint ett_h225_GenericIdentifier = -1;
646 static gint ett_h225_EnumeratedParameter = -1;
647 static gint ett_h225_parameters = -1;
648 static gint ett_h225_GenericData = -1;
649 static gint ett_h225_Content = -1;
650 static gint ett_h225_Content_compound = -1;
651 static gint ett_h225_Content_nested = -1;
652 static gint ett_h225_neededFeatures = -1;
653 static gint ett_h225_desiredFeatures = -1;
654 static gint ett_h225_supportedFeatures = -1;
655 static gint ett_h225_FeatureSet = -1;
656 static gint ett_h225_CallsAvailable = -1;
657 static gint ett_h225_voiceGwCallsAvailable = -1;
658 static gint ett_h225_h310GwCallsAvailable = -1;
659 static gint ett_h225_h320GwCallsAvailable = -1;
660 static gint ett_h225_h321GwCallsAvailable = -1;
661 static gint ett_h225_h322GwCallsAvailable = -1;
662 static gint ett_h225_h323GwCallsAvailable = -1;
663 static gint ett_h225_h324GwCallsAvailable = -1;
664 static gint ett_h225_t120OnlyGwCallsAvailable = -1;
665 static gint ett_h225_t38FaxAnnexbOnlyGwCallsAvailable = -1;
666 static gint ett_h225_terminalCallsAvailable = -1;
667 static gint ett_h225_mcuCallsAvailable = -1;
668 static gint ett_h225_sipGwCallsAvailable = -1;
669 static gint ett_h225_CallCapacityInfo = -1;
670 static gint ett_h225_CallCapacity = -1;
671 static gint ett_h225_VendorIdentifier = -1;
672 static gint ett_h225_CapacityReportingCapability = -1;
673 static gint ett_h225_CallCreditCapability = -1;
674 static gint ett_h225_BandwidthDetails = -1;
675 static gint ett_h225_CallTerminationCause = -1;
676 static gint ett_h225_CircuitInfo = -1;
677 static gint ett_h225_genericData = -1;
678 static gint ett_h225_fastStart = -1;
679 static gint ett_h225_InformationUUIE = -1;
680 static gint ett_h225_routeCallToSCN = -1;
681 static gint ett_h225_AdmissionRejectReason = -1;
682 static gint ett_h225_EncryptIntAlg = -1;
683 static gint ett_h225_NonIsoIntegrityMechanism = -1;
684 static gint ett_h225_IntegrityMechanism = -1;
685 static gint ett_h225_LocationRejectReason = -1;
686 static gint ett_h225_EndPointType = -1;
687 static gint ett_h225_CallProceedingUUIE = -1;
688 static gint ett_h225_CapacityReportingSpecification_when = -1;
689 static gint ett_h225_CapacityReportingSpecification = -1;
690 static gint ett_h225_ProgressUUIE = -1;
691 static gint ett_h225_EndPoint = -1;
692 static gint ett_h225_destExtraCallInfo = -1;
693 static gint ett_h225_remoteExtensionAddress = -1;
694 static gint ett_h225_rasAddress_sequence = -1;
695 static gint ett_h225_callSignalAddress = -1;
696 static gint ett_h225_ICV = -1;
697 static gint ett_h225_BandwidthConfirm = -1;
698 static gint ett_h225_UnregistrationConfirm = -1;
699 static gint ett_h225_NonStandardMessage = -1;
700 static gint ett_h225_InfoRequestAck = -1;
701 static gint ett_h225_InfoRequestNak = -1;
702 static gint ett_h225_ResourcesAvailableConfirm = -1;
703 static gint ett_h225_GatekeeperRequest = -1;
704 static gint ett_h225_integrity = -1;
705 static gint ett_h225_algorithmOIDs = -1;
706 static gint ett_h225_alternateEndpoints = -1;
707 static gint ett_h225_endpointAlias = -1;
708 static gint ett_h225_ServiceControlResponse = -1;
709 static gint ett_h225_DisengageReject = -1;
710 static gint ett_h225_BandwidthReject = -1;
711 static gint ett_h225_UnregistrationReject = -1;
712 static gint ett_h225_UnregistrationRequest = -1;
713 static gint ett_h225_endpointAliasPattern = -1;
714 static gint ett_h225_RegistrationReject = -1;
715 static gint ett_h225_invalidTerminalAliases = -1;
716 static gint ett_h225_terminalAlias = -1;
717 static gint ett_h225_terminalAliasPattern = -1;
718 static gint ett_h225_RegistrationRejectReason = -1;
719 static gint ett_h225_duplicateAlias = -1;
720 static gint ett_h225_GatekeeperReject = -1;
721 static gint ett_h225_ResourcesAvailableIndicate = -1;
722 static gint ett_h225_protocols = -1;
723 static gint ett_h225_CallCreditServiceControl = -1;
724 static gint ett_h225_ExtendedAliasAddress = -1;
725 static gint ett_h225_UnknownMessageResponse = -1;
726 static gint ett_h225_AdmissionRequest = -1;
727 static gint ett_h225_desiredProtocols = -1;
728 static gint ett_h225_destAlternatives = -1;
729 static gint ett_h225_srcAlternatives = -1;
730 static gint ett_h225_srcInfo = -1;
731 static gint ett_h225_DestinationInfo = -1;
732 static gint ett_h225_InfoRequest = -1;
733 static gint ett_h225_RequestInProgress = -1;
734 static gint ett_h225_ServiceControlDescriptor = -1;
735 static gint ett_h225_ServiceControlSession = -1;
736 static gint ett_h225_AlertingUUIE = -1;
737 static gint ett_h225_serviceControl = -1;
738 static gint ett_h225_alertingAddress = -1;
739 static gint ett_h225_ReleaseCompleteUUIE = -1;
740 static gint ett_h225_busyAddress = -1;
741 static gint ett_h225_FacilityUUIE = -1;
742 static gint ett_h225_alternativeAliasAddress = -1;
743 static gint ett_h225_AdmissionReject = -1;
744 static gint ett_h225_parallelH245Control = -1;
745 static gint ett_h225_languages = -1;
746 static gint ett_h225_SetupUUIE = -1;
747 static gint ett_h225_sourceAddress = -1;
748 static gint ett_h225_destinationAddress = -1;
749 static gint ett_h225_destExtraCRV = -1;
750 static gint ett_h225_h245SecurityCapability = -1;
751 static gint ett_h225_additionalSourceAddresses = -1;
752 static gint ett_h225_ConnectUUIE = -1;
753 static gint ett_h225_connectedAddress = -1;
754 static gint ett_h225_h323_message_body = -1;
755 static gint ett_h225_LocationConfirm = -1;
756 static gint ett_h225_supportedProtocols = -1;
757 static gint ett_h225_modifiedSrcInfo = -1;
758 static gint ett_h225_LocationReject = -1;
759 static gint ett_h225_callSpecific = -1;
760 static gint ett_h225_ServiceControlIndication = -1;
761 static gint ett_h225_RasUsageInformation = -1;
762 static gint ett_h225_T_nonStandardUsageFields = -1;
763 static gint ett_h225_GatekeeperConfirm = -1;
764 static gint ett_h225_RegistrationRequest = -1;
765 static gint ett_h225_supportedH248Packages = -1;
766 static gint ett_h225_DisengageConfirm = -1;
767 static gint ett_h225_AdmissionConfirm = -1;
768 static gint ett_h225_usageSpec = -1;
769 static gint ett_h225_DisengageRequest = -1;
770 static gint ett_h225_LocationRequest = -1;
771 static gint ett_h225_SourceInfo = -1;
772 static gint ett_h225_sourceEndpointInfo = -1;
773 static gint ett_h225_BandwidthRequest = -1;
774 static gint ett_h225_bandwidthDetails = -1;
775 static gint ett_h225_admissionConfirmSequence = -1;
776 static gint ett_h225_tunnelledSignallingMessage = -1;
777 static gint ett_h225_messageContent = -1;
778 static gint ett_h225_H323_UU_PDU = -1;
779 static gint ett_h225_h4501SupplementaryService = -1;
780 static gint ett_h225_h245Control = -1;
781 static gint ett_h225_T_nonStandardControl = -1;
782 static gint ett_h225_preGrantedARQ = -1;
783 static gint ett_h225_RegistrationConfirm = -1;
784 static gint ett_h225_pdu_item = -1;
785 static gint ett_h225_pdu = -1;
786 static gint ett_h225_perCallInfo_item = -1;
787 static gint ett_h225_audio = -1;
788 static gint ett_h225_video = -1;
789 static gint ett_h225_data = -1;
790 static gint ett_h225_substituteConfIDs = -1;
791 static gint ett_h225_perCallInfo = -1;
792 static gint ett_h225_InfoRequestResponse = -1;
793 static gint ett_h225_RasMessage = -1;
794 static gint ett_h225_H323_UserInformation = -1;
795 static gint ett_h225_user_data = -1;
796 static gint ett_h225_H221NonStandard = -1;
797 static gint ett_h225_NonStandardIdentifier = -1;
798 static gint ett_h225_NonStandardParameter = -1;
799 static gint ett_h225_aliasAddress_sequence = -1;
802 /* Subdissector tables */
803 static dissector_table_t nsp_object_dissector_table;
804 static dissector_table_t nsp_h221_dissector_table;
805 static dissector_table_t tp_dissector_table;
808 static dissector_handle_t h245_handle=NULL;
809 static dissector_handle_t h245dg_handle=NULL;
810 static dissector_handle_t h4501_handle=NULL;
813 static dissector_handle_t nsp_handle;
814 static dissector_handle_t tp_handle;
816 static guint32 ipv4_address;
817 static guint32 ipv4_port;
818 static char object[256];
819 static guint32 t35CountryCode;
820 static guint32 t35Extension;
821 static guint32 manufacturerCode;
822 static guint32 h221NonStandard;
823 static char tpID[256];
825 static gboolean contains_faststart = FALSE;
827 static const true_false_string tfs_unsolicited_bit = {
828 "unsolicited bit is SET",
829 "unsolicited bit is NOT set"
832 static const true_false_string tfs_needResponse_bit = {
833 "needResponse bit is SET",
834 "needResponse bit is NOT set"
837 static const true_false_string tfs_originator_bit = {
838 "originator bit is SET",
839 "originator bit is NOT set"
842 static const true_false_string tfs_sent_bit = {
844 "sent bit is NOT set"
847 static const true_false_string tfs_useGKCallSignalAddressToAnswer_bit = {
848 "useGKCallSignalAddressToAnswer bit is SET",
849 "useGKCallSignalAddressToAnswer bit is NOT set"
852 static const true_false_string tfs_answerCall_bit = {
853 "answerCall bit is SET",
854 "answerCall bit is NOT set"
857 static const true_false_string tfs_useGKCallSignalAddressToMakeCall_bit = {
858 "useGKCallSignalAddressToMakeCall bit is SET",
859 "useGKCallSignalAddressToMakeCall bit is NOT set"
862 static const true_false_string tfs_makeCall_bit = {
863 "makeCall bit is SET",
864 "makeCall bit is NOT set"
867 static const true_false_string tfs_h245Tunneling_bit = {
868 "h245Tunneling bit is SET",
869 "h245Tunneling bit is NOT set"
872 static const true_false_string tfs_willRespondToIRR_bit = {
873 "willRespondToIRR bit is SET",
874 "willRespondToIRR bit is NOT set"
877 static const true_false_string tfs_keepAlive_bit = {
878 "keepAlive bit is SET",
879 "keepAlive bit is NOT set"
882 static const true_false_string tfs_discoveryComplete_bit = {
883 "discoveryComplete bit is SET",
884 "discoveryComplete bit is NOT set"
887 static const true_false_string tfs_answeredCall_bit = {
888 "answeredCall bit is SET",
889 "answeredCall bit is NOT set"
892 static const true_false_string tfs_canOverlapSend_bit = {
893 "canOverlapSend bit is SET",
894 "canOverlapSend bit is NOT set"
897 static const true_false_string tfs_mediaWaitForConnect_bit = {
898 "mediaWaitForConnect bit is SET",
899 "mediaWaitForConnect bit is NOT set"
902 static const true_false_string tfs_activeMC_bit = {
903 "activeMC bit is SET",
904 "activeMC bit is NOT set"
907 static const true_false_string tfs_canMapAlias_bit = {
908 "canMapAlias bit is SET",
909 "canMapAlias bit is NOT set"
912 static const true_false_string tfs_willSupplyUUIEs_bit = {
913 "willSupplyUUIEs bit is SET",
914 "willSupplyUUIEs bit is NOT set"
917 static const true_false_string tfs_canMapSrcAlias_bit = {
918 "canMapSrcAlias bit is SET",
919 "canMapSrcAlias bit is NOT set"
922 static const true_false_string tfs_enforceCallDurationLimit_bit = {
923 "enforceCallDurationLimit bit is SET",
924 "enforceCallDurationLimit bit is NOT set"
927 static const true_false_string tfs_almostOutOfResources_bit = {
928 "almostOutOfResources bit is SET",
929 "almostOutOfResources bit is NOT set"
932 static const true_false_string tfs_maintainConnection_bit = {
933 "maintainConnection bit is SET",
934 "maintainConnection bit is NOT set"
937 static const true_false_string tfs_multipleCalls_bit = {
938 "multipleCalls bit is SET",
939 "multipleCalls bit is NOT set"
942 static const true_false_string tfs_undefinedNode_bit = {
943 "undefinedNode bit is SET",
944 "undefinedNode bit is NOT set"
947 static const true_false_string tfs_mc_bit = {
953 static const true_false_string tfs_fastConnectRefused_bit = {
954 "fastConnectRefused bit is SET",
955 "fastConnectRefused bit is NOT set"
958 static const true_false_string tfs_BandwidthDetails_multicast_bit = {
959 "BandwidthDetails_multicast bit is SET",
960 "BandwidthDetails_multicast bit is NOT set"
963 static const true_false_string tfs_BandwidthDetails_sender_bit = {
964 "BandwidthDetails_sender bit is SET",
965 "BandwidthDetails_sender bit is NOT set"
968 static const true_false_string tfs_canEnforceDurationLimit_bit = {
969 "canEnforceDurationLimit bit is SET",
970 "canEnforceDurationLimit bit is NOT set"
973 static const true_false_string tfs_canDisplayAmountString_bit = {
974 "canDisplayAmountString bit is SET",
975 "canDisplayAmountString bit is NOT set"
978 static const true_false_string tfs_canReportCallCapacity_bit = {
979 "canReportCallCapacity bit is SET",
980 "canReportCallCapacity bit is NOT set"
983 static const true_false_string tfs_replacementFeatureSet_bit = {
984 "replacementFeatureSet bit is SET",
985 "replacementFeatureSet bit is NOT set"
988 static const true_false_string tfs_Content_bool_bit = {
989 "Content_bool bit is SET",
990 "Content_bool bit is NOT set"
993 static const true_false_string tfs_q957Full_bit = {
994 "q957Full bit is SET",
995 "q957Full bit is NOT set"
998 static const true_false_string tfs_q956Full_bit = {
999 "q956Full bit is SET",
1000 "q956Full bit is NOT set"
1003 static const true_false_string tfs_q955Full_bit = {
1004 "q955Full bit is SET",
1005 "q955Full bit is NOT set"
1008 static const true_false_string tfs_q953Full_bit = {
1009 "q953Full bit is SET",
1010 "q953Full bit is NOT set"
1013 static const true_false_string tfs_q952Full_bit = {
1014 "q952Full bit is SET",
1015 "q952Full bit is NOT set"
1018 static const true_false_string tfs_q951Full_bit = {
1019 "q951Full bit is SET",
1020 "q951Full bit is NOT set"
1023 static const true_false_string tfs_q932Full_bit = {
1024 "q932Full bit is SET",
1025 "q932Full bit is NOT set"
1028 static const true_false_string tfs_threePartyService_bit = {
1029 "threePartyService bit is SET",
1030 "threePartyService bit is NOT set"
1033 static const true_false_string tfs_conferenceCalling_bit = {
1034 "conferenceCalling bit is SET",
1035 "conferenceCalling bit is NOT set"
1038 static const true_false_string tfs_notify_bool_bit = {
1039 "notify_bool bit is SET",
1040 "notify_bool bit is NOT set"
1043 static const true_false_string tfs_setupAcknowledge_bool_bit = {
1044 "setupAcknowledge_bool bit is SET",
1045 "setupAcknowledge_bool bit is NOT set"
1048 static const true_false_string tfs_statusInquiry_bool_bit = {
1049 "statusInquiry_bool bit is SET",
1050 "statusInquiry_bool bit is NOT set"
1053 static const true_false_string tfs_status_bool_bit = {
1054 "status_bool bit is SET",
1055 "status_bool bit is NOT set"
1058 static const true_false_string tfs_empty_bool_bit = {
1059 "empty_bool bit is SET",
1060 "empty_bool bit is NOT set"
1063 static const true_false_string tfs_progress_bool_bit = {
1064 "progress_bool bit is SET",
1065 "progress_bool bit is NOT set"
1068 static const true_false_string tfs_facility_bool_bit = {
1069 "facility_bool bit is SET",
1070 "facility_bool bit is NOT set"
1073 static const true_false_string tfs_releaseComplete_bool_bit = {
1074 "releaseComplete_bool bit is SET",
1075 "releaseComplete_bool bit is NOT set"
1078 static const true_false_string tfs_information_bool_bit = {
1079 "information_bool bit is SET",
1080 "information_bool bit is NOT set"
1083 static const true_false_string tfs_alerting_bool_bit = {
1084 "alerting_bool bit is SET",
1085 "alerting_bool bit is NOT set"
1088 static const true_false_string tfs_connect_bool_bit = {
1089 "connect_bool bit is SET",
1090 "connect_bool bit is NOT set"
1093 static const true_false_string tfs_callProceeding_bool_bit = {
1094 "callProceeding_bool bit is SET",
1095 "callProceeding_bool bit is NOT set"
1098 static const true_false_string tfs_setup_bool_bit = {
1099 "setup_bool bit is SET",
1100 "setup_bool bit is NOT set"
1103 static const true_false_string tfs_altGKisPermanent_bit = {
1104 "altGKisPermanent bit is SET",
1105 "altGKisPermanent bit is NOT set"
1108 static const true_false_string tfs_needToRegister_bit = {
1109 "needToRegister bit is SET",
1110 "needToRegister bit is NOT set"
1115 static gboolean h225_reassembly = TRUE;
1120 dissect_h225_NULL(tvbuff_t *tvb _U_, int offset, packet_info *pinfo _U_, proto_tree *tree _U_)
1125 static const value_string PresentationIndicator_vals[] = {
1126 { 0, "presentationAllowed" },
1127 { 1, "presentationRestricted" },
1128 { 2, "addressNotAvailable" },
1131 static per_choice_t PresentationIndicator_choice[] = {
1132 { 0, "presentationAllowed", ASN1_EXTENSION_ROOT,
1134 { 1, "presentationRestricted", ASN1_EXTENSION_ROOT,
1136 { 2, "addressNotAvailable", ASN1_EXTENSION_ROOT,
1138 { 0, NULL, 0, NULL }
1141 dissect_h225_PresentationIndicator(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1143 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_PresentationIndicator, ett_h225_PresentationIndicator, PresentationIndicator_choice, "PresentationIndicator", NULL);
1148 static const value_string conferenceGoal_vals[] = {
1152 { 3, "capability-negotiation" },
1153 { 4, "callIndependentSupplementaryService" },
1156 static per_choice_t conferenceGoal_choice[] = {
1157 { 0, "create", ASN1_EXTENSION_ROOT,
1158 dissect_h225_NULL },
1159 { 1, "join", ASN1_EXTENSION_ROOT,
1160 dissect_h225_NULL },
1161 { 2, "invite", ASN1_EXTENSION_ROOT,
1162 dissect_h225_NULL },
1163 { 3, "capability-negotiation", ASN1_NOT_EXTENSION_ROOT,
1164 dissect_h225_NULL },
1165 { 4, "callIndependentSupplementaryService", ASN1_NOT_EXTENSION_ROOT,
1166 dissect_h225_NULL },
1167 { 0, NULL, 0, NULL }
1170 dissect_h225_conferenceGoal(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1172 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_conferenceGoal, ett_h225_conferenceGoal, conferenceGoal_choice, "conferenceGoal", NULL);
1177 static const value_string ScnConnectionType_vals[] = {
1180 { 2, "hybrid2x64" },
1182 { 4, "hybrid1536" },
1183 { 5, "hybrid1920" },
1187 static per_choice_t ScnConnectionType_choice[] = {
1188 { 0, "unknown", ASN1_EXTENSION_ROOT,
1189 dissect_h225_NULL },
1190 { 1, "bChannel", ASN1_EXTENSION_ROOT,
1191 dissect_h225_NULL },
1192 { 2, "hybrid2x64", ASN1_EXTENSION_ROOT,
1193 dissect_h225_NULL },
1194 { 3, "hybrid384", ASN1_EXTENSION_ROOT,
1195 dissect_h225_NULL },
1196 { 4, "hybrid1536", ASN1_EXTENSION_ROOT,
1197 dissect_h225_NULL },
1198 { 5, "hybrid1920", ASN1_EXTENSION_ROOT,
1199 dissect_h225_NULL },
1200 { 6, "multirate", ASN1_EXTENSION_ROOT,
1201 dissect_h225_NULL },
1202 { 0, NULL, 0, NULL }
1205 dissect_h225_ScnConnectionType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1207 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_ScnConnectionType, ett_h225_ScnConnectionType, ScnConnectionType_choice, "ScnConnectionType", NULL);
1212 static const value_string ScnConnectionAggregation_vals[] = {
1216 { 3, "bonded-mode1" },
1217 { 4, "bonded-mode2" },
1218 { 5, "bonded-mode3" },
1221 static per_choice_t ScnConnectionAggregation_choice[] = {
1222 { 0, "auto", ASN1_EXTENSION_ROOT,
1223 dissect_h225_NULL },
1224 { 1, "none", ASN1_EXTENSION_ROOT,
1225 dissect_h225_NULL },
1226 { 2, "h221", ASN1_EXTENSION_ROOT,
1227 dissect_h225_NULL },
1228 { 3, "bonded-mode1", ASN1_EXTENSION_ROOT,
1229 dissect_h225_NULL },
1230 { 4, "bonded-mode2", ASN1_EXTENSION_ROOT,
1231 dissect_h225_NULL },
1232 { 5, "bonded-mode3", ASN1_EXTENSION_ROOT,
1233 dissect_h225_NULL },
1234 { 0, NULL, 0, NULL }
1237 dissect_h225_ScnConnectionAggregation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1239 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_ScnConnectionAggregation, ett_h225_ScnConnectionAggregation, ScnConnectionAggregation_choice, "ScnConnectionAggregation", NULL);
1244 const value_string FacilityReason_vals[] = {
1245 { 0, "routeCallToGatekeeper" },
1246 { 1, "callForwarded" },
1247 { 2, "routeCallToMC" },
1248 { 3, "undefinedReason" },
1249 { 4, "conferenceListChoice" },
1253 { 8, "featureSetUpdate" },
1254 { 9, "forwardedElements" },
1255 { 10, "transportedInformation" },
1258 static per_choice_t FacilityReason_choice[] = {
1259 { 0, "routeCallToGatekeeper", ASN1_EXTENSION_ROOT,
1260 dissect_h225_NULL },
1261 { 1, "callForwarded", ASN1_EXTENSION_ROOT,
1262 dissect_h225_NULL },
1263 { 2, "routeCallToMC", ASN1_EXTENSION_ROOT,
1264 dissect_h225_NULL },
1265 { 3, "undefinedReason", ASN1_EXTENSION_ROOT,
1266 dissect_h225_NULL },
1267 { 4, "conferenceListChoice", ASN1_NOT_EXTENSION_ROOT,
1268 dissect_h225_NULL },
1269 { 5, "startH245", ASN1_NOT_EXTENSION_ROOT,
1270 dissect_h225_NULL },
1271 { 6, "noH245", ASN1_NOT_EXTENSION_ROOT,
1272 dissect_h225_NULL },
1273 { 7, "newTokens", ASN1_NOT_EXTENSION_ROOT,
1274 dissect_h225_NULL },
1275 { 8, "featureSetUpdate", ASN1_NOT_EXTENSION_ROOT,
1276 dissect_h225_NULL },
1277 { 9, "forwardedElements", ASN1_NOT_EXTENSION_ROOT,
1278 dissect_h225_NULL },
1279 { 10, "transportedInformation", ASN1_NOT_EXTENSION_ROOT,
1280 dissect_h225_NULL },
1281 { 0, NULL, 0, NULL }
1284 dissect_h225_FacilityReason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1288 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_FacilityReason, ett_h225_FacilityReason, FacilityReason_choice, "FacilityReason", &value);
1289 h225_pi.reason = value;
1295 static const value_string PublicTypeOfNumber_vals[] = {
1297 { 1, "internationalNumber" },
1298 { 2, "nationalNumber" },
1299 { 3, "networkSpecificNumber" },
1300 { 4, "subscriberNumber" },
1301 { 5, "abbreviatedNumber" },
1304 static per_choice_t PublicTypeOfNumber_choice[] = {
1305 { 0, "unknown", ASN1_EXTENSION_ROOT,
1306 dissect_h225_NULL },
1307 { 1, "internationalNumber", ASN1_EXTENSION_ROOT,
1308 dissect_h225_NULL },
1309 { 2, "nationalNumber", ASN1_EXTENSION_ROOT,
1310 dissect_h225_NULL },
1311 { 3, "networkSpecificNumber", ASN1_EXTENSION_ROOT,
1312 dissect_h225_NULL },
1313 { 4, "subscriberNumber", ASN1_EXTENSION_ROOT,
1314 dissect_h225_NULL },
1315 { 5, "abbreviatedNumber", ASN1_EXTENSION_ROOT,
1316 dissect_h225_NULL },
1317 { 0, NULL, 0, NULL }
1320 dissect_h225_PublicTypeOfNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1322 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_PublicTypeOfNumber, ett_h225_PublicTypeOfNumber, PublicTypeOfNumber_choice, "PublicTypeOfNumber", NULL);
1328 static const value_string PrivateTypeOfNumber_vals[] = {
1330 { 1, "level2RegionalNumber" },
1331 { 2, "level1RegionalNumber" },
1332 { 3, "pISNSpecificNumber" },
1333 { 4, "localNumber" },
1334 { 5, "abbreviatedNumber" },
1337 static per_choice_t PrivateTypeOfNumber_choice[] = {
1338 { 0, "unknown", ASN1_EXTENSION_ROOT,
1339 dissect_h225_NULL },
1340 { 1, "level2RegionalNumber", ASN1_EXTENSION_ROOT,
1341 dissect_h225_NULL },
1342 { 2, "level1RegionalNumber", ASN1_EXTENSION_ROOT,
1343 dissect_h225_NULL },
1344 { 3, "pISNSpecificNumber", ASN1_EXTENSION_ROOT,
1345 dissect_h225_NULL },
1346 { 4, "localNumber", ASN1_EXTENSION_ROOT,
1347 dissect_h225_NULL },
1348 { 5, "abbreviatedNumber", ASN1_EXTENSION_ROOT,
1349 dissect_h225_NULL },
1350 { 0, NULL, 0, NULL }
1353 dissect_h225_PrivateTypeOfNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1355 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_PrivateTypeOfNumber, ett_h225_PrivateTypeOfNumber, PrivateTypeOfNumber_choice, "PrivateTypeOfNumber", NULL);
1360 static const value_string UseSpecifiedTransport_vals[] = {
1366 static per_choice_t UseSpecifiedTransport_choice[] = {
1367 { 0, "tcp", ASN1_EXTENSION_ROOT,
1368 dissect_h225_NULL },
1369 { 1, "annexE", ASN1_EXTENSION_ROOT,
1370 dissect_h225_NULL },
1371 { 2, "sctp", ASN1_NOT_EXTENSION_ROOT,
1372 dissect_h225_NULL },
1373 { 0, NULL, 0, NULL }
1376 dissect_h225_UseSpecifiedTransport(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1378 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_UseSpecifiedTransport, ett_h225_UseSpecifiedTransport, UseSpecifiedTransport_choice, "UseSpecifiedTransport", NULL);
1384 static const value_string SecurityErrors_vals[] = {
1385 { 0, "securityWrongSyncTime" },
1386 { 1, "securityReplay" },
1387 { 2, "securityWrongGeneralID" },
1388 { 3, "securityWrongSendersID" },
1389 { 4, "securityIntegrityFailed" },
1390 { 5, "securityWrongOID" },
1391 { 6, "securityDHmismatch" },
1392 { 7, "securityCertificateExpired" },
1393 { 8, "securityCertificateDateInvalid" },
1394 { 9, "securityCertificateRevoked" },
1395 { 10, "securityCertificateNotReadable" },
1396 { 11, "securityCertificateSignatureInvalid" },
1397 { 12, "securityCertificateMissing" },
1398 { 13, "securityCertificateIncomplete" },
1399 { 14, "securityUnsupportedCertificateAlgOID" },
1400 { 15, "securityUnknownCA" },
1403 static per_choice_t SecurityErrors_choice[] = {
1404 { 0, "securityWrongSyncTime", ASN1_EXTENSION_ROOT,
1405 dissect_h225_NULL },
1406 { 1, "securityReplay", ASN1_EXTENSION_ROOT,
1407 dissect_h225_NULL },
1408 { 2, "securityWrongGeneralID", ASN1_EXTENSION_ROOT,
1409 dissect_h225_NULL },
1410 { 3, "securityWrongSendersID", ASN1_EXTENSION_ROOT,
1411 dissect_h225_NULL },
1412 { 4, "securityIntegrityFailed", ASN1_EXTENSION_ROOT,
1413 dissect_h225_NULL },
1414 { 5, "securityWrongOID", ASN1_EXTENSION_ROOT,
1415 dissect_h225_NULL },
1416 { 6, "securityDHmismatch", ASN1_EXTENSION_ROOT,
1417 dissect_h225_NULL },
1418 { 7, "securityCertificateExpired", ASN1_EXTENSION_ROOT,
1419 dissect_h225_NULL },
1420 { 8, "securityCertificateDateInvalid", ASN1_EXTENSION_ROOT,
1421 dissect_h225_NULL },
1422 { 9, "securityCertificateRevoked", ASN1_EXTENSION_ROOT,
1423 dissect_h225_NULL },
1424 { 10, "securityCertificateNotReadable", ASN1_EXTENSION_ROOT,
1425 dissect_h225_NULL },
1426 { 11, "securityCertificateSignatureInvalid", ASN1_EXTENSION_ROOT,
1427 dissect_h225_NULL },
1428 { 12, "securityCertificateMissing", ASN1_EXTENSION_ROOT,
1429 dissect_h225_NULL },
1430 { 13, "securityCertificateIncomplete", ASN1_EXTENSION_ROOT,
1431 dissect_h225_NULL },
1432 { 14, "securityUnsupportedCertificateAlgOID", ASN1_EXTENSION_ROOT,
1433 dissect_h225_NULL },
1434 { 15, "securityUnknownCA", ASN1_EXTENSION_ROOT,
1435 dissect_h225_NULL },
1436 { 0, NULL, 0, NULL }
1439 dissect_h225_SecurityErrors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1441 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_SecurityErrors, ett_h225_SecurityErrors, SecurityErrors_choice, "SecurityErrors", NULL);
1447 static const value_string SecurityErrors2_vals[] = {
1448 { 0, "securityWrongSyncTime" },
1449 { 1, "securityReplay" },
1450 { 2, "securityWrongGeneralID" },
1451 { 3, "securityWrongSendersID" },
1452 { 4, "securityIntegrityFailed" },
1453 { 5, "securityWrongOID" },
1456 static per_choice_t SecurityErrors2_choice[] = {
1457 { 0, "securityWrongSyncTime", ASN1_EXTENSION_ROOT,
1458 dissect_h225_NULL },
1459 { 1, "securityReplay", ASN1_EXTENSION_ROOT,
1460 dissect_h225_NULL },
1461 { 2, "securityWrongGeneralID", ASN1_EXTENSION_ROOT,
1462 dissect_h225_NULL },
1463 { 3, "securityWrongSendersID", ASN1_EXTENSION_ROOT,
1464 dissect_h225_NULL },
1465 { 4, "securityIntegrityFailed", ASN1_EXTENSION_ROOT,
1466 dissect_h225_NULL },
1467 { 5, "securityWrongOID", ASN1_EXTENSION_ROOT,
1468 dissect_h225_NULL },
1469 { 0, NULL, 0, NULL }
1472 dissect_h225_SecurityErrors2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1474 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_SecurityErrors2, ett_h225_SecurityErrors2, SecurityErrors2_choice, "SecurityErrors2", NULL);
1479 static const value_string ServiceControlSession_reason_vals[] = {
1485 static per_choice_t ServiceControlSession_reason_choice[] = {
1486 { 0, "open", ASN1_EXTENSION_ROOT,
1487 dissect_h225_NULL },
1488 { 1, "refresh", ASN1_EXTENSION_ROOT,
1489 dissect_h225_NULL },
1490 { 2, "close", ASN1_EXTENSION_ROOT,
1491 dissect_h225_NULL },
1492 { 0, NULL, 0, NULL }
1495 dissect_h225_ServiceControlSession_reason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1497 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_ServiceControlSession_reason, ett_h225_ServiceControlSession_reason, ServiceControlSession_reason_choice, "ServiceControlSession_reason", NULL);
1503 static const value_string billingMode_vals[] = {
1508 static per_choice_t billingMode_choice[] = {
1509 { 0, "credit", ASN1_EXTENSION_ROOT,
1510 dissect_h225_NULL },
1511 { 1, "debit", ASN1_EXTENSION_ROOT,
1512 dissect_h225_NULL },
1513 { 0, NULL, 0, NULL }
1516 dissect_h225_billingMode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1518 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_billingMode, ett_h225_billingMode, billingMode_choice, "billingMode", NULL);
1524 static const value_string CCSCcallStartingPoint_vals[] = {
1529 static per_choice_t CCSCcallStartingPoint_choice[] = {
1530 { 0, "alerting", ASN1_EXTENSION_ROOT,
1531 dissect_h225_NULL },
1532 { 1, "connect", ASN1_EXTENSION_ROOT,
1533 dissect_h225_NULL },
1534 { 0, NULL, 0, NULL }
1537 dissect_h225_CCSCcallStartingPoint(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1539 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_CCSCcallStartingPoint, ett_h225_CCSCcallStartingPoint, CCSCcallStartingPoint_choice, "CCSCcallStartingPoint", NULL);
1545 const value_string GatekeeperRejectReason_vals[] = {
1546 { 0, "resourceUnavailable" },
1547 { 1, "terminalExcluded" },
1548 { 2, "invalidRevision" },
1549 { 3, "undefinedReason" },
1550 { 4, "securityDenial" },
1551 { 5, "genericDataReason" },
1552 { 6, "neededFeatureNotSupported" },
1553 { 7, "securityError" },
1556 static per_choice_t GatekeeperRejectReason_choice[] = {
1557 { 0, "resourceUnavailable", ASN1_EXTENSION_ROOT,
1558 dissect_h225_NULL },
1559 { 1, "terminalExcluded", ASN1_EXTENSION_ROOT,
1560 dissect_h225_NULL },
1561 { 2, "invalidRevision", ASN1_EXTENSION_ROOT,
1562 dissect_h225_NULL },
1563 { 3, "undefinedReason", ASN1_EXTENSION_ROOT,
1564 dissect_h225_NULL },
1565 { 4, "securityDenial", ASN1_NOT_EXTENSION_ROOT,
1566 dissect_h225_NULL },
1567 { 5, "genericDataReason", ASN1_NOT_EXTENSION_ROOT,
1568 dissect_h225_NULL },
1569 { 6, "neededFeatureNotSupported", ASN1_NOT_EXTENSION_ROOT,
1570 dissect_h225_NULL },
1571 { 7, "securityError", ASN1_NOT_EXTENSION_ROOT,
1572 dissect_h225_SecurityErrors },
1573 { 0, NULL, 0, NULL }
1576 dissect_h225_GatekeeperRejectReason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1580 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_GatekeeperRejectReason, ett_h225_GatekeeperRejectReason, GatekeeperRejectReason_choice, "GatekeeperRejectReason", &value);
1581 h225_pi.reason = value;
1587 const value_string UnregRequestReason_vals[] = {
1588 { 0, "reregistrationRequired" },
1589 { 1, "ttlExpired" },
1590 { 2, "securityDenial" },
1591 { 3, "undefinedReason" },
1592 { 4, "maintenance" },
1593 { 5, "securityError" },
1596 static per_choice_t UnregRequestReason_choice[] = {
1597 { 0, "reregistrationRequired", ASN1_EXTENSION_ROOT,
1598 dissect_h225_NULL },
1599 { 1, "ttlExpired", ASN1_EXTENSION_ROOT,
1600 dissect_h225_NULL },
1601 { 2, "securityDenial", ASN1_EXTENSION_ROOT,
1602 dissect_h225_NULL },
1603 { 3, "undefinedReason", ASN1_EXTENSION_ROOT,
1604 dissect_h225_NULL },
1605 { 4, "maintenance", ASN1_NOT_EXTENSION_ROOT,
1606 dissect_h225_NULL },
1607 { 5, "securityError", ASN1_NOT_EXTENSION_ROOT,
1608 dissect_h225_SecurityErrors2 },
1609 { 0, NULL, 0, NULL }
1612 dissect_h225_UnregRequestReason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1616 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_UnregRequestReason, ett_h225_UnregRequestReason, UnregRequestReason_choice, "UnregRequestReason", &value);
1617 h225_pi.reason = value;
1623 const value_string UnregRejectReason_vals[] = {
1624 { 0, "notCurrentlyRegistered" },
1625 { 1, "callInProgress" },
1626 { 2, "undefinedReason" },
1627 { 3, "permissionDenied" },
1628 { 4, "securityDenial" },
1629 { 5, "securityError" },
1632 static per_choice_t UnregRejectReason_choice[] = {
1633 { 0, "notCurrentlyRegistered", ASN1_EXTENSION_ROOT,
1634 dissect_h225_NULL },
1635 { 1, "callInProgress", ASN1_EXTENSION_ROOT,
1636 dissect_h225_NULL },
1637 { 2, "undefinedReason", ASN1_EXTENSION_ROOT,
1638 dissect_h225_NULL },
1639 { 3, "permissionDenied", ASN1_NOT_EXTENSION_ROOT,
1640 dissect_h225_NULL },
1641 { 4, "securityDenial", ASN1_NOT_EXTENSION_ROOT,
1642 dissect_h225_NULL },
1643 { 5, "securityError", ASN1_NOT_EXTENSION_ROOT,
1644 dissect_h225_SecurityErrors2 },
1645 { 0, NULL, 0, NULL }
1648 dissect_h225_UnregRejectReason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1652 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_UnregRejectReason, ett_h225_UnregRejectReason, UnregRejectReason_choice, "UnregRejectReason", &value);
1653 h225_pi.reason = value;
1659 static const value_string CallType_vals[] = {
1660 { 0, "pointToPoint" },
1666 static per_choice_t CallType_choice[] = {
1667 { 0, "pointToPoint", ASN1_EXTENSION_ROOT,
1668 dissect_h225_NULL },
1669 { 1, "oneToN", ASN1_EXTENSION_ROOT,
1670 dissect_h225_NULL },
1671 { 2, "nToOne", ASN1_EXTENSION_ROOT,
1672 dissect_h225_NULL },
1673 { 3, "nToN", ASN1_EXTENSION_ROOT,
1674 dissect_h225_NULL },
1675 { 0, NULL, 0, NULL }
1678 dissect_h225_CallType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1680 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_CallType, ett_h225_CallType, CallType_choice, "CallType", NULL);
1685 static const value_string CallModel_vals[] = {
1687 { 1, "gatekeeperRouted" },
1690 static per_choice_t CallModel_choice[] = {
1691 { 0, "direct", ASN1_EXTENSION_ROOT,
1692 dissect_h225_NULL },
1693 { 1, "gatekeeperRouted", ASN1_EXTENSION_ROOT,
1694 dissect_h225_NULL },
1695 { 0, NULL, 0, NULL }
1698 dissect_h225_CallModel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1700 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_CallModel, ett_h225_CallModel, CallModel_choice, "CallModel", NULL);
1706 static const value_string TransportQOS_vals[] = {
1707 { 0, "endpointControlled" },
1708 { 1, "gatekeeperControlled" },
1712 static per_choice_t TransportQOS_choice[] = {
1713 { 0, "endpointControlled", ASN1_EXTENSION_ROOT,
1714 dissect_h225_NULL },
1715 { 1, "gatekeeperControlled", ASN1_EXTENSION_ROOT,
1716 dissect_h225_NULL },
1717 { 2, "noControl", ASN1_EXTENSION_ROOT,
1718 dissect_h225_NULL },
1719 { 0, NULL, 0, NULL }
1722 dissect_h225_TransportQOS(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1724 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_TransportQOS, ett_h225_TransportQOS, TransportQOS_choice, "TransportQOS", NULL);
1729 const value_string BandRejectReason_vals[] = {
1731 { 1, "invalidConferenceID" },
1732 { 2, "invalidPermission" },
1733 { 3, "insufficientResources" },
1734 { 4, "invalidRevision" },
1735 { 5, "undefinedReason" },
1736 { 6, "securityDenial" },
1737 { 7, "securityError" },
1740 static per_choice_t BandRejectReason_choice[] = {
1741 { 0, "notBound", ASN1_EXTENSION_ROOT,
1742 dissect_h225_NULL },
1743 { 1, "invalidConferenceID", ASN1_EXTENSION_ROOT,
1744 dissect_h225_NULL },
1745 { 2, "invalidPermission", ASN1_EXTENSION_ROOT,
1746 dissect_h225_NULL },
1747 { 3, "insufficientResources", ASN1_EXTENSION_ROOT,
1748 dissect_h225_NULL },
1749 { 4, "invalidRevision", ASN1_EXTENSION_ROOT,
1750 dissect_h225_NULL },
1751 { 5, "undefinedReason", ASN1_EXTENSION_ROOT,
1752 dissect_h225_NULL },
1753 { 6, "securityDenial", ASN1_NOT_EXTENSION_ROOT,
1754 dissect_h225_NULL },
1755 { 7, "securityError", ASN1_NOT_EXTENSION_ROOT,
1756 dissect_h225_SecurityErrors2 },
1757 { 0, NULL, 0, NULL }
1760 dissect_h225_BandRejectReason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1764 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_BandRejectReason, ett_h225_BandRejectReason, BandRejectReason_choice, "BandRejectReason", &value);
1765 h225_pi.reason = value;
1771 const value_string DisengageReason_vals[] = {
1772 { 0, "forcedDrop" },
1773 { 1, "normalDrop" },
1774 { 2, "undefinedReason" },
1777 static per_choice_t DisengageReason_choice[] = {
1778 { 0, "forcedDrop", ASN1_EXTENSION_ROOT,
1779 dissect_h225_NULL },
1780 { 1, "normalDrop", ASN1_EXTENSION_ROOT,
1781 dissect_h225_NULL },
1782 { 2, "undefinedReason", ASN1_EXTENSION_ROOT,
1783 dissect_h225_NULL },
1784 { 0, NULL, 0, NULL }
1787 dissect_h225_DisengageReason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1791 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_DisengageReason, ett_h225_DisengageReason, DisengageReason_choice, "DisengageReason", &value);
1792 h225_pi.reason = value;
1798 const value_string DisengageRejectReason_vals[] = {
1799 { 0, "notRegistered" },
1800 { 1, "requestToDropOther" },
1801 { 2, "securityDenial" },
1802 { 3, "securityError" },
1805 static per_choice_t DisengageRejectReason_choice[] = {
1806 { 0, "notRegistered", ASN1_EXTENSION_ROOT,
1807 dissect_h225_NULL },
1808 { 1, "requestToDropOther", ASN1_EXTENSION_ROOT,
1809 dissect_h225_NULL },
1810 { 2, "securityDenial", ASN1_NOT_EXTENSION_ROOT,
1811 dissect_h225_NULL },
1812 { 3, "securityError", ASN1_NOT_EXTENSION_ROOT,
1813 dissect_h225_SecurityErrors2 },
1814 { 0, NULL, 0, NULL }
1817 dissect_h225_DisengageRejectReason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1821 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_DisengageRejectReason, ett_h225_DisengageRejectReason, DisengageRejectReason_choice, "DisengageRejectReason", &value);
1822 h225_pi.reason = value;
1829 const value_string InfoRequestNakReason_vals[] = {
1830 { 0, "notRegistered" },
1831 { 1, "securityDenial" },
1832 { 2, "undefinedReason" },
1833 { 3, "securityError" },
1836 static per_choice_t InfoRequestNakReason_choice[] = {
1837 { 0, "notRegistered", ASN1_EXTENSION_ROOT,
1838 dissect_h225_NULL },
1839 { 1, "securityDenial", ASN1_EXTENSION_ROOT,
1840 dissect_h225_NULL },
1841 { 2, "undefinedReason", ASN1_EXTENSION_ROOT,
1842 dissect_h225_NULL },
1843 { 3, "securityError", ASN1_NOT_EXTENSION_ROOT,
1844 dissect_h225_SecurityErrors2 },
1845 { 0, NULL, 0, NULL }
1848 dissect_h225_InfoRequestNakReason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1852 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_InfoRequestNakReason, ett_h225_InfoRequestNakReason, InfoRequestNakReason_choice, "InfoRequestNakReason", &value);
1853 h225_pi.reason = value;
1859 static const value_string SCRresult_vals[] = {
1863 { 3, "notAvailable" },
1864 { 4, "neededFeatureNotSupported" },
1867 static per_choice_t SCRresult_choice[] = {
1868 { 0, "started", ASN1_EXTENSION_ROOT,
1869 dissect_h225_NULL },
1870 { 1, "failed", ASN1_EXTENSION_ROOT,
1871 dissect_h225_NULL },
1872 { 2, "stopped", ASN1_EXTENSION_ROOT,
1873 dissect_h225_NULL },
1874 { 3, "notAvailable", ASN1_EXTENSION_ROOT,
1875 dissect_h225_NULL },
1876 { 4, "neededFeatureNotSupported", ASN1_EXTENSION_ROOT,
1877 dissect_h225_NULL },
1878 { 0, NULL, 0, NULL }
1881 dissect_h225_SCRresult(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1883 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_SCRresult, ett_h225_SCRresult, SCRresult_choice, "SCRresult", NULL);
1888 dissect_h225_object(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1890 offset = dissect_per_object_identifier(tvb, offset, pinfo, tree,
1897 dissect_h225_t35CountryCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1899 offset = dissect_per_constrained_integer(tvb, offset, pinfo, tree,
1900 hf_h225_t35CountryCode, 0, 255,
1901 &t35CountryCode, NULL, FALSE);
1907 dissect_h225_t35Extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1909 offset = dissect_per_constrained_integer(tvb, offset, pinfo, tree,
1910 hf_h225_t35Extension, 0, 255,
1911 &t35Extension, NULL, FALSE);
1916 dissect_h225_manufacturerCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1918 offset = dissect_per_constrained_integer(tvb, offset, pinfo, tree,
1919 hf_h225_manufacturerCode, 0, 65535,
1920 &manufacturerCode, NULL, FALSE);
1924 static per_sequence_t H221NonStandard_sequence[] = {
1925 { "t35CountryCode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
1926 dissect_h225_t35CountryCode },
1927 { "t35Extension", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
1928 dissect_h225_t35Extension },
1929 { "manufacturerCode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
1930 dissect_h225_manufacturerCode },
1931 { NULL, 0, 0, NULL }
1934 dissect_h225_h221NonStandard(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1938 manufacturerCode = 0;
1940 offset = dissect_per_sequence(tvb, offset, pinfo, tree,
1941 hf_h225_h221NonStandard,
1942 ett_h225_H221NonStandard, H221NonStandard_sequence);
1944 h221NonStandard = ((t35CountryCode * 256) + t35Extension) * 65536 + manufacturerCode;
1946 proto_tree_add_uint(tree, hf_h221Manufacturer, tvb, (offset>>3)-4,4,h221NonStandard);
1951 static const value_string NonStandardIdentifier_vals[] = {
1953 { 1, "h221NonStandard" },
1956 static per_choice_t NonStandardIdentifier_choice[] = {
1957 { 0, "object", ASN1_EXTENSION_ROOT,
1958 dissect_h225_object },
1959 { 1, "h221NonStandard", ASN1_EXTENSION_ROOT,
1960 dissect_h225_h221NonStandard },
1961 { 0, NULL, 0, NULL }
1964 dissect_h225_nonStandardIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1969 h221NonStandard = 0;
1971 offset = dissect_per_choice(tvb, offset, pinfo, tree,
1972 hf_h225_nonStandardIdentifier,
1973 ett_h225_NonStandardIdentifier, NonStandardIdentifier_choice, "NonStandardIdentifier",
1977 case 0 : /* object */
1978 nsp_handle = dissector_get_string_handle(nsp_object_dissector_table, object);
1980 case 1 : /* h221NonStandard */
1981 nsp_handle = dissector_get_port_handle(nsp_h221_dissector_table, h221NonStandard);
1991 dissect_h225_nsp_data(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1993 guint32 value_offset, value_len;
1996 offset = dissect_per_octet_string(tvb, offset, pinfo, tree,
1997 hf_h225_nsp_data, -1, -1,
1998 &value_offset, &value_len);
2000 if (value_len > 0) {
2001 next_tvb = tvb_new_subset(tvb, value_offset, value_len, value_len);
2002 call_dissector((nsp_handle)?nsp_handle:data_handle, next_tvb, pinfo, tree);
2008 static per_sequence_t NonStandardParameter_sequence[] = {
2009 { "nonStandardIdentifier", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
2010 dissect_h225_nonStandardIdentifier },
2011 { "data", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
2012 dissect_h225_nsp_data },
2013 { NULL, 0, 0, NULL }
2017 dissect_h225_NonStandardParameter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index)
2021 offset = dissect_per_sequence(tvb, offset, pinfo, tree,
2023 ett_h225_NonStandardParameter, NonStandardParameter_sequence);
2030 dissect_h225_nonStandardData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2032 offset = dissect_h225_NonStandardParameter(tvb, offset, pinfo, tree,
2033 hf_h225_nonStandardData);
2037 static per_sequence_t GatekeeperInfo_sequence[] = {
2038 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2039 dissect_h225_nonStandardData },
2040 { NULL, 0, 0, NULL }
2043 dissect_h225_GatekeeperInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2045 offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_GatekeeperInfo, ett_h225_GatekeeperInfo, GatekeeperInfo_sequence);
2050 dissect_h225_nonStandard(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2052 offset = dissect_h225_NonStandardParameter(tvb, offset, pinfo, tree,
2053 hf_h225_nonStandard);
2057 static const value_string SecurityServiceMode_vals[] = {
2058 { 0, "nonStandard" },
2063 static per_choice_t SecurityServiceMode_choice[] = {
2064 { 0, "nonStandard", ASN1_EXTENSION_ROOT,
2065 dissect_h225_nonStandard },
2066 { 1, "none", ASN1_EXTENSION_ROOT,
2067 dissect_h225_NULL },
2068 { 2, "default", ASN1_EXTENSION_ROOT,
2069 dissect_h225_NULL },
2070 { 0, NULL, 0, NULL }
2073 dissect_h225_SecurityServiceMode_encryption(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2075 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_SecurityServiceMode_encryption, ett_h225_SecurityServiceMode_encryption, SecurityServiceMode_choice, "Encryption", NULL);
2079 dissect_h225_SecurityServiceMode_authentication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2081 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_SecurityServiceMode_authentication, ett_h225_SecurityServiceMode_authentication, SecurityServiceMode_choice, "Authentication", NULL);
2085 dissect_h225_SecurityServiceMode_integrity(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2087 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_SecurityServiceMode_integrity, ett_h225_SecurityServiceMode_integrity, SecurityServiceMode_choice, "Integrity", NULL);
2093 static per_sequence_t SecurityCapabilities_sequence[] = {
2094 { "nonStandard", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2095 dissect_h225_nonStandard },
2096 { "encryption", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
2097 dissect_h225_SecurityServiceMode_encryption },
2098 { "authenticaton", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
2099 dissect_h225_SecurityServiceMode_authentication },
2100 { "integrity", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
2101 dissect_h225_SecurityServiceMode_integrity },
2102 { NULL, 0, 0, NULL }
2105 dissect_h225_SecurityCapabilities_tls(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2107 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_SecurityCapabilities_tls, ett_h225_SecurityCapabilities_tls, SecurityCapabilities_sequence);
2111 dissect_h225_SecurityCapabilities_ipsec(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2113 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_SecurityCapabilities_ipsec, ett_h225_SecurityCapabilities_ipsec, SecurityCapabilities_sequence);
2120 static const value_string H245Security_vals[] = {
2121 { 0, "nonStandard" },
2122 { 1, "noSecurity" },
2127 static per_choice_t H245Security_choice[] = {
2128 { 0, "nonStandard", ASN1_EXTENSION_ROOT,
2129 dissect_h225_nonStandard },
2130 { 1, "noSecurity", ASN1_EXTENSION_ROOT,
2131 dissect_h225_NULL },
2132 { 2, "tls", ASN1_EXTENSION_ROOT,
2133 dissect_h225_SecurityCapabilities_tls },
2134 { 3, "ipsec", ASN1_EXTENSION_ROOT,
2135 dissect_h225_SecurityCapabilities_ipsec },
2136 { 0, NULL, 0, NULL }
2139 dissect_h225_H245Security(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2141 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_H245Security, ett_h225_H245Security, H245Security_choice, "H245Security", NULL);
2146 dissect_h225_nonStandardUsageTypes_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2148 offset = dissect_h225_NonStandardParameter(tvb, offset, pinfo, tree,
2149 hf_h225_nonStandardUsageTypes_item);
2154 dissect_h225_nonStandardUsageTypes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2156 offset = dissect_per_sequence_of(tvb, offset, pinfo, tree,
2157 hf_h225_nonStandardUsageTypes,
2158 ett_h225_T_nonStandardUsageTypes, dissect_h225_nonStandardUsageTypes_item);
2163 static per_sequence_t RasUsageInfoTypes_sequence[] = {
2164 { "nonStandardUsageTypes", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
2165 dissect_h225_nonStandardUsageTypes },
2166 { "startTime", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2167 dissect_h225_NULL },
2168 { "endTime", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2169 dissect_h225_NULL },
2170 { "terminationCause", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2171 dissect_h225_NULL },
2172 { NULL, 0, 0, NULL }
2175 dissect_h225_RasUsageInfoTypes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2177 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_RasUsageInfoTypes, ett_h225_RasUsageInfoTypes, RasUsageInfoTypes_sequence);
2181 dissect_h225_usageReportingCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2183 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_usageReportingCapability, ett_h225_RasUsageInfoTypes, RasUsageInfoTypes_sequence);
2190 dissect_h225_BandWidth(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2192 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
2193 tree, hf_h225_BandWidth, 0, 4294967295UL,
2201 dissect_h225_channelRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2203 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
2204 tree, hf_h225_channelRate, 0, 4294967295UL,
2212 dissect_h225_totalBandwidthRestriction(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2214 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
2215 tree, hf_h225_totalBandwidthRestriction, 0, 4294967295UL,
2222 dissect_h225_allowedBandWidth(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2224 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
2225 tree, hf_h225_allowedBandWidth, 0, 4294967295UL,
2233 dissect_h225_channelMultiplier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2235 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
2236 tree, hf_h225_channelMultiplier, 1, 256,
2242 static per_sequence_t DataRate_sequence[] = {
2243 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2244 dissect_h225_nonStandardData },
2245 { "channelRate", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
2246 dissect_h225_channelRate },
2247 { "channelMultiplier", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2248 dissect_h225_channelMultiplier },
2249 { NULL, 0, 0, NULL }
2252 dissect_h225_DataRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2254 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_DataRate, ett_h225_DataRate, DataRate_sequence);
2258 dissect_h225_gatewayDataRate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2260 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_gatewayDataRate, ett_h225_DataRate, DataRate_sequence);
2266 dissect_h225_dataRatesSupported(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2268 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_dataRatesSupported, ett_h225_dataRatesSupported, dissect_h225_DataRate );
2273 static per_sequence_t TerminalInfo_sequence[] = {
2274 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2275 dissect_h225_nonStandardData },
2276 { NULL, 0, 0, NULL }
2279 dissect_h225_TerminalInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2281 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_TerminalInfo, ett_h225_TerminalInfo, TerminalInfo_sequence);
2287 dissect_h225_h248Message(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2289 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_h248Message, -1, -1, NULL, NULL);
2294 static per_sequence_t StimulusControl_sequence[] = {
2295 { "nonStandard", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2296 dissect_h225_nonStandard },
2297 { "isText", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2298 dissect_h225_NULL },
2299 { "h248Message", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2300 dissect_h225_h248Message},
2301 { NULL, 0, 0, NULL }
2304 dissect_h225_StimulusControl(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2306 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_StimulusControl, ett_h225_StimulusControl, StimulusControl_sequence);
2314 dissect_h225_conferenceID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2316 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_conferenceID, 16, 16, NULL, NULL);
2323 dissect_h225_replaceWithConferenceInvite(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2325 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_replaceWithConferenceInvite, 16, 16, NULL, NULL);
2331 dissect_h225_nonStandardReason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2333 offset = dissect_h225_NonStandardParameter(tvb, offset, pinfo, tree,
2334 hf_h225_nonStandardReason);
2338 const value_string ReleaseCompleteReason_vals[] = {
2339 { 0, "noBandwidth" },
2340 { 1, "gatekeeperResources" },
2341 { 2, "unreachableDestination" },
2342 { 3, "destinationRejection" },
2343 { 4, "invalidRevision" },
2344 { 5, "noPermission" },
2345 { 6, "unreachableGatekeeper" },
2346 { 7, "gatewayResources" },
2347 { 8, "badFormatAddress" },
2348 { 9, "adaptiveBusy" },
2350 { 11, "undefinedReason" },
2351 { 12, "facilityCallDeflection" },
2352 { 13, "securityDenied" },
2353 { 14, "calledPartyNotRegistered" },
2354 { 15, "callerNotRegistered" },
2355 { 16, "newConnectionNeeded" },
2356 { 17, "nonStandardReason" },
2357 { 18, "replaceWithConferenceInvite" },
2358 { 19, "genericDataReason" },
2359 { 20, "neededFeatureNotSupported" },
2360 { 21, "tunnelledSignallingRejected" },
2361 { 22, "invalidCID" },
2362 { 23, "invalidCID" },
2363 { 24, "securityError" },
2364 { 25, "hopCountExceeded" },
2367 static per_choice_t ReleaseCompleteReason_choice[] = {
2368 { 0, "noBandwidth", ASN1_EXTENSION_ROOT,
2369 dissect_h225_NULL },
2370 { 1, "gatekeeperResources", ASN1_EXTENSION_ROOT,
2371 dissect_h225_NULL },
2372 { 2, "unreachableDestination", ASN1_EXTENSION_ROOT,
2373 dissect_h225_NULL },
2374 { 3, "destinationRejection", ASN1_EXTENSION_ROOT,
2375 dissect_h225_NULL },
2376 { 4, "invalidRevision", ASN1_EXTENSION_ROOT,
2377 dissect_h225_NULL },
2378 { 5, "noPermission", ASN1_EXTENSION_ROOT,
2379 dissect_h225_NULL },
2380 { 6, "unreachableGatekeeper", ASN1_EXTENSION_ROOT,
2381 dissect_h225_NULL },
2382 { 7, "gatewayResources", ASN1_EXTENSION_ROOT,
2383 dissect_h225_NULL },
2384 { 8, "badFormatAddress", ASN1_EXTENSION_ROOT,
2385 dissect_h225_NULL },
2386 { 9, "adaptiveBusy", ASN1_EXTENSION_ROOT,
2387 dissect_h225_NULL },
2388 { 10, "inConf", ASN1_EXTENSION_ROOT,
2389 dissect_h225_NULL },
2390 { 11, "undefinedReason", ASN1_EXTENSION_ROOT,
2391 dissect_h225_NULL },
2392 { 12, "facilityCallDeflection", ASN1_NOT_EXTENSION_ROOT,
2393 dissect_h225_NULL },
2394 { 13, "securityDenied", ASN1_NOT_EXTENSION_ROOT,
2395 dissect_h225_NULL },
2396 { 14, "calledPartyNotRegistered", ASN1_NOT_EXTENSION_ROOT,
2397 dissect_h225_NULL },
2398 { 15, "callerNotRegistered", ASN1_NOT_EXTENSION_ROOT,
2399 dissect_h225_NULL },
2400 { 16, "newConnectionNeeded", ASN1_NOT_EXTENSION_ROOT,
2401 dissect_h225_NULL },
2402 { 17, "nonStandardReason", ASN1_NOT_EXTENSION_ROOT,
2403 dissect_h225_nonStandardReason },
2404 { 18, "replaceWithConferenceInvite", ASN1_NOT_EXTENSION_ROOT,
2405 dissect_h225_replaceWithConferenceInvite },
2406 { 19, "genericDataReason", ASN1_NOT_EXTENSION_ROOT,
2407 dissect_h225_NULL },
2408 { 20, "neededFeatureNotSupported", ASN1_NOT_EXTENSION_ROOT,
2409 dissect_h225_NULL },
2410 { 21, "tunnelledSignallingRejected", ASN1_NOT_EXTENSION_ROOT,
2411 dissect_h225_NULL },
2412 { 22, "invalidCID", ASN1_NOT_EXTENSION_ROOT,
2413 dissect_h225_NULL },
2414 { 23, "invalidCID", ASN1_NOT_EXTENSION_ROOT,
2415 dissect_h225_NULL },
2416 { 24, "securityError", ASN1_NOT_EXTENSION_ROOT,
2417 dissect_h225_SecurityErrors },
2418 { 25, "hopCountExceeded", ASN1_NOT_EXTENSION_ROOT,
2419 dissect_h225_NULL },
2420 { 0, NULL, 0, NULL }
2423 dissect_h225_ReleaseCompleteReason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2427 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_ReleaseCompleteReason, ett_h225_ReleaseCompleteReason, ReleaseCompleteReason_choice, "ReleaseCompleteReason", &value);
2428 h225_pi.reason = value;
2435 dissect_h225_numberOfScnConnections(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2437 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
2438 tree, hf_h225_numberOfScnConnections, 0, 65535,
2443 static per_sequence_t connectionParameters_sequence[] = {
2444 { "connectionType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
2445 dissect_h225_ScnConnectionType },
2446 { "numberOfScnConnections", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
2447 dissect_h225_numberOfScnConnections },
2448 { "connectionAggregation", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
2449 dissect_h225_ScnConnectionAggregation },
2450 { NULL, 0, 0, NULL }
2453 dissect_h225_connectionParameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2455 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_connectionParameters, ett_h225_connectionParameters, connectionParameters_sequence);
2463 dissect_h225_RequestSeqNum(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2465 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
2466 tree, hf_h225_RequestSeqNum, 1, 65535,
2467 &(h225_pi.requestSeqNum), NULL, FALSE);
2471 static per_sequence_t RasUsageSpecification_when_sequence[] = {
2472 { "start", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2473 dissect_h225_NULL },
2474 { "end", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2475 dissect_h225_NULL },
2476 { "inIrr", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2477 dissect_h225_NULL },
2478 { NULL, 0, 0, NULL }
2481 dissect_h225_RasUsageSpecification_when(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2483 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_RasUsageSpecification_when, ett_h225_RasUsageSpecification_when, RasUsageSpecification_when_sequence);
2489 static per_sequence_t RasUsageSpecification_callStartingPoint_sequence[] = {
2490 { "alerting", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2491 dissect_h225_NULL },
2492 { "connect", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2493 dissect_h225_NULL },
2494 { NULL, 0, 0, NULL }
2497 dissect_h225_RasUsageSpecification_callStartingPoint(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2499 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_RasUsageSpecification_callStartingPoint, ett_h225_RasUsageSpecification_callStartingPoint, RasUsageSpecification_callStartingPoint_sequence);
2506 static per_sequence_t RasUsageSpecification_sequence[] = {
2507 { "when", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
2508 dissect_h225_RasUsageSpecification_when },
2509 { "callStartingPoint", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2510 dissect_h225_RasUsageSpecification_callStartingPoint },
2511 { "required", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
2512 dissect_h225_RasUsageInfoTypes },
2513 { NULL, 0, 0, NULL }
2516 dissect_h225_RasUsageSpecification(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2518 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_RasUsageSpecification, ett_h225_RasUsageSpecification, RasUsageSpecification_sequence);
2526 dissect_h225_ipAddress_ip(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree)
2530 offset=(offset&0xfffffff8)+8;
2532 tvb_memcpy(tvb, (guint8 *)&ipv4_address, offset>>3, 4);
2533 proto_tree_add_ipv4(tree, hf_h225_ipAddress_ip, tvb, offset>>3, 4, ipv4_address);
2541 dissect_h225_ipAddress_port(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2543 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
2544 tree, hf_h225_ipAddress_port, 0, 65535,
2545 &ipv4_port, NULL, FALSE);
2551 static per_sequence_t ipAddress_sequence[] = {
2552 { "ip", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
2553 dissect_h225_ipAddress_ip },
2554 { "port", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
2555 dissect_h225_ipAddress_port },
2556 { NULL, 0, 0, NULL }
2559 dissect_h225_ipAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2561 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_ipAddress, ett_h225_ipAddress, ipAddress_sequence);
2567 static const value_string routing_vals[] = {
2572 static per_choice_t routing_choice[] = {
2573 { 0, "strict", ASN1_EXTENSION_ROOT,
2574 dissect_h225_NULL },
2575 { 1, "loose", ASN1_EXTENSION_ROOT,
2576 dissect_h225_NULL },
2577 { 0, NULL, 0, NULL }
2580 dissect_h225_routing(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2582 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_routing, ett_h225_routing, routing_choice, "routing", NULL);
2590 dissect_h225_route(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2592 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_route, ett_h225_route, dissect_h225_ipAddress_ip );
2596 static per_sequence_t ipSourceRoute_sequence[] = {
2597 { "ip", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
2598 dissect_h225_ipAddress_ip },
2599 { "port", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
2600 dissect_h225_ipAddress_port },
2601 { "route", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
2602 dissect_h225_route },
2603 { "routing", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
2604 dissect_h225_routing },
2605 { NULL, 0, 0, NULL }
2608 dissect_h225_ipSourceRoute(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2610 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_ipSourceRoute, ett_h225_ipSourceRoute, ipSourceRoute_sequence);
2618 dissect_h225_ipxNode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2620 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_ipxNode, 6, 6, NULL, NULL);
2627 dissect_h225_ipxNetnum(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2629 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_ipxNetnum, 4, 4, NULL, NULL);
2635 dissect_h225_ipxPort(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2637 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_ipxPort, 2, 2, NULL, NULL);
2641 static per_sequence_t ipxAddress_sequence[] = {
2642 { "node", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
2643 dissect_h225_ipxNode },
2644 { "netnum", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
2645 dissect_h225_ipxNetnum },
2646 { "port", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
2647 dissect_h225_ipxPort },
2648 { NULL, 0, 0, NULL }
2651 dissect_h225_ipxAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2653 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_ipxAddress, ett_h225_ipxAddress, ipxAddress_sequence);
2659 dissect_h225_ipv6Address_ip(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2661 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_ipv6Address_ip, 16, 16, NULL, NULL);
2666 dissect_h225_ipv6Address_port(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2668 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
2669 tree, hf_h225_ipv6Address_port, 0, 65535,
2676 static per_sequence_t ip6Address_sequence[] = {
2677 { "ip", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
2678 dissect_h225_ipv6Address_ip },
2679 { "port", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
2680 dissect_h225_ipv6Address_port },
2681 { NULL, 0, 0, NULL }
2684 dissect_h225_ip6Address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2686 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_ip6Address, ett_h225_ip6Address, ip6Address_sequence);
2694 dissect_h225_netBios(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2696 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_netBios, 16, 16, NULL, NULL);
2704 dissect_h225_nsap(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2706 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_nsap, 1, 20, NULL, NULL);
2711 dissect_h225_nonStandardAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2713 offset = dissect_h225_NonStandardParameter(tvb, offset, pinfo, tree,
2714 hf_h225_nonStandardAddress);
2718 static const value_string TransportAddress_vals[] = {
2720 { 1, "ipSourceRoute" },
2721 { 2, "ipxAddress" },
2722 { 3, "ip6Address" },
2725 { 6, "nonStandardAddress" },
2728 static per_choice_t TransportAddress_choice[] = {
2729 { 0, "ipAddress", ASN1_EXTENSION_ROOT,
2730 dissect_h225_ipAddress },
2731 { 1, "ipSourceRoute", ASN1_EXTENSION_ROOT,
2732 dissect_h225_ipSourceRoute },
2733 { 2, "ipxAddress", ASN1_EXTENSION_ROOT,
2734 dissect_h225_ipxAddress },
2735 { 3, "ip6Address", ASN1_EXTENSION_ROOT,
2736 dissect_h225_ip6Address },
2737 { 4, "netBios", ASN1_EXTENSION_ROOT,
2738 dissect_h225_netBios },
2739 { 5, "nsap", ASN1_EXTENSION_ROOT,
2740 dissect_h225_nsap },
2741 { 6, "nonStandardAddress", ASN1_EXTENSION_ROOT,
2742 dissect_h225_nonStandardAddress },
2743 { 0, NULL, 0, NULL }
2746 dissect_h225_transportID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2748 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_transportID, ett_h225_TransportAddress, TransportAddress_choice, "transportID", NULL);
2752 dissect_h225_alternativeAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2754 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_alternativeAddress, ett_h225_TransportAddress, TransportAddress_choice, "alternativeAddress", NULL);
2758 dissect_h225_sourceCallSignalAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2760 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_sourceCallSignalAddress, ett_h225_TransportAddress, TransportAddress_choice, "sourceCallSignalAddress", NULL);
2764 dissect_h225_CallSignalAddress2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2766 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_CallSignalAddress2, ett_h225_TransportAddress, TransportAddress_choice, "CallSignalAddress2", NULL);
2770 dissect_h225_destCallSignalAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2772 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_destCallSignalAddress, ett_h225_TransportAddress, TransportAddress_choice, "destCallSignalAddress", NULL);
2776 /* this is an indication of where h245 is spoken, try to pick it up if
2777 it was ipv4 and register h245 there */
2779 dissect_h225_h245Address(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2784 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_h245Address, ett_h225_TransportAddress, TransportAddress_choice, "h245Address", NULL);
2786 if((!pinfo->fd->flags.visited) && ipv4_address!=0 && ipv4_port!=0 && h245_handle){
2788 conversation_t *conv=NULL;
2790 src_addr.type=AT_IPv4;
2792 src_addr.data=(const guint8 *)&ipv4_address;
2794 conv=find_conversation(&src_addr, &src_addr, PT_TCP, ipv4_port, ipv4_port, NO_ADDR_B|NO_PORT_B);
2796 conv=conversation_new(&src_addr, &src_addr, PT_TCP, ipv4_port, ipv4_port, NO_ADDR2|NO_PORT2);
2797 conversation_set_dissector(conv, h245_handle);
2803 dissect_h225_sendAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2805 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_sendAddress, ett_h225_TransportAddress, TransportAddress_choice, "sendAddress", NULL);
2809 dissect_h225_recvAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2811 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_recvAddress, ett_h225_TransportAddress, TransportAddress_choice, "recvAddress", NULL);
2815 dissect_h225_rasAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2817 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_rasAddress, ett_h225_TransportAddress, TransportAddress_choice, "rasAddress", NULL);
2821 dissect_h225_replyAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2823 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_replyAddress, ett_h225_TransportAddress, TransportAddress_choice, "replyAddress", NULL);
2827 dissect_h225_TransportAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2829 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_TransportAddress, ett_h225_TransportAddress, TransportAddress_choice, "TransportAddress", NULL);
2834 static per_sequence_t TransportChannelInfo_sequence[] = {
2835 { "sendAddress", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2836 dissect_h225_sendAddress },
2837 { "recvAddress", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2838 dissect_h225_recvAddress },
2839 { NULL, 0, 0, NULL }
2842 dissect_h225_rtpAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2844 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_rtpAddress, ett_h225_TransportChannelInfo, TransportChannelInfo_sequence);
2848 dissect_h225_rtcpAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2850 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_rtcpAddress, ett_h225_TransportChannelInfo, TransportChannelInfo_sequence);
2854 dissect_h225_h245(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2856 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_h245, ett_h225_TransportChannelInfo, TransportChannelInfo_sequence);
2860 dissect_h225_callSignaling(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2862 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_callSignaling, ett_h225_TransportChannelInfo, TransportChannelInfo_sequence);
2867 dissect_h225_carrierName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2869 offset=dissect_per_IA5String(tvb, offset, pinfo, tree, hf_h225_carrierName, 1, 128);
2876 dissect_h225_carrierIdentificationCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2878 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_carrierIdentificationCode, 3, 4, NULL, NULL);
2882 static per_sequence_t CarrierInfo_sequence[] = {
2883 { "carrierIdentificationCode", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2884 dissect_h225_carrierIdentificationCode },
2885 { "carrierName", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2886 dissect_h225_carrierName },
2887 { NULL, 0, 0, NULL }
2890 dissect_h225_CarrierInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2892 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_CarrierInfo, ett_h225_CarrierInfo, CarrierInfo_sequence);
2897 dissect_h225_segment(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2899 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
2900 tree, hf_h225_segment, 0, 65535,
2906 static const value_string InfoRequestResponseStatus_vals[] = {
2908 { 1, "incomplete" },
2910 { 3, "invalidCall" },
2913 static per_choice_t InfoRequestResponseStatus_choice[] = {
2914 { 0, "complete", ASN1_EXTENSION_ROOT,
2915 dissect_h225_NULL },
2916 { 1, "incomplete", ASN1_EXTENSION_ROOT,
2917 dissect_h225_NULL },
2918 { 2, "segment", ASN1_EXTENSION_ROOT,
2919 dissect_h225_segment },
2920 { 3, "invalidCall", ASN1_EXTENSION_ROOT,
2921 dissect_h225_NULL },
2922 { 0, NULL, 0, NULL }
2925 dissect_h225_InfoRequestResponseStatus(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2927 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_InfoRequestResponseStatus, ett_h225_InfoRequestResponseStatus, InfoRequestResponseStatus_choice, "InfoRequestResponseStatus", NULL);
2935 dissect_h225_guid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2937 guint32 value_length;
2938 guint32 value_offset;
2940 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_guid, 16, 16, &(value_offset), &(value_length));
2942 /* save call guid */
2943 tvb_memcpy(tvb, h225_pi.guid, value_offset, value_length);
2948 static per_sequence_t CallIdentifier_sequence[] = {
2949 { "guid", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
2950 dissect_h225_guid },
2951 { NULL, 0, 0, NULL }
2954 dissect_h225_CallIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2956 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_CallIdentifier, ett_h225_CallIdentifier, CallIdentifier_sequence);
2962 dissect_h225_globalCallId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2964 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_globalCallId, 16, 16, NULL, NULL);
2970 dissect_h225_threadId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2972 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_threadId, 16, 16, NULL, NULL);
2977 static per_sequence_t CallLinkage_sequence[] = {
2978 { "globalCallId", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2979 dissect_h225_globalCallId },
2980 { "threadId", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
2981 dissect_h225_threadId },
2982 { NULL, 0, 0, NULL }
2985 dissect_h225_CallLinkage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
2987 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_CallLinkage, ett_h225_CallLinkage, CallLinkage_sequence);
2994 dissect_h225_ClearToken(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2996 NOT_DECODED_YET("ClearToken");
3001 dissect_h225_tokens(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3003 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_tokens, ett_h225_tokens, dissect_h225_ClearToken);
3009 dissect_h225_needToRegister(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3011 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_needToRegister, NULL, NULL);
3016 dissect_h225_priority(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3018 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
3019 tree, hf_h225_priority, 0, 127,
3027 dissect_h225_GatekeeperIdentifier(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3029 offset=dissect_per_BMPString(tvb, offset, pinfo, tree, hf_h225_GatekeeperIdentifier, 1, 128);
3033 static per_sequence_t AlternateGK_sequence[] = {
3034 { "rasAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3035 dissect_h225_rasAddress },
3036 { "gatekeeperIdentifier", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3037 dissect_h225_GatekeeperIdentifier },
3038 { "needToRegister", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3039 dissect_h225_needToRegister },
3040 { "priority", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3041 dissect_h225_priority },
3042 { NULL, 0, 0, NULL }
3045 dissect_h225_AlternateGK(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3047 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_AlternateGK, ett_h225_AlternateGK, AlternateGK_sequence);
3052 dissect_h225_alternateGatekeeper(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3054 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_alternateGatekeeper, ett_h225_alternateGatekeeper, dissect_h225_AlternateGK);
3059 dissect_h225_altGKisPermanent(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3061 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_altGKisPermanent, NULL, NULL);
3065 static per_sequence_t AltGKInfo_sequence[] = {
3066 { "alternateGatekeeper", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3067 dissect_h225_alternateGatekeeper },
3068 { "altGKisPermanent", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3069 dissect_h225_altGKisPermanent },
3070 { NULL, 0, 0, NULL }
3073 dissect_h225_AltGKInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3075 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_AltGKInfo, ett_h225_AltGKInfo, AltGKInfo_sequence);
3080 dissect_h225_annexE(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3082 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_annexE, ett_h225_annexE, dissect_h225_TransportAddress);
3087 dissect_h225_sctp(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3089 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_sctp, ett_h225_sctp, dissect_h225_TransportAddress);
3092 static per_sequence_t AlternateTransportAddress_sequence[] = {
3093 { "annexE", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3094 dissect_h225_annexE },
3095 { "sctp", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
3096 dissect_h225_sctp },
3097 { NULL, 0, 0, NULL }
3100 dissect_h225_AlternateTransportAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3102 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_AlternateTransportAddress, ett_h225_AlternateTransportAddress, AlternateTransportAddress_sequence);
3107 dissect_h225_callProceeding_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3109 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_callProceeding_bool, NULL, NULL);
3113 dissect_h225_setup_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3115 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_setup_bool, NULL, NULL);
3119 dissect_h225_connect_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3121 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_connect_bool, NULL, NULL);
3125 dissect_h225_alerting_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3127 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_alerting_bool, NULL, NULL);
3131 dissect_h225_information_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3133 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_information_bool, NULL, NULL);
3137 dissect_h225_releaseComplete_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3139 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_releaseComplete_bool, NULL, NULL);
3143 dissect_h225_facility_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3145 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_facility_bool, NULL, NULL);
3149 dissect_h225_progress_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3151 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_progress_bool, NULL, NULL);
3155 dissect_h225_empty_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3157 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_empty_bool, NULL, NULL);
3161 dissect_h225_status_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3163 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_status_bool, NULL, NULL);
3167 dissect_h225_statusInquiry_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3169 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_statusInquiry_bool, NULL, NULL);
3173 dissect_h225_setupAcknowledge_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3175 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_setupAcknowledge_bool, NULL, NULL);
3179 dissect_h225_notify_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3181 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_notify_bool, NULL, NULL);
3186 static per_sequence_t UUIEsRequested_sequence[] = {
3187 { "setup", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3188 dissect_h225_setup_bool },
3189 { "callProceeding", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3190 dissect_h225_callProceeding_bool },
3191 { "connect", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3192 dissect_h225_connect_bool },
3193 { "alerting", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3194 dissect_h225_alerting_bool },
3195 { "information", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3196 dissect_h225_information_bool },
3197 { "releaseComplete", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3198 dissect_h225_releaseComplete_bool },
3199 { "facility", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3200 dissect_h225_facility_bool },
3201 { "progress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3202 dissect_h225_progress_bool },
3203 { "empty", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3204 dissect_h225_empty_bool },
3205 { "status", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3206 dissect_h225_status_bool },
3207 { "statusInquiry", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3208 dissect_h225_statusInquiry_bool },
3209 { "setupAcknowledge", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3210 dissect_h225_setupAcknowledge_bool },
3211 { "notify", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3212 dissect_h225_notify_bool },
3213 { NULL, 0, 0, NULL }
3216 dissect_h225_UUIEsRequested(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3218 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_UUIEsRequested, ett_h225_UUIEsRequested, UUIEsRequested_sequence);
3223 dissect_h225_conferenceCalling(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3225 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_conferenceCalling, NULL, NULL);
3232 dissect_h225_threePartyService(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3234 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_threePartyService, NULL, NULL);
3239 static per_sequence_t Q954Details_sequence[] = {
3240 { "conferenceCalling", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3241 dissect_h225_conferenceCalling },
3242 { "threePartyService", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3243 dissect_h225_threePartyService },
3244 { NULL, 0, 0, NULL }
3247 dissect_h225_Q954Info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3249 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_Q954Details, ett_h225_Q954Details, Q954Details_sequence);
3254 dissect_h225_q932Full(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3256 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_q932Full, NULL, NULL);
3262 dissect_h225_q951Full(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3264 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_q951Full, NULL, NULL);
3269 dissect_h225_q952Full(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3271 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_q952Full, NULL, NULL);
3276 dissect_h225_q953Full(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3278 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_q953Full, NULL, NULL);
3283 dissect_h225_q955Full(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3285 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_q955Full, NULL, NULL);
3290 dissect_h225_q956Full(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3292 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_q956Full, NULL, NULL);
3298 dissect_h225_q957Full(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3300 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_q957Full, NULL, NULL);
3304 static per_sequence_t QseriesOptions_sequence[] = {
3305 { "q932Full", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3306 dissect_h225_q932Full },
3307 { "q951Full", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3308 dissect_h225_q951Full },
3309 { "q952Full", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3310 dissect_h225_q952Full },
3311 { "q953Full", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3312 dissect_h225_q953Full },
3313 { "q955Full", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3314 dissect_h225_q955Full },
3315 { "q956Full", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3316 dissect_h225_q956Full },
3317 { "q957Full", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3318 dissect_h225_q957Full },
3319 { "q954Info", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3320 dissect_h225_Q954Info },
3321 { NULL, 0, 0, NULL }
3324 dissect_h225_callServices(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3326 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_QseriesOptions, ett_h225_QseriesOptions, QseriesOptions_sequence);
3331 dissect_h225_cname(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3333 offset=dissect_per_PrintableString(tvb, offset, pinfo, tree, hf_h225_cname, -1, -1);
3339 dissect_h225_ssrc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3341 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
3342 tree, hf_h225_ssrc, 1, 4294967295UL,
3349 dissect_h225_RTPsessionId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3351 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
3352 tree, hf_h225_RTPsessionId, 1, 255,
3358 dissect_h225_associatedSessionIds(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3360 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_associatedSessionIds, ett_h225_associatedSessionIds, dissect_h225_RTPsessionId);
3363 static per_sequence_t RTPSession_sequence[] = {
3364 { "rtpAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3365 dissect_h225_rtpAddress },
3366 { "rtcpAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3367 dissect_h225_rtcpAddress },
3368 { "cname", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3369 dissect_h225_cname },
3370 { "ssrc", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3371 dissect_h225_ssrc },
3372 { "sessionId", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3373 dissect_h225_RTPsessionId },
3374 { "associatedSessionIds", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3375 dissect_h225_associatedSessionIds },
3376 { "multicast", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
3377 dissect_h225_NULL },
3378 { "bandwidth", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
3379 dissect_h225_BandWidth },
3380 { NULL, 0, 0, NULL }
3383 dissect_h225_RTPSession(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3385 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_RTPSession, ett_h225_RTPSession, RTPSession_sequence);
3390 dissect_h225_CryptoH323Token(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3392 NOT_DECODED_YET("CryptoH323Token");
3398 dissect_h225_cryptoTokens(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3400 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_cryptoTokens, ett_h225_cryptoTokens, dissect_h225_CryptoH323Token);
3406 dissect_h225_ProtocolIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3408 offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h225_ProtocolIdentifier, NULL);
3412 static per_sequence_t StatusUUIE_sequence[] = {
3413 { "protocolIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3414 dissect_h225_ProtocolIdentifier },
3415 { "callIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3416 dissect_h225_CallIdentifier },
3417 { "tokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3418 dissect_h225_tokens },
3419 { "cryptoTokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3420 dissect_h225_cryptoTokens },
3421 { NULL, 0, 0, NULL }
3424 dissect_h225_StatusUUIE(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3426 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_StatusUUIE, ett_h225_StatusUUIE, StatusUUIE_sequence);
3429 static per_sequence_t StatusInquiryUUIE_sequence[] = {
3430 { "protocolIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3431 dissect_h225_ProtocolIdentifier },
3432 { "callIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3433 dissect_h225_CallIdentifier },
3434 { "tokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3435 dissect_h225_tokens },
3436 { "cryptoTokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3437 dissect_h225_cryptoTokens },
3438 { NULL, 0, 0, NULL }
3441 dissect_h225_StatusInquiryUUIE(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3443 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_StatusInquiryUUIE, ett_h225_StatusInquiryUUIE, StatusInquiryUUIE_sequence);
3446 static per_sequence_t SetupAcknowledgeUUIE_sequence[] = {
3447 { "protocolIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3448 dissect_h225_ProtocolIdentifier },
3449 { "callIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3450 dissect_h225_CallIdentifier },
3451 { "tokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3452 dissect_h225_tokens },
3453 { "cryptoTokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3454 dissect_h225_cryptoTokens },
3455 { NULL, 0, 0, NULL }
3458 dissect_h225_SetupAcknowledgeUUIE(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3460 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_SetupAcknowledgeUUIE, ett_h225_SetupAcknowledgeUUIE, SetupAcknowledgeUUIE_sequence);
3463 static per_sequence_t NotifyUUIE_sequence[] = {
3464 { "protocolIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3465 dissect_h225_ProtocolIdentifier },
3466 { "callIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3467 dissect_h225_CallIdentifier },
3468 { "tokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3469 dissect_h225_tokens },
3470 { "cryptoTokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3471 dissect_h225_cryptoTokens },
3472 { NULL, 0, 0, NULL }
3475 dissect_h225_NotifyUUIE(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3477 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_NotifyUUIE, ett_h225_NotifyUUIE, NotifyUUIE_sequence);
3482 dissect_h225_imsi(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3484 offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h225_imsi, 3, 16, "#*0123456789ABC", 15);
3491 dissect_h225_tmsi(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3493 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_tmsi, 1, 4, NULL, NULL);
3499 dissect_h225_msisdn(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3501 offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h225_msisdn, 3, 16, "#*0123456789ABC", 15);
3508 dissect_h225_imei(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3510 offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h225_imei, 15, 16, "#*0123456789ABC", 15);
3516 dissect_h225_hplmn(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3518 offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h225_hplmn, 1, 4, "#*0123456789ABC", 15);
3524 dissect_h225_vplmn(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3526 offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h225_vplmn, 1, 4, "#*0123456789ABC", 15);
3531 static per_sequence_t GSMUIM_sequence[] = {
3532 { "imsi", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3533 dissect_h225_imsi },
3534 { "tmsi", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3535 dissect_h225_tmsi },
3536 { "msisdn", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3537 dissect_h225_msisdn },
3538 { "imei", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3539 dissect_h225_imei },
3540 { "hplmn", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3541 dissect_h225_hplmn },
3542 { "vplmn", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3543 dissect_h225_vplmn },
3544 { NULL, 0, 0, NULL }
3547 dissect_h225_GSMUIM(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3549 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_GSMUIM, ett_h225_GSMUIM, GSMUIM_sequence);
3554 dissect_h225_sid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3556 offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h225_sid, 1, 4, "#*0123456789ABC", 15);
3562 dissect_h225_mid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3564 offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h225_mid, 1, 4, "#*0123456789ABC", 15);
3568 static const value_string systemid_vals[] = {
3573 static per_choice_t systemid_choice[] = {
3574 { 0, "sid", ASN1_EXTENSION_ROOT,
3576 { 1, "mid", ASN1_EXTENSION_ROOT,
3578 { 0, NULL, 0, NULL }
3581 dissect_h225_systemid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3583 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_systemid, ett_h225_systemid, systemid_choice, "systemid", NULL);
3590 dissect_h225_min(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3592 offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h225_mid, 3, 16, "#*0123456789ABC", 15);
3598 dissect_h225_mdn(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3600 offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h225_mdn, 3, 16, "#*0123456789ABC", 15);
3605 dissect_h225_esn(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3607 offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h225_esn, 16, 16, "#*0123456789ABC", 15);
3613 dissect_h225_mscid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3615 offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h225_mscid, 3, 16, "#*0123456789ABC", 15);
3622 dissect_h225_systemMyTypeCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3624 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_systemMyTypeCode, 1, 1, NULL, NULL);
3629 dissect_h225_systemAccessType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3631 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_systemAccessType, 1, 1, NULL, NULL);
3636 dissect_h225_qualificationInformationCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3638 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_qualificationInformationCode, 1, 1, NULL, NULL);
3643 dissect_h225_sesn(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3645 offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h225_sesn, 16, 16, "#*0123456789ABC", 15);
3651 dissect_h225_soc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3653 offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h225_soc, 3, 16, "#*0123456789ABC", 15);
3658 static per_sequence_t ANSI41UIM_sequence[] = {
3659 { "imsi", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3660 dissect_h225_imsi },
3661 { "min", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3663 { "mdn", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3665 { "msisdn", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3666 dissect_h225_msisdn },
3667 { "esn", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3669 { "mscid", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3670 dissect_h225_mscid },
3671 { "systemid", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3672 dissect_h225_systemid },
3673 { "systemMyTypeCode", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3674 dissect_h225_systemMyTypeCode },
3675 { "systemAccessType", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3676 dissect_h225_systemAccessType },
3677 { "qualificationInformationCode", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3678 dissect_h225_qualificationInformationCode },
3679 { "sesn", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3680 dissect_h225_sesn },
3681 { "soc", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3683 { NULL, 0, 0, NULL }
3686 dissect_h225_ANSI41UIM(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3688 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_ANSI41UIM, ett_h225_ANSI41UIM, ANSI41UIM_sequence);
3693 static const value_string MobileUIM_vals[] = {
3698 static per_choice_t MobileUIM_choice[] = {
3699 { 0, "ansi41uim", ASN1_EXTENSION_ROOT,
3700 dissect_h225_ANSI41UIM },
3701 { 1, "gsmuim", ASN1_EXTENSION_ROOT,
3702 dissect_h225_GSMUIM },
3703 { 0, NULL, 0, NULL }
3706 dissect_h225_MobileUIM(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3708 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_MobileUIM, ett_h225_MobileUIM, MobileUIM_choice, "MobileUIM", NULL);
3714 dissect_h225_dataPartyNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3716 offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h225_dataPartyNumber, 1, 128, "#*,0123456789", 13);
3722 dissect_h225_telexPartyNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3724 offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h225_telexPartyNumber, 1, 128, "#*,0123456789", 13);
3731 dissect_h225_nationalStandardPartyNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3733 offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h225_nationalStandardPartyNumber, 1, 128, "#*,0123456789", 13);
3738 dissect_h225_publicNumberDigits(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3740 offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h225_publicNumberDigits, 1, 128, "#*,0123456789", 13);
3746 dissect_h225_privateNumberDigits(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3748 offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h225_privateNumberDigits, 1, 128, "#*,0123456789", 13);
3753 static per_sequence_t e164Number_sequence[] = {
3754 { "publicTypeOfNumber", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
3755 dissect_h225_PublicTypeOfNumber },
3756 { "publicNumberDigits", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
3757 dissect_h225_publicNumberDigits },
3758 { NULL, 0, 0, NULL }
3761 dissect_h225_e164Number(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3763 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_e164Number, ett_h225_e164Number, e164Number_sequence);
3766 static per_sequence_t privateNumber_sequence[] = {
3767 { "privateTypeOfNumber", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
3768 dissect_h225_PrivateTypeOfNumber },
3769 { "privateNumberDigits", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
3770 dissect_h225_privateNumberDigits },
3771 { NULL, 0, 0, NULL }
3774 dissect_h225_privateNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3776 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_privateNumber, ett_h225_privateNumber, privateNumber_sequence);
3780 static const value_string PartyNumber_vals[] = {
3781 { 0, "e164Number" },
3782 { 1, "dataPartyNumber" },
3783 { 2, "telexPartyNumber" },
3784 { 3, "privateNumber" },
3785 { 4, "nationalStandardPartyNumber" },
3788 static per_choice_t PartyNumber_choice[] = {
3789 { 0, "e164Number", ASN1_EXTENSION_ROOT,
3790 dissect_h225_e164Number },
3791 { 1, "dataPartyNumber", ASN1_EXTENSION_ROOT,
3792 dissect_h225_dataPartyNumber },
3793 { 2, "telexPartyNumber", ASN1_EXTENSION_ROOT,
3794 dissect_h225_telexPartyNumber },
3795 { 3, "privateNumber", ASN1_EXTENSION_ROOT,
3796 dissect_h225_privateNumber },
3797 { 4, "nationalStandardPartyNumber", ASN1_EXTENSION_ROOT,
3798 dissect_h225_nationalStandardPartyNumber },
3799 { 0, NULL, 0, NULL }
3802 dissect_h225_PartyNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3804 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_PartyNumber, ett_h225_PartyNumber, PartyNumber_choice, "PartyNumber", NULL);
3808 dissect_h225_startOfRange(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3810 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_startOfRange, ett_h225_PartyNumber, PartyNumber_choice, "startOfRange", NULL);
3814 dissect_h225_endOfRange(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3816 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_endOfRange, ett_h225_PartyNumber, PartyNumber_choice, "endOfRange", NULL);
3821 dissect_h225_protocolType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3823 offset=dissect_per_IA5String(tvb, offset, pinfo, tree, hf_h225_protocolType, 1, 64);
3828 dissect_h225_protocolVariant(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3830 offset=dissect_per_IA5String(tvb, offset, pinfo, tree, hf_h225_protocolVariant, 1, 64);
3833 static per_sequence_t TunnelledProtocolAlternateIdentifier_sequence[] = {
3834 { "protocolType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3835 dissect_h225_protocolType },
3836 { "protocolVariant", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3837 dissect_h225_protocolVariant },
3838 { NULL, 0, 0, NULL }
3841 dissect_h225_TunnelledProtocolAlternateIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3843 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_TunnelledProtocolAlternateIdentifier, ett_h225_TunnelledProtocolAlternateIdentifier, TunnelledProtocolAlternateIdentifier_sequence);
3848 dissect_h225_dialedDigits(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3850 offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h225_privateNumberDigits, 1, 128, "#,*0123456789", 13);
3856 dissect_h225_h323Id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3858 offset=dissect_per_BMPString(tvb, offset, pinfo, tree, hf_h225_h323ID, 1, 256);
3863 dissect_h225_urlId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3865 offset=dissect_per_IA5String(tvb, offset, pinfo, tree, hf_h225_urlId, 1, 512);
3871 dissect_h225_emailId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3873 offset=dissect_per_IA5String(tvb, offset, pinfo, tree, hf_h225_emailId, 1, 512);
3878 static const value_string AliasAddress_vals[] = {
3879 { 0, "dialedDigits" },
3882 { 3, "transportID" },
3884 { 5, "partyNumber" },
3888 static per_choice_t AliasAddress_choice[] = {
3889 { 0, "dialedDigits", ASN1_EXTENSION_ROOT,
3890 dissect_h225_dialedDigits },
3891 { 1, "h323ID", ASN1_EXTENSION_ROOT,
3892 dissect_h225_h323Id },
3893 { 2, "urlID", ASN1_NOT_EXTENSION_ROOT,
3894 dissect_h225_urlId },
3895 { 3, "transportID", ASN1_NOT_EXTENSION_ROOT,
3896 dissect_h225_transportID },
3897 { 4, "emailID", ASN1_NOT_EXTENSION_ROOT,
3898 dissect_h225_emailId },
3899 { 5, "partyNumber", ASN1_NOT_EXTENSION_ROOT,
3900 dissect_h225_PartyNumber },
3901 { 6, "mobileUIM", ASN1_NOT_EXTENSION_ROOT,
3902 dissect_h225_MobileUIM },
3903 { 0, NULL, 0, NULL }
3906 dissect_h225_AliasAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3908 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_AliasAddress, ett_h225_AliasAddress, AliasAddress_choice, "AliasAddress", NULL);
3912 dissect_h225_featureServerAlias(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3914 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_featureServerAlias, ett_h225_AliasAddress, AliasAddress_choice, "featureServerAlias", NULL);
3918 dissect_h225_RemoteExtensionAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3920 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_RemoteExtensionAddress, ett_h225_AliasAddress, AliasAddress_choice, "RemoteExtensionAddress", NULL);
3924 dissect_h225_conferenceAlias(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3926 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_conferenceAlias, ett_h225_AliasAddress, AliasAddress_choice, "conferenceAlias", NULL);
3930 dissect_h225_wildcard(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3932 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_wildcard, ett_h225_AliasAddress, AliasAddress_choice, "wildcard", NULL);
3936 dissect_h225_prefix(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3938 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_prefix, ett_h225_AliasAddress, AliasAddress_choice, "prefix", NULL);
3942 static per_sequence_t SupportedPrefix_sequence[] = {
3943 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3944 dissect_h225_nonStandardData },
3945 { "prefix", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3946 dissect_h225_prefix },
3947 { NULL, 0, 0, NULL }
3950 dissect_h225_SupportedPrefix(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3952 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_SupportedPrefix, ett_h225_SupportedPrefix, SupportedPrefix_sequence);
3957 dissect_h225_SupportedPrefixes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3959 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_SupportedPrefixes, ett_h225_SupportedPrefixes, dissect_h225_SupportedPrefix);
3964 static per_sequence_t H310Caps_sequence[] = {
3965 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3966 dissect_h225_nonStandardData },
3967 { "dataRatesSupported", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
3968 dissect_h225_dataRatesSupported },
3969 { "supportedPrefixes", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3970 dissect_h225_SupportedPrefixes },
3971 { NULL, 0, 0, NULL }
3974 dissect_h225_H310Caps(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3976 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_H310Caps, ett_h225_H310Caps, H310Caps_sequence);
3981 static per_sequence_t H320Caps_sequence[] = {
3982 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
3983 dissect_h225_nonStandardData },
3984 { "dataRatesSupported", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
3985 dissect_h225_dataRatesSupported },
3986 { "supportedPrefixes", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
3987 dissect_h225_SupportedPrefixes },
3988 { NULL, 0, 0, NULL }
3991 dissect_h225_H320Caps(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
3993 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_H320Caps, ett_h225_H320Caps, H320Caps_sequence);
3998 static per_sequence_t H321Caps_sequence[] = {
3999 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4000 dissect_h225_nonStandardData },
4001 { "dataRatesSupported", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
4002 dissect_h225_dataRatesSupported },
4003 { "supportedPrefixes", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4004 dissect_h225_SupportedPrefixes },
4005 { NULL, 0, 0, NULL }
4008 dissect_h225_H321Caps(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4010 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_H321Caps, ett_h225_H321Caps, H321Caps_sequence);
4015 static per_sequence_t H322Caps_sequence[] = {
4016 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4017 dissect_h225_nonStandardData },
4018 { "dataRatesSupported", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
4019 dissect_h225_dataRatesSupported },
4020 { "supportedPrefixes", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4021 dissect_h225_SupportedPrefixes },
4022 { NULL, 0, 0, NULL }
4025 dissect_h225_H322Caps(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4027 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_H322Caps, ett_h225_H322Caps, H322Caps_sequence);
4032 static per_sequence_t H323Caps_sequence[] = {
4033 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4034 dissect_h225_nonStandardData },
4035 { "dataRatesSupported", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
4036 dissect_h225_dataRatesSupported },
4037 { "supportedPrefixes", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4038 dissect_h225_SupportedPrefixes },
4039 { NULL, 0, 0, NULL }
4042 dissect_h225_H323Caps(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4044 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_H323Caps, ett_h225_H323Caps, H323Caps_sequence);
4049 static per_sequence_t H324Caps_sequence[] = {
4050 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4051 dissect_h225_nonStandardData },
4052 { "dataRatesSupported", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
4053 dissect_h225_dataRatesSupported },
4054 { "supportedPrefixes", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4055 dissect_h225_SupportedPrefixes },
4056 { NULL, 0, 0, NULL }
4059 dissect_h225_H324Caps(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4061 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_H324Caps, ett_h225_H324Caps, H324Caps_sequence);
4066 static per_sequence_t VoiceCaps_sequence[] = {
4067 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4068 dissect_h225_nonStandardData },
4069 { "dataRatesSupported", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
4070 dissect_h225_dataRatesSupported },
4071 { "supportedPrefixes", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4072 dissect_h225_SupportedPrefixes },
4073 { NULL, 0, 0, NULL }
4076 dissect_h225_VoiceCaps(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4078 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_VoiceCaps, ett_h225_VoiceCaps, VoiceCaps_sequence);
4083 static per_sequence_t T120OnlyCaps_sequence[] = {
4084 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4085 dissect_h225_nonStandardData },
4086 { "dataRatesSupported", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
4087 dissect_h225_dataRatesSupported },
4088 { "supportedPrefixes", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4089 dissect_h225_SupportedPrefixes },
4090 { NULL, 0, 0, NULL }
4093 dissect_h225_T120OnlyCaps(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4095 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_T120OnlyCaps, ett_h225_T120OnlyCaps, T120OnlyCaps_sequence);
4099 static per_sequence_t NonStandardProtocol_sequence[] = {
4100 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4101 dissect_h225_nonStandardData },
4102 { "dataRatesSupported", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4103 dissect_h225_dataRatesSupported },
4104 { "supportedPrefixes", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4105 dissect_h225_SupportedPrefixes },
4106 { NULL, 0, 0, NULL }
4109 dissect_h225_NonStandardProtocol(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4111 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_NonStandardProtocol, ett_h225_NonStandardProtocol, NonStandardProtocol_sequence);
4116 static per_sequence_t SIPCaps_sequence[] = {
4117 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4118 dissect_h225_nonStandardData },
4119 { "dataRatesSupported", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4120 dissect_h225_dataRatesSupported },
4121 { "supportedPrefixes", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4122 dissect_h225_SupportedPrefixes },
4123 { NULL, 0, 0, NULL }
4126 dissect_h225_SIPCaps(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4128 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_SIPCaps, ett_h225_SIPCaps, SIPCaps_sequence);
4132 static per_sequence_t AddressPattern_range_sequence[] = {
4133 { "startOfRange", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
4134 dissect_h225_startOfRange },
4135 { "endOfRange", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
4136 dissect_h225_endOfRange },
4137 { NULL, 0, 0, NULL }
4140 dissect_h225_AddressPattern_range(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4142 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_AddressPattern_range, ett_h225_AddressPattern_range, AddressPattern_range_sequence);
4147 static const value_string AddressPattern_vals[] = {
4152 static per_choice_t AddressPattern_choice[] = {
4153 { 0, "wildcard", ASN1_EXTENSION_ROOT,
4154 dissect_h225_wildcard },
4155 { 0, "range", ASN1_EXTENSION_ROOT,
4156 dissect_h225_AddressPattern_range },
4157 { 0, NULL, 0, NULL }
4160 dissect_h225_AddressPattern(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4162 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_AddressPattern, ett_h225_AddressPattern, AddressPattern_choice, "AddressPattern", NULL);
4165 static per_sequence_t ConferenceList_sequence[] = {
4166 { "conferenceID", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4167 dissect_h225_conferenceID },
4168 { "conferenceAlias", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4169 dissect_h225_conferenceAlias },
4170 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4171 dissect_h225_nonStandardData },
4172 { NULL, 0, 0, NULL }
4175 dissect_h225_ConferenceList(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4177 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_ConferenceList, ett_h225_ConferenceList, ConferenceList_sequence);
4182 dissect_h225_conferences(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4184 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_conferences, ett_h225_conferences, dissect_h225_ConferenceList);
4187 static per_sequence_t T38FaxAnnexbOnlyCaps_sequence[] = {
4188 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4189 dissect_h225_nonStandardData },
4190 { "dataRatesSupported", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4191 dissect_h225_dataRatesSupported },
4192 { "supportedPrefixes", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4193 dissect_h225_SupportedPrefixes },
4194 { "t38FaxProtocol", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4195 dissect_h245_DataProtocolCapability },
4196 { "t38FaxProfile", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4197 dissect_h245_T38FaxProfile },
4198 { NULL, 0, 0, NULL }
4201 dissect_h225_T38FaxAnnexbOnlyCaps(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4203 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_T38FaxAnnexbOnlyCaps, ett_h225_T38FaxAnnexbOnlyCaps, T38FaxAnnexbOnlyCaps_sequence);
4208 static const value_string SupportedProtocols_vals[] = {
4209 { 0, "nonStandardData" },
4218 { 9, "nonStandardProtocol" },
4219 { 10, "t38FaxAnnexbOnly" },
4223 static per_choice_t SupportedProtocols_choice[] = {
4224 { 0, "nonStandardData", ASN1_EXTENSION_ROOT,
4225 dissect_h225_nonStandardData },
4226 { 1, "h310", ASN1_EXTENSION_ROOT,
4227 dissect_h225_H310Caps },
4228 { 2, "h320", ASN1_EXTENSION_ROOT,
4229 dissect_h225_H320Caps },
4230 { 3, "h321", ASN1_EXTENSION_ROOT,
4231 dissect_h225_H321Caps },
4232 { 4, "h322", ASN1_EXTENSION_ROOT,
4233 dissect_h225_H322Caps },
4234 { 5, "h323", ASN1_EXTENSION_ROOT,
4235 dissect_h225_H323Caps },
4236 { 6, "h324", ASN1_EXTENSION_ROOT,
4237 dissect_h225_H324Caps },
4238 { 7, "voice", ASN1_EXTENSION_ROOT,
4239 dissect_h225_VoiceCaps },
4240 { 8, "t120-only", ASN1_EXTENSION_ROOT,
4241 dissect_h225_T120OnlyCaps },
4242 { 9, "nonStandardProtocol", ASN1_NOT_EXTENSION_ROOT,
4243 dissect_h225_NonStandardProtocol },
4244 { 10, "t38FaxAnnexbOnly", ASN1_NOT_EXTENSION_ROOT,
4245 dissect_h225_T38FaxAnnexbOnlyCaps },
4246 { 11, "sip", ASN1_NOT_EXTENSION_ROOT,
4247 dissect_h225_SIPCaps },
4248 { 0, NULL, 0, NULL }
4251 dissect_h225_SupportedProtocols(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4253 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_SupportedProtocols, ett_h225_SupportedProtocols, SupportedProtocols_choice, "SupportedProtocols", NULL);
4258 dissect_h225_protocol(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4260 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_protocol, ett_h225_protocol, dissect_h225_SupportedProtocols);
4266 static per_sequence_t GatewayInfo_sequence[] = {
4267 { "protocol", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4268 dissect_h225_protocol },
4269 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4270 dissect_h225_nonStandardData },
4271 { NULL, 0, 0, NULL }
4274 dissect_h225_gateway(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4276 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_GatewayInfo, ett_h225_GatewayInfo, GatewayInfo_sequence);
4279 static per_sequence_t McuInfo_sequence[] = {
4280 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4281 dissect_h225_nonStandardData },
4282 { "protocol", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
4283 dissect_h225_protocol },
4284 { NULL, 0, 0, NULL }
4287 dissect_h225_mcu(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4289 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_McuInfo, ett_h225_McuInfo, McuInfo_sequence);
4295 dissect_h225_tunnelledProtocolObjectID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4297 offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h225_tunnelledProtocolObjectID, tpID);
4302 static const value_string TunnelledProtocol_id_vals[] = {
4303 { 0, "tunnelledProtocolObjectID" },
4304 { 1, "tunnelledProtocolAlternateID" },
4307 static per_choice_t TunnelledProtocol_id_choice[] = {
4308 { 0, "tunnelledProtocolObjectID", ASN1_EXTENSION_ROOT,
4309 dissect_h225_tunnelledProtocolObjectID },
4310 { 1, "tunnelledProtocolAlternateID", ASN1_EXTENSION_ROOT,
4311 dissect_h225_TunnelledProtocolAlternateIdentifier },
4312 { 0, NULL, 0, NULL }
4315 dissect_h225_TunnelledProtocol_id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4317 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_TunnelledProtocol_id, ett_h225_TunnelledProtocol_id, TunnelledProtocol_id_choice, "id", NULL);
4322 dissect_h225_TunnelledProtocol_subIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4324 offset=dissect_per_IA5String(tvb, offset, pinfo, tree, hf_h225_TunnelledProtocol_subIdentifier, 1, 64);
4327 static per_sequence_t TunnelledProtocol_sequence[] = {
4328 { "id", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4329 dissect_h225_TunnelledProtocol_id },
4330 { "subIdentifier", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4331 dissect_h225_TunnelledProtocol_subIdentifier },
4332 { NULL, 0, 0, NULL }
4335 dissect_h225_TunnelledProtocol(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4338 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_TunnelledProtocol, ett_h225_TunnelledProtocol, TunnelledProtocol_sequence);
4339 tp_handle = dissector_get_string_handle(tp_dissector_table, tpID);
4343 dissect_h225_desiredTunnelledProtocol(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4346 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_desiredTunnelledProtocol, ett_h225_TunnelledProtocol, TunnelledProtocol_sequence);
4352 dissect_h225_CicInfo_cic_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4354 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_CicInfo_cic_item, 2, 4, NULL, NULL);
4359 dissect_h225_CicInfo_pointCode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4361 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_CicInfo_pointCode, 2, 5, NULL, NULL);
4366 dissect_h225_CicInfo_cic(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4368 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_CicInfo_cic, ett_h225_CicInfo_cic, dissect_h225_CicInfo_cic_item);
4372 static per_sequence_t CicInfo_sequence[] = {
4373 { "cic", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4374 dissect_h225_CicInfo_cic },
4375 { "pointCode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4376 dissect_h225_CicInfo_pointCode },
4377 { NULL, 0, 0, NULL }
4380 dissect_h225_CicInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4382 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_CicInfo, ett_h225_CicInfo, CicInfo_sequence);
4387 dissect_h225_GroupID_member_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4389 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
4390 tree, hf_h225_GroupID_member_item, 0, 65535,
4396 dissect_h225_GroupID_member(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4398 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_GroupID_member, ett_h225_GroupID_member, dissect_h225_GroupID_member_item);
4403 dissect_h225_GroupID_group(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4405 offset=dissect_per_IA5String(tvb, offset, pinfo, tree, hf_h225_GroupID_group, 1, 128);
4409 static per_sequence_t GroupID_sequence[] = {
4410 { "member", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4411 dissect_h225_GroupID_member },
4412 { "group", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4413 dissect_h225_GroupID_group },
4414 { NULL, 0, 0, NULL }
4417 dissect_h225_GroupID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4419 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_GroupID, ett_h225_GroupID, GroupID_sequence);
4423 static per_sequence_t CircuitIdentifier_sequence[] = {
4424 { "cic", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4425 dissect_h225_CicInfo },
4426 { "group", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4427 dissect_h225_GroupID },
4428 { "carrier", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
4429 dissect_h225_CarrierInfo },
4430 { NULL, 0, 0, NULL }
4433 dissect_h225_sourceCircuitID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4435 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_sourceCircuitID, ett_h225_CircuitIdentifier, CircuitIdentifier_sequence);
4439 dissect_h225_destinationCircuitID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4441 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_destinationCircuitID, ett_h225_CircuitIdentifier, CircuitIdentifier_sequence);
4446 dissect_h225_Generic_standard(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4448 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
4449 tree, hf_h225_Generic_standard, 0, 16383,
4456 dissect_h225_Generic_oid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4458 offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h225_Generic_oid, NULL);
4464 dissect_h225_Generic_nonStandard(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4466 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_Generic_nonStandard, 16, 16, NULL, NULL);
4471 static const value_string GenericIdentifier_vals[] = {
4474 { 2, "nonStandard" },
4477 static per_choice_t GenericIdentifier_choice[] = {
4478 { 0, "standard", ASN1_EXTENSION_ROOT,
4479 dissect_h225_Generic_standard },
4480 { 1, "oid", ASN1_EXTENSION_ROOT,
4481 dissect_h225_Generic_oid },
4482 { 2, "nonStandard", ASN1_EXTENSION_ROOT,
4483 dissect_h225_Generic_nonStandard },
4484 { 0, NULL, 0, NULL }
4487 dissect_h225_GenericIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4489 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_GenericIdentifier, ett_h225_GenericIdentifier, GenericIdentifier_choice, "GenericIdentifier", NULL);
4493 static int dissect_h225_Content(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
4495 static per_sequence_t EnumeratedParameter_sequence[] = {
4496 { "id", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4497 dissect_h225_GenericIdentifier },
4498 { "content", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4499 dissect_h225_Content },
4500 { NULL, 0, 0, NULL }
4503 dissect_h225_EnumeratedParameter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4505 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_EnumeratedParameter, ett_h225_EnumeratedParameter, EnumeratedParameter_sequence);
4511 dissect_h225_parameters(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4513 offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h225_parameters, ett_h225_parameters, dissect_h225_EnumeratedParameter, 1, 512);
4517 static per_sequence_t GenericData_sequence[] = {
4518 { "id", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4519 dissect_h225_GenericIdentifier },
4520 { "parameters", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4521 dissect_h225_parameters },
4522 { NULL, 0, 0, NULL }
4525 dissect_h225_GenericData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4527 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_GenericData, ett_h225_GenericData, GenericData_sequence);
4531 dissect_h225_genericData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4533 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_genericData, ett_h225_genericData, dissect_h225_GenericData);
4537 dissect_h225_FeatureDescriptor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4539 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_FeatureDescriptor, ett_h225_GenericData, GenericData_sequence);
4544 dissect_h225_Content_raw(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4546 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_Content_raw, -1, -1, NULL, NULL);
4552 dissect_h225_Content_text(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4554 offset=dissect_per_IA5String(tvb, offset, pinfo, tree, hf_h225_Content_text, -1, -1);
4562 dissect_h225_Content_unicode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4564 offset=dissect_per_BMPString(tvb, offset, pinfo, tree, hf_h225_unicode, -1, -1);
4571 dissect_h225_Content_bool(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4573 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_Content_bool, NULL, NULL);
4580 dissect_h225_Content_number8(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4582 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
4583 tree, hf_h225_Content_number8, 0, 255,
4589 dissect_h225_number16(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4591 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
4592 tree, hf_h225_number16, 0, 65535,
4598 dissect_h225_Content_number32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4600 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
4601 tree, hf_h225_Content_number32, 0, 4294967295UL,
4607 dissect_h225_Content_compound(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4609 offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h225_Content_compound, ett_h225_Content_compound, dissect_h225_EnumeratedParameter, 1, 512);
4614 dissect_h225_Content_nested(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4616 offset=dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_h225_Content_nested, ett_h225_Content_nested, dissect_h225_GenericData, 1, 16);
4624 static const value_string Content_vals[] = {
4639 static per_choice_t Content_choice[] = {
4640 { 0, "raw", ASN1_EXTENSION_ROOT,
4641 dissect_h225_Content_raw },
4642 { 1, "text", ASN1_EXTENSION_ROOT,
4643 dissect_h225_Content_text },
4644 { 2, "unicode", ASN1_EXTENSION_ROOT,
4645 dissect_h225_Content_unicode },
4646 { 3, "bool", ASN1_EXTENSION_ROOT,
4647 dissect_h225_Content_bool },
4648 { 4, "number8", ASN1_EXTENSION_ROOT,
4649 dissect_h225_Content_number8 },
4650 { 5, "number16", ASN1_EXTENSION_ROOT,
4651 dissect_h225_number16 },
4652 { 6, "number32", ASN1_EXTENSION_ROOT,
4653 dissect_h225_Content_number32 },
4654 { 7, "id", ASN1_EXTENSION_ROOT,
4655 dissect_h225_GenericIdentifier },
4656 { 8, "alias", ASN1_EXTENSION_ROOT,
4657 dissect_h225_AliasAddress },
4658 { 9, "transport", ASN1_EXTENSION_ROOT,
4659 dissect_h225_TransportAddress },
4660 { 10, "compound", ASN1_EXTENSION_ROOT,
4661 dissect_h225_Content_compound },
4662 { 11, "nested", ASN1_EXTENSION_ROOT,
4663 dissect_h225_Content_nested },
4664 { 0, NULL, 0, NULL }
4667 dissect_h225_Content(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4669 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_Content, ett_h225_Content, Content_choice, "Content", NULL);
4675 dissect_h225_replacementFeatureSet(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4677 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_replacementFeatureSet, NULL, NULL);
4682 dissect_h225_neededFeatures(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4684 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_neededFeatures, ett_h225_neededFeatures, dissect_h225_FeatureDescriptor);
4689 dissect_h225_desiredFeatures(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4691 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_desiredFeatures, ett_h225_desiredFeatures, dissect_h225_FeatureDescriptor);
4696 dissect_h225_supportedFeatures(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4698 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_supportedFeatures, ett_h225_supportedFeatures, dissect_h225_FeatureDescriptor);
4702 static per_sequence_t FeatureSet_sequence[] = {
4703 { "replacementFeatureSet", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4704 dissect_h225_replacementFeatureSet },
4705 { "neededFeatures", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4706 dissect_h225_neededFeatures },
4707 { "desiredFeatures", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4708 dissect_h225_desiredFeatures },
4709 { "supportedFeatures", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4710 dissect_h225_supportedFeatures },
4711 { NULL, 0, 0, NULL }
4714 dissect_h225_FeatureSet(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4716 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_FeatureSet, ett_h225_FeatureSet, FeatureSet_sequence);
4721 dissect_h225_CallsAvailable_calls(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4723 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
4724 tree, hf_h225_CallsAvailable_calls, 0, 4294967295UL,
4731 dissect_h225_CallsAvailable_group(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4733 offset=dissect_per_IA5String(tvb, offset, pinfo, tree, hf_h225_CallsAvailable_group, 1, 128);
4737 static per_sequence_t CallsAvailable_sequence[] = {
4738 { "calls", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4739 dissect_h225_CallsAvailable_calls },
4740 { "group", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4741 dissect_h225_CallsAvailable_group },
4742 { "carrier", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
4743 dissect_h225_CarrierInfo },
4744 { NULL, 0, 0, NULL }
4747 dissect_h225_CallsAvailable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4749 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_CallsAvailable, ett_h225_CallsAvailable, CallsAvailable_sequence);
4754 dissect_h225_voiceGwCallsAvailable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4756 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_voiceGwCallsAvailable, ett_h225_voiceGwCallsAvailable, dissect_h225_CallsAvailable);
4761 dissect_h225_h310GwCallsAvailable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4763 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_h310GwCallsAvailable, ett_h225_h310GwCallsAvailable, dissect_h225_CallsAvailable);
4768 dissect_h225_h320GwCallsAvailable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4770 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_h320GwCallsAvailable, ett_h225_h320GwCallsAvailable, dissect_h225_CallsAvailable);
4775 dissect_h225_h321GwCallsAvailable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4777 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_h321GwCallsAvailable, ett_h225_h321GwCallsAvailable, dissect_h225_CallsAvailable);
4782 dissect_h225_h322GwCallsAvailable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4784 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_h322GwCallsAvailable, ett_h225_h322GwCallsAvailable, dissect_h225_CallsAvailable);
4789 dissect_h225_h323GwCallsAvailable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4791 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_h323GwCallsAvailable, ett_h225_h323GwCallsAvailable, dissect_h225_CallsAvailable);
4796 dissect_h225_h324GwCallsAvailable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4798 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_h324GwCallsAvailable, ett_h225_h324GwCallsAvailable, dissect_h225_CallsAvailable);
4803 dissect_h225_t120OnlyGwCallsAvailable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4805 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_t120OnlyGwCallsAvailable, ett_h225_t120OnlyGwCallsAvailable, dissect_h225_CallsAvailable);
4810 dissect_h225_t38FaxAnnexbOnlyGwCallsAvailable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4812 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_t38FaxAnnexbOnlyGwCallsAvailable, ett_h225_t38FaxAnnexbOnlyGwCallsAvailable, dissect_h225_CallsAvailable);
4817 dissect_h225_terminalCallsAvailable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4819 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_terminalCallsAvailable, ett_h225_terminalCallsAvailable, dissect_h225_CallsAvailable);
4824 dissect_h225_mcuCallsAvailable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4826 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_mcuCallsAvailable, ett_h225_mcuCallsAvailable, dissect_h225_CallsAvailable);
4831 dissect_h225_sipGwCallsAvailable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4833 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_sipGwCallsAvailable, ett_h225_sipGwCallsAvailable, dissect_h225_CallsAvailable);
4836 static per_sequence_t CallCapacityInfo_sequence[] = {
4837 { "voiceGwCallsAvailable", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4838 dissect_h225_voiceGwCallsAvailable },
4839 { "h310GwCallsAvailable", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4840 dissect_h225_h310GwCallsAvailable },
4841 { "h320GwCallsAvailable", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4842 dissect_h225_h320GwCallsAvailable },
4843 { "h321GwCallsAvailable", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4844 dissect_h225_h321GwCallsAvailable },
4845 { "h322GwCallsAvailable", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4846 dissect_h225_h322GwCallsAvailable },
4847 { "h323GwCallsAvailable", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4848 dissect_h225_h323GwCallsAvailable },
4849 { "h324GwCallsAvailable", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4850 dissect_h225_h324GwCallsAvailable },
4851 { "t120OnlyGwCallsAvailable", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4852 dissect_h225_t120OnlyGwCallsAvailable },
4853 { "t38FaxAnnexbOnlyGwCallsAvailable", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4854 dissect_h225_t38FaxAnnexbOnlyGwCallsAvailable },
4855 { "terminalCallsAvailable", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4856 dissect_h225_terminalCallsAvailable },
4857 { "mcuCallsAvailable", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4858 dissect_h225_mcuCallsAvailable },
4859 { "sipGwCallsAvailable", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
4860 dissect_h225_sipGwCallsAvailable },
4861 { NULL, 0, 0, NULL }
4864 dissect_h225_maximumCallCapacity(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4866 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_maximumCallCapacity, ett_h225_CallCapacityInfo, CallCapacityInfo_sequence);
4870 dissect_h225_currentCallCapacity(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4872 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_currentCallCapacity, ett_h225_CallCapacityInfo, CallCapacityInfo_sequence);
4876 static per_sequence_t CallCapacity_sequence[] = {
4877 { "maximumCallCapacity", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4878 dissect_h225_maximumCallCapacity },
4879 { "currentCallCapacity", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4880 dissect_h225_currentCallCapacity },
4881 { NULL, 0, 0, NULL }
4884 dissect_h225_CallCapacity(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4886 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_CallCapacity, ett_h225_CallCapacity, CallCapacity_sequence);
4891 dissect_h225_productID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4893 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_productID, 1, 256, NULL, NULL);
4898 dissect_h225_versionID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4900 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_versionID, 1, 256, NULL, NULL);
4905 dissect_h225_enterpriseNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4907 offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h225_enterpriseNumber, NULL);
4911 static per_sequence_t VendorIdentifier_sequence[] = {
4912 { "vendor", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4913 dissect_h225_h221NonStandard },
4914 { "productId", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4915 dissect_h225_productID },
4916 { "versionId", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4917 dissect_h225_versionID },
4918 { "enterpriseNumber", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
4919 dissect_h225_enterpriseNumber },
4920 { NULL, 0, 0, NULL }
4923 dissect_h225_VendorIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4925 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_VendorIdentifier, ett_h225_VendorIdentifier, VendorIdentifier_sequence);
4931 dissect_h225_canReportCallCapacity(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4933 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_canReportCallCapacity, NULL, NULL);
4937 static per_sequence_t CapacityReportingCapability_sequence[] = {
4938 { "canReportCallCapacity", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4939 dissect_h225_canReportCallCapacity },
4940 { NULL, 0, 0, NULL }
4943 dissect_h225_CapacityReportingCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4945 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_CapacityReportingCapability, ett_h225_CapacityReportingCapability, CapacityReportingCapability_sequence);
4950 dissect_h225_canDisplayAmountString(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4952 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_canDisplayAmountString, NULL, NULL);
4957 dissect_h225_canEnforceDurationLimit(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4959 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_canEnforceDurationLimit, NULL, NULL);
4963 static per_sequence_t CallCreditCapability_sequence[] = {
4964 { "canDisplayAmountString", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4965 dissect_h225_canDisplayAmountString },
4966 { "canEnforceDurationLimit", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
4967 dissect_h225_canEnforceDurationLimit },
4968 { NULL, 0, 0, NULL }
4971 dissect_h225_CallCreditCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4973 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_CallCreditCapability, ett_h225_CallCreditCapability, CallCreditCapability_sequence);
4978 dissect_h225_BandwidthDetails_sender(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4980 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_BandwidthDetails_sender, NULL, NULL);
4985 dissect_h225_BandwidthDetails_multicast(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
4987 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_BandwidthDetails_multicast, NULL, NULL);
4991 static per_sequence_t BandwidthDetails_sequence[] = {
4992 { "sender", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4993 dissect_h225_BandwidthDetails_sender },
4994 { "multicast", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4995 dissect_h225_BandwidthDetails_multicast },
4996 { "bandwidth", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4997 dissect_h225_BandWidth },
4998 { "rtcpAddresses", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
4999 dissect_h225_rtcpAddress },
5000 { NULL, 0, 0, NULL }
5003 dissect_h225_BandwidthDetails(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5005 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_BandwidthDetails, ett_h225_BandwidthDetails, BandwidthDetails_sequence);
5010 dissect_h225_releaseCompleteCauseIE(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5012 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_releaseCompleteCauseIE, 2, 32, NULL, NULL);
5016 static const value_string CallTerminationCause_vals[] = {
5017 { 0, "releaseCompleteReason" },
5018 { 1, "releaseCompleteCauseIE" },
5021 static per_choice_t CallTerminationCause_choice[] = {
5022 { 0, "releaseCompleteReason", ASN1_EXTENSION_ROOT,
5023 dissect_h225_ReleaseCompleteReason },
5024 { 1, "releaseCompleteCauseIE", ASN1_EXTENSION_ROOT,
5025 dissect_h225_releaseCompleteCauseIE },
5026 { 0, NULL, 0, NULL }
5029 dissect_h225_CallTerminationCause(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5031 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_CallTerminationCause, ett_h225_CallTerminationCause, CallTerminationCause_choice, "CallTerminationCause", NULL);
5035 static per_sequence_t CircuitInfo_sequence[] = {
5036 { "sourceCircuitID", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5037 dissect_h225_sourceCircuitID },
5038 { "destinationCircuitID", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5039 dissect_h225_destinationCircuitID },
5040 { "genericData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5041 dissect_h225_genericData },
5042 { NULL, 0, 0, NULL }
5045 dissect_h225_CircuitInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5047 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_CircuitInfo, ett_h225_CircuitInfo, CircuitInfo_sequence);
5052 dissect_h225_fastStart_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5057 offset=dissect_per_length_determinant(tvb, offset, pinfo, tree, hf_h225_fastStart_item_length, &length);
5058 newoffset=offset + (length<<3); /* please note that offset is in bits in
5059 PER dissectors, but the item length
5061 offset=dissect_h245_OpenLogicalChannel(tvb, offset, pinfo, tree);
5063 contains_faststart = TRUE;
5069 dissect_h225_fastStart(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5071 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_fastStart, ett_h225_fastStart, dissect_h225_fastStart_item);
5076 dissect_h225_fastConnectRefused(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5078 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_fastConnectRefused, NULL, NULL);
5082 static per_sequence_t InformationUUIE_sequence[] = {
5083 { "protocolIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5084 dissect_h225_ProtocolIdentifier },
5085 { "callIdentifier", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5086 dissect_h225_CallIdentifier },
5087 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5088 dissect_h225_tokens },
5089 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5090 dissect_h225_cryptoTokens },
5091 { "fastStart", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5092 dissect_h225_fastStart },
5093 { "fastConnectRefused", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5094 dissect_h225_fastConnectRefused },
5095 { "circuitInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5096 dissect_h225_CircuitInfo },
5097 { NULL, 0, 0, NULL }
5100 dissect_h225_InformationUUIE(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5102 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_InformationUUIE, ett_h225_InformationUUIE, InformationUUIE_sequence);
5107 dissect_h225_routeCallToSCN(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5109 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_routeCallToSCN, ett_h225_routeCallToSCN, dissect_h225_PartyNumber);
5113 const value_string AdmissionRejectReason_vals[] = {
5114 { 0, "calledPartyNotRegistered" },
5115 { 1, "invalidPermission" },
5116 { 2, "requestDenied" },
5117 { 3, "undefinedReason" },
5118 { 4, "callerNotRegistered" },
5119 { 5, "routeCallToGatekeeper" },
5120 { 6, "invalidEndpointIdentifier" },
5121 { 7, "resourceUnavailable" },
5122 { 8, "securityDenial" },
5123 { 9, "qosControlNotSupported" },
5124 { 10, "incompleteAddress" },
5125 { 11, "aliasesInconsistent" },
5126 { 12, "routeCallToSCN" },
5127 { 13, "exceedsCallCapacity" },
5128 { 14, "collectDestination" },
5129 { 15, "collectPIN" },
5130 { 16, "genericDataReason" },
5131 { 17, "neededFeatureNotSupported" },
5132 { 18, "securityErrors" },
5133 { 19, "securityDHmismatch" },
5134 { 20, "noRouteToDestination" },
5135 { 21, "unallocatedNumber" },
5138 static per_choice_t AdmissionRejectReason_choice[] = {
5139 { 0, "calledPartyNotRegistered", ASN1_EXTENSION_ROOT,
5140 dissect_h225_NULL },
5141 { 1, "invalidPermission", ASN1_EXTENSION_ROOT,
5142 dissect_h225_NULL },
5143 { 2, "requestDenied", ASN1_EXTENSION_ROOT,
5144 dissect_h225_NULL },
5145 { 3, "undefinedReason", ASN1_EXTENSION_ROOT,
5146 dissect_h225_NULL },
5147 { 4, "callerNotRegistered", ASN1_EXTENSION_ROOT,
5148 dissect_h225_NULL },
5149 { 5, "routeCallToGatekeeper", ASN1_EXTENSION_ROOT,
5150 dissect_h225_NULL },
5151 { 6, "invalidEndpointIdentifier", ASN1_EXTENSION_ROOT,
5152 dissect_h225_NULL },
5153 { 7, "resourceUnavailable", ASN1_EXTENSION_ROOT,
5154 dissect_h225_NULL },
5155 { 8, "securityDenial", ASN1_NOT_EXTENSION_ROOT,
5156 dissect_h225_NULL },
5157 { 9, "qosControlNotSupported", ASN1_NOT_EXTENSION_ROOT,
5158 dissect_h225_NULL },
5159 { 10, "incompleteAddress", ASN1_NOT_EXTENSION_ROOT,
5160 dissect_h225_NULL },
5161 { 11, "aliasesInconsistent", ASN1_NOT_EXTENSION_ROOT,
5162 dissect_h225_NULL },
5163 { 12, "routeCallToSCN", ASN1_NOT_EXTENSION_ROOT,
5164 dissect_h225_routeCallToSCN },
5165 { 13, "exceedsCallCapacity", ASN1_NOT_EXTENSION_ROOT,
5166 dissect_h225_NULL },
5167 { 14, "collectDestination", ASN1_NOT_EXTENSION_ROOT,
5168 dissect_h225_NULL },
5169 { 15, "collectPIN", ASN1_NOT_EXTENSION_ROOT,
5170 dissect_h225_NULL },
5171 { 16, "genericDataReason", ASN1_NOT_EXTENSION_ROOT,
5172 dissect_h225_NULL },
5173 { 17, "neededFeatureNotSupported", ASN1_NOT_EXTENSION_ROOT,
5174 dissect_h225_NULL },
5175 { 18, "securityErrors", ASN1_NOT_EXTENSION_ROOT,
5176 dissect_h225_SecurityErrors2 },
5177 { 19, "securityDHmismatch", ASN1_NOT_EXTENSION_ROOT,
5178 dissect_h225_NULL },
5179 { 20, "noRouteToDestination", ASN1_NOT_EXTENSION_ROOT,
5180 dissect_h225_NULL },
5181 { 21, "unallocatedNumber", ASN1_NOT_EXTENSION_ROOT,
5182 dissect_h225_NULL },
5183 { 0, NULL, 0, NULL }
5186 dissect_h225_AdmissionRejectReason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5190 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_AdmissionRejectReason, ett_h225_AdmissionRejectReason, AdmissionRejectReason_choice, "AdmissionRejectReason", &value);
5191 h225_pi.reason = value;
5196 dissect_h225_isoAlgorithm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5198 offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h225_isoAlgorithm, NULL);
5202 static const value_string EncryptIntAlg_vals[] = {
5203 { 0, "nonStandard" },
5204 { 1, "isoAlgorithm" },
5207 static per_choice_t EncryptIntAlg_choice[] = {
5208 { 0, "nonStandard", ASN1_EXTENSION_ROOT,
5209 dissect_h225_nonStandard },
5210 { 1, "isoAlgorithm", ASN1_EXTENSION_ROOT,
5211 dissect_h225_isoAlgorithm },
5212 { 0, NULL, 0, NULL }
5215 dissect_h225_hMAC_iso10118_2_s(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5217 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_hMAC_iso10118_2_s, ett_h225_EncryptIntAlg, EncryptIntAlg_choice, "hMAC_iso10118_2_s", NULL);
5221 dissect_h225_hMAC_iso10118_2_l(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5223 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_hMAC_iso10118_2_l, ett_h225_EncryptIntAlg, EncryptIntAlg_choice, "hMAC_iso10118_2_l", NULL);
5228 dissect_h225_hMAC_iso10118_3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5230 offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h225_hMAC_iso10118_3, NULL);
5235 static const value_string NonIsoIntegrityMechanism_vals[] = {
5237 { 1, "hMAC_iso10118_2_s" },
5238 { 2, "hMAC_iso10118_2_l" },
5239 { 3, "hMAC_iso10118_3" },
5242 static per_choice_t NonIsoIntegrityMechanism_choice[] = {
5243 { 0, "hMAC-MD5", ASN1_EXTENSION_ROOT,
5244 dissect_h225_NULL },
5245 { 1, "hMAC_iso10118_2_s", ASN1_EXTENSION_ROOT,
5246 dissect_h225_hMAC_iso10118_2_s },
5247 { 2, "hMAC_iso10118_2_l", ASN1_EXTENSION_ROOT,
5248 dissect_h225_hMAC_iso10118_2_l },
5249 { 3, "hMAC_iso10118_3", ASN1_EXTENSION_ROOT,
5250 dissect_h225_hMAC_iso10118_3 },
5251 { 0, NULL, 0, NULL }
5254 dissect_h225_NonIsoIntegrityMechanism(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5256 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_NonIsoIntegrityMechanism, ett_h225_NonIsoIntegrityMechanism, NonIsoIntegrityMechanism_choice, "NonIsoIntegrityMechanism", NULL);
5261 dissect_h225_iso9797(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5263 offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h225_iso9797, NULL);
5267 static const value_string IntegrityMechanism_vals[] = {
5268 { 0, "nonStandard" },
5274 static per_choice_t IntegrityMechanism_choice[] = {
5275 { 0, "nonStandard", ASN1_EXTENSION_ROOT,
5276 dissect_h225_nonStandard },
5277 { 1, "digSig", ASN1_EXTENSION_ROOT,
5278 dissect_h225_NULL },
5279 { 2, "iso9797", ASN1_EXTENSION_ROOT,
5280 dissect_h225_iso9797 },
5281 { 3, "nonIsoIM", ASN1_EXTENSION_ROOT,
5282 dissect_h225_NonIsoIntegrityMechanism },
5283 { 0, NULL, 0, NULL }
5286 dissect_h225_IntegrityMechanism(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5288 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_IntegrityMechanism, ett_h225_IntegrityMechanism, IntegrityMechanism_choice, "IntegrityMechanism", NULL);
5292 const value_string LocationRejectReason_vals[] = {
5293 { 0, "notRegistered" },
5294 { 1, "invalidPermission" },
5295 { 2, "requestDenied" },
5296 { 3, "undefinedReason" },
5297 { 4, "securityDenial" },
5298 { 5, "aliasesInconsistent" },
5299 { 6, "routeCalltoSCN" },
5300 { 7, "resourceUnavailable" },
5301 { 8, "genericDataReason" },
5302 { 9, "neededFeatureNotSupported" },
5303 {10, "hopCountExceeded" },
5304 {11, "incompleteAddress" },
5305 {12, "securityError" },
5306 {13, "securityDHmismatch" },
5307 {14, "noRouteToDestination" },
5308 {15, "unallocatedNumber" },
5311 static per_choice_t LocationRejectReason_choice[] = {
5312 { 0, "notRegistered", ASN1_EXTENSION_ROOT,
5313 dissect_h225_NULL },
5314 { 1, "invalidPermission", ASN1_EXTENSION_ROOT,
5315 dissect_h225_NULL },
5316 { 2, "requestDenied", ASN1_EXTENSION_ROOT,
5317 dissect_h225_NULL },
5318 { 3, "undefinedReason", ASN1_EXTENSION_ROOT,
5319 dissect_h225_NULL },
5320 { 4, "securityDenial", ASN1_NOT_EXTENSION_ROOT,
5321 dissect_h225_NULL },
5322 { 5, "aliasesInconsistent", ASN1_NOT_EXTENSION_ROOT,
5323 dissect_h225_NULL },
5324 { 6, "routeCalltoSCN", ASN1_NOT_EXTENSION_ROOT,
5325 dissect_h225_routeCallToSCN },
5326 { 7, "resourceUnavailable", ASN1_NOT_EXTENSION_ROOT,
5327 dissect_h225_NULL },
5328 { 8, "genericDataReason", ASN1_NOT_EXTENSION_ROOT,
5329 dissect_h225_NULL },
5330 { 9, "neededFeatureNotSupported", ASN1_NOT_EXTENSION_ROOT,
5331 dissect_h225_NULL },
5332 {10, "hopCountExceeded", ASN1_NOT_EXTENSION_ROOT,
5333 dissect_h225_NULL },
5334 {11, "incompleteAddress", ASN1_NOT_EXTENSION_ROOT,
5335 dissect_h225_NULL },
5336 {12, "securityError", ASN1_NOT_EXTENSION_ROOT,
5337 dissect_h225_SecurityErrors2 },
5338 {13, "securityDHmismatch", ASN1_NOT_EXTENSION_ROOT,
5339 dissect_h225_NULL },
5340 {14, "noRouteToDestination", ASN1_NOT_EXTENSION_ROOT,
5341 dissect_h225_NULL },
5342 {15, "unallocatedNumber", ASN1_NOT_EXTENSION_ROOT,
5343 dissect_h225_NULL },
5344 { 0, NULL, 0, NULL }
5347 dissect_h225_LocationRejectReason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5351 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_LocationRejectReason, ett_h225_LocationRejectReason, LocationRejectReason_choice, "LocationRejectReason", &value);
5352 h225_pi.reason = value;
5358 dissect_h225_EndpointType_set(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5360 NOT_DECODED_YET("EndpointType_set");
5365 dissect_h225_mc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5367 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_mc, NULL, NULL);
5372 dissect_h225_undefinedNode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5374 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_undefinedNode, NULL, NULL);
5379 static per_sequence_t EndPointType_sequence[] = {
5380 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5381 dissect_h225_nonStandardData },
5382 { "vendor", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5383 dissect_h225_VendorIdentifier },
5384 { "gatekeeper", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5385 dissect_h225_GatekeeperInfo },
5386 { "gateway", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5387 dissect_h225_gateway },
5388 { "mcu", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5390 { "terminal", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5391 dissect_h225_TerminalInfo },
5392 { "mc", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5394 { "undefinedNode", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5395 dissect_h225_undefinedNode },
5396 { "set", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5397 dissect_h225_EndpointType_set },
5398 { "supportedTunnelledProtocols", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5399 dissect_h225_TunnelledProtocol },
5400 { NULL, 0, 0, NULL }
5403 dissect_h225_EndPointType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5405 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_EndPointType, ett_h225_EndPointType, EndPointType_sequence);
5409 dissect_h225_destinationType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5411 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_destinationType, ett_h225_EndPointType, EndPointType_sequence);
5415 dissect_h225_terminalType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5417 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_terminalType, ett_h225_EndPointType, EndPointType_sequence);
5421 dissect_h225_sourceInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5423 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_sourceInfo, ett_h225_EndPointType, EndPointType_sequence);
5427 dissect_h225_destinationInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5429 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_destinationInfo, ett_h225_EndPointType, EndPointType_sequence);
5434 dissect_h225_multipleCalls(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5436 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_multipleCalls, NULL, NULL);
5441 dissect_h225_maintainConnection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5443 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_maintainConnection, NULL, NULL);
5446 static per_sequence_t CallProceedingUUIE_sequence[] = {
5447 { "protocolIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5448 dissect_h225_ProtocolIdentifier },
5449 { "destinationInfo", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5450 dissect_h225_destinationInfo },
5451 { "h245Address", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5452 dissect_h225_h245Address },
5453 { "callIdentifier", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5454 dissect_h225_CallIdentifier },
5455 { "h245SecurityMode", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5456 dissect_h225_H245Security },
5457 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5458 dissect_h225_tokens },
5459 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5460 dissect_h225_cryptoTokens },
5461 { "fastStart", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5462 dissect_h225_fastStart },
5463 { "multipleCalls", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5464 dissect_h225_multipleCalls },
5465 { "maintainConnection", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5466 dissect_h225_maintainConnection },
5467 { "fastConnectRefused", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5468 dissect_h225_NULL },
5469 { "featureSet", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5470 dissect_h225_FeatureSet },
5471 { NULL, 0, 0, NULL }
5474 dissect_h225_CallProceedingUUIE(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5476 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_CallProceedingUUIE, ett_h225_CallProceedingUUIE, CallProceedingUUIE_sequence);
5480 static per_sequence_t CapacityReportingSpecification_when_sequence[] = {
5481 { "callStart", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5482 dissect_h225_NULL },
5483 { "callEnd", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5484 dissect_h225_NULL },
5485 { NULL, 0, 0, NULL }
5488 dissect_h225_CapacityReportingSpecification_when(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5490 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_CapacityReportingSpecification_when, ett_h225_CapacityReportingSpecification_when, CapacityReportingSpecification_when_sequence);
5494 static per_sequence_t CapacityReportingSpecification_sequence[] = {
5495 { "when", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5496 dissect_h225_CapacityReportingSpecification_when },
5497 { NULL, 0, 0, NULL }
5500 dissect_h225_CapacityReportingSpecification(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5502 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_CapacityReportingSpecification, ett_h225_CapacityReportingSpecification, CapacityReportingSpecification_sequence);
5505 static per_sequence_t ProgressUUIE_sequence[] = {
5506 { "protocolIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5507 dissect_h225_ProtocolIdentifier },
5508 { "destinationInfo", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5509 dissect_h225_destinationInfo },
5510 { "h245Address", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5511 dissect_h225_h245Address },
5512 { "callIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5513 dissect_h225_CallIdentifier },
5514 { "h245SecurityMode", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5515 dissect_h225_H245Security },
5516 { "tokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5517 dissect_h225_tokens },
5518 { "cryptoTokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5519 dissect_h225_cryptoTokens },
5520 { "fastStart", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5521 dissect_h225_fastStart },
5522 { "multipleCalls", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5523 dissect_h225_multipleCalls },
5524 { "maintainConnection", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5525 dissect_h225_maintainConnection },
5526 { "fastConnectRefused", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5527 dissect_h225_NULL },
5528 { NULL, 0, 0, NULL }
5531 dissect_h225_ProgressUUIE(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5533 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_ProgressUUIE, ett_h225_ProgressUUIE, ProgressUUIE_sequence);
5539 dissect_h225_destExtraCallInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5541 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_destExtraCallInfo, ett_h225_destExtraCallInfo, dissect_h225_AliasAddress);
5546 dissect_h225_remoteExtensionAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5548 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_remoteExtensionAddress, ett_h225_remoteExtensionAddress, dissect_h225_AliasAddress);
5554 dissect_h225_aliasAddress_sequence(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5556 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_aliasAddress_sequence, ett_h225_aliasAddress_sequence, dissect_h225_AliasAddress);
5561 dissect_h225_rasAddress_sequence(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5563 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_rasAddress_sequence, ett_h225_rasAddress_sequence, dissect_h225_TransportAddress);
5568 dissect_h225_callSignalAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5570 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_callSignalAddress, ett_h225_callSignalAddress, dissect_h225_TransportAddress);
5575 static per_sequence_t EndPoint_sequence[] = {
5576 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5577 dissect_h225_nonStandardData },
5578 { "aliasAddress", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5579 dissect_h225_aliasAddress_sequence },
5580 { "callSignalAddress", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5581 dissect_h225_callSignalAddress },
5582 { "rasAddress", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5583 dissect_h225_rasAddress_sequence },
5584 { "endpointType", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5585 dissect_h225_EndPointType },
5586 { "tokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5587 dissect_h225_tokens },
5588 { "cryptoTokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5589 dissect_h225_cryptoTokens },
5590 { "priority", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5591 dissect_h225_priority },
5592 { "remoteExtensionAddress", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5593 dissect_h225_remoteExtensionAddress },
5594 { "destExtraCallInfo", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5595 dissect_h225_destExtraCallInfo },
5596 { "alternateTransportAddresses", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5597 dissect_h225_AlternateTransportAddress },
5598 { "circuitInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5599 dissect_h225_CircuitInfo },
5600 { "featureSet", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5601 dissect_h225_FeatureSet },
5602 { NULL, 0, 0, NULL }
5605 dissect_h225_EndPoint(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5607 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_EndPoint, ett_h225_EndPoint, EndPoint_sequence);
5613 dissect_h225_icv(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5615 NOT_DECODED_YET("icv");
5620 dissect_h225_algorithmOID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5622 offset=dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_h225_algorithmOID, NULL);
5626 static per_sequence_t ICV_sequence[] = {
5627 { "algorithmOID", ASN1_NO_EXTENSIONS, ASN1_OPTIONAL,
5628 dissect_h225_algorithmOID },
5629 { "icv", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
5631 { NULL, 0, 0, NULL }
5634 dissect_h225_ICV(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5636 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_ICV, ett_h225_ICV, ICV_sequence);
5640 static per_sequence_t BandwidthConfirm_sequence[] = {
5641 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5642 dissect_h225_RequestSeqNum },
5643 { "bandWidth", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5644 dissect_h225_BandWidth },
5645 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5646 dissect_h225_nonStandardData },
5647 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5648 dissect_h225_tokens },
5649 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5650 dissect_h225_cryptoTokens },
5651 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5653 { "capacity", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5654 dissect_h225_CallCapacity },
5655 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5656 dissect_h225_genericData },
5657 { NULL, 0, 0, NULL }
5660 dissect_h225_BandwidthConfirm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5662 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_BandwidthConfirm, ett_h225_BandwidthConfirm, BandwidthConfirm_sequence);
5667 static per_sequence_t UnregistrationConfirm_sequence[] = {
5668 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5669 dissect_h225_RequestSeqNum },
5670 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5671 dissect_h225_nonStandardData },
5672 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5673 dissect_h225_tokens },
5674 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5675 dissect_h225_cryptoTokens },
5676 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5678 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5679 dissect_h225_genericData },
5680 { NULL, 0, 0, NULL }
5683 dissect_h225_UnregistrationConfirm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5685 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_UnregistrationConfirm, ett_h225_UnregistrationConfirm, UnregistrationConfirm_sequence);
5688 static per_sequence_t NonStandardMessage_sequence[] = {
5689 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5690 dissect_h225_RequestSeqNum },
5691 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5692 dissect_h225_nonStandardData },
5693 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5694 dissect_h225_tokens },
5695 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5696 dissect_h225_cryptoTokens },
5697 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5699 { "featureSet", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5700 dissect_h225_FeatureSet },
5701 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5702 dissect_h225_genericData },
5703 { NULL, 0, 0, NULL }
5706 dissect_h225_NonStandardMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5708 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_NonStandardMessage, ett_h225_NonStandardMessage, NonStandardMessage_sequence);
5713 static per_sequence_t InfoRequestAck_sequence[] = {
5714 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5715 dissect_h225_RequestSeqNum },
5716 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5717 dissect_h225_nonStandardData },
5718 { "tokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5719 dissect_h225_tokens },
5720 { "cryptoTokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5721 dissect_h225_cryptoTokens },
5722 { "integrityCheckValue", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5724 { NULL, 0, 0, NULL }
5727 dissect_h225_InfoRequestAck(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5729 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_InfoRequestAck, ett_h225_InfoRequestAck, InfoRequestAck_sequence);
5732 static per_sequence_t InfoRequestNak_sequence[] = {
5733 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5734 dissect_h225_RequestSeqNum },
5735 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5736 dissect_h225_nonStandardData },
5737 { "nakReason", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5738 dissect_h225_InfoRequestNakReason },
5739 { "altGKInfo", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5740 dissect_h225_AltGKInfo },
5741 { "tokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5742 dissect_h225_tokens },
5743 { "cryptoTokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5744 dissect_h225_cryptoTokens },
5745 { "integrityCheckValue", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5747 { NULL, 0, 0, NULL }
5750 dissect_h225_InfoRequestNak(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5752 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_InfoRequestNak, ett_h225_InfoRequestNak, InfoRequestNak_sequence);
5756 static per_sequence_t ResourcesAvailableConfirm_sequence[] = {
5757 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5758 dissect_h225_RequestSeqNum },
5759 { "protocolIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5760 dissect_h225_ProtocolIdentifier },
5761 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5762 dissect_h225_nonStandardData },
5763 { "tokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5764 dissect_h225_tokens },
5765 { "cryptoTokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5766 dissect_h225_cryptoTokens },
5767 { "integrityCheckValue", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5769 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5770 dissect_h225_genericData },
5771 { NULL, 0, 0, NULL }
5774 dissect_h225_ResourcesAvailableConfirm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5776 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_ResourcesAvailableConfirm, ett_h225_ResourcesAvailableConfirm, ResourcesAvailableConfirm_sequence);
5783 dissect_h225_integrity(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5785 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_integrity, ett_h225_integrity, dissect_h225_IntegrityMechanism);
5791 dissect_h225_algorithmOIDs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5793 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_algorithmOIDs, ett_h225_algorithmOIDs, dissect_h225_algorithmOID);
5799 dissect_h225_alternateEndpoints(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5801 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_alternateEndpoints, ett_h225_alternateEndpoints, dissect_h225_EndPoint);
5808 dissect_h225_endpointAlias(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5810 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_endpointAlias, ett_h225_endpointAlias, dissect_h225_AliasAddress);
5815 static per_sequence_t GatekeeperRequest_sequence[] = {
5816 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5817 dissect_h225_RequestSeqNum },
5818 { "protocolIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5819 dissect_h225_ProtocolIdentifier },
5820 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5821 dissect_h225_nonStandardData },
5822 { "rasAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5823 dissect_h225_rasAddress },
5824 { "endpointType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5825 dissect_h225_EndPointType },
5826 { "gatekeeperIdentifier", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5827 dissect_h225_GatekeeperIdentifier },
5828 { "callServices", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5829 dissect_h225_callServices },
5830 { "endpointAlias", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5831 dissect_h225_endpointAlias },
5832 { "alternateEndpoints", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5833 dissect_h225_alternateEndpoints },
5834 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5835 dissect_h225_tokens },
5836 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5837 dissect_h225_cryptoTokens },
5838 /*XXX from h235 AuthenticationMechanism */
5839 { "authenticationCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL, NULL },
5840 { "algorithmOIDs", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5841 dissect_h225_algorithmOIDs },
5842 { "integrity", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5843 dissect_h225_integrity },
5844 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5846 { "supportsAltGK", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5847 dissect_h225_NULL },
5848 { "featureSet", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5849 dissect_h225_FeatureSet },
5850 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5851 dissect_h225_genericData },
5852 { NULL, 0, 0, NULL }
5855 dissect_h225_GatekeeperRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5857 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_GatekeeperRequest, ett_h225_GatekeeperRequest, GatekeeperRequest_sequence);
5861 static per_sequence_t ServiceControlResponse_sequence[] = {
5862 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5863 dissect_h225_RequestSeqNum },
5864 { "result", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5865 dissect_h225_SCRresult },
5866 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5867 dissect_h225_nonStandardData },
5868 { "tokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5869 dissect_h225_tokens },
5870 { "cryptoTokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5871 dissect_h225_cryptoTokens },
5872 { "integrityCheckValue", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5874 { "featureSet", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5875 dissect_h225_FeatureSet },
5876 { "genericData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5877 dissect_h225_genericData },
5878 { NULL, 0, 0, NULL }
5881 dissect_h225_ServiceControlResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5883 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_ServiceControlResponse, ett_h225_ServiceControlResponse, ServiceControlResponse_sequence);
5889 static per_sequence_t DisengageReject_sequence[] = {
5890 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5891 dissect_h225_RequestSeqNum },
5892 { "rejectReason", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5893 dissect_h225_DisengageRejectReason },
5894 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5895 dissect_h225_nonStandardData },
5896 { "altGKInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5897 dissect_h225_AltGKInfo },
5898 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5899 dissect_h225_tokens },
5900 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5901 dissect_h225_cryptoTokens },
5902 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5904 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5905 dissect_h225_genericData },
5906 { NULL, 0, 0, NULL }
5909 dissect_h225_DisengageReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5911 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_DisengageReject, ett_h225_DisengageReject, DisengageReject_sequence);
5917 static per_sequence_t BandwidthReject_sequence[] = {
5918 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5919 dissect_h225_RequestSeqNum },
5920 { "rejectReason", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5921 dissect_h225_BandRejectReason },
5922 { "allowedBandWidth", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5923 dissect_h225_allowedBandWidth },
5924 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5925 dissect_h225_nonStandardData },
5926 { "altGKInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5927 dissect_h225_AltGKInfo },
5928 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5929 dissect_h225_tokens },
5930 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5931 dissect_h225_cryptoTokens },
5932 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5934 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5935 dissect_h225_genericData },
5936 { NULL, 0, 0, NULL }
5939 dissect_h225_BandwidthReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5941 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_BandwidthReject, ett_h225_BandwidthReject, BandwidthReject_sequence);
5947 static per_sequence_t UnregistrationReject_sequence[] = {
5948 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5949 dissect_h225_RequestSeqNum },
5950 { "rejectReason", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5951 dissect_h225_UnregRejectReason },
5952 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5953 dissect_h225_nonStandardData },
5954 { "altGKInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5955 dissect_h225_AltGKInfo },
5956 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5957 dissect_h225_tokens },
5958 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5959 dissect_h225_cryptoTokens },
5960 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5962 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
5963 dissect_h225_genericData },
5964 { NULL, 0, 0, NULL }
5967 dissect_h225_UnregistrationReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5969 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_UnregistrationReject, ett_h225_UnregistrationReject, UnregistrationReject_sequence);
5975 dissect_h225_endpointAliasPattern(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5977 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_endpointAliasPattern, ett_h225_endpointAliasPattern, dissect_h225_AddressPattern);
5982 dissect_h225_EndpointIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
5984 offset=dissect_per_BMPString(tvb, offset, pinfo, tree, hf_h225_EndpointIdentifier, 1, 128);
5988 static per_sequence_t UnregistrationRequest_sequence[] = {
5989 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5990 dissect_h225_RequestSeqNum },
5991 { "callSignalAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
5992 dissect_h225_callSignalAddress },
5993 { "endpointAlias", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5994 dissect_h225_endpointAlias },
5995 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5996 dissect_h225_nonStandardData },
5997 { "endpointIdentifier", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
5998 dissect_h225_EndpointIdentifier },
5999 { "alternateEndpoints", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6000 dissect_h225_alternateEndpoints },
6001 { "gatekeeperIdentifier", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6002 dissect_h225_GatekeeperIdentifier },
6003 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6004 dissect_h225_tokens },
6005 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6006 dissect_h225_cryptoTokens },
6007 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6009 { "reason", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6010 dissect_h225_UnregRequestReason },
6011 { "endpointAliasPattern", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6012 dissect_h225_endpointAliasPattern },
6013 { "supportedPrefixes", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6014 dissect_h225_SupportedPrefixes },
6015 { "alternateGatekeeper", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6016 dissect_h225_alternateGatekeeper },
6017 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6018 dissect_h225_genericData },
6019 { NULL, 0, 0, NULL }
6022 dissect_h225_UnregistrationRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6024 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_UnregistrationRequest, ett_h225_UnregistrationRequest, UnregistrationRequest_sequence);
6030 dissect_h225_terminalAlias(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6032 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_terminalAlias, ett_h225_terminalAlias, dissect_h225_AliasAddress);
6039 dissect_h225_terminalAliasPattern(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6041 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_terminalAliasPattern, ett_h225_terminalAliasPattern, dissect_h225_AddressPattern);
6046 static per_sequence_t invalidTerminalAliases_sequence[] = {
6047 { "terminalAlias", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6048 dissect_h225_terminalAlias },
6049 { "terminalAliasPattern", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6050 dissect_h225_terminalAliasPattern },
6051 { "supportedPrefixes", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6052 dissect_h225_SupportedPrefixes },
6053 { NULL, 0, 0, NULL }
6056 dissect_h225_invalidTerminalAliases(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6058 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_invalidTerminalAliases, ett_h225_invalidTerminalAliases, invalidTerminalAliases_sequence);
6068 dissect_h225_duplicateAlias(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6070 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_duplicateAlias, ett_h225_duplicateAlias, dissect_h225_AliasAddress);
6078 const value_string RegistrationRejectReason_vals[] = {
6079 { 0, "discoveryRequired" },
6080 { 1, "invalidRevision" },
6081 { 2, "invalidCallSignalAddress" },
6082 { 3, "invalidRASAddress" },
6083 { 4, "duplicateAlias" },
6084 { 5, "invalidTerminalType" },
6085 { 6, "undefinedReason" },
6086 { 7, "transportNotSupported" },
6087 { 8, "transportQOSNotSupported" },
6088 { 9, "resourceUnavailable" },
6089 { 10, "invalidAlias" },
6090 { 11, "securityDenial" },
6091 { 12, "fullRegistrationRequired" },
6092 { 13, "additiveRegistrationNotSupported" },
6093 { 14, "invalidTerminalAliases" },
6094 { 15, "genericDataReason" },
6095 { 16, "neededFeatureNotSupported" },
6096 { 17, "securityError" },
6099 static per_choice_t RegistrationRejectReason_choice[] = {
6100 { 0, "discoveryRequired", ASN1_EXTENSION_ROOT,
6101 dissect_h225_NULL },
6102 { 1, "invalidRevision", ASN1_EXTENSION_ROOT,
6103 dissect_h225_NULL },
6104 { 2, "invalidCallSignalAddress", ASN1_EXTENSION_ROOT,
6105 dissect_h225_NULL },
6106 { 3, "invalidRASAddress", ASN1_EXTENSION_ROOT,
6107 dissect_h225_NULL },
6108 { 4, "duplicateAlias", ASN1_EXTENSION_ROOT,
6109 dissect_h225_duplicateAlias },
6110 { 5, "invalidTerminalType", ASN1_EXTENSION_ROOT,
6111 dissect_h225_NULL },
6112 { 6, "undefinedReason", ASN1_EXTENSION_ROOT,
6113 dissect_h225_NULL },
6114 { 7, "transportNotSupported", ASN1_EXTENSION_ROOT,
6115 dissect_h225_NULL },
6116 { 8, "transportQOSNotSupported", ASN1_NOT_EXTENSION_ROOT,
6117 dissect_h225_NULL },
6118 { 9, "resourceUnavailable", ASN1_NOT_EXTENSION_ROOT,
6119 dissect_h225_NULL },
6120 { 10, "invalidAlias", ASN1_NOT_EXTENSION_ROOT,
6121 dissect_h225_NULL },
6122 { 11, "securityDenial", ASN1_NOT_EXTENSION_ROOT,
6123 dissect_h225_NULL },
6124 { 12, "fullRegistrationRequired", ASN1_NOT_EXTENSION_ROOT,
6125 dissect_h225_NULL },
6126 { 13, "additiveRegistrationNotSupported", ASN1_NOT_EXTENSION_ROOT,
6127 dissect_h225_NULL },
6128 { 14, "invalidTerminalAliases", ASN1_NOT_EXTENSION_ROOT,
6129 dissect_h225_invalidTerminalAliases },
6130 { 15, "genericDataReason", ASN1_NOT_EXTENSION_ROOT,
6131 dissect_h225_NULL },
6132 { 16, "neededFeatureNotSupported", ASN1_NOT_EXTENSION_ROOT,
6133 dissect_h225_NULL },
6134 { 17, "securityError", ASN1_NOT_EXTENSION_ROOT,
6135 dissect_h225_SecurityErrors },
6136 { 0, NULL, 0, NULL }
6139 dissect_h225_RegistrationRejectReason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6143 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_RegistrationRejectReason, ett_h225_RegistrationRejectReason, RegistrationRejectReason_choice, "RegistrationRejectReason", &value);
6144 h225_pi.reason = value;
6153 static per_sequence_t RegistrationReject_sequence[] = {
6154 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6155 dissect_h225_RequestSeqNum },
6156 { "protocolIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6157 dissect_h225_ProtocolIdentifier },
6158 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6159 dissect_h225_nonStandardData },
6160 { "rejectReason", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6161 dissect_h225_RegistrationRejectReason },
6162 { "gatekeeperIdentifier", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6163 dissect_h225_GatekeeperIdentifier },
6164 { "altGKInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6165 dissect_h225_AltGKInfo },
6166 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6167 dissect_h225_tokens },
6168 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6169 dissect_h225_cryptoTokens },
6170 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6172 { "featureSet", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6173 dissect_h225_FeatureSet },
6174 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6175 dissect_h225_genericData },
6176 { NULL, 0, 0, NULL }
6179 dissect_h225_RegistrationReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6181 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_RegistrationReject, ett_h225_RegistrationReject, RegistrationReject_sequence);
6186 static per_sequence_t GatekeeperReject_sequence[] = {
6187 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6188 dissect_h225_RequestSeqNum },
6189 { "protocolIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6190 dissect_h225_ProtocolIdentifier },
6191 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6192 dissect_h225_nonStandardData },
6193 { "gatekeeperIdentifier", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6194 dissect_h225_GatekeeperIdentifier },
6195 { "rejectReason", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6196 dissect_h225_GatekeeperRejectReason },
6197 { "altGKInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6198 dissect_h225_AltGKInfo },
6199 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6200 dissect_h225_tokens },
6201 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6202 dissect_h225_cryptoTokens },
6203 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6205 { "featureSet", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6206 dissect_h225_FeatureSet },
6207 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6208 dissect_h225_genericData },
6209 { NULL, 0, 0, NULL }
6212 dissect_h225_GatekeeperReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6214 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_GatekeeperReject, ett_h225_GatekeeperReject, GatekeeperReject_sequence);
6221 dissect_h225_almostOutOfResources(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6223 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_almostOutOfResources, NULL, NULL);
6229 dissect_h225_protocols(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6231 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_protocols, ett_h225_protocols, dissect_h225_SupportedProtocols);
6235 static per_sequence_t ResourcesAvailableIndicate_sequence[] = {
6236 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6237 dissect_h225_RequestSeqNum },
6238 { "protocolIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6239 dissect_h225_ProtocolIdentifier },
6240 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6241 dissect_h225_nonStandardData },
6242 { "endpointIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6243 dissect_h225_EndpointIdentifier },
6244 { "protocols", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6245 dissect_h225_protocols },
6246 { "almostOutOfResources", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6247 dissect_h225_almostOutOfResources },
6248 { "tokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6249 dissect_h225_tokens },
6250 { "cryptoTokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6251 dissect_h225_cryptoTokens },
6252 { "integrityCheckValue", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6254 { "capacity", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6255 dissect_h225_CallCapacity },
6256 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6257 dissect_h225_genericData },
6258 { NULL, 0, 0, NULL }
6261 dissect_h225_ResourcesAvailableIndicate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6263 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_ResourcesAvailableIndicate, ett_h225_ResourcesAvailableIndicate, ResourcesAvailableIndicate_sequence);
6269 dissect_h225_amountString(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6271 NOT_DECODED_YET("amountString");
6278 dissect_h225_callDurationLimit(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6280 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
6281 tree, hf_h225_callDurationLimit, 1, 4294967295UL,
6288 dissect_h225_enforceCallDurationLimit(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6290 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_enforceCallDurationLimit, NULL, NULL);
6295 static per_sequence_t CallCreditServiceControl_sequence[] = {
6296 { "amountString", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6297 dissect_h225_amountString },
6298 { "billingMode", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6299 dissect_h225_billingMode },
6300 { "callDurationLimit", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6301 dissect_h225_callDurationLimit },
6302 { "enforceCallDurationLimit", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6303 dissect_h225_enforceCallDurationLimit },
6304 { "callStartingPoint", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6305 dissect_h225_CCSCcallStartingPoint },
6306 { NULL, 0, 0, NULL }
6309 dissect_h225_CallCreditServiceControl(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6311 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_CallCreditServiceControl, ett_h225_CallCreditServiceControl, CallCreditServiceControl_sequence);
6317 static const value_string ScreeningIndicator_vals[] = {
6318 { 0, "userProvidedNotScreened" },
6319 { 1, "userProvidedVerifiedAndPassed" },
6320 { 2, "userProvidedVerifiedAndFailed" },
6321 { 3, "networkProvided" },
6326 dissect_h225_ScreeningIndicator(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6328 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
6329 tree, hf_h225_ScreeningIndicator, 0, 3,
6334 static per_sequence_t ExtendedAliasAddress_sequence[] = {
6335 { "address", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6336 dissect_h225_AliasAddress },
6337 { "presentationIndicator", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6338 dissect_h225_PresentationIndicator },
6339 { "screeningIndicator", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6340 dissect_h225_ScreeningIndicator },
6341 { NULL, 0, 0, NULL }
6344 dissect_h225_ExtendedAliasAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6346 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_ExtendedAliasAddress, ett_h225_ExtendedAliasAddress, ExtendedAliasAddress_sequence);
6354 dissect_h225_messageNotUnderstood(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6356 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_messageNotUnderstood, -1, -1, NULL, NULL);
6360 static per_sequence_t UnknownMessageResponse_sequence[] = {
6361 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6362 dissect_h225_RequestSeqNum },
6363 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6364 dissect_h225_tokens },
6365 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6366 dissect_h225_cryptoTokens },
6367 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6369 { "messageNotUnderstood", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6370 dissect_h225_messageNotUnderstood },
6371 { NULL, 0, 0, NULL }
6374 dissect_h225_UnknownMessageResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6376 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_UnknownMessageResponse, ett_h225_UnknownMessageResponse, UnknownMessageResponse_sequence);
6381 dissect_h225_CallReferenceValue(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6383 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
6384 tree, hf_h225_CallReferenceValue, 0, 65535,
6393 dissect_h225_canMapSrcAlias(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6395 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_canMapSrcAlias, NULL, NULL);
6400 dissect_h225_desiredProtocols(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6402 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_desiredProtocols, ett_h225_desiredProtocols, dissect_h225_SupportedProtocols);
6407 dissect_h225_willSupplyUUIEs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6409 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_willSupplyUUIEs, NULL, NULL);
6415 dissect_h225_destAlternatives(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6417 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_destAlternatives, ett_h225_destAlternatives, dissect_h225_EndPoint);
6422 dissect_h225_srcAlternatives(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6424 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_srcAlternatives, ett_h225_srcAlternatives, dissect_h225_EndPoint);
6429 dissect_h225_canMapAlias(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6431 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_canMapAlias, NULL, NULL);
6437 dissect_h225_answerCall(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6439 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_answerCall, NULL, NULL);
6445 dissect_h225_activeMC(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6447 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_activeMC, NULL, NULL);
6453 dissect_h225_srcInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6455 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_srcInfo, ett_h225_srcInfo, dissect_h225_AliasAddress);
6460 dissect_h225_DestinationInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6462 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_DestinationInfo, ett_h225_DestinationInfo, dissect_h225_AliasAddress);
6471 static per_sequence_t AdmissionRequest_sequence[] = {
6472 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6473 dissect_h225_RequestSeqNum },
6474 { "callType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6475 dissect_h225_CallType },
6476 { "callModel", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6477 dissect_h225_CallModel },
6478 { "endpointIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6479 dissect_h225_EndpointIdentifier },
6480 { "DestinationInfo", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6481 dissect_h225_DestinationInfo },
6482 { "destCallSignalAddress", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6483 dissect_h225_destCallSignalAddress },
6484 { "destExtraCallInfo", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6485 dissect_h225_destExtraCallInfo },
6486 { "srcInfo", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6487 dissect_h225_srcInfo },
6488 { "sourceCallSignalAddress", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6489 dissect_h225_sourceCallSignalAddress },
6490 { "bandWidth", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6491 dissect_h225_BandWidth },
6492 { "callReferenceValue", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6493 dissect_h225_CallReferenceValue },
6494 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6495 dissect_h225_nonStandardData },
6496 { "callServices", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6497 dissect_h225_callServices },
6498 { "conferenceID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6499 dissect_h225_conferenceID },
6500 { "activeMC", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6501 dissect_h225_activeMC },
6502 { "answerCall", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6503 dissect_h225_answerCall },
6504 { "canMapAlias", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6505 dissect_h225_canMapAlias },
6506 { "callIdentifier", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6507 dissect_h225_CallIdentifier },
6508 { "srcAlternatives", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6509 dissect_h225_srcAlternatives },
6510 { "destAlternatives", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6511 dissect_h225_destAlternatives },
6512 { "gatekeeperIdentifier", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6513 dissect_h225_GatekeeperIdentifier },
6514 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6515 dissect_h225_tokens },
6516 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6517 dissect_h225_cryptoTokens },
6518 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6520 { "transportQOS", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6521 dissect_h225_TransportQOS },
6522 { "willSupplyUUIEs", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6523 dissect_h225_willSupplyUUIEs },
6524 { "callLinkage", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6525 dissect_h225_CallLinkage },
6526 { "gatewayDataRate", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6527 dissect_h225_gatewayDataRate },
6528 { "capacity", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6529 dissect_h225_CallCapacity },
6530 { "circuitInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6531 dissect_h225_CircuitInfo },
6532 { "desiredProtocols", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6533 dissect_h225_desiredProtocols },
6534 { "desiredTunnelledProtocol", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6535 dissect_h225_desiredTunnelledProtocol },
6536 { "featureSet", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6537 dissect_h225_FeatureSet },
6538 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6539 dissect_h225_genericData },
6540 { "canMapSrcAlias", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6541 dissect_h225_canMapSrcAlias },
6542 { NULL, 0, 0, NULL }
6545 dissect_h225_AdmissionRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6547 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_AdmissionRequest, ett_h225_AdmissionRequest, AdmissionRequest_sequence);
6554 dissect_h225_nextSegmentRequested(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6556 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
6557 tree, hf_h225_nextSegmentRequested, 0, 65535,
6562 static per_sequence_t InfoRequest_sequence[] = {
6563 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6564 dissect_h225_RequestSeqNum },
6565 { "callReferenceValue", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6566 dissect_h225_CallReferenceValue },
6567 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6568 dissect_h225_nonStandardData },
6569 { "replyAddress", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6570 dissect_h225_replyAddress },
6571 { "callIdentifier", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6572 dissect_h225_CallIdentifier },
6573 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6574 dissect_h225_tokens },
6575 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6576 dissect_h225_cryptoTokens },
6577 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6579 { "uuiesRequested", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6580 dissect_h225_UUIEsRequested },
6581 { "callLinkage", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6582 dissect_h225_CallLinkage },
6583 { "usageInfoRequested", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6584 dissect_h225_RasUsageInfoTypes },
6585 { "segmentedResponseSupported", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6586 dissect_h225_NULL },
6587 { "nextSegmentRequested", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6588 dissect_h225_nextSegmentRequested },
6589 { "capacityInfoRequested", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6590 dissect_h225_NULL },
6591 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6592 dissect_h225_genericData },
6593 { NULL, 0, 0, NULL }
6596 dissect_h225_InfoRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6598 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_InfoRequest, ett_h225_InfoRequest, InfoRequest_sequence);
6604 dissect_h225_delay(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6606 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
6607 tree, hf_h225_delay, 1, 65535,
6612 static per_sequence_t RequestInProgress_sequence[] = {
6613 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6614 dissect_h225_RequestSeqNum },
6615 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6616 dissect_h225_nonStandardData },
6617 { "tokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6618 dissect_h225_tokens },
6619 { "cryptoTokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6620 dissect_h225_cryptoTokens },
6621 { "integrityCheckValue", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6623 { "delay", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6624 dissect_h225_delay },
6625 { NULL, 0, 0, NULL }
6628 dissect_h225_RequestInProgress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6630 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_RequestInProgress, ett_h225_RequestInProgress, RequestInProgress_sequence);
6635 dissect_h225_H248SignalsDescriptor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6637 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_H248SignalsDescriptor, -1, -1, NULL, NULL);
6643 dissect_h225_url(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6645 offset=dissect_per_IA5String(tvb, offset, pinfo, tree, hf_h225_url, 0, 512);
6650 static const value_string ServiceControlDescriptor_vals[] = {
6653 { 2, "nonStandard" },
6654 { 3, "callCreditServiceControl" },
6657 static per_choice_t ServiceControlDescriptor_choice[] = {
6658 { 0, "url", ASN1_EXTENSION_ROOT,
6660 { 1, "signal", ASN1_EXTENSION_ROOT,
6661 dissect_h225_H248SignalsDescriptor },
6662 { 2, "nonStandard", ASN1_EXTENSION_ROOT,
6663 dissect_h225_nonStandard },
6664 { 3, "callCreditServiceControl", ASN1_EXTENSION_ROOT,
6665 dissect_h225_CallCreditServiceControl },
6666 { 0, NULL, 0, NULL }
6669 dissect_h225_ServiceControlDescriptor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6671 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_ServiceControlDescriptor, ett_h225_ServiceControlDescriptor, ServiceControlDescriptor_choice, "ServiceControlDescriptor", NULL);
6678 dissect_h225_sessionId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6680 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
6681 tree, hf_h225_sessionId, 0, 255,
6686 static per_sequence_t ServiceControlSession_sequence[] = {
6687 { "sessionId", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6688 dissect_h225_sessionId },
6689 { "contents", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6690 dissect_h225_ServiceControlDescriptor },
6691 { "reason", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6692 dissect_h225_ServiceControlSession_reason },
6693 { NULL, 0, 0, NULL }
6696 dissect_h225_ServiceControlSession(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6698 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_ServiceControlSession, ett_h225_ServiceControlSession, ServiceControlSession_sequence);
6705 dissect_h225_serviceControl(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6707 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_serviceControl, ett_h225_serviceControl, dissect_h225_ServiceControlSession);
6713 dissect_h225_alertingAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6715 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_alertingAddress, ett_h225_alertingAddress, dissect_h225_AliasAddress);
6720 static per_sequence_t AlertingUUIE_sequence[] = {
6721 { "protocolIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6722 dissect_h225_ProtocolIdentifier },
6723 { "destinationInfo", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6724 dissect_h225_destinationInfo },
6725 { "h245Address", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6726 dissect_h225_h245Address },
6727 { "callIdentifier", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6728 dissect_h225_CallIdentifier },
6729 { "h245SecurityMode", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6730 dissect_h225_H245Security },
6731 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6732 dissect_h225_tokens },
6733 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6734 dissect_h225_cryptoTokens },
6735 { "fastStart", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6736 dissect_h225_fastStart },
6737 { "multipleCalls", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6738 dissect_h225_multipleCalls },
6739 { "maintainConnection", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6740 dissect_h225_maintainConnection },
6741 { "alertingAddress", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6742 dissect_h225_alertingAddress },
6743 { "presentationIndicator", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6744 dissect_h225_PresentationIndicator },
6745 { "screeningIndicator", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6746 dissect_h225_ScreeningIndicator },
6747 { "fastConnectRefused", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6748 dissect_h225_NULL },
6749 { "serviceControl", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6750 dissect_h225_serviceControl },
6751 { "capacity", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6752 dissect_h225_CallCapacity },
6753 { "featureSet", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6754 dissect_h225_FeatureSet },
6755 { NULL, 0, 0, NULL }
6758 dissect_h225_AlertingUUIE(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6760 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_AlertingUUIE, ett_h225_AlertingUUIE, AlertingUUIE_sequence);
6765 dissect_h225_busyAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6767 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_busyAddress, ett_h225_busyAddress, dissect_h225_AliasAddress);
6772 static per_sequence_t ReleaseCompleteUUIE_sequence[] = {
6773 { "protocolIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6774 dissect_h225_ProtocolIdentifier },
6775 { "reason", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6776 dissect_h225_ReleaseCompleteReason },
6777 { "callIdentifier", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6778 dissect_h225_CallIdentifier },
6779 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6780 dissect_h225_tokens },
6781 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6782 dissect_h225_cryptoTokens },
6783 { "busyAddress", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6784 dissect_h225_busyAddress },
6785 { "presentationIndicator", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6786 dissect_h225_PresentationIndicator },
6787 { "screeningIndicator", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6788 dissect_h225_ScreeningIndicator },
6789 { "capacity", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6790 dissect_h225_CallCapacity },
6791 { "serviceControl", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6792 dissect_h225_serviceControl },
6793 { "featureSet", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6794 dissect_h225_FeatureSet },
6795 { NULL, 0, 0, NULL }
6798 dissect_h225_ReleaseCompleteUUIE(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6800 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_ReleaseCompleteUUIE, ett_h225_ReleaseCompleteUUIE, ReleaseCompleteUUIE_sequence);
6805 dissect_h225_alternativeAliasAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6807 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_alternativeAliasAddress, ett_h225_alternativeAliasAddress, dissect_h225_AliasAddress);
6811 static per_sequence_t FacilityUUIE_sequence[] = {
6812 { "protocolIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6813 dissect_h225_ProtocolIdentifier },
6814 { "alternativeAddress", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6815 dissect_h225_alternativeAddress },
6816 { "alternativeAliasAddress", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6817 dissect_h225_alternativeAliasAddress },
6818 { "conferenceID", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6819 dissect_h225_conferenceID },
6820 { "reason", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6821 dissect_h225_FacilityReason },
6822 { "callIdentifier", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6823 dissect_h225_CallIdentifier },
6824 { "destExtraCallInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6825 dissect_h225_destExtraCallInfo },
6826 { "remoteExtensionAddress", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6827 dissect_h225_RemoteExtensionAddress },
6828 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6829 dissect_h225_tokens },
6830 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6831 dissect_h225_cryptoTokens },
6832 { "conferences", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6833 dissect_h225_conferences },
6834 { "h245Address", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6835 dissect_h225_h245Address },
6836 { "fastStart", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6837 dissect_h225_fastStart },
6838 { "multipleCalls", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6839 dissect_h225_multipleCalls },
6840 { "maintainConnection", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6841 dissect_h225_maintainConnection },
6842 { "fastConnectRefused", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6843 dissect_h225_NULL },
6844 { "serviceControl", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6845 dissect_h225_serviceControl },
6846 { "circuitInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6847 dissect_h225_CircuitInfo },
6848 { "featureSet", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6849 dissect_h225_FeatureSet },
6850 { "destinationInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6851 dissect_h225_destinationInfo },
6852 { "h245SecurityMode", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6853 dissect_h225_H245Security },
6854 { NULL, 0, 0, NULL }
6857 dissect_h225_FacilityUUIE(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6859 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_FacilityUUIE, ett_h225_FacilityUUIE, FacilityUUIE_sequence);
6863 static per_sequence_t AdmissionReject_sequence[] = {
6864 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6865 dissect_h225_RequestSeqNum },
6866 { "rejectReason", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
6867 dissect_h225_AdmissionRejectReason },
6868 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
6869 dissect_h225_nonStandardData },
6870 { "altGKInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6871 dissect_h225_AltGKInfo },
6872 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6873 dissect_h225_tokens },
6874 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6875 dissect_h225_cryptoTokens },
6876 { "callSignalAddress", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6877 dissect_h225_callSignalAddress },
6878 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6880 { "serviceControl", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6881 dissect_h225_serviceControl },
6882 { "featureSet", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6883 dissect_h225_FeatureSet },
6884 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
6885 dissect_h225_genericData },
6886 { NULL, 0, 0, NULL }
6889 dissect_h225_AdmissionReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6891 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_AdmissionReject, ett_h225_AdmissionReject, AdmissionReject_sequence);
6896 dissect_h225_hopCount(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6898 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
6899 tree, hf_h225_hopCount, 1, 31,
6906 dissect_h225_parallelH245Control_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6909 guint32 h245_offset=0;
6912 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, -1, -1, -1, &h245_offset, &h245_len);
6917 /* dont update the INFO or PROTOCOL fields of the summary */
6918 save_info=col_get_writable(pinfo->cinfo);
6919 col_set_writable(pinfo->cinfo, FALSE);
6920 h245_tvb = tvb_new_subset(tvb, h245_offset, h245_len, h245_len);
6921 call_dissector(h245dg_handle, h245_tvb, pinfo, tree);
6922 col_set_writable(pinfo->cinfo, save_info);
6929 dissect_h225_parallelH245Control(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6931 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_parallelH245Control, ett_h225_parallelH245Control, dissect_h225_parallelH245Control_item);
6936 dissect_h225_language(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6938 offset=dissect_per_IA5String(tvb, offset, pinfo, tree, hf_h225_language, 1, 32);
6943 dissect_h225_languages(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6945 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_languages, ett_h225_languages, dissect_h225_language);
6950 dissect_h225_mediaWaitForConnect(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6952 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_mediaWaitForConnect, NULL, NULL);
6957 dissect_h225_canOverlapSend(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6959 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_canOverlapSend, NULL, NULL);
6964 dissect_h225_sourceAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6966 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_sourceAddress, ett_h225_sourceAddress, dissect_h225_AliasAddress);
6971 dissect_h225_destinationAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6973 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_destinationAddress, ett_h225_destinationAddress, dissect_h225_AliasAddress);
6979 dissect_h225_destExtraCRV(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6981 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_destExtraCRV, ett_h225_destExtraCRV, dissect_h225_CallReferenceValue);
6986 dissect_h225_h245SecurityCapability(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6988 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_h245SecurityCapability, ett_h225_h245SecurityCapability, dissect_h225_H245Security);
6993 dissect_h225_additionalSourceAddresses(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6995 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_additionalSourceAddresses, ett_h225_additionalSourceAddresses, dissect_h225_ExtendedAliasAddress);
7001 static per_sequence_t SetupUUIE_sequence[] = {
7002 { "protocolIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7003 dissect_h225_ProtocolIdentifier },
7004 { "h245Address", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7005 dissect_h225_h245Address },
7006 { "sourceAddress", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7007 dissect_h225_sourceAddress },
7008 { "sourceInfo", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7009 dissect_h225_sourceInfo },
7010 { "destinationAddress", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7011 dissect_h225_destinationAddress },
7012 { "destCallSignalAddress", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7013 dissect_h225_destCallSignalAddress },
7014 { "destExtraCallInfo", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7015 dissect_h225_destExtraCallInfo },
7016 { "destExtraCRV", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7017 dissect_h225_destExtraCRV },
7018 { "activeMC", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7019 dissect_h225_activeMC },
7020 { "conferenceID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7021 dissect_h225_conferenceID },
7022 { "conferenceGoal", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7023 dissect_h225_conferenceGoal },
7024 { "callServices", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7025 dissect_h225_callServices },
7026 { "callType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7027 dissect_h225_CallType },
7028 { "sourceCallSignalAddress", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7029 dissect_h225_sourceCallSignalAddress },
7030 { "RemoteExtensionAddress", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7031 dissect_h225_RemoteExtensionAddress },
7032 { "callIdentifier", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7033 dissect_h225_CallIdentifier },
7034 { "h245SecurityCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7035 dissect_h225_h245SecurityCapability },
7036 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7037 dissect_h225_tokens },
7038 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7039 dissect_h225_cryptoTokens },
7040 { "fastStart", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7041 dissect_h225_fastStart },
7042 { "mediaWaitForConnect", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7043 dissect_h225_mediaWaitForConnect },
7044 { "canOverlapSend", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7045 dissect_h225_canOverlapSend },
7046 { "endpointIdentifier", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7047 dissect_h225_EndpointIdentifier },
7048 { "multipleCalls", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7049 dissect_h225_multipleCalls },
7050 { "maintainConnection", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7051 dissect_h225_maintainConnection },
7052 { "connectionParameters", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7053 dissect_h225_connectionParameters },
7054 { "languages", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7055 dissect_h225_languages },
7056 { "presentationIndicator", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7057 dissect_h225_PresentationIndicator },
7058 { "screeningIndicator", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7059 dissect_h225_ScreeningIndicator },
7060 { "serviceControl", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7061 dissect_h225_serviceControl },
7062 { "symmetricOperationRequired", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7063 dissect_h225_NULL },
7064 { "capacity", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7065 dissect_h225_CallCapacity },
7066 { "circuitInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7067 dissect_h225_CircuitInfo },
7068 { "desiredProtocols", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7069 dissect_h225_desiredProtocols },
7070 { "neededFeatures", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7071 dissect_h225_neededFeatures },
7072 { "desiredFeatures", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7073 dissect_h225_desiredFeatures },
7074 { "supportedFeatures", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7075 dissect_h225_supportedFeatures },
7076 { "parallelH245Control", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7077 dissect_h225_parallelH245Control },
7078 { "additionalSourceAddresses", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7079 dissect_h225_additionalSourceAddresses },
7080 { "hopCount", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7081 dissect_h225_hopCount },
7082 { NULL, 0, 0, NULL }
7085 dissect_h225_SetupUUIE(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7087 contains_faststart = FALSE;
7088 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_SetupUUIE, ett_h225_SetupUUIE, SetupUUIE_sequence);
7094 dissect_h225_connectedAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7096 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_connectedAddress, ett_h225_connectedAddress, dissect_h225_AliasAddress);
7100 static per_sequence_t ConnectUUIE_sequence[] = {
7101 { "protocolIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7102 dissect_h225_ProtocolIdentifier },
7103 { "h245Address", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7104 dissect_h225_h245Address },
7105 { "destinationInfo", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7106 dissect_h225_destinationInfo },
7107 { "conferenceID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7108 dissect_h225_conferenceID },
7109 { "callIdentifier", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7110 dissect_h225_CallIdentifier },
7111 { "h245SecurityMode", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7112 dissect_h225_H245Security },
7113 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7114 dissect_h225_tokens },
7115 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7116 dissect_h225_cryptoTokens },
7117 { "fastStart", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7118 dissect_h225_fastStart },
7119 { "multipleCalls", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7120 dissect_h225_multipleCalls },
7121 { "maintainConnection", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7122 dissect_h225_maintainConnection },
7123 { "languages", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7124 dissect_h225_languages },
7125 { "connectedAddress", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7126 dissect_h225_connectedAddress },
7127 { "presentationIndicator", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7128 dissect_h225_PresentationIndicator },
7129 { "screeningIndicator", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7130 dissect_h225_ScreeningIndicator },
7131 { "fastConnectRefused", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7132 dissect_h225_NULL },
7133 { "serviceControl", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7134 dissect_h225_serviceControl },
7135 { "capacity", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7136 dissect_h225_CallCapacity },
7137 { "featureSet", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7138 dissect_h225_FeatureSet },
7139 { NULL, 0, 0, NULL }
7142 dissect_h225_ConnectUUIE(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7144 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_ConnectUUIE, ett_h225_ConnectUUIE, ConnectUUIE_sequence);
7149 const value_string h323_message_body_vals[] = {
7151 { 1, "callProceeding" },
7154 { 4, "information" },
7155 { 5, "releaseComplete" },
7160 { 10, "statusInquiry" },
7161 { 11, "setupAcknowledge" },
7165 static per_choice_t h323_message_body_choice[] = {
7166 { 0, "setup", ASN1_EXTENSION_ROOT,
7167 dissect_h225_SetupUUIE },
7168 { 1, "callProceeding", ASN1_EXTENSION_ROOT,
7169 dissect_h225_CallProceedingUUIE },
7170 { 2, "connect", ASN1_EXTENSION_ROOT,
7171 dissect_h225_ConnectUUIE },
7172 { 3, "alerting", ASN1_EXTENSION_ROOT,
7173 dissect_h225_AlertingUUIE },
7174 { 4, "information", ASN1_EXTENSION_ROOT,
7175 dissect_h225_InformationUUIE },
7176 { 5, "releaseComplete", ASN1_EXTENSION_ROOT,
7177 dissect_h225_ReleaseCompleteUUIE },
7178 { 6, "facility", ASN1_EXTENSION_ROOT,
7179 dissect_h225_FacilityUUIE },
7180 { 7, "progress", ASN1_NOT_EXTENSION_ROOT,
7181 dissect_h225_ProgressUUIE },
7182 { 8, "empty", ASN1_NOT_EXTENSION_ROOT,
7183 dissect_h225_NULL },
7184 { 9, "status", ASN1_NOT_EXTENSION_ROOT,
7185 dissect_h225_StatusUUIE },
7186 { 10, "statusInquiry", ASN1_NOT_EXTENSION_ROOT,
7187 dissect_h225_StatusInquiryUUIE },
7188 { 11, "setupAcknowledge", ASN1_NOT_EXTENSION_ROOT,
7189 dissect_h225_SetupAcknowledgeUUIE },
7190 { 12, "notify", ASN1_NOT_EXTENSION_ROOT,
7191 dissect_h225_NotifyUUIE },
7192 { 0, NULL, 0, NULL }
7195 dissect_h225_h323_message_body(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7199 contains_faststart = FALSE;
7201 offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_h323_message_body, ett_h225_h323_message_body, h323_message_body_choice, "h323_message_body", &(value));
7203 if (check_col(pinfo->cinfo, COL_INFO)){
7204 col_append_fstr(pinfo->cinfo, COL_INFO, "CS: %s ",
7205 val_to_str(value, h323_message_body_vals, "<unknown>"));
7208 if (h225_pi.msg_type == H225_CS) {
7209 /* Don't override msg_tag value from IRR */
7210 h225_pi.msg_tag = value;
7213 if (contains_faststart == TRUE )
7215 if (check_col(pinfo->cinfo, COL_INFO))
7217 col_append_str(pinfo->cinfo, COL_INFO, "OpenLogicalChannel " );
7221 col_set_fence(pinfo->cinfo,COL_INFO);
7227 dissect_h225_supportedProtocols(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7229 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_supportedProtocols, ett_h225_supportedProtocols, dissect_h225_SupportedProtocols);
7234 dissect_h225_modifiedSrcInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7236 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_modifiedSrcInfo, ett_h225_modifiedSrcInfo, dissect_h225_AliasAddress);
7241 static per_sequence_t LocationConfirm_sequence[] = {
7242 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7243 dissect_h225_RequestSeqNum },
7244 { "callSignalAddress2", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7245 dissect_h225_CallSignalAddress2 },
7246 { "rasAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7247 dissect_h225_rasAddress },
7248 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7249 dissect_h225_nonStandardData },
7250 { "DestinationInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7251 dissect_h225_DestinationInfo },
7252 { "destExtraCallInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7253 dissect_h225_destExtraCallInfo },
7254 { "destinationType", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7255 dissect_h225_destinationType },
7256 { "remoteExtensionAddress", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7257 dissect_h225_remoteExtensionAddress },
7258 { "alternateEndpoints", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7259 dissect_h225_alternateEndpoints },
7260 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7261 dissect_h225_tokens },
7262 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7263 dissect_h225_cryptoTokens },
7264 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7266 { "alternateTransportAddresses", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7267 dissect_h225_AlternateTransportAddress },
7268 { "supportedProtocols", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7269 dissect_h225_supportedProtocols },
7270 { "multipleCalls", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7271 dissect_h225_multipleCalls },
7272 { "featureSet", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7273 dissect_h225_FeatureSet },
7274 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7275 dissect_h225_genericData },
7276 { "circuitInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7277 dissect_h225_CircuitInfo },
7278 { "serviceControl", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7279 dissect_h225_serviceControl },
7280 { "modifiedSrcInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7281 dissect_h225_modifiedSrcInfo },
7282 { "bandWidth", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7283 dissect_h225_BandWidth },
7284 { NULL, 0, 0, NULL }
7287 dissect_h225_LocationConfirm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7289 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_LocationConfirm, ett_h225_LocationConfirm, LocationConfirm_sequence);
7293 static per_sequence_t LocationReject_sequence[] = {
7294 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7295 dissect_h225_RequestSeqNum },
7296 { "rejectReason", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7297 dissect_h225_LocationRejectReason },
7298 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7299 dissect_h225_nonStandardData },
7300 { "altGKInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7301 dissect_h225_AltGKInfo },
7302 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7303 dissect_h225_tokens },
7304 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7305 dissect_h225_cryptoTokens },
7306 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7308 { "featureSet", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7309 dissect_h225_FeatureSet },
7310 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7311 dissect_h225_genericData },
7312 { "serviceControl", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7313 dissect_h225_serviceControl },
7314 { NULL, 0, 0, NULL }
7317 dissect_h225_LocationReject(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7319 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_LocationReject, ett_h225_LocationReject, LocationReject_sequence);
7325 dissect_h225_answeredCall(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7327 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_answeredCall, NULL, NULL);
7331 static per_sequence_t callSpecific_sequence[] = {
7332 { "callIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7333 dissect_h225_CallIdentifier },
7334 { "conferenceID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7335 dissect_h225_conferenceID },
7336 { "answeredCall", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7337 dissect_h225_answeredCall },
7338 { NULL, 0, 0, NULL }
7341 dissect_h225_callSpecific(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7343 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_callSpecific, ett_h225_callSpecific, callSpecific_sequence);
7347 static per_sequence_t ServiceControlIndication_sequence[] = {
7348 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7349 dissect_h225_RequestSeqNum },
7350 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7351 dissect_h225_nonStandardData },
7352 { "serviceControl", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7353 dissect_h225_serviceControl },
7354 { "endpointIdentifier", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7355 dissect_h225_EndpointIdentifier },
7356 { "callSpecific", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7357 dissect_h225_callSpecific },
7358 { "tokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7359 dissect_h225_tokens },
7360 { "cryptoTokens", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7361 dissect_h225_cryptoTokens },
7362 { "integrityCheckValue", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7364 { "featureSet", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7365 dissect_h225_FeatureSet },
7366 { "genericData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7367 dissect_h225_genericData },
7368 { NULL, 0, 0, NULL }
7371 dissect_h225_ServiceControlIndication(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7373 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_ServiceControlIndication, ett_h225_ServiceControlIndication, ServiceControlIndication_sequence);
7378 dissect_h225_alertingTime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7380 NOT_DECODED_YET("alertingTime");
7384 dissect_h225_connectTime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7386 NOT_DECODED_YET("connectTime");
7390 dissect_h225_endTime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7392 NOT_DECODED_YET("endTime");
7397 dissect_h225_nonStandardUsageFields_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7399 offset = dissect_h225_NonStandardParameter(tvb, offset, pinfo, tree,
7400 hf_h225_nonStandardUsageFields_item);
7405 dissect_h225_nonStandardUsageFields(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7407 offset = dissect_per_sequence_of(tvb, offset, pinfo, tree,
7408 hf_h225_nonStandardUsageFields,
7409 ett_h225_T_nonStandardUsageFields, dissect_h225_nonStandardUsageFields_item);
7414 static per_sequence_t RasUsageInformation_sequence[] = {
7415 { "nonStandardUsageFields", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7416 dissect_h225_nonStandardUsageFields },
7417 { "alertingTime", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7418 dissect_h225_alertingTime },
7419 { "connectTime", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7420 dissect_h225_connectTime },
7421 { "endTime", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7422 dissect_h225_endTime },
7423 { NULL, 0, 0, NULL }
7426 dissect_h225_RasUsageInformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7428 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_RasUsageInformation, ett_h225_RasUsageInformation, RasUsageInformation_sequence);
7435 dissect_h225_TimeToLive(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7437 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7438 tree, hf_h225_TimeToLive, 1, 4294967295UL,
7443 static per_sequence_t GatekeeperConfirm_sequence[] = {
7444 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7445 dissect_h225_RequestSeqNum },
7446 { "protocolIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7447 dissect_h225_ProtocolIdentifier },
7448 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7449 dissect_h225_nonStandardData },
7450 { "gatekeeperIdentifier", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7451 dissect_h225_GatekeeperIdentifier },
7452 { "rasAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7453 dissect_h225_rasAddress },
7454 { "alternateGatekeeper", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7455 dissect_h225_alternateGatekeeper },
7456 /*XXX from h235 AuthenticationMechanism */
7457 { "authenticationMode", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL, NULL },
7458 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7459 dissect_h225_tokens },
7460 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7461 dissect_h225_cryptoTokens },
7462 { "algorithmOID", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7463 dissect_h225_algorithmOID },
7464 { "integrity", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7465 dissect_h225_integrity },
7466 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7468 { "featureSet", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7469 dissect_h225_FeatureSet },
7470 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7471 dissect_h225_genericData },
7472 { NULL, 0, 0, NULL }
7475 dissect_h225_GatekeeperConfirm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7477 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_GatekeeperConfirm, ett_h225_GatekeeperConfirm, GatekeeperConfirm_sequence);
7484 dissect_h225_discoveryComplete(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7486 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_discoveryComplete, NULL, NULL);
7492 dissect_h225_keepAlive(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7494 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_keepAlive, NULL, NULL);
7500 dissect_h225_H248PackagesDescriptor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7502 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_H248PackagesDescriptor, -1, -1, NULL, NULL);
7507 dissect_h225_supportedH248Packages(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7509 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_supportedH248Packages, ett_h225_supportedH248Packages, dissect_h225_H248PackagesDescriptor);
7514 static per_sequence_t RegistrationRequest_sequence[] = {
7515 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7516 dissect_h225_RequestSeqNum },
7517 { "protocolIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7518 dissect_h225_ProtocolIdentifier },
7519 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7520 dissect_h225_nonStandardData },
7521 { "discoveryComplete", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7522 dissect_h225_discoveryComplete },
7523 { "callSignalAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7524 dissect_h225_callSignalAddress },
7525 { "rasAddress_sequence", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7526 dissect_h225_rasAddress_sequence },
7527 { "terminalType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7528 dissect_h225_terminalType },
7529 { "terminalAlias", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7530 dissect_h225_terminalAlias },
7531 { "gatekeeperIdentifier", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7532 dissect_h225_GatekeeperIdentifier },
7533 { "endpointVendor", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7534 dissect_h225_VendorIdentifier },
7535 { "alternateEndpoints", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7536 dissect_h225_alternateEndpoints },
7537 { "timeToLive", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7538 dissect_h225_TimeToLive },
7539 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7540 dissect_h225_tokens },
7541 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7542 dissect_h225_cryptoTokens },
7543 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7545 { "keepAlive", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7546 dissect_h225_keepAlive },
7547 { "endpointIdentifier", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7548 dissect_h225_EndpointIdentifier },
7549 { "willSupplyUUIEs", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7550 dissect_h225_willSupplyUUIEs },
7551 { "maintainConnection", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7552 dissect_h225_maintainConnection },
7553 { "alternateTransportAddresses", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7554 dissect_h225_AlternateTransportAddress },
7555 { "additiveRegistration", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7556 dissect_h225_NULL },
7557 { "terminalAliasPattern", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7558 dissect_h225_terminalAliasPattern },
7559 { "supportsAltGK", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7560 dissect_h225_NULL },
7561 { "usageReportingCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7562 dissect_h225_usageReportingCapability },
7563 { "multipleCalls", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7564 dissect_h225_multipleCalls },
7565 { "supportedH248Packages", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7566 dissect_h225_supportedH248Packages },
7567 { "callCreditCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7568 dissect_h225_CallCreditCapability },
7569 { "capacityReportingCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7570 dissect_h225_CapacityReportingCapability },
7571 { "capacity", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7572 dissect_h225_CallCapacity },
7573 { "featureSet", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7574 dissect_h225_FeatureSet },
7575 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7576 dissect_h225_genericData },
7577 { "restart", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7578 dissect_h225_NULL },
7579 { "supportsACFSequences", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7580 dissect_h225_NULL },
7581 { NULL, 0, 0, NULL }
7584 dissect_h225_RegistrationRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7586 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_RegistrationRequest, ett_h225_RegistrationRequest, RegistrationRequest_sequence);
7591 static per_sequence_t DisengageConfirm_sequence[] = {
7592 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7593 dissect_h225_RequestSeqNum },
7594 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7595 dissect_h225_nonStandardData },
7596 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7597 dissect_h225_tokens },
7598 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7599 dissect_h225_cryptoTokens },
7600 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7602 { "capacity", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7603 dissect_h225_CallCapacity },
7604 { "circuitInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7605 dissect_h225_CircuitInfo },
7606 { "usageInformation", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7607 dissect_h225_RasUsageInformation },
7608 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7609 dissect_h225_genericData },
7610 { NULL, 0, 0, NULL }
7613 dissect_h225_DisengageConfirm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7615 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_DisengageConfirm, ett_h225_DisengageConfirm, DisengageConfirm_sequence);
7621 dissect_h225_irrFrequency(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7623 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7624 tree, hf_h225_irrFrequency, 1, 65535,
7630 dissect_h225_willRespondToIRR(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7632 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_willRespondToIRR, NULL, NULL);
7638 dissect_h225_usageSpec(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7640 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_usageSpec, ett_h225_usageSpec, dissect_h225_RasUsageSpecification);
7644 static per_sequence_t AdmissionConfirm_sequence[] = {
7645 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7646 dissect_h225_RequestSeqNum },
7647 { "bandWidth", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7648 dissect_h225_BandWidth },
7649 { "callModel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7650 dissect_h225_CallModel },
7651 { "destCallSignalAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7652 dissect_h225_destCallSignalAddress },
7653 { "irrFrequency", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7654 dissect_h225_irrFrequency },
7655 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7656 dissect_h225_nonStandardData },
7657 { "DestinationInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7658 dissect_h225_DestinationInfo },
7659 { "destExtraCallInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7660 dissect_h225_destExtraCallInfo },
7661 { "destinationType", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7662 dissect_h225_destinationType },
7663 { "remoteExtensionAddress", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7664 dissect_h225_remoteExtensionAddress },
7665 { "alternateEndpoints", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7666 dissect_h225_alternateEndpoints },
7667 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7668 dissect_h225_tokens },
7669 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7670 dissect_h225_cryptoTokens },
7671 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7673 { "transportQOS", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7674 dissect_h225_TransportQOS },
7675 { "willRespondToIRR", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7676 dissect_h225_willRespondToIRR },
7677 { "uuiesRequested", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7678 dissect_h225_UUIEsRequested },
7679 { "languages", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7680 dissect_h225_languages },
7681 { "alternateTransportAddresses", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7682 dissect_h225_AlternateTransportAddress },
7683 { "useSpecifiedTransport", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7684 dissect_h225_UseSpecifiedTransport },
7685 { "circuitInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7686 dissect_h225_CircuitInfo },
7687 { "usageSpec", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7688 dissect_h225_usageSpec },
7689 { "supportedProtocols", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7690 dissect_h225_supportedProtocols },
7691 { "serviceControl", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7692 dissect_h225_serviceControl },
7693 { "multipleCalls", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7694 dissect_h225_multipleCalls },
7695 { "featureSet", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7696 dissect_h225_FeatureSet },
7697 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7698 dissect_h225_genericData },
7699 { "modifiedSrcInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7700 dissect_h225_modifiedSrcInfo },
7701 { NULL, 0, 0, NULL }
7704 dissect_h225_AdmissionConfirm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7706 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_AdmissionConfirm, ett_h225_AdmissionConfirm, AdmissionConfirm_sequence);
7711 static per_sequence_t DisengageRequest_sequence[] = {
7712 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7713 dissect_h225_RequestSeqNum },
7714 { "endpointIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7715 dissect_h225_EndpointIdentifier },
7716 { "conferenceID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7717 dissect_h225_conferenceID },
7718 { "callReferenceValue", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7719 dissect_h225_CallReferenceValue },
7720 { "disengageReason", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7721 dissect_h225_DisengageReason },
7722 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7723 dissect_h225_nonStandardData },
7724 { "callIdentifier", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7725 dissect_h225_CallIdentifier },
7726 { "gatekeeperIdentifier", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7727 dissect_h225_GatekeeperIdentifier },
7728 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7729 dissect_h225_tokens },
7730 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7731 dissect_h225_cryptoTokens },
7732 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7734 { "answeredCall", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7735 dissect_h225_answeredCall },
7736 { "callLinkage", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7737 dissect_h225_CallLinkage },
7738 { "capacity", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7739 dissect_h225_CallCapacity },
7740 { "circuitInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7741 dissect_h225_CircuitInfo },
7742 { "usageInformation", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7743 dissect_h225_RasUsageInformation },
7744 { "terminationCause", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7745 dissect_h225_CallTerminationCause },
7746 { "serviceControl", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7747 dissect_h225_serviceControl },
7748 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7749 dissect_h225_genericData },
7750 { NULL, 0, 0, NULL }
7753 dissect_h225_DisengageRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7755 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_DisengageRequest, ett_h225_DisengageRequest, DisengageRequest_sequence);
7761 dissect_h225_SourceInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7763 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_SourceInfo, ett_h225_SourceInfo, dissect_h225_AliasAddress);
7768 dissect_h225_hopCount255(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7770 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
7771 tree, hf_h225_hopCount255, 1, 255,
7777 dissect_h225_sourceEndpointInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7779 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_sourceEndpointInfo, ett_h225_sourceEndpointInfo, dissect_h225_AliasAddress);
7783 static per_sequence_t LocationRequest_sequence[] = {
7784 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7785 dissect_h225_RequestSeqNum },
7786 { "endpointIdentifier", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7787 dissect_h225_EndpointIdentifier },
7788 { "DestinationInfo", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7789 dissect_h225_DestinationInfo },
7790 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7791 dissect_h225_nonStandardData },
7792 { "replyAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7793 dissect_h225_replyAddress },
7794 { "SourceInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7795 dissect_h225_SourceInfo },
7796 { "canMapAlias", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7797 dissect_h225_canMapAlias },
7798 { "gatekeeperIdentifier", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7799 dissect_h225_GatekeeperIdentifier },
7800 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7801 dissect_h225_tokens },
7802 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7803 dissect_h225_cryptoTokens },
7804 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7806 { "desiredProtocols", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7807 dissect_h225_desiredProtocols },
7808 { "desiredTunnelledProtocol", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7809 dissect_h225_desiredTunnelledProtocol },
7810 { "featureSet", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7811 dissect_h225_FeatureSet },
7812 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7813 dissect_h225_genericData },
7814 { "hopCount255", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7815 dissect_h225_hopCount255 },
7816 { "circuitInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7817 dissect_h225_CircuitInfo },
7818 { "callIdentifier", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7819 dissect_h225_CallIdentifier },
7820 { "bandWidth", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7821 dissect_h225_BandWidth },
7822 { "sourceEndpointInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7823 dissect_h225_sourceEndpointInfo },
7824 { "canMapSrcAlias", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7825 dissect_h225_canMapSrcAlias },
7826 { NULL, 0, 0, NULL }
7829 dissect_h225_LocationRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7831 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_LocationRequest, ett_h225_LocationRequest, LocationRequest_sequence);
7836 dissect_h225_bandwidthDetails(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7838 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_bandwidthDetails, ett_h225_bandwidthDetails, dissect_h225_BandwidthDetails);
7842 static per_sequence_t BandwidthRequest_sequence[] = {
7843 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7844 dissect_h225_RequestSeqNum },
7845 { "endpointIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7846 dissect_h225_EndpointIdentifier },
7847 { "conferenceID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7848 dissect_h225_conferenceID },
7849 { "callReferenceValue", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7850 dissect_h225_CallReferenceValue },
7851 { "callType", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7852 dissect_h225_CallType },
7853 { "bandWidth", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7854 dissect_h225_BandWidth },
7855 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7856 dissect_h225_nonStandardData },
7857 { "callIdentifier", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7858 dissect_h225_CallIdentifier },
7859 { "gatekeeperIdentifier", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7860 dissect_h225_GatekeeperIdentifier },
7861 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7862 dissect_h225_tokens },
7863 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7864 dissect_h225_cryptoTokens },
7865 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7867 { "answeredCall", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7868 dissect_h225_answeredCall },
7869 { "callLinkage", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7870 dissect_h225_CallLinkage },
7871 { "capacity", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7872 dissect_h225_CallCapacity },
7873 { "usageInformation", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7874 dissect_h225_RasUsageInformation },
7875 { "bandwidthDetails", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7876 dissect_h225_bandwidthDetails },
7877 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
7878 dissect_h225_genericData },
7879 { NULL, 0, 0, NULL }
7882 dissect_h225_BandwidthRequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7884 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_BandwidthRequest, ett_h225_BandwidthRequest, BandwidthRequest_sequence);
7890 dissect_h225_admissionConfirmSequence(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7892 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_admissionConfirmSequence, ett_h225_admissionConfirmSequence, dissect_h225_AdmissionConfirm);
7898 dissect_h225_messageContent_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7900 guint32 value_offset, value_len;
7903 offset = dissect_per_octet_string(tvb, offset, pinfo, tree,
7904 hf_h225_messageContent_item, -1, -1,
7905 &value_offset, &value_len);
7907 if (value_len > 0) {
7908 next_tvb = tvb_new_subset(tvb, value_offset, value_len, value_len);
7909 call_dissector((tp_handle)?tp_handle:data_handle, next_tvb, pinfo, tree);
7916 dissect_h225_messageContent(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7918 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_messageContent, ett_h225_messageContent, dissect_h225_messageContent_item);
7924 dissect_h225_h4501SupplementaryService_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7926 tvbuff_t *h4501_tvb;
7927 guint32 h4501_offset=0;
7928 guint32 h4501_len=0;
7930 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, -1, -1, -1, &h4501_offset, &h4501_len);
7933 h4501_tvb = tvb_new_subset(tvb, h4501_offset, h4501_len, h4501_len);
7934 call_dissector(h4501_handle, h4501_tvb, pinfo, tree);
7940 dissect_h225_h4501SupplementaryService(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7942 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_h4501SupplementaryService, ett_h225_h4501SupplementaryService, dissect_h225_h4501SupplementaryService_item);
7947 static per_sequence_t tunnelledSignallingMessage_sequence[] = {
7948 { "tunnelledProtocolID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7949 dissect_h225_TunnelledProtocol },
7950 { "messageContent", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
7951 dissect_h225_messageContent },
7952 { "tunnellingRequired", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7953 dissect_h225_NULL },
7954 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
7955 dissect_h225_nonStandardData },
7956 { NULL, 0, 0, NULL }
7959 dissect_h225_tunnelledSignallingMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7962 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_tunnelledSignallingMessage, ett_h225_tunnelledSignallingMessage, tunnelledSignallingMessage_sequence);
7968 dissect_h225_h245Tunneling(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7970 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_h245Tunneling, NULL, NULL);
7976 dissect_h225_h245Control_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7979 guint32 h245_offset=0;
7982 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, -1, -1, -1, &h245_offset, &h245_len);
7985 h245_tvb = tvb_new_subset(tvb, h245_offset, h245_len, h245_len);
7986 call_dissector(h245dg_handle, h245_tvb, pinfo, tree);
7994 dissect_h225_h245Control(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7996 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_h245Control, ett_h225_h245Control, dissect_h225_h245Control_item);
8002 dissect_h225_nonStandardControl_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8004 offset = dissect_h225_NonStandardParameter(tvb, offset, pinfo, tree,
8005 hf_h225_nonStandardControl_item);
8010 dissect_h225_nonStandardControl(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8012 offset = dissect_per_sequence_of(tvb, offset, pinfo, tree,
8013 hf_h225_nonStandardControl,
8014 ett_h225_T_nonStandardControl, dissect_h225_nonStandardControl_item);
8019 static per_sequence_t H323_UU_PDU_sequence[] = {
8020 { "h323_message_body", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8021 dissect_h225_h323_message_body },
8022 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8023 dissect_h225_nonStandardData },
8024 { "h4501SupplementaryService", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8025 dissect_h225_h4501SupplementaryService },
8026 { "h245Tunneling", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8027 dissect_h225_h245Tunneling },
8028 { "h245Control", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8029 dissect_h225_h245Control },
8030 { "nonStandardControl", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8031 dissect_h225_nonStandardControl },
8032 { "callLinkage", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8033 dissect_h225_CallLinkage },
8034 { "tunnelledSignallingMessage", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8035 dissect_h225_tunnelledSignallingMessage },
8036 { "provisionalRespToH245Tunneling", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8037 dissect_h225_NULL },
8038 { "stimulusControl", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8039 dissect_h225_StimulusControl },
8040 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8041 dissect_h225_genericData },
8042 { NULL, 0, 0, NULL }
8045 dissect_h225_H323_UU_PDU(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8047 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_H323_UU_PDU, ett_h225_H323_UU_PDU, H323_UU_PDU_sequence);
8053 dissect_h225_makeCall(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8055 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_makeCall, NULL, NULL);
8060 dissect_h225_useGKCallSignalAddressToMakeCall(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8062 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_useGKCallSignalAddressToMakeCall, NULL, NULL);
8068 dissect_h225_useGKCallSignalAddressToAnswer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8070 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_useGKCallSignalAddressToAnswer, NULL, NULL);
8074 static per_sequence_t preGrantedARQ_sequence[] = {
8075 { "makeCall", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8076 dissect_h225_makeCall },
8077 { "useGKCallSignalAddressToMakeCall", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8078 dissect_h225_useGKCallSignalAddressToMakeCall },
8079 { "answerCall", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8080 dissect_h225_answerCall },
8081 { "useGKCallSignalAddressToAnswer", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8082 dissect_h225_useGKCallSignalAddressToAnswer },
8083 { "irrFrequencyInCall", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8084 dissect_h225_irrFrequency },
8085 { "totalBandwidthRestriction", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8086 dissect_h225_totalBandwidthRestriction },
8087 { "alternateTransportAddresses", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8088 dissect_h225_AlternateTransportAddress },
8089 { "useSpecifiedTransport", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8090 dissect_h225_UseSpecifiedTransport },
8091 { NULL, 0, 0, NULL }
8094 dissect_h225_preGrantedARQ(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8096 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_preGrantedARQ, ett_h225_preGrantedARQ, preGrantedARQ_sequence);
8102 static per_sequence_t RegistrationConfirm_sequence[] = {
8103 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8104 dissect_h225_RequestSeqNum },
8105 { "protocolIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8106 dissect_h225_ProtocolIdentifier },
8107 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8108 dissect_h225_nonStandardData },
8109 { "callSignalAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8110 dissect_h225_callSignalAddress },
8111 { "terminalAlias", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8112 dissect_h225_terminalAlias },
8113 { "gatekeeperIdentifier", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8114 dissect_h225_GatekeeperIdentifier },
8115 { "endpointIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8116 dissect_h225_EndpointIdentifier },
8117 { "alternateGatekeeper", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8118 dissect_h225_alternateGatekeeper },
8119 { "timeToLive", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8120 dissect_h225_TimeToLive },
8121 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8122 dissect_h225_tokens },
8123 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8124 dissect_h225_cryptoTokens },
8125 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8127 { "willRespondToIRR", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8128 dissect_h225_willRespondToIRR },
8129 { "preGrantedARQ", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8130 dissect_h225_preGrantedARQ },
8131 { "maintainConnection", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8132 dissect_h225_maintainConnection },
8133 { "serviceControl", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8134 dissect_h225_serviceControl },
8135 { "supportsAdditiveRegistration", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8136 dissect_h225_NULL },
8137 { "terminalAliasPattern", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8138 dissect_h225_terminalAliasPattern },
8139 { "supportedPrefixes", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8140 dissect_h225_SupportedPrefixes },
8141 { "usageSpec", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8142 dissect_h225_usageSpec },
8143 { "featureServerAlias", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8144 dissect_h225_featureServerAlias },
8145 { "capacityReportingSpec", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8146 dissect_h225_CapacityReportingSpecification },
8147 { "featureSet", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8148 dissect_h225_FeatureSet },
8149 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8150 dissect_h225_genericData },
8151 { NULL, 0, 0, NULL }
8154 dissect_h225_RegistrationConfirm(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8156 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_RegistrationConfirm, ett_h225_RegistrationConfirm, RegistrationConfirm_sequence);
8162 dissect_h225_sent(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8164 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_sent, NULL, NULL);
8168 static per_sequence_t pdu_item_sequence[] = {
8169 { "h323pdu", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
8170 dissect_h225_H323_UU_PDU },
8171 { "sent", ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
8172 dissect_h225_sent },
8173 { NULL, 0, 0, NULL }
8176 dissect_h225_pdu_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8180 /* dont update the INFO or PROTOCOL fields of the summary */
8181 save_info=col_get_writable(pinfo->cinfo);
8182 col_set_writable(pinfo->cinfo, FALSE);
8183 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_pdu_item, ett_h225_pdu_item, pdu_item_sequence);
8184 col_set_writable(pinfo->cinfo, save_info);
8190 dissect_h225_pdu(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8192 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_pdu, ett_h225_pdu, dissect_h225_pdu_item);
8199 dissect_h225_originator(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8201 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_originator, NULL, NULL);
8206 dissect_h225_audio(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8208 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_audio, ett_h225_audio, dissect_h225_RTPSession);
8213 dissect_h225_video(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8215 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_video, ett_h225_video, dissect_h225_RTPSession);
8220 dissect_h225_data(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8222 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_data, ett_h225_data, dissect_h225_RTPSession);
8228 dissect_h225_substituteConfIDs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8230 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_substituteConfIDs, ett_h225_substituteConfIDs, dissect_h225_conferenceID);
8235 static per_sequence_t perCallInfo_item_sequence[] = {
8236 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8237 dissect_h225_nonStandardData },
8238 { "callReferenceValue", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8239 dissect_h225_CallReferenceValue },
8240 { "conferenceID", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8241 dissect_h225_conferenceID },
8242 { "originator", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8243 dissect_h225_originator },
8244 { "audio", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8245 dissect_h225_audio },
8246 { "video", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8247 dissect_h225_video },
8248 { "data", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8249 dissect_h225_data },
8250 { "h245", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8251 dissect_h225_h245 },
8252 { "callSignaling", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8253 dissect_h225_callSignaling },
8254 { "callType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8255 dissect_h225_CallType },
8256 { "bandWidth", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8257 dissect_h225_BandWidth },
8258 { "callModel", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8259 dissect_h225_CallModel },
8260 { "callIdentifier", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8261 dissect_h225_CallIdentifier },
8262 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8263 dissect_h225_tokens },
8264 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8265 dissect_h225_cryptoTokens },
8266 { "substituteConfIDs", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8267 dissect_h225_substituteConfIDs },
8268 { "pdu", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8270 { "callLinkage", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8271 dissect_h225_CallLinkage },
8272 { "usageInformation", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8273 dissect_h225_RasUsageInformation },
8274 { "circuitInfo", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8275 dissect_h225_CircuitInfo },
8276 { NULL, 0, 0, NULL }
8279 dissect_h225_perCallInfo_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8281 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_perCallInfo_item, ett_h225_perCallInfo_item, perCallInfo_item_sequence);
8289 dissect_h225_perCallInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8291 offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_perCallInfo, ett_h225_perCallInfo, dissect_h225_perCallInfo_item);
8298 dissect_h225_needResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8300 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_needResponse, NULL, NULL);
8306 dissect_h225_unsolicited(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8308 offset=dissect_per_boolean(tvb, offset, pinfo, tree, hf_h225_unsolicited, NULL, NULL);
8312 static per_sequence_t InfoRequestResponse_sequence[] = {
8313 { "nonStandardData", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8314 dissect_h225_nonStandardData },
8315 { "requestSeqNum", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8316 dissect_h225_RequestSeqNum },
8317 { "endpointType", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8318 dissect_h225_EndPointType },
8319 { "endpointIdentifier", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8320 dissect_h225_EndpointIdentifier },
8321 { "rasAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8322 dissect_h225_rasAddress },
8323 { "callSignalAddress", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8324 dissect_h225_callSignalAddress },
8325 { "endpointAlias", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8326 dissect_h225_endpointAlias },
8327 { "perCallInfo", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8328 dissect_h225_perCallInfo },
8329 { "tokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8330 dissect_h225_tokens },
8331 { "cryptoTokens", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8332 dissect_h225_cryptoTokens },
8333 { "integrityCheckValue", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8335 { "needResponse", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8336 dissect_h225_needResponse },
8337 { "capacity", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8338 dissect_h225_CallCapacity },
8339 { "irrStatus", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8340 dissect_h225_InfoRequestResponseStatus },
8341 { "unsolicited", ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8342 dissect_h225_unsolicited },
8343 { "genericData", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL,
8344 dissect_h225_genericData },
8345 { NULL, 0, 0, NULL }
8348 dissect_h225_InfoRequestResponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8350 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_InfoRequestResponse, ett_h225_InfoRequestResponse, InfoRequestResponse_sequence);
8357 dissect_h225_protocol_discriminator(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8359 offset=dissect_per_constrained_integer(tvb, offset, pinfo,
8360 tree, hf_h225_protocol_discriminator, 0, 255,
8366 dissect_h225_user_information(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8368 offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_user_information, 1, 131, NULL, NULL);
8372 static per_sequence_t user_data_sequence[] = {
8373 { "protocol-discriminator", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8374 dissect_h225_protocol_discriminator },
8375 { "user-information", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8376 dissect_h225_user_information },
8377 { NULL, 0, 0, NULL }
8380 dissect_h225_user_data(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
8382 offset=dissect_per_sequence(tvb, offset, pinfo, tree, hf_h225_user_data, ett_h225_user_data, user_data_sequence);
8389 const value_string RasMessage_vals[] = {
8390 { 0, "gatekeeperRequest" },
8391 { 1, "gatekeeperConfirm" },
8392 { 2, "gatekeeperReject" },
8393 { 3, "registrationRequest" },
8394 { 4, "registrationConfirm" },
8395 { 5, "registrationReject" },
8396 { 6, "unregistrationRequest" },
8397 { 7, "unregistrationConfirm" },
8398 { 8, "unregistrationReject" },
8399 { 9, "admissionRequest" },
8400 {10, "admissionConfirm" },
8401 {11, "admissionReject" },
8402 {12, "bandwidthRequest" },
8403 {13, "bandwidthConfirm" },
8404 {14, "bandwidthReject" },
8405 {15, "disengageRequest" },
8406 {16, "disengageConfirm" },
8407 {17, "disengageReject" },
8408 {18, "locationRequest" },
8409 {19, "locationConfirm" },
8410 {20, "locationReject" },
8411 {21, "infoRequest" },
8412 {22, "infoRequestResponse" },
8413 {23, "nonStandardMessage" },
8414 {24, "unknownMessageResponse" },
8415 {25, "requestInProgress" },
8416 {26, "resourcesAvailableIndicate" },
8417 {27, "resourcesAvailableConfirm" },
8418 {28, "infoRequestAck" },
8419 {29, "infoRequestNak" },
8420 {30, "serviceControlIndication" },
8421 {31, "serviceControlResponse" },
8422 {32, "admissionConfirmSequence" },
8425 static per_choice_t RasMessage_choice[] = {
8426 { 0, "gatekeeperRequest", ASN1_EXTENSION_ROOT,
8427 dissect_h225_GatekeeperRequest },
8428 { 1, "gatekeeperConfirm", ASN1_EXTENSION_ROOT,
8429 dissect_h225_GatekeeperConfirm },
8430 { 2, "gatekeeperReject", ASN1_EXTENSION_ROOT,
8431 dissect_h225_GatekeeperReject },
8432 { 3, "registrationRequest", ASN1_EXTENSION_ROOT,
8433 dissect_h225_RegistrationRequest },
8434 { 4, "registrationConfirm", ASN1_EXTENSION_ROOT,
8435 dissect_h225_RegistrationConfirm },
8436 { 5, "registrationReject", ASN1_EXTENSION_ROOT,
8437 dissect_h225_RegistrationReject },
8438 { 6, "unregistrationRequest", ASN1_EXTENSION_ROOT,
8439 dissect_h225_UnregistrationRequest },
8440 { 7, "unregistrationConfirm", ASN1_EXTENSION_ROOT,
8441 dissect_h225_UnregistrationConfirm },
8442 { 8, "unregistrationReject", ASN1_EXTENSION_ROOT,
8443 dissect_h225_UnregistrationReject },
8444 { 9, "admissionRequest", ASN1_EXTENSION_ROOT,
8445 dissect_h225_AdmissionRequest },
8446 {10, "admissionConfirm", ASN1_EXTENSION_ROOT,
8447 dissect_h225_AdmissionConfirm },
8448 {11, "admissionReject", ASN1_EXTENSION_ROOT,
8449 dissect_h225_AdmissionReject },
8450 {12, "bandwidthRequest", ASN1_EXTENSION_ROOT,
8451 dissect_h225_BandwidthRequest },
8452 {13, "bandwidthConfirm", ASN1_EXTENSION_ROOT,
8453 dissect_h225_BandwidthConfirm },
8454 {14, "bandwidthReject", ASN1_EXTENSION_ROOT,
8455 dissect_h225_BandwidthReject },
8456 {15, "disengageRequest", ASN1_EXTENSION_ROOT,
8457 dissect_h225_DisengageRequest },
8458 {16, "disengageConfirm", ASN1_EXTENSION_ROOT,
8459 dissect_h225_DisengageConfirm },
8460 {17, "disengageReject", ASN1_EXTENSION_ROOT,
8461 dissect_h225_DisengageReject },
8462 {18, "locationRequest", ASN1_EXTENSION_ROOT,
8463 dissect_h225_LocationRequest },
8464 {19, "locationConfirm", ASN1_EXTENSION_ROOT,
8465 dissect_h225_LocationConfirm },
8466 {20, "locationReject", ASN1_EXTENSION_ROOT,
8467 dissect_h225_LocationReject },
8468 {21, "infoRequest", ASN1_EXTENSION_ROOT,
8469 dissect_h225_InfoRequest },
8470 {22, "infoRequestResponse", ASN1_EXTENSION_ROOT,
8471 dissect_h225_InfoRequestResponse },
8472 {23, "nonStandardMessage", ASN1_EXTENSION_ROOT,
8473 dissect_h225_NonStandardMessage },
8474 {24, "unknownMessageResponse", ASN1_EXTENSION_ROOT,
8475 dissect_h225_UnknownMessageResponse },
8476 {25, "requestInProgress", ASN1_NOT_EXTENSION_ROOT,
8477 dissect_h225_RequestInProgress },
8478 {26, "resourcesAvailableIndicate", ASN1_NOT_EXTENSION_ROOT,
8479 dissect_h225_ResourcesAvailableIndicate },
8480 {27, "resourcesAvailableConfirm", ASN1_NOT_EXTENSION_ROOT,
8481 dissect_h225_ResourcesAvailableConfirm },
8482 {28, "infoRequestAck", ASN1_NOT_EXTENSION_ROOT,
8483 dissect_h225_InfoRequestAck },
8484 {29, "infoRequestNak", ASN1_NOT_EXTENSION_ROOT,
8485 dissect_h225_InfoRequestNak },
8486 {30, "serviceControlIndication", ASN1_NOT_EXTENSION_ROOT,
8487 dissect_h225_ServiceControlIndication },
8488 {31, "serviceControlResponse", ASN1_NOT_EXTENSION_ROOT,
8489 dissect_h225_ServiceControlResponse },
8490 {32, "admissionConfirmSequence", ASN1_NOT_EXTENSION_ROOT,
8491 dissect_h225_admissionConfirmSequence },
8492 { 0, NULL, 0, NULL }
8495 dissect_h225_RasMessage(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
8502 /* Init struct for collecting h225_packet_info */
8503 reset_h225_packet_info(&(h225_pi));
8504 h225_pi.msg_type = H225_RAS;
8506 if (check_col(pinfo->cinfo, COL_PROTOCOL)){
8507 col_set_str(pinfo->cinfo, COL_PROTOCOL, "H.225.0");
8510 it=proto_tree_add_protocol_format(tree, proto_h225, tvb, 0, tvb_length(tvb), "H.225.0 RAS");
8511 tr=proto_item_add_subtree(it, ett_h225);
8513 offset=dissect_per_choice(tvb, offset, pinfo, tr, hf_h225_RasMessage, ett_h225_RasMessage, RasMessage_choice, "RasMessage", &value);
8515 if (check_col(pinfo->cinfo, COL_INFO)){
8516 col_add_fstr(pinfo->cinfo, COL_INFO, "RAS: %s ",
8517 val_to_str(value, RasMessage_vals, "<unknown>"));
8519 h225_pi.msg_tag = value;
8521 ras_call_matching(tvb, pinfo, tr, &(h225_pi));
8523 tap_queue_packet(h225_tap, pinfo, &h225_pi);
8531 static per_sequence_t H323_UserInformation_sequence[] = {
8532 { "h323_uu_pdu", ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
8533 dissect_h225_H323_UU_PDU },
8534 { "user_data", ASN1_EXTENSION_ROOT, ASN1_OPTIONAL,
8535 dissect_h225_user_data },
8536 { NULL, 0, 0, NULL }
8539 dissect_h225_H323UserInformation(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
8545 /* Init struct for collecting h225_packet_info */
8546 reset_h225_packet_info(&(h225_pi));
8547 h225_pi.msg_type = H225_CS;
8549 if (check_col(pinfo->cinfo, COL_PROTOCOL)){
8550 col_set_str(pinfo->cinfo, COL_PROTOCOL, "H.225.0");
8552 if (check_col(pinfo->cinfo, COL_INFO)){
8553 col_clear(pinfo->cinfo, COL_INFO);
8556 it=proto_tree_add_protocol_format(tree, proto_h225, tvb, 0, tvb_length(tvb), "H.225.0 CS");
8557 tr=proto_item_add_subtree(it, ett_h225);
8559 offset=dissect_per_sequence(tvb, offset, pinfo, tr, hf_h225_H323_UserInformation, ett_h225_H323_UserInformation, H323_UserInformation_sequence);
8561 tap_queue_packet(h225_tap, pinfo, &h225_pi);
8567 dissect_h225ras(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
8569 dissect_tpkt_encap(tvb, pinfo, tree, h225_reassembly, h225ras_handle);
8575 proto_register_h225(void)
8577 static hf_register_info hf[] =
8579 { &hf_h225_PresentationIndicator,
8580 { "PresentationIndicator", "h225.PresentationIndicator", FT_UINT32, BASE_DEC,
8581 VALS(PresentationIndicator_vals), 0, "PresentationIndicator choice", HFILL }},
8582 { &hf_h225_conferenceGoal,
8583 { "conferenceGoal", "h225.conferenceGoal", FT_UINT32, BASE_DEC,
8584 VALS(conferenceGoal_vals), 0, "conferenceGoal choice", HFILL }},
8585 { &hf_h225_ScnConnectionType,
8586 { "ScnConnectionType", "h225.ScnConnectionType", FT_UINT32, BASE_DEC,
8587 VALS(ScnConnectionType_vals), 0, "ScnConnectionType choice", HFILL }},
8588 { &hf_h225_ScnConnectionAggregation,
8589 { "ScnConnectionAggregation", "h225.ScnConnectionAggregation", FT_UINT32, BASE_DEC,
8590 VALS(ScnConnectionAggregation_vals), 0, "ScnConnectionAggregation choice", HFILL }},
8591 { &hf_h225_FacilityReason,
8592 { "FacilityReason", "h225.FacilityReason", FT_UINT32, BASE_DEC,
8593 VALS(FacilityReason_vals), 0, "FacilityReason choice", HFILL }},
8594 { &hf_h225_PublicTypeOfNumber,
8595 { "PublicTypeOfNumber", "h225.PublicTypeOfNumber", FT_UINT32, BASE_DEC,
8596 VALS(PublicTypeOfNumber_vals), 0, "PublicTypeOfNumber choice", HFILL }},
8597 { &hf_h225_PrivateTypeOfNumber,
8598 { "PrivateTypeOfNumber", "h225.PrivateTypeOfNumber", FT_UINT32, BASE_DEC,
8599 VALS(PrivateTypeOfNumber_vals), 0, "PrivateTypeOfNumber choice", HFILL }},
8600 { &hf_h225_UseSpecifiedTransport,
8601 { "UseSpecifiedTransport", "h225.UseSpecifiedTransport", FT_UINT32, BASE_DEC,
8602 VALS(UseSpecifiedTransport_vals), 0, "UseSpecifiedTransport choice", HFILL }},
8603 { &hf_h225_SecurityErrors,
8604 { "SecurityErrors", "h225.SecurityErrors", FT_UINT32, BASE_DEC,
8605 VALS(SecurityErrors_vals), 0, "SecurityErrors choice", HFILL }},
8606 { &hf_h225_SecurityErrors2,
8607 { "SecurityErrors2", "h225.SecurityErrors2", FT_UINT32, BASE_DEC,
8608 VALS(SecurityErrors2_vals), 0, "SecurityErrors2 choice", HFILL }},
8609 { &hf_h225_ServiceControlSession_reason,
8610 { "ServiceControlSession_reason", "h225.ServiceControlSession_reason", FT_UINT32, BASE_DEC,
8611 VALS(ServiceControlSession_reason_vals), 0, "ServiceControlSession_reason choice", HFILL }},
8612 { &hf_h225_billingMode,
8613 { "billingMode", "h225.billingMode", FT_UINT32, BASE_DEC,
8614 VALS(billingMode_vals), 0, "billingMode choice", HFILL }},
8615 { &hf_h225_CCSCcallStartingPoint,
8616 { "CCSCcallStartingPoint", "h225.CCSCcallStartingPoint", FT_UINT32, BASE_DEC,
8617 VALS(CCSCcallStartingPoint_vals), 0, "CCSCcallStartingPoint choice", HFILL }},
8618 { &hf_h225_GatekeeperRejectReason,
8619 { "GatekeeperRejectReason", "h225.GatekeeperRejectReason", FT_UINT32, BASE_DEC,
8620 VALS(GatekeeperRejectReason_vals), 0, "GatekeeperRejectReason choice", HFILL }},
8621 { &hf_h225_UnregRequestReason,
8622 { "UnregRequestReason", "h225.UnregRequestReason", FT_UINT32, BASE_DEC,
8623 VALS(UnregRequestReason_vals), 0, "UnregRequestReason choice", HFILL }},
8624 { &hf_h225_UnregRejectReason,
8625 { "UnregRejectReason", "h225.UnregRejectReason", FT_UINT32, BASE_DEC,
8626 VALS(UnregRejectReason_vals), 0, "UnregRejectReason choice", HFILL }},
8627 { &hf_h225_CallType,
8628 { "CallType", "h225.CallType", FT_UINT32, BASE_DEC,
8629 VALS(CallType_vals), 0, "CallType choice", HFILL }},
8630 { &hf_h225_CallModel,
8631 { "CallModel", "h225.CallModel", FT_UINT32, BASE_DEC,
8632 VALS(CallModel_vals), 0, "CallModel choice", HFILL }},
8633 { &hf_h225_TransportQOS,
8634 { "TransportQOS", "h225.TransportQOS", FT_UINT32, BASE_DEC,
8635 VALS(TransportQOS_vals), 0, "TransportQOS choice", HFILL }},
8636 { &hf_h225_BandRejectReason,
8637 { "BandRejectReason", "h225.BandRejectReason", FT_UINT32, BASE_DEC,
8638 VALS(BandRejectReason_vals), 0, "BandRejectReason choice", HFILL }},
8639 { &hf_h225_DisengageReason,
8640 { "DisengageReason", "h225.DisengageReason", FT_UINT32, BASE_DEC,
8641 VALS(DisengageReason_vals), 0, "DisengageReason choice", HFILL }},
8642 { &hf_h225_DisengageRejectReason,
8643 { "DisengageRejectReason", "h225.DisengageRejectReason", FT_UINT32, BASE_DEC,
8644 VALS(DisengageRejectReason_vals), 0, "DisengageRejectReason choice", HFILL }},
8645 { &hf_h225_InfoRequestNakReason,
8646 { "InfoRequestNakReason", "h225.InfoRequestNakReason", FT_UINT32, BASE_DEC,
8647 VALS(InfoRequestNakReason_vals), 0, "InfoRequestNakReason choice", HFILL }},
8648 { &hf_h225_SCRresult,
8649 { "SCRresult", "h225.SCRresult", FT_UINT32, BASE_DEC,
8650 VALS(SCRresult_vals), 0, "SCRresult choice", HFILL }},
8651 { &hf_h225_GatekeeperInfo,
8652 { "GatekeeperInfo", "h225.GatekeeperInfo", FT_NONE, BASE_NONE,
8653 NULL, 0, "GatekeeperInfo sequence", HFILL }},
8654 { &hf_h225_SecurityServiceMode_encryption,
8655 { "Encryption", "h225.SecurityServiceMode_encryption", FT_UINT32, BASE_DEC,
8656 VALS(SecurityServiceMode_vals), 0, "Encryption SecurityServiceMode choice", HFILL }},
8657 { &hf_h225_SecurityServiceMode_authentication,
8658 { "Authentication", "h225.SecurityServiceMode_authentication", FT_UINT32, BASE_DEC,
8659 VALS(SecurityServiceMode_vals), 0, "Authentication SecurityServiceMode choice", HFILL }},
8660 { &hf_h225_SecurityServiceMode_integrity,
8661 { "Integrity", "h225.SecurityServiceMode_integrity", FT_UINT32, BASE_DEC,
8662 VALS(SecurityServiceMode_vals), 0, "Integrity SecurityServiceMode choice", HFILL }},
8663 { &hf_h225_SecurityCapabilities_tls,
8664 { "TLS", "h225.SecurityCapabilities.tls", FT_NONE, BASE_NONE,
8665 NULL, 0, "TLS SecurityCapabilities sequence", HFILL }},
8666 { &hf_h225_SecurityCapabilities_ipsec,
8667 { "IPSec", "h225.SecurityCapabilities.ipsec", FT_NONE, BASE_NONE,
8668 NULL, 0, "IPSec SecurityCapabilities sequence", HFILL }},
8669 { &hf_h225_H245Security,
8670 { "H245Security", "h225.H245Security", FT_UINT32, BASE_DEC,
8671 VALS(H245Security_vals), 0, "H245Security choice", HFILL }},
8672 { &hf_h225_nonStandardUsageTypes,
8673 { "nonStandardUsageTypes", "h225.nonStandardUsageTypes", FT_NONE, BASE_NONE,
8674 NULL, 0, "SEQUENCE OF NonStandardParameter", HFILL }},
8675 { &hf_h225_nonStandardUsageTypes_item,
8676 { "nonStandardUsageTypes", "h225.nonStandardUsageTypes_item", FT_NONE, BASE_NONE,
8677 NULL, 0, "NonStandardParameter", HFILL }},
8679 { "route", "h225.route", FT_NONE, BASE_NONE,
8680 NULL, 0, "Source Routing route", HFILL }},
8681 { &hf_h225_RasUsageInfoTypes,
8682 { "RasUsageInfoTypes", "h225.RasUsageInfoTypes", FT_NONE, BASE_NONE,
8683 NULL, 0, "RasUsageInfoTypes sequence", HFILL }},
8684 { &hf_h225_usageReportingCapability,
8685 { "usageReportingCapability", "h225.usageReportingCapability", FT_NONE, BASE_NONE,
8686 NULL, 0, "usageReportingCapability sequence", HFILL }},
8687 { &hf_h225_BandWidth,
8688 { "BandWidth", "h225.BandWidth", FT_UINT32, BASE_DEC,
8689 NULL, 0, "BandWidth in units of 100bits", HFILL }},
8690 { &hf_h225_channelRate,
8691 { "channelRate", "h225.channelRate", FT_UINT32, BASE_DEC,
8692 NULL, 0, "channelRate in units of 100bits", HFILL }},
8693 { &hf_h225_totalBandwidthRestriction,
8694 { "totalBandwidthRestriction", "h225.totalBandwidthRestriction", FT_UINT32, BASE_DEC,
8695 NULL, 0, "totalBandwidthRestriction in units of 100bits", HFILL }},
8696 { &hf_h225_allowedBandWidth,
8697 { "allowedBandWidth", "h225.allowedBandWidth", FT_UINT32, BASE_DEC,
8698 NULL, 0, "allowedBandWidth in units of 100bits", HFILL }},
8699 { &hf_h225_channelMultiplier,
8700 { "channelMultiplier", "h225.channelMultiplier", FT_UINT32, BASE_DEC,
8701 NULL, 0, "channelMultiplier", HFILL }},
8702 { &hf_h225_DataRate,
8703 { "DataRate", "h225.DataRate", FT_NONE, BASE_NONE,
8704 NULL, 0, "DataRate sequence", HFILL }},
8705 { &hf_h225_gatewayDataRate,
8706 { "gatewayDataRate", "h225.gatewayDataRate", FT_NONE, BASE_NONE,
8707 NULL, 0, "gatewayDataRate sequence", HFILL }},
8708 { &hf_h225_dataRatesSupported,
8709 { "dataRatesSupported", "h225.dataRatesSupported", FT_NONE, BASE_NONE,
8710 NULL, 0, "dataRatesSupported sequence of", HFILL }},
8711 { &hf_h225_TerminalInfo,
8712 { "TerminalInfo", "h225.TerminalInfo", FT_NONE, BASE_NONE,
8713 NULL, 0, "TerminalInfo sequence", HFILL }},
8715 { "cname", "h225.cname", FT_STRING, BASE_NONE,
8716 NULL, 0, "cname", HFILL }},
8717 { &hf_h225_h248Message,
8718 { "h248Message", "h225.h248Message", FT_STRING, BASE_NONE,
8719 NULL, 0, "h248Message", HFILL }},
8720 { &hf_h225_conferenceID,
8721 { "conferenceID", "h225.conferenceID", FT_BYTES, BASE_HEX,
8722 NULL, 0, "conferenceID", HFILL }},
8723 { &hf_h225_Generic_nonStandard,
8724 { "nonStandard", "h225.Generic_nonStandard", FT_BYTES, BASE_HEX,
8725 NULL, 0, "Generic_nonStandard", HFILL }},
8727 { "guid", "h225.guid", FT_BYTES, BASE_HEX,
8728 NULL, 0, "guid", HFILL }},
8729 { &hf_h225_replaceWithConferenceInvite,
8730 { "replaceWithConferenceInvite", "h225.replaceWithConferenceInvite", FT_BYTES, BASE_HEX,
8731 NULL, 0, "replaceWithConferenceInvite", HFILL }},
8732 { &hf_h225_StimulusControl,
8733 { "StimulusControl", "h225.StimulusControl", FT_NONE, BASE_NONE,
8734 NULL, 0, "StimulusControl sequence", HFILL }},
8735 { &hf_h225_ReleaseCompleteReason,
8736 { "ReleaseCompleteReason", "h225.ReleaseCompleteReason", FT_UINT32, BASE_DEC,
8737 VALS(ReleaseCompleteReason_vals), 0, "ReleaseCompleteReason choice", HFILL }},
8738 { &hf_h225_numberOfScnConnections,
8739 { "numberOfScnConnections", "h225.numberOfScnConnections", FT_UINT32, BASE_DEC,
8740 NULL, 0, "numberOfScnConnections", HFILL }},
8741 { &hf_h225_connectionParameters,
8742 { "connectionParameters", "h225.connectionParameters", FT_NONE, BASE_NONE,
8743 NULL, 0, "connectionParameters sequence", HFILL }},
8744 { &hf_h225_RequestSeqNum,
8745 { "RequestSeqNum", "h225.RequestSeqNum", FT_UINT32, BASE_DEC,
8746 NULL, 0, "RequestSeqNum", HFILL }},
8747 { &hf_h225_RasUsageSpecification_when,
8748 { "RasUsageSpecification_when", "h225.RasUsageSpecification_when", FT_NONE, BASE_NONE,
8749 NULL, 0, "RasUsageSpecification_when sequence", HFILL }},
8750 { &hf_h225_RasUsageSpecification_callStartingPoint,
8751 { "RasUsageSpecification_callStartingPoint", "h225.RasUsageSpecification_callStartingPoint", FT_NONE, BASE_NONE,
8752 NULL, 0, "RasUsageSpecification_callStartingPoint sequence", HFILL }},
8753 { &hf_h225_RasUsageSpecification,
8754 { "RasUsageSpecification", "h225.RasUsageSpecification", FT_NONE, BASE_NONE,
8755 NULL, 0, "RasUsageSpecification sequence", HFILL }},
8756 { &hf_h225_ipAddress_ip,
8757 { "IP", "h245.ipAddress.ip", FT_IPv4, BASE_NONE,
8758 NULL, 0, "IPv4 Address", HFILL }},
8759 { &hf_h225_ipAddress_port,
8760 { "Port", "h225.ipAddress.port", FT_UINT16, BASE_DEC,
8761 NULL, 0, "Port number", HFILL }},
8762 { &hf_h225_ipAddress,
8763 { "ipAddress", "h225.ipAddress", FT_NONE, BASE_NONE,
8764 NULL, 0, "ipAddress sequence", HFILL }},
8766 { "routing", "h225.routing", FT_UINT32, BASE_DEC,
8767 VALS(routing_vals), 0, "routing choice", HFILL }},
8768 { &hf_h225_ipSourceRoute,
8769 { "ipSourceRoute", "h225.ipSourceRoute", FT_NONE, BASE_NONE,
8770 NULL, 0, "ipSourceRoute sequence", HFILL }},
8772 { "Node", "h225.ipx.node", FT_BYTES, BASE_HEX,
8773 NULL, 0, "ipx node", HFILL }},
8774 { &hf_h225_ipxNetnum,
8775 { "Netnum", "h225.ipx.netnum", FT_BYTES, BASE_HEX,
8776 NULL, 0, "ipx netnum", HFILL }},
8778 { "Port", "h225.ipx.port", FT_BYTES, BASE_HEX,
8779 NULL, 0, "ipx port number", HFILL }},
8780 { &hf_h225_ipxAddress,
8781 { "ipxAddress", "h225.ipxAddress", FT_NONE, BASE_NONE,
8782 NULL, 0, "ipxAddress sequence", HFILL }},
8783 { &hf_h225_ipv6Address_ip,
8784 { "IP", "h225.ipv6Address.ip", FT_BYTES, BASE_HEX,
8785 NULL, 0, "ipv6 address", HFILL }},
8786 { &hf_h225_ipv6Address_port,
8787 { "Port", "h225.ipv6Address.port", FT_UINT16, BASE_DEC,
8788 NULL, 0, "Port number", HFILL }},
8789 { &hf_h225_ip6Address,
8790 { "ip6Address", "h225.ip6Address", FT_NONE, BASE_NONE,
8791 NULL, 0, "ip6Address sequence", HFILL }},
8793 { "netBios", "h225.netBios", FT_BYTES, BASE_HEX,
8794 NULL, 0, "netBios octet string", HFILL }},
8796 { "nsap", "h225.nsap", FT_BYTES, BASE_HEX,
8797 NULL, 0, "nsap octet string", HFILL }},
8798 { &hf_h225_rasAddress,
8799 { "rasAddress", "h225.rasAddress", FT_UINT32, BASE_DEC,
8800 VALS(TransportAddress_vals), 0, "rasAddress choice", HFILL }},
8801 { &hf_h225_TransportAddress,
8802 { "TransportAddress", "h225.TransportAddress", FT_UINT32, BASE_DEC,
8803 VALS(TransportAddress_vals), 0, "TransportAddress choice", HFILL }},
8804 { &hf_h225_replyAddress,
8805 { "replyAddress", "h225.replyAddress", FT_UINT32, BASE_DEC,
8806 VALS(TransportAddress_vals), 0, "replyAddress choice", HFILL }},
8807 { &hf_h225_h245Address,
8808 { "h245Address", "h225.h245Address", FT_UINT32, BASE_DEC,
8809 VALS(TransportAddress_vals), 0, "h245Address choice", HFILL }},
8810 { &hf_h225_destCallSignalAddress,
8811 { "destCallSignalAddress", "h225.destCallSignalAddress", FT_UINT32, BASE_DEC,
8812 VALS(TransportAddress_vals), 0, "destCallSignalAddress choice", HFILL }},
8813 { &hf_h225_sourceCallSignalAddress,
8814 { "sourceCallSignalAddress", "h225.sourceCallSignalAddress", FT_UINT32, BASE_DEC,
8815 VALS(TransportAddress_vals), 0, "sourceCallSignalAddress choice", HFILL }},
8816 { &hf_h225_CallSignalAddress2,
8817 { "CallSignalAddress2", "h225.CallSignalAddress2", FT_UINT32, BASE_DEC,
8818 VALS(TransportAddress_vals), 0, "CallSignalAddress2 choice", HFILL }},
8819 { &hf_h225_alternativeAddress,
8820 { "alternativeAddress", "h225.alternativeAddress", FT_UINT32, BASE_DEC,
8821 VALS(TransportAddress_vals), 0, "alternativeAddress choice", HFILL }},
8822 { &hf_h225_transportID,
8823 { "transportID", "h225.transportID", FT_UINT32, BASE_DEC,
8824 VALS(TransportAddress_vals), 0, "transportID choice", HFILL }},
8825 { &hf_h225_sendAddress,
8826 { "sendAddress", "h225.sendAddress", FT_UINT32, BASE_DEC,
8827 VALS(TransportAddress_vals), 0, "sendAddress choice", HFILL }},
8828 { &hf_h225_recvAddress,
8829 { "recvAddress", "h225.recvAddress", FT_UINT32, BASE_DEC,
8830 VALS(TransportAddress_vals), 0, "recvAddress choice", HFILL }},
8831 { &hf_h225_rtpAddress,
8832 { "rtpAddress", "h225.rtpAddress", FT_NONE, BASE_NONE,
8833 NULL, 0, "rtpAddress sequence", HFILL }},
8834 { &hf_h225_rtcpAddress,
8835 { "rtcpAddress", "h225.rtcpAddress", FT_NONE, BASE_NONE,
8836 NULL, 0, "rtcpAddress sequence", HFILL }},
8838 { "h245", "h225.h245", FT_NONE, BASE_NONE,
8839 NULL, 0, "h245 sequence", HFILL }},
8840 { &hf_h225_callSignaling,
8841 { "callSignaling", "h225.callSignaling", FT_NONE, BASE_NONE,
8842 NULL, 0, "callSignaling sequence", HFILL }},
8843 { &hf_h225_carrierName,
8844 { "carrierName", "h225.carrierName", FT_BYTES, BASE_HEX,
8845 NULL, 0, "carrierName IA5String", HFILL }},
8846 { &hf_h225_carrierIdentificationCode,
8847 { "carrierIdentificationCode", "h225.carrierIdentificationCode", FT_BYTES, BASE_HEX,
8848 NULL, 0, "carrierIdentificationCode octet string", HFILL }},
8849 { &hf_h225_CarrierInfo,
8850 { "CarrierInfo", "h225.CarrierInfo", FT_NONE, BASE_NONE,
8851 NULL, 0, "CarrierInfo sequence", HFILL }},
8853 { "segment", "h225.segment", FT_UINT32, BASE_DEC,
8854 NULL, 0, "segment", HFILL }},
8855 { &hf_h225_InfoRequestResponseStatus,
8856 { "InfoRequestResponseStatus", "h225.InfoRequestResponseStatus", FT_UINT32, BASE_DEC,
8857 VALS(InfoRequestResponseStatus_vals), 0, "InfoRequestResponseStatus choice", HFILL }},
8858 { &hf_h225_CallIdentifier,
8859 { "CallIdentifier", "h225.CallIdentifier", FT_NONE, BASE_NONE,
8860 NULL, 0, "CallIdentifier sequence", HFILL }},
8861 { &hf_h225_globalCallId,
8862 { "globalCallId", "h225.globalCallId", FT_BYTES, BASE_HEX,
8863 NULL, 0, "globalCallId octet string", HFILL }},
8864 { &hf_h225_threadId,
8865 { "threadId", "h225.threadId", FT_BYTES, BASE_HEX,
8866 NULL, 0, "threadId octet string", HFILL }},
8867 { &hf_h225_CallLinkage,
8868 { "CallLinkage", "h225.CallLinkage", FT_NONE, BASE_NONE,
8869 NULL, 0, "CallLinkage sequence", HFILL }},
8871 { "tokens", "h225.tokens", FT_NONE, BASE_NONE,
8872 NULL, 0, "tokens sequence of", HFILL }},
8873 { &hf_h225_needToRegister,
8874 { "needToRegister", "h225.needToRegister", FT_BOOLEAN, 8,
8875 TFS(&tfs_needToRegister_bit), 0x01, "needToRegister boolean", HFILL }},
8876 { &hf_h225_priority,
8877 { "priority", "h225.priority", FT_UINT32, BASE_DEC,
8878 NULL, 0, "priority", HFILL }},
8879 { &hf_h225_AlternateGK,
8880 { "AlternateGK", "h225.AlternateGK", FT_NONE, BASE_NONE,
8881 NULL, 0, "AlternateGK sequence", HFILL }},
8882 { &hf_h225_alternateGatekeeper,
8883 { "alternateGatekeeper", "h225.alternateGatekeeper", FT_NONE, BASE_NONE,
8884 NULL, 0, "alternateGatekeeper sequence of", HFILL }},
8885 { &hf_h225_altGKisPermanent,
8886 { "altGKisPermanent", "h225.altGKisPermanent", FT_BOOLEAN, 8,
8887 TFS(&tfs_altGKisPermanent_bit), 0x01, "altGKisPermanent boolean", HFILL }},
8888 { &hf_h225_AltGKInfo,
8889 { "AltGKInfo", "h225.AltGKInfo", FT_NONE, BASE_NONE,
8890 NULL, 0, "AltGKInfo sequence", HFILL }},
8892 { "annexE", "h225.annexE", FT_NONE, BASE_NONE,
8893 NULL, 0, "annexE sequence of", HFILL }},
8895 { "sctp", "h225.sctp", FT_NONE, BASE_NONE,
8896 NULL, 0, "sctp sequence of", HFILL }},
8897 { &hf_h225_AlternateTransportAddress,
8898 { "AlternateTransportAddress", "h225.AlternateTransportAddress", FT_NONE, BASE_NONE,
8899 NULL, 0, "AlternateTransportAddress sequence", HFILL }},
8900 { &hf_h225_setup_bool,
8901 { "setup_bool", "h225.setup_bool", FT_BOOLEAN, 8,
8902 TFS(&tfs_setup_bool_bit), 0x01, "setup_bool boolean", HFILL }},
8903 { &hf_h225_callProceeding_bool,
8904 { "callProceeding_bool", "h225.callProceeding_bool", FT_BOOLEAN, 8,
8905 TFS(&tfs_callProceeding_bool_bit), 0x01, "callProceeding_bool boolean", HFILL }},
8906 { &hf_h225_connect_bool,
8907 { "connect_bool", "h225.connect_bool", FT_BOOLEAN, 8,
8908 TFS(&tfs_connect_bool_bit), 0x01, "connect_bool boolean", HFILL }},
8909 { &hf_h225_alerting_bool,
8910 { "alerting_bool", "h225.alerting_bool", FT_BOOLEAN, 8,
8911 TFS(&tfs_alerting_bool_bit), 0x01, "alerting_bool boolean", HFILL }},
8912 { &hf_h225_information_bool,
8913 { "information_bool", "h225.information_bool", FT_BOOLEAN, 8,
8914 TFS(&tfs_information_bool_bit), 0x01, "information_bool boolean", HFILL }},
8915 { &hf_h225_releaseComplete_bool,
8916 { "releaseComplete_bool", "h225.releaseComplete_bool", FT_BOOLEAN, 8,
8917 TFS(&tfs_releaseComplete_bool_bit), 0x01, "releaseComplete_bool boolean", HFILL }},
8918 { &hf_h225_facility_bool,
8919 { "facility_bool", "h225.facility_bool", FT_BOOLEAN, 8,
8920 TFS(&tfs_facility_bool_bit), 0x01, "facility_bool boolean", HFILL }},
8921 { &hf_h225_progress_bool,
8922 { "progress_bool", "h225.progress_bool", FT_BOOLEAN, 8,
8923 TFS(&tfs_progress_bool_bit), 0x01, "progress_bool boolean", HFILL }},
8924 { &hf_h225_empty_bool,
8925 { "empty_bool", "h225.empty_bool", FT_BOOLEAN, 8,
8926 TFS(&tfs_empty_bool_bit), 0x01, "empty_bool boolean", HFILL }},
8927 { &hf_h225_status_bool,
8928 { "status_bool", "h225.status_bool", FT_BOOLEAN, 8,
8929 TFS(&tfs_status_bool_bit), 0x01, "status_bool boolean", HFILL }},
8930 { &hf_h225_statusInquiry_bool,
8931 { "statusInquiry_bool", "h225.statusInquiry_bool", FT_BOOLEAN, 8,
8932 TFS(&tfs_statusInquiry_bool_bit), 0x01, "statusInquiry_bool boolean", HFILL }},
8933 { &hf_h225_setupAcknowledge_bool,
8934 { "setupAcknowledge_bool", "h225.setupAcknowledge_bool", FT_BOOLEAN, 8,
8935 TFS(&tfs_setupAcknowledge_bool_bit), 0x01, "setupAcknowledge_bool boolean", HFILL }},
8936 { &hf_h225_notify_bool,
8937 { "notify_bool", "h225.notify_bool", FT_BOOLEAN, 8,
8938 TFS(&tfs_notify_bool_bit), 0x01, "notify_bool boolean", HFILL }},
8939 { &hf_h225_UUIEsRequested,
8940 { "UUIEsRequested", "h225.UUIEsRequested", FT_NONE, BASE_NONE,
8941 NULL, 0, "UUIEsRequested sequence", HFILL }},
8942 { &hf_h225_conferenceCalling,
8943 { "conferenceCalling", "h225.conferenceCalling", FT_BOOLEAN, 8,
8944 TFS(&tfs_conferenceCalling_bit), 0x01, "conferenceCalling boolean", HFILL }},
8945 { &hf_h225_threePartyService,
8946 { "threePartyService", "h225.threePartyService", FT_BOOLEAN, 8,
8947 TFS(&tfs_threePartyService_bit), 0x01, "threePartyService boolean", HFILL }},
8948 { &hf_h225_Q954Details,
8949 { "Q954Details", "h225.Q954Details", FT_NONE, BASE_NONE,
8950 NULL, 0, "Q954Details sequence", HFILL }},
8951 { &hf_h225_q932Full,
8952 { "q932Full", "h225.q932Full", FT_BOOLEAN, 8,
8953 TFS(&tfs_q932Full_bit), 0x01, "q932Full boolean", HFILL }},
8954 { &hf_h225_q951Full,
8955 { "q951Full", "h225.q951Full", FT_BOOLEAN, 8,
8956 TFS(&tfs_q951Full_bit), 0x01, "q951Full boolean", HFILL }},
8957 { &hf_h225_q952Full,
8958 { "q952Full", "h225.q952Full", FT_BOOLEAN, 8,
8959 TFS(&tfs_q952Full_bit), 0x01, "q952Full boolean", HFILL }},
8960 { &hf_h225_q953Full,
8961 { "q953Full", "h225.q953Full", FT_BOOLEAN, 8,
8962 TFS(&tfs_q953Full_bit), 0x01, "q953Full boolean", HFILL }},
8963 { &hf_h225_q955Full,
8964 { "q955Full", "h225.q955Full", FT_BOOLEAN, 8,
8965 TFS(&tfs_q955Full_bit), 0x01, "q955Full boolean", HFILL }},
8966 { &hf_h225_q956Full,
8967 { "q956Full", "h225.q956Full", FT_BOOLEAN, 8,
8968 TFS(&tfs_q956Full_bit), 0x01, "q956Full boolean", HFILL }},
8969 { &hf_h225_q957Full,
8970 { "q957Full", "h225.q957Full", FT_BOOLEAN, 8,
8971 TFS(&tfs_q957Full_bit), 0x01, "q957Full boolean", HFILL }},
8972 { &hf_h225_QseriesOptions,
8973 { "callServices", "h225.callServices", FT_NONE, BASE_NONE,
8974 NULL, 0, "QseriesOptions sequence", HFILL }},
8976 { "ssrc", "h225.ssrc", FT_UINT32, BASE_DEC,
8977 NULL, 0, "ssrc", HFILL }},
8978 { &hf_h225_RTPsessionId,
8979 { "RTPsessionId", "h225.RTPsessionId", FT_UINT32, BASE_DEC,
8980 NULL, 0, "RTPsessionId", HFILL }},
8981 { &hf_h225_associatedSessionIds,
8982 { "associatedSessionIds", "h225.associatedSessionIds", FT_NONE, BASE_NONE,
8983 NULL, 0, "associatedSessionIds sequence of", HFILL }},
8984 { &hf_h225_RTPSession,
8985 { "RTPSession", "h225.RTPSession", FT_NONE, BASE_NONE,
8986 NULL, 0, "RTPSession sequence", HFILL }},
8987 { &hf_h225_cryptoTokens,
8988 { "cryptoTokens", "h225.cryptoTokens", FT_NONE, BASE_NONE,
8989 NULL, 0, "cryptoTokens sequence of", HFILL }},
8990 { &hf_h225_tunnelledProtocolObjectID,
8991 { "tunnelledProtocolObjectID", "h225.tunnelledProtocolObjectID", FT_STRING, BASE_NONE,
8992 NULL, 0, "tunnelledProtocolObjectID object", HFILL }},
8993 { &hf_h225_ProtocolIdentifier,
8994 { "ProtocolIdentifier", "h225.ProtocolIdentifier", FT_STRING, BASE_NONE,
8995 NULL, 0, "ProtocolIdentifier object", HFILL }},
8996 { &hf_h225_isoAlgorithm,
8997 { "isoAlgorithm", "h225.isoAlgorithm", FT_STRING, BASE_NONE,
8998 NULL, 0, "isoAlgorithm object", HFILL }},
8999 { &hf_h225_algorithmOID,
9000 { "algorithmOID", "h225.algorithmOID", FT_STRING, BASE_NONE,
9001 NULL, 0, "algorithmOID object", HFILL }},
9003 { "iso9797", "h225.iso9797", FT_STRING, BASE_NONE,
9004 NULL, 0, "iso9797 object", HFILL }},
9005 { &hf_h225_hMAC_iso10118_3,
9006 { "hMAC_iso10118_3", "h225.hMAC_iso10118_3", FT_STRING, BASE_NONE,
9007 NULL, 0, "hMAC_iso10118_3 object", HFILL }},
9008 { &hf_h225_enterpriseNumber,
9009 { "enterpriseNumber", "h225.enterpriseNumber", FT_STRING, BASE_NONE,
9010 NULL, 0, "enterpriseNumber object", HFILL }},
9011 { &hf_h225_Generic_oid,
9012 { "OID", "h225.Generic_oid", FT_STRING, BASE_NONE,
9013 NULL, 0, "Generic OID object", HFILL }},
9014 { &hf_h225_StatusUUIE,
9015 { "StatusUUIE", "h225.StatusUUIE", FT_NONE, BASE_NONE,
9016 NULL, 0, "StatusUUIE sequence", HFILL }},
9017 { &hf_h225_StatusInquiryUUIE,
9018 { "StatusInquiryUUIE", "h225.StatusInquiryUUIE", FT_NONE, BASE_NONE,
9019 NULL, 0, "StatusInquiryUUIE sequence", HFILL }},
9020 { &hf_h225_SetupAcknowledgeUUIE,
9021 { "SetupAcknowledgeUUIE", "h225.SetupAcknowledgeUUIE", FT_NONE, BASE_NONE,
9022 NULL, 0, "SetupAcknowledgeUUIE sequence", HFILL }},
9023 { &hf_h225_NotifyUUIE,
9024 { "NotifyUUIE", "h225.NotifyUUIE", FT_NONE, BASE_NONE,
9025 NULL, 0, "NotifyUUIE sequence", HFILL }},
9027 { "imsi", "h225.imsi", FT_STRING, BASE_HEX,
9028 NULL, 0, "imsi string", HFILL }},
9030 { "tmsi", "h225.tmsi", FT_BYTES, BASE_HEX,
9031 NULL, 0, "tmsi octet string", HFILL }},
9033 { "msisdn", "h225.msisdn", FT_STRING, BASE_HEX,
9034 NULL, 0, "msisdn string", HFILL }},
9036 { "imei", "h225.imei", FT_STRING, BASE_HEX,
9037 NULL, 0, "imei string", HFILL }},
9039 { "hplmn", "h225.hplmn", FT_STRING, BASE_HEX,
9040 NULL, 0, "hplmn string", HFILL }},
9042 { "vplmn", "h225.vplmn", FT_STRING, BASE_HEX,
9043 NULL, 0, "vplmn string", HFILL }},
9045 { "GSMUIM", "h225.GSMUIM", FT_NONE, BASE_NONE,
9046 NULL, 0, "GSMUIM sequence", HFILL }},
9048 { "sid", "h225.sid", FT_STRING, BASE_HEX,
9049 NULL, 0, "sid string", HFILL }},
9051 { "mid", "h225.mid", FT_STRING, BASE_HEX,
9052 NULL, 0, "mid string", HFILL }},
9053 { &hf_h225_systemid,
9054 { "systemid", "h225.sustemid", FT_UINT32, BASE_DEC,
9055 VALS(systemid_vals), 0, "systemid choice", HFILL }},
9057 { "min", "h225.min", FT_STRING, BASE_HEX,
9058 NULL, 0, "min string", HFILL }},
9060 { "mdn", "h225.mdn", FT_STRING, BASE_HEX,
9061 NULL, 0, "mdn string", HFILL }},
9063 { "esn", "h225.esn", FT_STRING, BASE_HEX,
9064 NULL, 0, "esn string", HFILL }},
9066 { "mscid", "h225.mscid", FT_STRING, BASE_HEX,
9067 NULL, 0, "mscid string", HFILL }},
9068 { &hf_h225_systemMyTypeCode,
9069 { "systemMyTypeCode", "h225.systemMyTypeCode", FT_BYTES, BASE_HEX,
9070 NULL, 0, "systemMyTypeCode octet string", HFILL }},
9071 { &hf_h225_systemAccessType,
9072 { "systemAccessType", "h225.systemAccessType", FT_BYTES, BASE_HEX,
9073 NULL, 0, "systemAccessType octet string", HFILL }},
9074 { &hf_h225_qualificationInformationCode,
9075 { "qualificationInformationCode", "h225.qualificationInformationCode", FT_BYTES, BASE_HEX,
9076 NULL, 0, "qualificationInformationCode octet string", HFILL }},
9078 { "sesn", "h225.sesn", FT_STRING, BASE_HEX,
9079 NULL, 0, "sesn string", HFILL }},
9081 { "soc", "h225.soc", FT_STRING, BASE_HEX,
9082 NULL, 0, "soc string", HFILL }},
9083 { &hf_h225_ANSI41UIM,
9084 { "ANSI41UIM", "h225.ANSI41UIM", FT_NONE, BASE_NONE,
9085 NULL, 0, "ANSI41UIM sequence", HFILL }},
9086 { &hf_h225_MobileUIM,
9087 { "MobileUIM", "h225.MobileUIM", FT_UINT32, BASE_DEC,
9088 VALS(MobileUIM_vals), 0, "MobileUIM choice", HFILL }},
9089 { &hf_h225_dataPartyNumber,
9090 { "dataPartyNumber", "h225.dataPartyNumber", FT_STRING, BASE_HEX,
9091 NULL, 0, "dataPartyNumber string", HFILL }},
9092 { &hf_h225_telexPartyNumber,
9093 { "telexPartyNumber", "h225.telexPartyNumber", FT_STRING, BASE_HEX,
9094 NULL, 0, "telexPartyNumber string", HFILL }},
9095 { &hf_h225_nationalStandardPartyNumber,
9096 { "nationalStandardPartyNumber", "h225.nationalStandardPartyNumber", FT_STRING, BASE_HEX,
9097 NULL, 0, "nationalStandardPartyNumber string", HFILL }},
9098 { &hf_h225_publicNumberDigits,
9099 { "publicNumberDigits", "h225.publicNumberDigits", FT_STRING, BASE_HEX,
9100 NULL, 0, "publicNumberDigits string", HFILL }},
9101 { &hf_h225_privateNumberDigits,
9102 { "privateNumberDigits", "h225.privateNumberDigits", FT_STRING, BASE_HEX,
9103 NULL, 0, "privateNumberDigits string", HFILL }},
9104 { &hf_h225_e164Number,
9105 { "e164Number", "h225.e164Number", FT_NONE, BASE_NONE,
9106 NULL, 0, "e164Number sequence", HFILL }},
9107 { &hf_h225_privateNumber,
9108 { "privateNumber", "h225.privateNumber", FT_NONE, BASE_NONE,
9109 NULL, 0, "privateNumber sequence", HFILL }},
9110 { &hf_h225_startOfRange,
9111 { "startOfRange", "h225.startOfRange", FT_UINT32, BASE_DEC,
9112 VALS(PartyNumber_vals), 0, "startOfRange choice", HFILL }},
9113 { &hf_h225_endOfRange,
9114 { "endOfRange", "h225.endOfRange", FT_UINT32, BASE_DEC,
9115 VALS(PartyNumber_vals), 0, "endOfRange choice", HFILL }},
9116 { &hf_h225_PartyNumber,
9117 { "PartyNumber", "h225.PartyNumber", FT_UINT32, BASE_DEC,
9118 VALS(PartyNumber_vals), 0, "PartyNumber choice", HFILL }},
9119 { &hf_h225_protocolType,
9120 { "protocolType", "h225.protocolType", FT_STRING, BASE_HEX,
9121 NULL, 0, "protocolType IA5String", HFILL }},
9122 { &hf_h225_protocolVariant,
9123 { "protocolVariant", "h225.protocolVariant", FT_STRING, BASE_HEX,
9124 NULL, 0, "protocolVariant IA5String", HFILL }},
9125 { &hf_h225_TunnelledProtocolAlternateIdentifier,
9126 { "TunnelledProtocolAlternateIdentifier", "h225.TunnelledProtocolAlternateIdentifier", FT_NONE, BASE_NONE,
9127 NULL, 0, "TunnelledProtocolAlternateIdentifier sequence", HFILL }},
9128 { &hf_h225_dialedDigits,
9129 { "dialedDigits", "h225.dialedDigits", FT_BYTES, BASE_HEX,
9130 NULL, 0, "dialedDigits IA5String", HFILL }},
9132 { "urlId", "h225.urlId", FT_BYTES, BASE_HEX,
9133 NULL, 0, "urlId IA5String", HFILL }},
9135 { "h323ID", "h225.h323ID", FT_STRING, BASE_HEX,
9136 NULL, 0, "h323ID BMPString", HFILL }},
9137 { &hf_h225_GatekeeperIdentifier,
9138 { "GatekeeperIdentifier", "h225.GatekeeperIdentifier", FT_STRING, BASE_HEX,
9139 NULL, 0, "GatekeeperIdentifier BMPString", HFILL }},
9141 { "unicode", "h225.unicode", FT_STRING, BASE_HEX,
9142 NULL, 0, "unicode BMPString", HFILL }},
9143 { &hf_h225_EndpointIdentifier,
9144 { "EndpointIdentifier", "h225.EndpointIdentifier", FT_STRING, BASE_HEX,
9145 NULL, 0, "EndpointIdentifier BMPString", HFILL }},
9147 { "emailId", "h225.emailId", FT_STRING, BASE_NONE,
9148 NULL, 0, "emailId IA5String", HFILL }},
9149 { &hf_h225_conferenceAlias,
9150 { "conferenceAlias", "h225.conferenceAlias", FT_UINT32, BASE_DEC,
9151 VALS(AliasAddress_vals), 0, "conferenceAlias choice", HFILL }},
9152 { &hf_h225_AliasAddress,
9153 { "AliasAddress", "h225.AliasAddress", FT_UINT32, BASE_DEC,
9154 VALS(AliasAddress_vals), 0, "AliasAddress choice", HFILL }},
9155 { &hf_h225_RemoteExtensionAddress,
9156 { "RemoteExtensionAddress", "h225.RemoteExtensionAddress", FT_UINT32, BASE_DEC,
9157 VALS(AliasAddress_vals), 0, "RemoteExtensionAddress choice", HFILL }},
9158 { &hf_h225_wildcard,
9159 { "wildcard", "h225.wildcard", FT_UINT32, BASE_DEC,
9160 VALS(AliasAddress_vals), 0, "wildcard choice", HFILL }},
9162 { "prefix", "h225.prefix", FT_UINT32, BASE_DEC,
9163 VALS(AliasAddress_vals), 0, "prefix choice", HFILL }},
9164 { &hf_h225_SupportedPrefix,
9165 { "SupportedPrefix", "h225.SupportedPrefix", FT_NONE, BASE_NONE,
9166 NULL, 0, "SupportedPrefix sequence", HFILL }},
9167 { &hf_h225_SupportedPrefixes,
9168 { "SupportedPrefixes", "h225.SupportedPrefixes", FT_NONE, BASE_NONE,
9169 NULL, 0, "SupportedPrefixes sequence of", HFILL }},
9170 { &hf_h225_H310Caps,
9171 { "H310Caps", "h225.H310Caps", FT_NONE, BASE_NONE,
9172 NULL, 0, "H310Caps sequence", HFILL }},
9173 { &hf_h225_H320Caps,
9174 { "H320Caps", "h225.H320Caps", FT_NONE, BASE_NONE,
9175 NULL, 0, "H320Caps sequence", HFILL }},
9176 { &hf_h225_H321Caps,
9177 { "H321Caps", "h225.H321Caps", FT_NONE, BASE_NONE,
9178 NULL, 0, "H321Caps sequence", HFILL }},
9179 { &hf_h225_H322Caps,
9180 { "H322Caps", "h225.H322Caps", FT_NONE, BASE_NONE,
9181 NULL, 0, "H322Caps sequence", HFILL }},
9182 { &hf_h225_H323Caps,
9183 { "H323Caps", "h225.H323Caps", FT_NONE, BASE_NONE,
9184 NULL, 0, "H323Caps sequence", HFILL }},
9185 { &hf_h225_H324Caps,
9186 { "H324Caps", "h225.H324Caps", FT_NONE, BASE_NONE,
9187 NULL, 0, "H324Caps sequence", HFILL }},
9188 { &hf_h225_VoiceCaps,
9189 { "VoiceCaps", "h225.VoiceCaps", FT_NONE, BASE_NONE,
9190 NULL, 0, "VoiceCaps sequence", HFILL }},
9191 { &hf_h225_T120OnlyCaps,
9192 { "T120OnlyCaps", "h225.T120OnlyCaps", FT_NONE, BASE_NONE,
9193 NULL, 0, "T120OnlyCaps sequence", HFILL }},
9194 { &hf_h225_NonStandardProtocol,
9195 { "NonStandardProtocol", "h225.NonStandardProtocol", FT_NONE, BASE_NONE,
9196 NULL, 0, "NonStandardProtocol sequence", HFILL }},
9198 { "SIPCaps", "h225.SIPCaps", FT_NONE, BASE_NONE,
9199 NULL, 0, "SIPCaps sequence", HFILL }},
9200 { &hf_h225_AddressPattern_range,
9201 { "AddressPattern_range", "h225.AddressPattern_range", FT_NONE, BASE_NONE,
9202 NULL, 0, "AddressPattern_range sequence", HFILL }},
9203 { &hf_h225_AddressPattern,
9204 { "AddressPattern", "h225.AddressPattern", FT_UINT32, BASE_DEC,
9205 VALS(AddressPattern_vals), 0, "AddressPattern choice", HFILL }},
9206 { &hf_h225_ConferenceList,
9207 { "ConferenceList", "h225.ConferenceList", FT_NONE, BASE_NONE,
9208 NULL, 0, "ConferenceList sequence", HFILL }},
9209 { &hf_h225_conferences,
9210 { "conferences", "h225.conferences", FT_NONE, BASE_NONE,
9211 NULL, 0, "conferences sequence of", HFILL }},
9212 { &hf_h225_T38FaxAnnexbOnlyCaps,
9213 { "T38FaxAnnexbOnlyCaps", "h225.T38FaxAnnexbOnlyCaps", FT_NONE, BASE_NONE,
9214 NULL, 0, "T38FaxAnnexbOnlyCaps sequence", HFILL }},
9215 { &hf_h225_SupportedProtocols,
9216 { "SupportedProtocols", "h225.SupportedProtocols", FT_UINT32, BASE_DEC,
9217 VALS(SupportedProtocols_vals), 0, "SupportedProtocols choice", HFILL }},
9218 { &hf_h225_protocol,
9219 { "protocol", "h225.protocol", FT_NONE, BASE_NONE,
9220 NULL, 0, "protocol sequence of", HFILL }},
9221 { &hf_h225_GatewayInfo,
9222 { "GatewayInfo", "h225.GatewayInfo", FT_NONE, BASE_NONE,
9223 NULL, 0, "GatewayInfo sequence", HFILL }},
9225 { "McuInfo", "h225.McuInfo", FT_NONE, BASE_NONE,
9226 NULL, 0, "McuInfo sequence", HFILL }},
9227 { &hf_h225_TunnelledProtocol_id,
9228 { "id", "h225.TunnelledProtocol_id", FT_UINT32, BASE_DEC,
9229 VALS(TunnelledProtocol_id_vals), 0, "TunnelledProtocol_id choice", HFILL }},
9230 { &hf_h225_TunnelledProtocol_subIdentifier,
9231 { "subIdentifier", "h225.TunnelledProtocol_subIdentifier", FT_BYTES, BASE_HEX,
9232 NULL, 0, "TunnelledProtocol_subIdentifier IA5String", HFILL }},
9233 { &hf_h225_TunnelledProtocol,
9234 { "TunnelledProtocol", "h225.TunnelledProtocol", FT_NONE, BASE_NONE,
9235 NULL, 0, "TunnelledProtocol sequence", HFILL }},
9236 { &hf_h225_desiredTunnelledProtocol,
9237 { "desiredTunnelledProtocol", "h225.desiredTunnelledProtocol", FT_NONE, BASE_NONE,
9238 NULL, 0, "desiredTunnelledProtocol sequence", HFILL }},
9239 { &hf_h225_CicInfo_cic_item,
9240 { "item", "h225.CicInfo_cic_item", FT_BYTES, BASE_HEX,
9241 NULL, 0, "CicInfo_cic_item octet string", HFILL }},
9242 { &hf_h225_CicInfo_pointCode,
9243 { "pointCode", "h225.CicInfo_pointCode", FT_BYTES, BASE_HEX,
9244 NULL, 0, "CicInfo_pointCode octet string", HFILL }},
9245 { &hf_h225_CicInfo_cic,
9246 { "cic", "h225.CicInfo_cic", FT_NONE, BASE_NONE,
9247 NULL, 0, "CicInfo_cic sequence of", HFILL }},
9249 { "CicInfo", "h225.CicInfo", FT_NONE, BASE_NONE,
9250 NULL, 0, "CicInfo sequence", HFILL }},
9251 { &hf_h225_GroupID_member_item,
9252 { "item", "h225.GroupID_member_item", FT_UINT32, BASE_DEC,
9253 NULL, 0, "GroupID_member_item", HFILL }},
9254 { &hf_h225_GroupID_member,
9255 { "member", "h225.GroupID_member", FT_NONE, BASE_NONE,
9256 NULL, 0, "GroupID_member sequence of", HFILL }},
9257 { &hf_h225_GroupID_group,
9258 { "group", "h225.GroupID_group", FT_STRING, BASE_NONE,
9259 NULL, 0, "GroupID_group IA5String", HFILL }},
9261 { "GroupID", "h225.GroupID", FT_NONE, BASE_NONE,
9262 NULL, 0, "GroupID sequence", HFILL }},
9263 { &hf_h225_sourceCircuitID,
9264 { "sourceCircuitID", "h225.sourceCircuitID", FT_NONE, BASE_NONE,
9265 NULL, 0, "sourceCircuitID sequence", HFILL }},
9266 { &hf_h225_destinationCircuitID,
9267 { "destinationCircuitID", "h225.destinationCircuitID", FT_NONE, BASE_NONE,
9268 NULL, 0, "destinationCircuitID sequence", HFILL }},
9269 { &hf_h225_Generic_standard,
9270 { "standard", "h225.Generic_standard", FT_UINT32, BASE_DEC,
9271 NULL, 0, "Generic_standard", HFILL }},
9272 { &hf_h225_GenericIdentifier,
9273 { "GenericIdentifier", "h225.GenericIdentifier", FT_UINT32, BASE_DEC,
9274 VALS(GenericIdentifier_vals), 0, "GenericIdentifier choice", HFILL }},
9275 { &hf_h225_EnumeratedParameter,
9276 { "EnumeratedParameter", "h225.EnumeratedParameter", FT_NONE, BASE_NONE,
9277 NULL, 0, "EnumeratedParameter sequence", HFILL }},
9278 { &hf_h225_parameters,
9279 { "parameters", "h225.parameters", FT_NONE, BASE_NONE,
9280 NULL, 0, "parameters sequence of", HFILL }},
9281 { &hf_h225_GenericData,
9282 { "GenericData", "h225.GenericData", FT_NONE, BASE_NONE,
9283 NULL, 0, "GenericData sequence", HFILL }},
9284 { &hf_h225_FeatureDescriptor,
9285 { "FeatureDescriptor", "h225.FeatureDescriptor", FT_NONE, BASE_NONE,
9286 NULL, 0, "FeatureDescriptor sequence", HFILL }},
9287 { &hf_h225_Content_raw,
9288 { "Content_raw", "h225.Content_raw", FT_BYTES, BASE_HEX,
9289 NULL, 0, "Content_raw octet string", HFILL }},
9290 { &hf_h225_Content_text,
9291 { "Content_text", "h225.Content_text", FT_BYTES, BASE_HEX,
9292 NULL, 0, "Content_text IA5String", HFILL }},
9294 { "Content", "h225.Content", FT_UINT32, BASE_DEC,
9295 VALS(Content_vals), 0, "Content choice", HFILL }},
9296 { &hf_h225_Content_bool,
9297 { "Content_bool", "h225.Content_bool", FT_BOOLEAN, 8,
9298 TFS(&tfs_Content_bool_bit), 0x01, "Content_bool boolean", HFILL }},
9299 { &hf_h225_Content_number8,
9300 { "Content_number8", "h225.Content_number8", FT_UINT32, BASE_DEC,
9301 NULL, 0, "Content_number8", HFILL }},
9302 { &hf_h225_number16,
9303 { "number16", "h225.number16", FT_UINT32, BASE_DEC,
9304 NULL, 0, "number16", HFILL }},
9305 { &hf_h225_Content_number32,
9306 { "Content_number32", "h225.Content_number32", FT_UINT32, BASE_DEC,
9307 NULL, 0, "Content_number32", HFILL }},
9308 { &hf_h225_Content_compound,
9309 { "Content_compound", "h225.Content_compound", FT_NONE, BASE_NONE,
9310 NULL, 0, "Content_compound sequence of", HFILL }},
9311 { &hf_h225_Content_nested,
9312 { "Content_nested", "h225.Content_nested", FT_NONE, BASE_NONE,
9313 NULL, 0, "Content_nested sequence of", HFILL }},
9314 { &hf_h225_replacementFeatureSet,
9315 { "replacementFeatureSet", "h225.replacementFeatureSet", FT_BOOLEAN, 8,
9316 TFS(&tfs_replacementFeatureSet_bit), 0x01, "replacementFeatureSet boolean", HFILL }},
9317 { &hf_h225_neededFeatures,
9318 { "neededFeatures", "h225.neededFeatures", FT_NONE, BASE_NONE,
9319 NULL, 0, "neededFeatures sequence of", HFILL }},
9320 { &hf_h225_desiredFeatures,
9321 { "desiredFeatures", "h225.desiredFeatures", FT_NONE, BASE_NONE,
9322 NULL, 0, "desiredFeatures sequence of", HFILL }},
9323 { &hf_h225_supportedFeatures,
9324 { "supportedFeatures", "h225.supportedFeatures", FT_NONE, BASE_NONE,
9325 NULL, 0, "supportedFeatures sequence of", HFILL }},
9326 { &hf_h225_FeatureSet,
9327 { "FeatureSet", "h225.FeatureSet", FT_NONE, BASE_NONE,
9328 NULL, 0, "FeatureSet sequence", HFILL }},
9329 { &hf_h225_CallsAvailable_calls,
9330 { "CallsAvailable_calls", "h225.CallsAvailable_calls", FT_UINT32, BASE_DEC,
9331 NULL, 0, "CallsAvailable_calls", HFILL }},
9332 { &hf_h225_CallsAvailable_group,
9333 { "CallsAvailable_group", "h225.CallsAvailable_group", FT_STRING, BASE_HEX,
9334 NULL, 0, "CallsAvailable_group IA5String", HFILL }},
9335 { &hf_h225_CallsAvailable,
9336 { "CallsAvailable", "h225.CallsAvailable", FT_NONE, BASE_NONE,
9337 NULL, 0, "CallsAvailable sequence", HFILL }},
9338 { &hf_h225_voiceGwCallsAvailable,
9339 { "voiceGwCallsAvailable", "h225.voiceGwCallsAvailable", FT_NONE, BASE_NONE,
9340 NULL, 0, "voiceGwCallsAvailable sequence of", HFILL }},
9341 { &hf_h225_h310GwCallsAvailable,
9342 { "h310GwCallsAvailable", "h225.h310GwCallsAvailable", FT_NONE, BASE_NONE,
9343 NULL, 0, "h310GwCallsAvailable sequence of", HFILL }},
9344 { &hf_h225_h320GwCallsAvailable,
9345 { "h320GwCallsAvailable", "h225.h320GwCallsAvailable", FT_NONE, BASE_NONE,
9346 NULL, 0, "h320GwCallsAvailable sequence of", HFILL }},
9347 { &hf_h225_h321GwCallsAvailable,
9348 { "h321GwCallsAvailable", "h225.h321GwCallsAvailable", FT_NONE, BASE_NONE,
9349 NULL, 0, "h321GwCallsAvailable sequence of", HFILL }},
9350 { &hf_h225_h322GwCallsAvailable,
9351 { "h322GwCallsAvailable", "h225.h322GwCallsAvailable", FT_NONE, BASE_NONE,
9352 NULL, 0, "h322GwCallsAvailable sequence of", HFILL }},
9353 { &hf_h225_h323GwCallsAvailable,
9354 { "h323GwCallsAvailable", "h225.h323GwCallsAvailable", FT_NONE, BASE_NONE,
9355 NULL, 0, "h323GwCallsAvailable sequence of", HFILL }},
9356 { &hf_h225_h324GwCallsAvailable,
9357 { "h324GwCallsAvailable", "h225.h324GwCallsAvailable", FT_NONE, BASE_NONE,
9358 NULL, 0, "h324GwCallsAvailable sequence of", HFILL }},
9359 { &hf_h225_t120OnlyGwCallsAvailable,
9360 { "t120OnlyGwCallsAvailable", "h225.t120OnlyGwCallsAvailable", FT_NONE, BASE_NONE,
9361 NULL, 0, "t120OnlyGwCallsAvailable sequence of", HFILL }},
9362 { &hf_h225_t38FaxAnnexbOnlyGwCallsAvailable,
9363 { "t38FaxAnnexbOnlyGwCallsAvailable", "h225.t38FaxAnnexbOnlyGwCallsAvailable", FT_NONE, BASE_NONE,
9364 NULL, 0, "t38FaxAnnexbOnlyGwCallsAvailable sequence of", HFILL }},
9365 { &hf_h225_terminalCallsAvailable,
9366 { "terminalCallsAvailable", "h225.terminalCallsAvailable", FT_NONE, BASE_NONE,
9367 NULL, 0, "terminalCallsAvailable sequence of", HFILL }},
9368 { &hf_h225_mcuCallsAvailable,
9369 { "mcuCallsAvailable", "h225.mcuCallsAvailable", FT_NONE, BASE_NONE,
9370 NULL, 0, "mcuCallsAvailable sequence of", HFILL }},
9371 { &hf_h225_sipGwCallsAvailable,
9372 { "sipGwCallsAvailable", "h225.sipGwCallsAvailable", FT_NONE, BASE_NONE,
9373 NULL, 0, "sipGwCallsAvailable sequence of", HFILL }},
9374 { &hf_h225_maximumCallCapacity,
9375 { "maximumCallCapacity", "h225.maximumCallCapacity", FT_NONE, BASE_NONE,
9376 NULL, 0, "maximumCallCapacity sequence", HFILL }},
9377 { &hf_h225_currentCallCapacity,
9378 { "currentCallCapacity", "h225.currentCallCapacity", FT_NONE, BASE_NONE,
9379 NULL, 0, "currentCallCapacity sequence", HFILL }},
9380 { &hf_h225_CallCapacity,
9381 { "CallCapacity", "h225.CallCapacity", FT_NONE, BASE_NONE,
9382 NULL, 0, "CallCapacity sequence", HFILL }},
9383 { &hf_h225_productID,
9384 { "productID", "h225.productID", FT_STRING, BASE_HEX,
9385 NULL, 0, "productID octet string", HFILL }},
9386 { &hf_h225_versionID,
9387 { "versionID", "h225.versionID", FT_STRING, BASE_HEX,
9388 NULL, 0, "versionID octet string", HFILL }},
9389 { &hf_h225_VendorIdentifier,
9390 { "VendorIdentifier", "h225.VendorIdentifier", FT_NONE, BASE_NONE,
9391 NULL, 0, "VendorIdentifier sequence", HFILL }},
9392 { &hf_h225_canReportCallCapacity,
9393 { "canReportCallCapacity", "h225.canReportCallCapacity", FT_BOOLEAN, 8,
9394 TFS(&tfs_canReportCallCapacity_bit), 0x01, "canReportCallCapacity boolean", HFILL }},
9395 { &hf_h225_CapacityReportingCapability,
9396 { "CapacityReportingCapability", "h225.CapacityReportingCapability", FT_NONE, BASE_NONE,
9397 NULL, 0, "CapacityReportingCapability sequence", HFILL }},
9398 { &hf_h225_canDisplayAmountString,
9399 { "canDisplayAmountString", "h225.canDisplayAmountString", FT_BOOLEAN, 8,
9400 TFS(&tfs_canDisplayAmountString_bit), 0x01, "canDisplayAmountString boolean", HFILL }},
9401 { &hf_h225_canEnforceDurationLimit,
9402 { "canEnforceDurationLimit", "h225.canEnforceDurationLimit", FT_BOOLEAN, 8,
9403 TFS(&tfs_canEnforceDurationLimit_bit), 0x01, "canEnforceDurationLimit boolean", HFILL }},
9404 { &hf_h225_CallCreditCapability,
9405 { "CallCreditCapability", "h225.CallCreditCapability", FT_NONE, BASE_NONE,
9406 NULL, 0, "CallCreditCapability sequence", HFILL }},
9407 { &hf_h225_BandwidthDetails_sender,
9408 { "BandwidthDetails_sender", "h225.BandwidthDetails_sender", FT_BOOLEAN, 8,
9409 TFS(&tfs_BandwidthDetails_sender_bit), 0x01, "BandwidthDetails_sender boolean", HFILL }},
9410 { &hf_h225_BandwidthDetails_multicast,
9411 { "BandwidthDetails_multicast", "h225.BandwidthDetails_multicast", FT_BOOLEAN, 8,
9412 TFS(&tfs_BandwidthDetails_multicast_bit), 0x01, "BandwidthDetails_multicast boolean", HFILL }},
9413 { &hf_h225_BandwidthDetails,
9414 { "BandwidthDetails", "h225.BandwidthDetails", FT_NONE, BASE_NONE,
9415 NULL, 0, "BandwidthDetails sequence", HFILL }},
9416 { &hf_h225_releaseCompleteCauseIE,
9417 { "releaseCompleteCauseIE", "h225.releaseCompleteCauseIE", FT_BYTES, BASE_HEX,
9418 NULL, 0, "releaseCompleteCauseIE octet string", HFILL }},
9419 { &hf_h225_CallTerminationCause,
9420 { "CallTerminationCause", "h225.CallTerminationCause", FT_UINT32, BASE_DEC,
9421 VALS(CallTerminationCause_vals), 0, "CallTerminationCause choice", HFILL }},
9422 { &hf_h225_CircuitInfo,
9423 { "CircuitInfo", "h225.CircuitInfo", FT_NONE, BASE_NONE,
9424 NULL, 0, "CircuitInfo sequence", HFILL }},
9425 { &hf_h225_genericData,
9426 { "genericData", "h225.genericData", FT_NONE, BASE_NONE,
9427 NULL, 0, "genericData sequence of", HFILL }},
9428 { &hf_h225_fastStart_item_length,
9429 { "fastStart item length", "h225.fastStart_item_length", FT_UINT32, BASE_DEC,
9430 NULL, 0, "fastStart item length", HFILL }},
9431 { &hf_h225_fastStart,
9432 { "fastStart", "h225.fastStart", FT_NONE, BASE_NONE,
9433 NULL, 0, "fastStart sequence of", HFILL }},
9434 { &hf_h225_fastConnectRefused,
9435 { "fastConnectRefused", "h225.fastConnectRefused", FT_BOOLEAN, 8,
9436 TFS(&tfs_fastConnectRefused_bit), 0x01, "fastConnectRefused boolean", HFILL }},
9437 { &hf_h225_InformationUUIE,
9438 { "InformationUUIE", "h225.InformationUUIE", FT_NONE, BASE_NONE,
9439 NULL, 0, "InformationUUIE sequence", HFILL }},
9440 { &hf_h225_routeCallToSCN,
9441 { "routeCallToSCN", "h225.routeCallToSCN", FT_NONE, BASE_NONE,
9442 NULL, 0, "routeCallToSCN sequence of", HFILL }},
9443 { &hf_h225_AdmissionRejectReason,
9444 { "AdmissionRejectReason", "h225.AdmissionRejectReason", FT_UINT32, BASE_DEC,
9445 VALS(AdmissionRejectReason_vals), 0, "AdmissionRejectReason choice", HFILL }},
9446 { &hf_h225_hMAC_iso10118_2_s,
9447 { "hMAC_iso10118_2_s", "h225.hMAC_iso10118_2_s", FT_UINT32, BASE_DEC,
9448 VALS(EncryptIntAlg_vals), 0, "hMAC_iso10118_2_s choice", HFILL }},
9449 { &hf_h225_hMAC_iso10118_2_l,
9450 { "hMAC_iso10118_2_l", "h225.hMAC_iso10118_2_l", FT_UINT32, BASE_DEC,
9451 VALS(EncryptIntAlg_vals), 0, "hMAC_iso10118_2_l choice", HFILL }},
9452 { &hf_h225_NonIsoIntegrityMechanism,
9453 { "NonIsoIntegrityMechanism", "h225.NonIsoIntegrityMechanism", FT_UINT32, BASE_DEC,
9454 VALS(NonIsoIntegrityMechanism_vals), 0, "NonIsoIntegrityMechanism choice", HFILL }},
9455 { &hf_h225_IntegrityMechanism,
9456 { "IntegrityMechanism", "h225.IntegrityMechanism", FT_UINT32, BASE_DEC,
9457 VALS(IntegrityMechanism_vals), 0, "IntegrityMechanism choice", HFILL }},
9458 { &hf_h225_LocationRejectReason,
9459 { "LocationRejectReason", "h225.LocationRejectReason", FT_UINT32, BASE_DEC,
9460 VALS(LocationRejectReason_vals), 0, "LocationRejectReason choice", HFILL }},
9462 { "mc", "h225.mc", FT_BOOLEAN, 8,
9463 TFS(&tfs_mc_bit), 0x01, "mc boolean", HFILL }},
9464 { &hf_h225_undefinedNode,
9465 { "undefinedNode", "h225.undefinedNode", FT_BOOLEAN, 8,
9466 TFS(&tfs_undefinedNode_bit), 0x01, "undefinedNode boolean", HFILL }},
9467 { &hf_h225_destinationInfo,
9468 { "destinationInfo", "h225.destinationInfo", FT_NONE, BASE_NONE,
9469 NULL, 0, "destinationInfo sequence", HFILL }},
9470 { &hf_h225_EndPointType,
9471 { "EndPointType", "h225.EndPointType", FT_NONE, BASE_NONE,
9472 NULL, 0, "EndPointType sequence", HFILL }},
9473 { &hf_h225_terminalType,
9474 { "terminalType", "h225.terminalType", FT_NONE, BASE_NONE,
9475 NULL, 0, "terminalType sequence", HFILL }},
9476 { &hf_h225_sourceInfo,
9477 { "sourceInfo", "h225.sourceInfo", FT_NONE, BASE_NONE,
9478 NULL, 0, "sourceInfo sequence", HFILL }},
9479 { &hf_h225_multipleCalls,
9480 { "multipleCalls", "h225.multipleCalls", FT_BOOLEAN, 8,
9481 TFS(&tfs_multipleCalls_bit), 0x01, "multipleCalls boolean", HFILL }},
9482 { &hf_h225_maintainConnection,
9483 { "maintainConnection", "h225.maintainConnection", FT_BOOLEAN, 8,
9484 TFS(&tfs_maintainConnection_bit), 0x01, "maintainConnection boolean", HFILL }},
9485 { &hf_h225_CallProceedingUUIE,
9486 { "CallProceedingUUIE", "h225.CallProceedingUUIE", FT_NONE, BASE_NONE,
9487 NULL, 0, "CallProceedingUUIE sequence", HFILL }},
9488 { &hf_h225_CapacityReportingSpecification_when,
9489 { "CapacityReportingSpecification_when", "h225.CapacityReportingSpecification_when", FT_NONE, BASE_NONE,
9490 NULL, 0, "CapacityReportingSpecification_when sequence", HFILL }},
9491 { &hf_h225_CapacityReportingSpecification,
9492 { "CapacityReportingSpecification", "h225.CapacityReportingSpecification", FT_NONE, BASE_NONE,
9493 NULL, 0, "CapacityReportingSpecification sequence", HFILL }},
9494 { &hf_h225_ProgressUUIE,
9495 { "ProgressUUIE", "h225.ProgressUUIE", FT_NONE, BASE_NONE,
9496 NULL, 0, "ProgressUUIE sequence", HFILL }},
9497 { &hf_h225_EndPoint,
9498 { "EndPoint", "h225.EndPoint", FT_NONE, BASE_NONE,
9499 NULL, 0, "EndPoint sequence", HFILL }},
9500 { &hf_h225_destinationType,
9501 { "destinationType", "h225.destinationType", FT_NONE, BASE_NONE,
9502 NULL, 0, "destinationType sequence", HFILL }},
9503 { &hf_h225_destExtraCallInfo,
9504 { "destExtraCallInfo", "h225.destExtraCallInfo", FT_NONE, BASE_NONE,
9505 NULL, 0, "destExtraCallInfo sequence of", HFILL }},
9506 { &hf_h225_remoteExtensionAddress,
9507 { "remoteExtensionAddress", "h225.remoteExtensionAddress", FT_NONE, BASE_NONE,
9508 NULL, 0, "remoteExtensionAddress sequence of", HFILL }},
9509 { &hf_h225_aliasAddress_sequence,
9510 { "aliasAddress_sequence", "h225.aliasAddress_sequence", FT_NONE, BASE_NONE,
9511 NULL, 0, "aliasAddress_sequence sequence of", HFILL }},
9512 { &hf_h225_rasAddress_sequence,
9513 { "rasAddress_sequence", "h225.rasAddress_sequence", FT_NONE, BASE_NONE,
9514 NULL, 0, "rasAddress_sequence sequence of", HFILL }},
9515 { &hf_h225_callSignalAddress,
9516 { "callSignalAddress", "h225.callSignalAddress", FT_NONE, BASE_NONE,
9517 NULL, 0, "callSignalAddress sequence of", HFILL }},
9519 { "ICV", "h225.ICV", FT_NONE, BASE_NONE,
9520 NULL, 0, "ICV sequence", HFILL }},
9521 { &hf_h225_BandwidthConfirm,
9522 { "BandwidthConfirm", "h225.BandwidthConfirm", FT_NONE, BASE_NONE,
9523 NULL, 0, "BandwidthConfirm sequence", HFILL }},
9524 { &hf_h225_UnregistrationConfirm,
9525 { "UnregistrationConfirm", "h225.UnregistrationConfirm", FT_NONE, BASE_NONE,
9526 NULL, 0, "UnregistrationConfirm sequence", HFILL }},
9527 { &hf_h225_NonStandardMessage,
9528 { "NonStandardMessage", "h225.NonStandardMessage", FT_NONE, BASE_NONE,
9529 NULL, 0, "NonStandardMessage sequence", HFILL }},
9530 { &hf_h225_InfoRequestAck,
9531 { "InfoRequestAck", "h225.InfoRequestAck", FT_NONE, BASE_NONE,
9532 NULL, 0, "InfoRequestAck sequence", HFILL }},
9533 { &hf_h225_InfoRequestNak,
9534 { "InfoRequestNak", "h225.InfoRequestNak", FT_NONE, BASE_NONE,
9535 NULL, 0, "InfoRequestNak sequence", HFILL }},
9536 { &hf_h225_ResourcesAvailableConfirm,
9537 { "ResourcesAvailableConfirm", "h225.ResourcesAvailableConfirm", FT_NONE, BASE_NONE,
9538 NULL, 0, "ResourcesAvailableConfirm sequence", HFILL }},
9539 { &hf_h225_GatekeeperRequest,
9540 { "GatekeeperRequest", "h225.GatekeeperRequest", FT_NONE, BASE_NONE,
9541 NULL, 0, "GatekeeperRequest sequence", HFILL }},
9542 { &hf_h225_integrity,
9543 { "integrity", "h225.integrity", FT_NONE, BASE_NONE,
9544 NULL, 0, "integrity sequence of", HFILL }},
9545 { &hf_h225_algorithmOIDs,
9546 { "algorithmOIDs", "h225.algorithmOIDs", FT_NONE, BASE_NONE,
9547 NULL, 0, "algorithmOIDs sequence of", HFILL }},
9548 { &hf_h225_alternateEndpoints,
9549 { "alternateEndpoints", "h225.alternateEndpoints", FT_NONE, BASE_NONE,
9550 NULL, 0, "alternateEndpoints sequence of", HFILL }},
9551 { &hf_h225_endpointAlias,
9552 { "endpointAlias", "h225.endpointAlias", FT_NONE, BASE_NONE,
9553 NULL, 0, "endpointAlias sequence of", HFILL }},
9554 { &hf_h225_ServiceControlResponse,
9555 { "ServiceControlResponse", "h225.ServiceControlResponse", FT_NONE, BASE_NONE,
9556 NULL, 0, "ServiceControlResponse sequence", HFILL }},
9557 { &hf_h225_DisengageReject,
9558 { "DisengageReject", "h225.DisengageReject", FT_NONE, BASE_NONE,
9559 NULL, 0, "DisengageReject sequence", HFILL }},
9560 { &hf_h225_BandwidthReject,
9561 { "BandwidthReject", "h225.BandwidthReject", FT_NONE, BASE_NONE,
9562 NULL, 0, "BandwidthReject sequence", HFILL }},
9563 { &hf_h225_UnregistrationReject,
9564 { "UnregistrationReject", "h225.UnregistrationReject", FT_NONE, BASE_NONE,
9565 NULL, 0, "UnregistrationReject sequence", HFILL }},
9566 { &hf_h225_UnregistrationRequest,
9567 { "UnregistrationRequest", "h225.UnregistrationRequest", FT_NONE, BASE_NONE,
9568 NULL, 0, "UnregistrationRequest sequence", HFILL }},
9569 { &hf_h225_endpointAliasPattern,
9570 { "endpointAliasPattern", "h225.endpointAliasPattern", FT_NONE, BASE_NONE,
9571 NULL, 0, "endpointAliasPattern sequence of", HFILL }},
9572 { &hf_h225_RegistrationReject,
9573 { "RegistrationReject", "h225.RegistrationReject", FT_NONE, BASE_NONE,
9574 NULL, 0, "RegistrationReject sequence", HFILL }},
9575 { &hf_h225_invalidTerminalAliases,
9576 { "invalidTerminalAliases", "h225.invalidTerminalAliases", FT_NONE, BASE_NONE,
9577 NULL, 0, "invalidTerminalAliases sequence", HFILL }},
9578 { &hf_h225_terminalAlias,
9579 { "terminalAlias", "h225.terminalAlias", FT_NONE, BASE_NONE,
9580 NULL, 0, "terminalAlias sequence of", HFILL }},
9581 { &hf_h225_terminalAliasPattern,
9582 { "terminalAliasPattern", "h225.terminalAliasPattern", FT_NONE, BASE_NONE,
9583 NULL, 0, "terminalAliasPattern sequence of", HFILL }},
9584 { &hf_h225_RegistrationRejectReason,
9585 { "RegistrationRejectReason", "h225.RegistrationRejectReason", FT_UINT32, BASE_DEC,
9586 VALS(RegistrationRejectReason_vals), 0, "RegistrationRejectReason choice", HFILL }},
9587 { &hf_h225_duplicateAlias,
9588 { "duplicateAlias", "h225.duplicateAlias", FT_NONE, BASE_NONE,
9589 NULL, 0, "duplicateAlias sequence of", HFILL }},
9590 { &hf_h225_GatekeeperReject,
9591 { "GatekeeperReject", "h225.GatekeeperReject", FT_NONE, BASE_NONE,
9592 NULL, 0, "GatekeeperReject sequence", HFILL }},
9593 { &hf_h225_almostOutOfResources,
9594 { "almostOutOfResources", "h225.almostOutOfResources", FT_BOOLEAN, 8,
9595 TFS(&tfs_almostOutOfResources_bit), 0x01, "almostOutOfResources boolean", HFILL }},
9596 { &hf_h225_ResourcesAvailableIndicate,
9597 { "ResourcesAvailableIndicate", "h225.ResourcesAvailableIndicate", FT_NONE, BASE_NONE,
9598 NULL, 0, "ResourcesAvailableIndicate sequence", HFILL }},
9599 { &hf_h225_protocols,
9600 { "protocols", "h225.protocols", FT_NONE, BASE_NONE,
9601 NULL, 0, "protocols sequence of", HFILL }},
9602 { &hf_h225_callDurationLimit,
9603 { "callDurationLimit", "h225.callDurationLimit", FT_UINT32, BASE_DEC,
9604 NULL, 0, "callDurationLimit", HFILL }},
9605 { &hf_h225_enforceCallDurationLimit,
9606 { "enforceCallDurationLimit", "h225.enforceCallDurationLimit", FT_BOOLEAN, 8,
9607 TFS(&tfs_enforceCallDurationLimit_bit), 0x01, "enforceCallDurationLimit boolean", HFILL }},
9608 { &hf_h225_CallCreditServiceControl,
9609 { "CallCreditServiceControl", "h225.CallCreditServiceControl", FT_NONE, BASE_NONE,
9610 NULL, 0, "CallCreditServiceControl sequence", HFILL }},
9611 { &hf_h225_ScreeningIndicator,
9612 { "ScreeningIndicator", "h225.ScreeningIndicator", FT_UINT32, BASE_DEC,
9613 VALS(ScreeningIndicator_vals), 0, "ScreeningIndicator", HFILL }},
9614 { &hf_h225_ExtendedAliasAddress,
9615 { "ExtendedAliasAddress", "h225.ExtendedAliasAddress", FT_NONE, BASE_NONE,
9616 NULL, 0, "ExtendedAliasAddress sequence", HFILL }},
9617 { &hf_h225_messageNotUnderstood,
9618 { "messageNotUnderstood", "h225.messageNotUnderstood", FT_BYTES, BASE_HEX,
9619 NULL, 0, "messageNotUnderstood octet string", HFILL }},
9620 { &hf_h225_UnknownMessageResponse,
9621 { "UnknownMessageResponse", "h225.UnknownMessageResponse", FT_NONE, BASE_NONE,
9622 NULL, 0, "UnknownMessageResponse sequence", HFILL }},
9623 { &hf_h225_CallReferenceValue,
9624 { "CallReferenceValue", "h225.CallReferenceValue", FT_UINT32, BASE_DEC,
9625 NULL, 0, "CallReferenceValue", HFILL }},
9626 { &hf_h225_AdmissionRequest,
9627 { "AdmissionRequest", "h225.AdmissionRequest", FT_NONE, BASE_NONE,
9628 NULL, 0, "AdmissionRequest sequence", HFILL }},
9629 { &hf_h225_canMapSrcAlias,
9630 { "canMapSrcAlias", "h225.canMapSrcAlias", FT_BOOLEAN, 8,
9631 TFS(&tfs_canMapSrcAlias_bit), 0x01, "canMapSrcAlias boolean", HFILL }},
9632 { &hf_h225_desiredProtocols,
9633 { "desiredProtocols", "h225.desiredProtocols", FT_NONE, BASE_NONE,
9634 NULL, 0, "desiredProtocols sequence of", HFILL }},
9635 { &hf_h225_willSupplyUUIEs,
9636 { "willSupplyUUIEs", "h225.willSupplyUUIEs", FT_BOOLEAN, 8,
9637 TFS(&tfs_willSupplyUUIEs_bit), 0x01, "willSupplyUUIEs boolean", HFILL }},
9638 { &hf_h225_destAlternatives,
9639 { "destAlternatives", "h225.destAlternatives", FT_NONE, BASE_NONE,
9640 NULL, 0, "destAlternatives sequence of", HFILL }},
9641 { &hf_h225_srcAlternatives,
9642 { "srcAlternatives", "h225.srcAlternatives", FT_NONE, BASE_NONE,
9643 NULL, 0, "srcAlternatives sequence of", HFILL }},
9644 { &hf_h225_canMapAlias,
9645 { "canMapAlias", "h225.canMapAlias", FT_BOOLEAN, 8,
9646 TFS(&tfs_canMapAlias_bit), 0x01, "canMapAlias boolean", HFILL }},
9647 { &hf_h225_activeMC,
9648 { "activeMC", "h225.activeMC", FT_BOOLEAN, 8,
9649 TFS(&tfs_activeMC_bit), 0x01, "activeMC boolean", HFILL }},
9651 { "srcInfo", "h225.srcInfo", FT_NONE, BASE_NONE,
9652 NULL, 0, "srcInfo sequence of", HFILL }},
9653 { &hf_h225_DestinationInfo,
9654 { "DestinationInfo", "h225.DestinationInfo", FT_NONE, BASE_NONE,
9655 NULL, 0, "DestinationInfo sequence of", HFILL }},
9656 { &hf_h225_InfoRequest,
9657 { "InfoRequest", "h225.InfoRequest", FT_NONE, BASE_NONE,
9658 NULL, 0, "InfoRequest sequence", HFILL }},
9659 { &hf_h225_nextSegmentRequested,
9660 { "nextSegmentRequested", "h225.nextSegmentRequested", FT_UINT32, BASE_DEC,
9661 NULL, 0, "nextSegmentRequested", HFILL }},
9663 { "delay", "h225.delay", FT_UINT32, BASE_DEC,
9664 NULL, 0, "delay", HFILL }},
9665 { &hf_h225_RequestInProgress,
9666 { "RequestInProgress", "h225.RequestInProgress", FT_NONE, BASE_NONE,
9667 NULL, 0, "RequestInProgress sequence", HFILL }},
9668 { &hf_h225_H248SignalsDescriptor,
9669 { "H248SignalsDescriptor", "h225.H248SignalsDescriptor", FT_BYTES, BASE_HEX,
9670 NULL, 0, "H248SignalsDescriptor octet string", HFILL }},
9672 { "url", "h225.url", FT_BYTES, BASE_HEX,
9673 NULL, 0, "url IA5String", HFILL }},
9674 { &hf_h225_ServiceControlDescriptor,
9675 { "ServiceControlDescriptor", "h225.ServiceControlDescriptor", FT_UINT32, BASE_DEC,
9676 VALS(ServiceControlDescriptor_vals), 0, "ServiceControlDescriptor choice", HFILL }},
9677 { &hf_h225_ServiceControlSession,
9678 { "ServiceControlSession", "h225.ServiceControlSession", FT_NONE, BASE_NONE,
9679 NULL, 0, "ServiceControlSession sequence", HFILL }},
9680 { &hf_h225_sessionId,
9681 { "sessionId", "h225.sessionId", FT_UINT32, BASE_DEC,
9682 NULL, 0, "sessionId", HFILL }},
9683 { &hf_h225_AlertingUUIE,
9684 { "AlertingUUIE", "h225.AlertingUUIE", FT_NONE, BASE_NONE,
9685 NULL, 0, "AlertingUUIE sequence", HFILL }},
9686 { &hf_h225_serviceControl,
9687 { "serviceControl", "h225.serviceControl", FT_NONE, BASE_NONE,
9688 NULL, 0, "serviceControl sequence of", HFILL }},
9689 { &hf_h225_alertingAddress,
9690 { "alertingAddress", "h225.alertingAddress", FT_NONE, BASE_NONE,
9691 NULL, 0, "alertingAddress sequence of", HFILL }},
9692 { &hf_h225_ReleaseCompleteUUIE,
9693 { "ReleaseCompleteUUIE", "h225.ReleaseCompleteUUIE", FT_NONE, BASE_NONE,
9694 NULL, 0, "ReleaseCompleteUUIE sequence", HFILL }},
9695 { &hf_h225_busyAddress,
9696 { "busyAddress", "h225.busyAddress", FT_NONE, BASE_NONE,
9697 NULL, 0, "busyAddress sequence of", HFILL }},
9698 { &hf_h225_FacilityUUIE,
9699 { "FacilityUUIE", "h225.FacilityUUIE", FT_NONE, BASE_NONE,
9700 NULL, 0, "FacilityUUIE sequence", HFILL }},
9701 { &hf_h225_alternativeAliasAddress,
9702 { "alternativeAliasAddress", "h225.alternativeAliasAddress", FT_NONE, BASE_NONE,
9703 NULL, 0, "alternativeAliasAddress sequence of", HFILL }},
9704 { &hf_h225_AdmissionReject,
9705 { "AdmissionReject", "h225.AdmissionReject", FT_NONE, BASE_NONE,
9706 NULL, 0, "AdmissionReject sequence", HFILL }},
9707 { &hf_h225_hopCount,
9708 { "hopCount", "h225.hopCount", FT_UINT32, BASE_DEC,
9709 NULL, 0, "hopCount", HFILL }},
9710 { &hf_h225_parallelH245Control,
9711 { "parallelH245Control", "h225.parallelH245Control", FT_NONE, BASE_NONE,
9712 NULL, 0, "parallelH245Control sequence of", HFILL }},
9713 { &hf_h225_language,
9714 { "language", "h225.language", FT_BYTES, BASE_HEX,
9715 NULL, 0, "language IA5String", HFILL }},
9716 { &hf_h225_languages,
9717 { "languages", "h225.languages", FT_NONE, BASE_NONE,
9718 NULL, 0, "languages sequence of", HFILL }},
9719 { &hf_h225_mediaWaitForConnect,
9720 { "mediaWaitForConnect", "h225.mediaWaitForConnect", FT_BOOLEAN, 8,
9721 TFS(&tfs_mediaWaitForConnect_bit), 0x01, "mediaWaitForConnect boolean", HFILL }},
9722 { &hf_h225_canOverlapSend,
9723 { "canOverlapSend", "h225.canOverlapSend", FT_BOOLEAN, 8,
9724 TFS(&tfs_canOverlapSend_bit), 0x01, "canOverlapSend boolean", HFILL }},
9725 { &hf_h225_SetupUUIE,
9726 { "SetupUUIE", "h225.SetupUUIE", FT_NONE, BASE_NONE,
9727 NULL, 0, "SetupUUIE sequence", HFILL }},
9728 { &hf_h225_sourceAddress,
9729 { "sourceAddress", "h225.sourceAddress", FT_NONE, BASE_NONE,
9730 NULL, 0, "sourceAddress sequence of", HFILL }},
9731 { &hf_h225_destinationAddress,
9732 { "destinationAddress", "h225.destinationAddress", FT_NONE, BASE_NONE,
9733 NULL, 0, "destinationAddress sequence of", HFILL }},
9734 { &hf_h225_destExtraCRV,
9735 { "destExtraCRV", "h225.destExtraCRV", FT_NONE, BASE_NONE,
9736 NULL, 0, "destExtraCRV sequence of", HFILL }},
9737 { &hf_h225_h245SecurityCapability,
9738 { "h245SecurityCapability", "h225.h245SecurityCapability", FT_NONE, BASE_NONE,
9739 NULL, 0, "h245SecurityCapability sequence of", HFILL }},
9740 { &hf_h225_additionalSourceAddresses,
9741 { "additionalSourceAddresses", "h225.additionalSourceAddresses", FT_NONE, BASE_NONE,
9742 NULL, 0, "additionalSourceAddresses sequence of", HFILL }},
9743 { &hf_h225_ConnectUUIE,
9744 { "ConnectUUIE", "h225.ConnectUUIE", FT_NONE, BASE_NONE,
9745 NULL, 0, "ConnectUUIE sequence", HFILL }},
9746 { &hf_h225_connectedAddress,
9747 { "connectedAddress", "h225.connectedAddress", FT_NONE, BASE_NONE,
9748 NULL, 0, "connectedAddress sequence of", HFILL }},
9749 { &hf_h225_h323_message_body,
9750 { "h323_message_body", "h225.h323_message_body", FT_UINT32, BASE_DEC,
9751 VALS(h323_message_body_vals), 0, "h323_message_body choice", HFILL }},
9752 { &hf_h225_LocationConfirm,
9753 { "LocationConfirm", "h225.LocationConfirm", FT_NONE, BASE_NONE,
9754 NULL, 0, "LocationConfirm sequence", HFILL }},
9755 { &hf_h225_supportedProtocols,
9756 { "supportedProtocols", "h225.supportedProtocols", FT_NONE, BASE_NONE,
9757 NULL, 0, "supportedProtocols sequence of", HFILL }},
9758 { &hf_h225_modifiedSrcInfo,
9759 { "modifiedSrcInfo", "h225.modifiedSrcInfo", FT_NONE, BASE_NONE,
9760 NULL, 0, "modifiedSrcInfo sequence of", HFILL }},
9761 { &hf_h225_LocationReject,
9762 { "LocationReject", "h225.LocationReject", FT_NONE, BASE_NONE,
9763 NULL, 0, "LocationReject sequence", HFILL }},
9764 { &hf_h225_callSpecific,
9765 { "callSpecific", "h225.callSpecific", FT_NONE, BASE_NONE,
9766 NULL, 0, "callSpecific sequence", HFILL }},
9767 { &hf_h225_answeredCall,
9768 { "answeredCall", "h225.answeredCall", FT_BOOLEAN, 8,
9769 TFS(&tfs_answeredCall_bit), 0x01, "answeredCall boolean", HFILL }},
9770 { &hf_h225_ServiceControlIndication,
9771 { "ServiceControlIndication", "h225.ServiceControlIndication", FT_NONE, BASE_NONE,
9772 NULL, 0, "ServiceControlIndication sequence", HFILL }},
9773 { &hf_h225_RasUsageInformation,
9774 { "RasUsageInformation", "h225.RasUsageInformation", FT_NONE, BASE_NONE,
9775 NULL, 0, "RasUsageInformation sequence", HFILL }},
9776 { &hf_h225_nonStandardUsageFields,
9777 { "nonStandardUsageFields", "h225.nonStandardUsageFields", FT_NONE, BASE_NONE,
9778 NULL, 0, "SEQUENCE OF NonStandardParameter", HFILL }},
9779 { &hf_h225_nonStandardUsageFields_item,
9780 { "nonStandardUsageFields", "h225.nonStandardUsageFields_item", FT_NONE, BASE_NONE,
9781 NULL, 0, "NonStandardParameter", HFILL }},
9782 { &hf_h225_TimeToLive,
9783 { "TimeToLive", "h225.TimeToLive", FT_UINT32, BASE_DEC,
9784 NULL, 0, "TimeToLive in seconds", HFILL }},
9785 { &hf_h225_GatekeeperConfirm,
9786 { "GatekeeperConfirm", "h225.GatekeeperConfirm", FT_NONE, BASE_NONE,
9787 NULL, 0, "GatekeeperConfirm sequence", HFILL }},
9788 { &hf_h225_RegistrationRequest,
9789 { "RegistrationRequest", "h225.RegistrationRequest", FT_NONE, BASE_NONE,
9790 NULL, 0, "RegistrationRequest sequence", HFILL }},
9791 { &hf_h225_discoveryComplete,
9792 { "discoveryComplete", "h225.discoveryComplete", FT_BOOLEAN, 8,
9793 TFS(&tfs_discoveryComplete_bit), 0x01, "discoveryComplete boolean", HFILL }},
9794 { &hf_h225_keepAlive,
9795 { "keepAlive", "h225.keepAlive", FT_BOOLEAN, 8,
9796 TFS(&tfs_keepAlive_bit), 0x01, "keepAlive boolean", HFILL }},
9797 { &hf_h225_H248PackagesDescriptor,
9798 { "H248PackagesDescriptor", "h225.H248PackagesDescriptor", FT_BYTES, BASE_HEX,
9799 NULL, 0, "H248PackagesDescriptor octet string", HFILL }},
9800 { &hf_h225_supportedH248Packages,
9801 { "supportedH248Packages", "h225.supportedH248Packages", FT_NONE, BASE_NONE,
9802 NULL, 0, "supportedH248Packages sequence of", HFILL }},
9803 { &hf_h225_DisengageConfirm,
9804 { "DisengageConfirm", "h225.DisengageConfirm", FT_NONE, BASE_NONE,
9805 NULL, 0, "DisengageConfirm sequence", HFILL }},
9806 { &hf_h225_AdmissionConfirm,
9807 { "AdmissionConfirm", "h225.AdmissionConfirm", FT_NONE, BASE_NONE,
9808 NULL, 0, "AdmissionConfirm sequence", HFILL }},
9809 { &hf_h225_irrFrequency,
9810 { "irrFrequency", "h225.irrFrequency", FT_UINT32, BASE_DEC,
9811 NULL, 0, "irrFrequency", HFILL }},
9812 { &hf_h225_willRespondToIRR,
9813 { "willRespondToIRR", "h225.willRespondToIRR", FT_BOOLEAN, 8,
9814 TFS(&tfs_willRespondToIRR_bit), 0x01, "willRespondToIRR boolean", HFILL }},
9815 { &hf_h225_usageSpec,
9816 { "usageSpec", "h225.usageSpec", FT_NONE, BASE_NONE,
9817 NULL, 0, "usageSpec sequence of", HFILL }},
9818 { &hf_h225_DisengageRequest,
9819 { "DisengageRequest", "h225.DisengageRequest", FT_NONE, BASE_NONE,
9820 NULL, 0, "DisengageRequest sequence", HFILL }},
9821 { &hf_h225_LocationRequest,
9822 { "LocationRequest", "h225.LocationRequest", FT_NONE, BASE_NONE,
9823 NULL, 0, "LocationRequest sequence", HFILL }},
9824 { &hf_h225_SourceInfo,
9825 { "SourceInfo", "h225.SourceInfo", FT_NONE, BASE_NONE,
9826 NULL, 0, "SourceInfo sequence of", HFILL }},
9827 { &hf_h225_hopCount255,
9828 { "hopCount255", "h225.hopCount255", FT_UINT32, BASE_DEC,
9829 NULL, 0, "hopCount255", HFILL }},
9830 { &hf_h225_sourceEndpointInfo,
9831 { "sourceEndpointInfo", "h225.sourceEndpointInfo", FT_NONE, BASE_NONE,
9832 NULL, 0, "sourceEndpointInfo sequence of", HFILL }},
9833 { &hf_h225_BandwidthRequest,
9834 { "BandwidthRequest", "h225.BandwidthRequest", FT_NONE, BASE_NONE,
9835 NULL, 0, "BandwidthRequest sequence", HFILL }},
9836 { &hf_h225_bandwidthDetails,
9837 { "bandwidthDetails", "h225.bandwidthDetails", FT_NONE, BASE_NONE,
9838 NULL, 0, "bandwidthDetails sequence of", HFILL }},
9839 { &hf_h225_admissionConfirmSequence,
9840 { "admissionConfirmSequence", "h225.admissionConfirmSequence", FT_NONE, BASE_NONE,
9841 NULL, 0, "admissionConfirmSequence sequence of", HFILL }},
9842 { &hf_h225_tunnelledSignallingMessage,
9843 { "tunnelledSignallingMessage", "h225.tunnelledSignallingMessage", FT_NONE, BASE_NONE,
9844 NULL, 0, "tunnelledSignallingMessage sequence", HFILL }},
9845 { &hf_h225_messageContent_item,
9846 { "messageContent_item", "h225.messageContent_item", FT_BYTES, BASE_HEX,
9847 NULL, 0, "messageContent_item octet string", HFILL }},
9848 { &hf_h225_messageContent,
9849 { "messageContent", "h225.messageContent", FT_NONE, BASE_NONE,
9850 NULL, 0, "messageContent sequence of", HFILL }},
9851 { &hf_h225_H323_UU_PDU,
9852 { "H323_UU_PDU", "h225.H323_UU_PDU", FT_NONE, BASE_NONE,
9853 NULL, 0, "H323_UU_PDU sequence", HFILL }},
9854 { &hf_h225_h4501SupplementaryService,
9855 { "h4501SupplementaryService", "h225.h4501SupplementaryService", FT_NONE, BASE_NONE,
9856 NULL, 0, "h4501SupplementaryService sequence of", HFILL }},
9857 { &hf_h225_h245Tunneling,
9858 { "h245Tunneling", "h225.h245Tunneling", FT_BOOLEAN, 8,
9859 TFS(&tfs_h245Tunneling_bit), 0x01, "h245Tunneling boolean", HFILL }},
9860 { &hf_h225_h245Control,
9861 { "h245Control", "h225.h245Control", FT_NONE, BASE_NONE,
9862 NULL, 0, "h245Control sequence of", HFILL }},
9863 { &hf_h225_nonStandardControl,
9864 { "nonStandardControl", "h225.nonStandardControl", FT_NONE, BASE_NONE,
9865 NULL, 0, "SEQUENCE OF NonStandardParameter", HFILL }},
9866 { &hf_h225_nonStandardControl_item,
9867 { "nonStandardControl", "h225.nonStandardControl_item", FT_NONE, BASE_NONE,
9868 NULL, 0, "NonStandardParameter", HFILL }},
9869 { &hf_h225_preGrantedARQ,
9870 { "preGrantedARQ", "h225.preGrantedARQ", FT_NONE, BASE_NONE,
9871 NULL, 0, "preGrantedARQ sequence", HFILL }},
9872 { &hf_h225_makeCall,
9873 { "makeCall", "h225.makeCall", FT_BOOLEAN, 8,
9874 TFS(&tfs_makeCall_bit), 0x01, "makeCall boolean", HFILL }},
9875 { &hf_h225_useGKCallSignalAddressToMakeCall,
9876 { "useGKCallSignalAddressToMakeCall", "h225.useGKCallSignalAddressToMakeCall", FT_BOOLEAN, 8,
9877 TFS(&tfs_useGKCallSignalAddressToMakeCall_bit), 0x01, "useGKCallSignalAddressToMakeCall boolean", HFILL }},
9878 { &hf_h225_answerCall,
9879 { "answerCall", "h225.answerCall", FT_BOOLEAN, 8,
9880 TFS(&tfs_answerCall_bit), 0x01, "answerCall boolean", HFILL }},
9881 { &hf_h225_useGKCallSignalAddressToAnswer,
9882 { "useGKCallSignalAddressToAnswer", "h225.useGKCallSignalAddressToAnswer", FT_BOOLEAN, 8,
9883 TFS(&tfs_useGKCallSignalAddressToAnswer_bit), 0x01, "useGKCallSignalAddressToAnswer boolean", HFILL }},
9884 { &hf_h225_RegistrationConfirm,
9885 { "RegistrationConfirm", "h225.RegistrationConfirm", FT_NONE, BASE_NONE,
9886 NULL, 0, "RegistrationConfirm sequence", HFILL }},
9887 { &hf_h225_pdu_item,
9888 { "pdu_item", "h225.pdu_item", FT_NONE, BASE_NONE,
9889 NULL, 0, "pdu_item sequence", HFILL }},
9891 { "sent", "h225.sent", FT_BOOLEAN, 8,
9892 TFS(&tfs_sent_bit), 0x01, "sent boolean", HFILL }},
9894 { "pdu", "h225.pdu", FT_NONE, BASE_NONE,
9895 NULL, 0, "pdu sequence of", HFILL }},
9896 { &hf_h225_perCallInfo_item,
9897 { "perCallInfo_item", "h225.perCallInfo_item", FT_NONE, BASE_NONE,
9898 NULL, 0, "perCallInfo_item sequence", HFILL }},
9899 { &hf_h225_originator,
9900 { "originator", "h225.originator", FT_BOOLEAN, 8,
9901 TFS(&tfs_originator_bit), 0x01, "originator boolean", HFILL }},
9903 { "audio", "h225.audio", FT_NONE, BASE_NONE,
9904 NULL, 0, "audio sequence of", HFILL }},
9906 { "video", "h225.video", FT_NONE, BASE_NONE,
9907 NULL, 0, "video sequence of", HFILL }},
9909 { "data", "h225.data", FT_NONE, BASE_NONE,
9910 NULL, 0, "data sequence of", HFILL }},
9911 { &hf_h225_substituteConfIDs,
9912 { "substituteConfIDs", "h225.substituteConfIDs", FT_NONE, BASE_NONE,
9913 NULL, 0, "substituteConfIDs sequence of", HFILL }},
9914 { &hf_h225_perCallInfo,
9915 { "perCallInfo", "h225.perCallInfo", FT_NONE, BASE_NONE,
9916 NULL, 0, "perCallInfo sequence of", HFILL }},
9917 { &hf_h225_InfoRequestResponse,
9918 { "InfoRequestResponse", "h225.InfoRequestResponse", FT_NONE, BASE_NONE,
9919 NULL, 0, "InfoRequestResponse sequence", HFILL }},
9920 { &hf_h225_needResponse,
9921 { "needResponse", "h225.needResponse", FT_BOOLEAN, 8,
9922 TFS(&tfs_needResponse_bit), 0x01, "needResponse boolean", HFILL }},
9923 { &hf_h225_unsolicited,
9924 { "unsolicited", "h225.unsolicited", FT_BOOLEAN, 8,
9925 TFS(&tfs_unsolicited_bit), 0x01, "unsolicited boolean", HFILL }},
9926 { &hf_h225_RasMessage,
9927 { "RasMessage", "h225.RasMessage", FT_UINT32, BASE_DEC,
9928 VALS(RasMessage_vals), 0, "RasMessage choice", HFILL }},
9929 { &hf_h225_H323_UserInformation,
9930 { "H323_UserInformation", "h225.H323_UserInformation", FT_NONE, BASE_NONE,
9931 NULL, 0, "H323_UserInformation sequence", HFILL }},
9932 { &hf_h225_user_data,
9933 { "user_data", "h225.user_data", FT_NONE, BASE_NONE,
9934 NULL, 0, "user_data sequence", HFILL }},
9935 { &hf_h225_protocol_discriminator,
9936 { "protocol_discriminator", "h225.protocol_discriminator", FT_UINT32, BASE_DEC,
9937 NULL, 0, "protocol_discriminator", HFILL }},
9938 { &hf_h225_user_information,
9939 { "user_information", "h225.user_information", FT_BYTES, BASE_HEX,
9940 NULL, 0, "user_information octet string", HFILL }},
9942 { "object", "h225.object", FT_STRING, BASE_NONE,
9943 NULL, 0, "OBJECT IDENTIFIER", HFILL }},
9944 { &hf_h225_t35CountryCode,
9945 { "t35CountryCode", "h225.t35CountryCode", FT_UINT32, BASE_DEC,
9946 VALS(T35CountryCode_vals), 0, "t35CountryCode value", HFILL }},
9947 { &hf_h225_t35Extension,
9948 { "t35Extension", "h225.t35Extension", FT_UINT32, BASE_DEC,
9949 NULL, 0, "t35Extension value", HFILL }},
9950 { &hf_h225_manufacturerCode,
9951 { "manufacturerCode", "h225.manufacturerCode", FT_UINT32, BASE_DEC,
9952 NULL, 0, "manufacturerCode value", HFILL }},
9954 { &hf_h221Manufacturer,
9955 { "H.221 Manufacturer", "h221.Manufacturer", FT_UINT32, BASE_HEX,
9956 VALS(H221ManufacturerCode_vals), 0, "H.221 Manufacturer", HFILL }},
9958 { &hf_h225_h221NonStandard,
9959 { "h221NonStandard", "h225.h221NonStandard", FT_NONE, BASE_NONE,
9960 NULL, 0, "H221NonStandard SEQUENCE", HFILL }},
9961 { &hf_h225_nonStandardIdentifier,
9962 { "nonStandardIdentifier", "h245.NonStandardIdentifier_type", FT_UINT32, BASE_DEC,
9963 VALS(NonStandardIdentifier_vals), 0, "NonStandardIdentifier CHOICE", HFILL }},
9964 { &hf_h225_nsp_data,
9965 { "data", "h225.nsp_data", FT_BYTES, BASE_HEX,
9966 NULL, 0, "OCTET STRING", HFILL }},
9967 { &hf_h225_nonStandardData,
9968 { "nonStandardData", "h225.nonStandardData", FT_NONE, BASE_NONE,
9969 NULL, 0, "NonStandardParameter SEQUENCE", HFILL }},
9970 { &hf_h225_nonStandard,
9971 { "nonStandard", "h225.nonStandard", FT_NONE, BASE_NONE,
9972 NULL, 0, "NonStandardParameter SEQUENCE", HFILL }},
9973 { &hf_h225_nonStandardReason,
9974 { "nonStandardReason", "h225.nonStandardReason", FT_NONE, BASE_NONE,
9975 NULL, 0, "NonStandardParameter SEQUENCE", HFILL }},
9976 { &hf_h225_nonStandardAddress,
9977 { "nonStandardAddress", "h225.nonStandardAddress", FT_NONE, BASE_NONE,
9978 NULL, 0, "NonStandardParameter SEQUENCE", HFILL }},
9979 { &hf_h225_ras_req_frame,
9980 { "RAS Request Frame", "h225.ras.reqframe", FT_FRAMENUM, BASE_NONE,
9981 NULL, 0, "RAS Request Frame", HFILL }},
9982 { &hf_h225_ras_rsp_frame,
9983 { "RAS Response Frame", "h225.ras.rspframe", FT_FRAMENUM, BASE_NONE,
9984 NULL, 0, "RAS Response Frame", HFILL }},
9986 { "Duplicate RAS Message", "h225.ras.dup", FT_UINT32, BASE_DEC,
9987 NULL, 0, "Duplicate RAS Message", HFILL }},
9988 { &hf_h225_ras_deltatime,
9989 { "RAS Service Response Time", "h225.ras.timedelta", FT_RELATIVE_TIME, BASE_NONE,
9990 NULL, 0, "Timedelta between RAS-Request and RAS-Response", HFILL }},
9995 static gint *ett[] =
9998 &ett_h225_SecurityServiceMode_encryption,
9999 &ett_h225_SecurityServiceMode_authentication,
10000 &ett_h225_SecurityServiceMode_integrity,
10001 &ett_h225_H245Security,
10002 &ett_h225_ReleaseCompleteReason,
10004 &ett_h225_TransportAddress,
10005 &ett_h225_InfoRequestResponseStatus,
10006 &ett_h225_systemid,
10007 &ett_h225_MobileUIM,
10008 &ett_h225_PartyNumber,
10009 &ett_h225_AliasAddress,
10010 &ett_h225_AddressPattern,
10011 &ett_h225_SupportedProtocols,
10012 &ett_h225_GenericIdentifier,
10014 &ett_h225_CallTerminationCause,
10015 &ett_h225_AdmissionRejectReason,
10016 &ett_h225_EncryptIntAlg,
10017 &ett_h225_NonIsoIntegrityMechanism,
10018 &ett_h225_IntegrityMechanism,
10019 &ett_h225_LocationRejectReason,
10020 &ett_h225_RegistrationRejectReason,
10021 &ett_h225_ServiceControlDescriptor,
10022 &ett_h225_h323_message_body,
10023 &ett_h225_RasMessage,
10024 &ett_h225_GatekeeperRejectReason,
10025 &ett_h225_PresentationIndicator,
10026 &ett_h225_conferenceGoal,
10027 &ett_h225_ScnConnectionType,
10028 &ett_h225_ScnConnectionAggregation,
10029 &ett_h225_FacilityReason,
10030 &ett_h225_PublicTypeOfNumber,
10031 &ett_h225_PrivateTypeOfNumber,
10032 &ett_h225_UseSpecifiedTransport,
10033 &ett_h225_SecurityErrors,
10034 &ett_h225_SecurityErrors2,
10035 &ett_h225_ServiceControlSession_reason,
10036 &ett_h225_billingMode,
10037 &ett_h225_CCSCcallStartingPoint,
10038 &ett_h225_UnregRequestReason,
10039 &ett_h225_UnregRejectReason,
10040 &ett_h225_CallType,
10041 &ett_h225_CallModel,
10042 &ett_h225_TransportQOS,
10043 &ett_h225_BandRejectReason,
10044 &ett_h225_DisengageReason,
10045 &ett_h225_DisengageRejectReason,
10046 &ett_h225_InfoRequestNakReason,
10047 &ett_h225_SCRresult,
10048 &ett_h225_GatekeeperInfo,
10049 &ett_h225_SecurityCapabilities_tls,
10050 &ett_h225_SecurityCapabilities_ipsec,
10051 &ett_h225_RasUsageInfoTypes,
10052 &ett_h225_T_nonStandardUsageTypes,
10053 &ett_h225_DataRate,
10054 &ett_h225_dataRatesSupported,
10055 &ett_h225_TerminalInfo,
10056 &ett_h225_StimulusControl,
10057 &ett_h225_connectionParameters,
10058 &ett_h225_RasUsageSpecification_when,
10059 &ett_h225_RasUsageSpecification_callStartingPoint,
10060 &ett_h225_RasUsageSpecification,
10061 &ett_h225_ipAddress,
10063 &ett_h225_ipSourceRoute,
10064 &ett_h225_ipxAddress,
10065 &ett_h225_ip6Address,
10066 &ett_h225_TransportChannelInfo,
10067 &ett_h225_CarrierInfo,
10068 &ett_h225_CallIdentifier,
10069 &ett_h225_CallLinkage,
10071 &ett_h225_AlternateGK,
10072 &ett_h225_alternateGatekeeper,
10073 &ett_h225_AltGKInfo,
10076 &ett_h225_AlternateTransportAddress,
10077 &ett_h225_UUIEsRequested,
10078 &ett_h225_Q954Details,
10079 &ett_h225_QseriesOptions,
10080 &ett_h225_associatedSessionIds,
10081 &ett_h225_RTPSession,
10082 &ett_h225_cryptoTokens,
10083 &ett_h225_StatusUUIE,
10084 &ett_h225_StatusInquiryUUIE,
10085 &ett_h225_SetupAcknowledgeUUIE,
10086 &ett_h225_NotifyUUIE,
10088 &ett_h225_ANSI41UIM,
10089 &ett_h225_e164Number,
10090 &ett_h225_privateNumber,
10091 &ett_h225_TunnelledProtocolAlternateIdentifier,
10092 &ett_h225_SupportedPrefix,
10093 &ett_h225_SupportedPrefixes,
10094 &ett_h225_H310Caps,
10095 &ett_h225_H320Caps,
10096 &ett_h225_H321Caps,
10097 &ett_h225_H322Caps,
10098 &ett_h225_H323Caps,
10099 &ett_h225_H324Caps,
10100 &ett_h225_VoiceCaps,
10101 &ett_h225_T120OnlyCaps,
10102 &ett_h225_NonStandardProtocol,
10104 &ett_h225_AddressPattern_range,
10105 &ett_h225_ConferenceList,
10106 &ett_h225_conferences,
10107 &ett_h225_T38FaxAnnexbOnlyCaps,
10108 &ett_h225_protocol,
10109 &ett_h225_GatewayInfo,
10111 &ett_h225_TunnelledProtocol_id,
10112 &ett_h225_TunnelledProtocol,
10113 &ett_h225_CicInfo_cic,
10115 &ett_h225_GroupID_member,
10117 &ett_h225_CircuitIdentifier,
10118 &ett_h225_EnumeratedParameter,
10119 &ett_h225_parameters,
10120 &ett_h225_GenericData,
10121 &ett_h225_Content_compound,
10122 &ett_h225_Content_nested,
10123 &ett_h225_neededFeatures,
10124 &ett_h225_desiredFeatures,
10125 &ett_h225_supportedFeatures,
10126 &ett_h225_FeatureSet,
10127 &ett_h225_CallsAvailable,
10128 &ett_h225_voiceGwCallsAvailable,
10129 &ett_h225_h310GwCallsAvailable,
10130 &ett_h225_h320GwCallsAvailable,
10131 &ett_h225_h321GwCallsAvailable,
10132 &ett_h225_h322GwCallsAvailable,
10133 &ett_h225_h323GwCallsAvailable,
10134 &ett_h225_h324GwCallsAvailable,
10135 &ett_h225_t120OnlyGwCallsAvailable,
10136 &ett_h225_t38FaxAnnexbOnlyGwCallsAvailable,
10137 &ett_h225_terminalCallsAvailable,
10138 &ett_h225_mcuCallsAvailable,
10139 &ett_h225_sipGwCallsAvailable,
10140 &ett_h225_CallCapacityInfo,
10141 &ett_h225_CallCapacity,
10142 &ett_h225_VendorIdentifier,
10143 &ett_h225_CapacityReportingCapability,
10144 &ett_h225_CallCreditCapability,
10145 &ett_h225_BandwidthDetails,
10146 &ett_h225_CircuitInfo,
10147 &ett_h225_genericData,
10148 &ett_h225_fastStart,
10149 &ett_h225_InformationUUIE,
10150 &ett_h225_routeCallToSCN,
10151 &ett_h225_EndPointType,
10152 &ett_h225_CallProceedingUUIE,
10153 &ett_h225_CapacityReportingSpecification_when,
10154 &ett_h225_CapacityReportingSpecification,
10155 &ett_h225_ProgressUUIE,
10156 &ett_h225_EndPoint,
10157 &ett_h225_destExtraCallInfo,
10158 &ett_h225_remoteExtensionAddress,
10159 &ett_h225_rasAddress_sequence,
10160 &ett_h225_callSignalAddress,
10162 &ett_h225_BandwidthConfirm,
10163 &ett_h225_UnregistrationConfirm,
10164 &ett_h225_NonStandardMessage,
10165 &ett_h225_InfoRequestAck,
10166 &ett_h225_InfoRequestNak,
10167 &ett_h225_ResourcesAvailableConfirm,
10168 &ett_h225_GatekeeperRequest,
10169 &ett_h225_integrity,
10170 &ett_h225_algorithmOIDs,
10171 &ett_h225_alternateEndpoints,
10172 &ett_h225_endpointAlias,
10173 &ett_h225_ServiceControlResponse,
10174 &ett_h225_DisengageReject,
10175 &ett_h225_BandwidthReject,
10176 &ett_h225_UnregistrationReject,
10177 &ett_h225_UnregistrationRequest,
10178 &ett_h225_endpointAliasPattern,
10179 &ett_h225_RegistrationReject,
10180 &ett_h225_invalidTerminalAliases,
10181 &ett_h225_terminalAlias,
10182 &ett_h225_terminalAliasPattern,
10183 &ett_h225_duplicateAlias,
10184 &ett_h225_GatekeeperReject,
10185 &ett_h225_ResourcesAvailableIndicate,
10186 &ett_h225_protocols,
10187 &ett_h225_CallCreditServiceControl,
10188 &ett_h225_ExtendedAliasAddress,
10189 &ett_h225_UnknownMessageResponse,
10190 &ett_h225_AdmissionRequest,
10191 &ett_h225_desiredProtocols,
10192 &ett_h225_destAlternatives,
10193 &ett_h225_srcAlternatives,
10195 &ett_h225_DestinationInfo,
10196 &ett_h225_InfoRequest,
10197 &ett_h225_RequestInProgress,
10198 &ett_h225_ServiceControlSession,
10199 &ett_h225_AlertingUUIE,
10200 &ett_h225_serviceControl,
10201 &ett_h225_alertingAddress,
10202 &ett_h225_ReleaseCompleteUUIE,
10203 &ett_h225_busyAddress,
10204 &ett_h225_FacilityUUIE,
10205 &ett_h225_alternativeAliasAddress,
10206 &ett_h225_AdmissionReject,
10207 &ett_h225_parallelH245Control,
10208 &ett_h225_languages,
10209 &ett_h225_SetupUUIE,
10210 &ett_h225_sourceAddress,
10211 &ett_h225_destinationAddress,
10212 &ett_h225_destExtraCRV,
10213 &ett_h225_h245SecurityCapability,
10214 &ett_h225_additionalSourceAddresses,
10215 &ett_h225_ConnectUUIE,
10216 &ett_h225_connectedAddress,
10217 &ett_h225_LocationConfirm,
10218 &ett_h225_supportedProtocols,
10219 &ett_h225_modifiedSrcInfo,
10220 &ett_h225_LocationReject,
10221 &ett_h225_callSpecific,
10222 &ett_h225_ServiceControlIndication,
10223 &ett_h225_RasUsageInformation,
10224 &ett_h225_T_nonStandardUsageFields,
10225 &ett_h225_GatekeeperConfirm,
10226 &ett_h225_RegistrationRequest,
10227 &ett_h225_supportedH248Packages,
10228 &ett_h225_DisengageConfirm,
10229 &ett_h225_AdmissionConfirm,
10230 &ett_h225_usageSpec,
10231 &ett_h225_DisengageRequest,
10232 &ett_h225_LocationRequest,
10233 &ett_h225_SourceInfo,
10234 &ett_h225_sourceEndpointInfo,
10235 &ett_h225_BandwidthRequest,
10236 &ett_h225_bandwidthDetails,
10237 &ett_h225_admissionConfirmSequence,
10238 &ett_h225_tunnelledSignallingMessage,
10239 &ett_h225_messageContent,
10240 &ett_h225_H323_UU_PDU,
10241 &ett_h225_h4501SupplementaryService,
10242 &ett_h225_h245Control,
10243 &ett_h225_T_nonStandardControl,
10244 &ett_h225_preGrantedARQ,
10245 &ett_h225_RegistrationConfirm,
10246 &ett_h225_pdu_item,
10248 &ett_h225_perCallInfo_item,
10252 &ett_h225_substituteConfIDs,
10253 &ett_h225_perCallInfo,
10254 &ett_h225_InfoRequestResponse,
10255 &ett_h225_H323_UserInformation,
10256 &ett_h225_user_data,
10257 &ett_h225_H221NonStandard,
10258 &ett_h225_NonStandardIdentifier,
10259 &ett_h225_NonStandardParameter,
10260 &ett_h225_aliasAddress_sequence,
10263 module_t *h225_module;
10265 proto_h225 = proto_register_protocol("H225", "H225", "h225");
10266 proto_register_field_array(proto_h225, hf, array_length(hf));
10267 proto_register_subtree_array(ett, array_length(ett));
10268 h225_module = prefs_register_protocol(proto_h225, NULL);
10269 prefs_register_bool_preference(h225_module, "reassembly",
10270 "Reassemble H.225 over TCP",
10271 "Whether the dissector should reassemble H.225 PDUs spanning multiple TCP segments",
10273 register_dissector("h225", dissect_h225_H323UserInformation, proto_h225);
10275 nsp_object_dissector_table = register_dissector_table("h225.nsp.object", "H.225 NonStandardParameter (object)", FT_STRING, BASE_NONE);
10276 nsp_h221_dissector_table = register_dissector_table("h225.nsp.h221", "H.225 NonStandardParameter (h221)", FT_UINT32, BASE_HEX);
10277 tp_dissector_table = register_dissector_table("h225.tp", "H.225 TunnelledProtocol", FT_STRING, BASE_NONE);
10279 register_init_routine(&h225_init_routine);
10280 h225_tap = register_tap("h225");
10284 proto_reg_handoff_h225(void)
10286 h225ras_handle=create_dissector_handle(dissect_h225_RasMessage, proto_h225);
10287 H323UserInformation_handle=create_dissector_handle(dissect_h225_H323UserInformation, proto_h225);
10289 h245_handle = find_dissector("h245");
10290 h245dg_handle = find_dissector("h245dg");
10291 h4501_handle = find_dissector("h4501");
10292 data_handle = find_dissector("data");
10294 dissector_add("udp.port", UDP_PORT_RAS1, h225ras_handle);
10295 dissector_add("udp.port", UDP_PORT_RAS2, h225ras_handle);
10299 static void reset_h225_packet_info(h225_packet_info *pi)
10305 pi->msg_type = H225_OTHERS;
10308 pi->requestSeqNum = 0;
10309 memset(pi->guid,0,16);
10310 pi->is_duplicate = FALSE;
10311 pi->request_available = FALSE;
10315 The following function contains the routines for RAS request/response matching.
10316 A RAS response matches with a request, if both messages have the same
10317 RequestSequenceNumber, belong to the same IP conversation and belong to the same
10318 RAS "category" (e.g. Admission, Registration).
10320 We use hashtables to access the lists of RAS calls (request/response pairs).
10321 We have one hashtable for each RAS category. The hashkeys consist of the
10322 non-unique 16-bit RequestSequenceNumber and values representing the conversation.
10324 In big capture files, we might get different requests with identical keys.
10325 These requests aren't necessarily duplicates. They might be valid new requests.
10326 At the moment we just use the timedelta between the last valid and the new request
10327 to decide if the new request is a duplicate or not. There might be better ways.
10328 Two thresholds are defined below.
10330 However the decision is made, another problem arises. We can't just add those
10331 requests to our hashtables. Instead we create lists of RAS calls with identical keys.
10332 The hashtables for RAS calls contain now pointers to the first RAS call in a list of
10333 RAS calls with identical keys.
10334 These lists aren't expected to contain more than 3 items and are usually single item
10335 lists. So we don't need an expensive but intelligent way to access these lists
10336 (e.g. hashtables). Just walk through such a list.
10339 #define THRESHOLD_REPEATED_RESPONDED_CALL 300
10340 #define THRESHOLD_REPEATED_NOT_RESPONDED_CALL 1800
10342 static void ras_call_matching(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, h225_packet_info *pi)
10344 conversation_t* conversation = NULL;
10345 h225ras_call_info_key h225ras_call_key;
10346 h225ras_call_t *h225ras_call = NULL;
10348 guint msg_category;
10350 if(pi->msg_type == H225_RAS && pi->msg_tag < 21) {
10351 /* make RAS request/response matching only for tags from 0 to 20 for now */
10353 msg_category = pi->msg_tag / 3;
10354 if(pi->msg_tag % 3 == 0) { /* Request Message */
10355 conversation = find_conversation(&pinfo->src,
10356 &pinfo->dst, pinfo->ptype, pinfo->srcport,
10357 pinfo->destport, 0);
10359 if (conversation == NULL) {
10360 /* It's not part of any conversation - create a new one. */
10361 conversation = conversation_new(&pinfo->src,
10362 &pinfo->dst, pinfo->ptype, pinfo->srcport,
10363 pinfo->destport, 0);
10367 /* prepare the key data */
10368 h225ras_call_key.reqSeqNum = pi->requestSeqNum;
10369 h225ras_call_key.conversation = conversation;
10371 /* look up the request */
10372 h225ras_call = find_h225ras_call(&h225ras_call_key ,msg_category);
10374 if (h225ras_call != NULL) {
10375 /* We've seen requests with this reqSeqNum, with the same
10376 source and destination, before - do we have
10377 *this* request already? */
10378 /* Walk through list of ras requests with identical keys */
10380 if (pinfo->fd->num == h225ras_call->req_num) {
10381 /* We have seen this request before -> do nothing */
10385 /* if end of list is reached, exit loop and decide if request is duplicate or not. */
10386 if (h225ras_call->next_call == NULL) {
10387 if ( (pinfo->fd->num > h225ras_call->rsp_num && h225ras_call->rsp_num != 0
10388 && pinfo->fd->abs_secs > (guint) (h225ras_call->req_time.secs + THRESHOLD_REPEATED_RESPONDED_CALL) )
10389 ||(pinfo->fd->num > h225ras_call->req_num && h225ras_call->rsp_num == 0
10390 && pinfo->fd->abs_secs > (guint) (h225ras_call->req_time.secs + THRESHOLD_REPEATED_NOT_RESPONDED_CALL) ) )
10392 /* if last request has been responded
10393 and this request appears after last response (has bigger frame number)
10394 and last request occured more than 300 seconds ago,
10395 or if last request hasn't been responded
10396 and this request appears after last request (has bigger frame number)
10397 and last request occured more than 1800 seconds ago,
10398 we decide that we have a new request */
10399 /* Append new ras call to list */
10400 h225ras_call = append_h225ras_call(h225ras_call, pinfo, pi->guid, msg_category);
10402 /* No, so it's a duplicate request.
10403 Mark it as such. */
10404 pi->is_duplicate = TRUE;
10405 proto_tree_add_uint_hidden(tree, hf_h225_ras_dup, tvb, 0,0, pi->requestSeqNum);
10409 h225ras_call = h225ras_call->next_call;
10410 } while (h225ras_call != NULL );
10413 h225ras_call = new_h225ras_call(&h225ras_call_key, pinfo, pi->guid, msg_category);
10416 /* add link to response frame, if available */
10417 if(h225ras_call->rsp_num != 0){
10418 proto_tree_add_uint_format(tree, hf_h225_ras_rsp_frame, tvb, 0, 0, h225ras_call->rsp_num,
10419 "The response to this request is in frame %u", h225ras_call->rsp_num);
10422 /* end of request message handling*/
10424 else { /* Confirm or Reject Message */
10425 conversation = find_conversation(&pinfo->src,
10426 &pinfo->dst, pinfo->ptype, pinfo->srcport,
10427 pinfo->destport, 0);
10428 if (conversation != NULL) {
10429 /* look only for matching request, if
10430 matching conversation is available. */
10431 h225ras_call_key.reqSeqNum = pi->requestSeqNum;
10432 h225ras_call_key.conversation = conversation;
10433 h225ras_call = find_h225ras_call(&h225ras_call_key ,msg_category);
10435 /* find matching ras_call in list of ras calls with identical keys */
10437 if (pinfo->fd->num == h225ras_call->rsp_num) {
10438 /* We have seen this response before -> stop now with matching ras call */
10442 /* Break when list end is reached */
10443 if(h225ras_call->next_call == NULL) {
10446 h225ras_call = h225ras_call->next_call;
10447 } while (h225ras_call != NULL) ;
10449 /* if this is an ACF, ARJ or DCF, DRJ, give guid to tap and make it filterable */
10450 if (msg_category == 3 || msg_category == 5) {
10451 memcpy(pi->guid, h225ras_call->guid,16);
10452 proto_tree_add_bytes_hidden(tree, hf_h225_guid, tvb, 0, 16, pi->guid);
10455 if (h225ras_call->rsp_num == 0) {
10456 /* We have not yet seen a response to that call, so
10457 this must be the first response; remember its
10459 h225ras_call->rsp_num = pinfo->fd->num;
10462 /* We have seen a response to this call - but was it
10463 *this* response? */
10464 if (h225ras_call->rsp_num != pinfo->fd->num) {
10465 /* No, so it's a duplicate response.
10466 Mark it as such. */
10467 pi->is_duplicate = TRUE;
10468 proto_tree_add_uint_hidden(tree, hf_h225_ras_dup, tvb, 0,0, pi->requestSeqNum);
10472 if(h225ras_call->req_num != 0){
10473 h225ras_call->responded = TRUE;
10474 pi->request_available = TRUE;
10476 /* Indicate the frame to which this is a reply. */
10477 proto_tree_add_uint_format(tree, hf_h225_ras_req_frame, tvb, 0, 0, h225ras_call->req_num,
10478 "This is a response to a request in frame %u", h225ras_call->req_num);
10480 /* Calculate RAS Service Response Time */
10481 delta.secs= pinfo->fd->abs_secs-h225ras_call->req_time.secs;
10482 delta.nsecs=pinfo->fd->abs_usecs*1000-h225ras_call->req_time.nsecs;
10484 delta.nsecs+=1000000000;
10487 pi->delta_time.secs = delta.secs; /* give it to tap */
10488 pi->delta_time.nsecs = delta.nsecs;
10490 /* display Ras Service Response Time and make it filterable */
10491 proto_tree_add_time(tree, hf_h225_ras_deltatime, tvb, 0, 0, &(pi->delta_time));