1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
4 /* asn2wrs.py -q -L -p h225 -c ./h225.cnf -s ./packet-h225-template -D . -O ../.. H323-MESSAGES.asn */
7 * Routines for h225 packet dissection
8 * Copyright 2005, Anders Broman <anders.broman@ericsson.com>
10 * Wireshark - Network traffic analyzer
11 * By Gerald Combs <gerald@wireshark.org>
12 * Copyright 1998 Gerald Combs
14 * SPDX-License-Identifier: GPL-2.0-or-later
16 * To quote the author of the previous H323/H225/H245 dissector:
17 * "This is a complete replacement of the previous limitied dissector
18 * that Ronnie was crazy enough to write by hand. It was a lot of time
19 * to hack it by hand, but it is incomplete and buggy and it is good when
21 * Ronnie did a great job and all the VoIP users had made good use of it!
22 * Credit to Tomas Kukosa for developing the asn2wrs compiler.
28 #include <epan/packet.h>
29 #include <epan/conversation.h>
30 #include <epan/proto_data.h>
32 #include <epan/prefs.h>
33 #include <epan/oids.h>
34 #include <epan/next_tvb.h>
35 #include <epan/asn1.h>
38 #include <epan/stat_tap_ui.h>
39 #include <epan/rtd_table.h>
41 #include <wsutil/array.h>
43 #include "packet-frame.h"
44 #include "packet-tpkt.h"
45 #include "packet-per.h"
46 #include "packet-h225.h"
47 #include "packet-h235.h"
48 #include "packet-h245.h"
49 #include "packet-h323.h"
50 #include "packet-q931.h"
51 #include "packet-tls.h"
53 #define PNAME "H323-MESSAGES"
54 #define PSNAME "H.225.0"
57 #define UDP_PORT_RAS_RANGE "1718-1719"
58 #define TCP_PORT_CS 1720
59 #define TLS_PORT_CS 1300
61 void proto_register_h225(void);
62 static h225_packet_info
* create_h225_packet_info(packet_info
*pinfo
);
63 static void ras_call_matching(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, h225_packet_info
*pi
);
65 /* Item of ras request list*/
66 typedef struct _h225ras_call_t
{
67 uint32_t requestSeqNum
;
69 uint32_t req_num
; /* frame number request seen */
70 uint32_t rsp_num
; /* frame number response seen */
71 nstime_t req_time
; /* arrival time of request */
72 bool responded
; /* true, if request has been responded */
73 struct _h225ras_call_t
*next_call
; /* pointer to next ras request with same SequenceNumber and conversation handle */
77 /* Item of ras-request key list*/
78 typedef struct _h225ras_call_info_key
{
80 conversation_t
*conversation
;
81 } h225ras_call_info_key
;
83 /* Global Memory Chunks for lists and Global hash tables*/
85 static wmem_map_t
*ras_calls
[7];
87 /* functions, needed using ras-request and halfcall matching*/
88 static h225ras_call_t
* find_h225ras_call(h225ras_call_info_key
*h225ras_call_key
,int category
);
89 static h225ras_call_t
* new_h225ras_call(h225ras_call_info_key
*h225ras_call_key
, packet_info
*pinfo
, e_guid_t
*guid
, int category
);
90 static h225ras_call_t
* append_h225ras_call(h225ras_call_t
*prev_call
, packet_info
*pinfo
, e_guid_t
*guid
, int category
);
93 static dissector_handle_t h225ras_handle
;
94 static dissector_handle_t data_handle
;
95 /* Subdissector tables */
96 static dissector_table_t nsp_object_dissector_table
;
97 static dissector_table_t nsp_h221_dissector_table
;
98 static dissector_table_t tp_dissector_table
;
99 static dissector_table_t gef_name_dissector_table
;
100 static dissector_table_t gef_content_dissector_table
;
103 static dissector_handle_t h245_handle
;
104 static dissector_handle_t h245dg_handle
;
105 static dissector_handle_t h4501_handle
;
107 static dissector_handle_t nsp_handle
;
108 static dissector_handle_t tp_handle
;
110 static next_tvb_list_t
*h245_list
;
111 static next_tvb_list_t
*tp_list
;
113 /* Initialize the protocol and registered fields */
115 static int proto_h225
;
117 static int hf_h221Manufacturer
;
118 static int hf_h225_ras_req_frame
;
119 static int hf_h225_ras_rsp_frame
;
120 static int hf_h225_ras_dup
;
121 static int hf_h225_ras_deltatime
;
122 static int hf_h225_debug_dissector_try_string
;
124 static int hf_h225_H323_UserInformation_PDU
; /* H323_UserInformation */
125 static int hf_h225_h225_ExtendedAliasAddress_PDU
; /* ExtendedAliasAddress */
126 static int hf_h225_RasMessage_PDU
; /* RasMessage */
127 static int hf_h225_h323_uu_pdu
; /* H323_UU_PDU */
128 static int hf_h225_user_data
; /* T_user_data */
129 static int hf_h225_protocol_discriminator
; /* INTEGER_0_255 */
130 static int hf_h225_user_information
; /* OCTET_STRING_SIZE_1_131 */
131 static int hf_h225_h323_message_body
; /* T_h323_message_body */
132 static int hf_h225_setup
; /* Setup_UUIE */
133 static int hf_h225_callProceeding
; /* CallProceeding_UUIE */
134 static int hf_h225_connect
; /* Connect_UUIE */
135 static int hf_h225_alerting
; /* Alerting_UUIE */
136 static int hf_h225_information
; /* Information_UUIE */
137 static int hf_h225_releaseComplete
; /* ReleaseComplete_UUIE */
138 static int hf_h225_facility
; /* Facility_UUIE */
139 static int hf_h225_progress
; /* Progress_UUIE */
140 static int hf_h225_empty_flg
; /* T_empty_flg */
141 static int hf_h225_status
; /* Status_UUIE */
142 static int hf_h225_statusInquiry
; /* StatusInquiry_UUIE */
143 static int hf_h225_setupAcknowledge
; /* SetupAcknowledge_UUIE */
144 static int hf_h225_notify
; /* Notify_UUIE */
145 static int hf_h225_nonStandardData
; /* NonStandardParameter */
146 static int hf_h225_h4501SupplementaryService
; /* T_h4501SupplementaryService */
147 static int hf_h225_h4501SupplementaryService_item
; /* T_h4501SupplementaryService_item */
148 static int hf_h225_h245Tunnelling
; /* T_h245Tunnelling */
149 static int hf_h225_H245Control_item
; /* H245Control_item */
150 static int hf_h225_h245Control
; /* H245Control */
151 static int hf_h225_nonStandardControl
; /* SEQUENCE_OF_NonStandardParameter */
152 static int hf_h225_nonStandardControl_item
; /* NonStandardParameter */
153 static int hf_h225_callLinkage
; /* CallLinkage */
154 static int hf_h225_tunnelledSignallingMessage
; /* T_tunnelledSignallingMessage */
155 static int hf_h225_tunnelledProtocolID
; /* TunnelledProtocol */
156 static int hf_h225_messageContent
; /* T_messageContent */
157 static int hf_h225_messageContent_item
; /* T_messageContent_item */
158 static int hf_h225_tunnellingRequired
; /* NULL */
159 static int hf_h225_provisionalRespToH245Tunnelling
; /* NULL */
160 static int hf_h225_stimulusControl
; /* StimulusControl */
161 static int hf_h225_genericData
; /* SEQUENCE_OF_GenericData */
162 static int hf_h225_genericData_item
; /* GenericData */
163 static int hf_h225_nonStandard
; /* NonStandardParameter */
164 static int hf_h225_isText
; /* NULL */
165 static int hf_h225_h248Message
; /* OCTET_STRING */
166 static int hf_h225_protocolIdentifier
; /* ProtocolIdentifier */
167 static int hf_h225_uUIE_destinationInfo
; /* EndpointType */
168 static int hf_h225_h245Address
; /* H245TransportAddress */
169 static int hf_h225_callIdentifier
; /* CallIdentifier */
170 static int hf_h225_h245SecurityMode
; /* H245Security */
171 static int hf_h225_tokens
; /* SEQUENCE_OF_ClearToken */
172 static int hf_h225_tokens_item
; /* ClearToken */
173 static int hf_h225_cryptoTokens
; /* SEQUENCE_OF_CryptoH323Token */
174 static int hf_h225_cryptoTokens_item
; /* CryptoH323Token */
175 static int hf_h225_fastStart
; /* FastStart */
176 static int hf_h225_multipleCalls
; /* BOOLEAN */
177 static int hf_h225_maintainConnection
; /* BOOLEAN */
178 static int hf_h225_alertingAddress
; /* SEQUENCE_OF_AliasAddress */
179 static int hf_h225_alertingAddress_item
; /* AliasAddress */
180 static int hf_h225_presentationIndicator
; /* PresentationIndicator */
181 static int hf_h225_screeningIndicator
; /* ScreeningIndicator */
182 static int hf_h225_fastConnectRefused
; /* NULL */
183 static int hf_h225_serviceControl
; /* SEQUENCE_OF_ServiceControlSession */
184 static int hf_h225_serviceControl_item
; /* ServiceControlSession */
185 static int hf_h225_capacity
; /* CallCapacity */
186 static int hf_h225_featureSet
; /* FeatureSet */
187 static int hf_h225_displayName
; /* SEQUENCE_OF_DisplayName */
188 static int hf_h225_displayName_item
; /* DisplayName */
189 static int hf_h225_conferenceID
; /* ConferenceIdentifier */
190 static int hf_h225_language
; /* Language */
191 static int hf_h225_connectedAddress
; /* SEQUENCE_OF_AliasAddress */
192 static int hf_h225_connectedAddress_item
; /* AliasAddress */
193 static int hf_h225_circuitInfo
; /* CircuitInfo */
194 static int hf_h225_releaseCompleteReason
; /* ReleaseCompleteReason */
195 static int hf_h225_busyAddress
; /* SEQUENCE_OF_AliasAddress */
196 static int hf_h225_busyAddress_item
; /* AliasAddress */
197 static int hf_h225_destinationInfo
; /* EndpointType */
198 static int hf_h225_noBandwidth
; /* NULL */
199 static int hf_h225_gatekeeperResources
; /* NULL */
200 static int hf_h225_unreachableDestination
; /* NULL */
201 static int hf_h225_destinationRejection
; /* NULL */
202 static int hf_h225_invalidRevision
; /* NULL */
203 static int hf_h225_noPermission
; /* NULL */
204 static int hf_h225_unreachableGatekeeper
; /* NULL */
205 static int hf_h225_gatewayResources
; /* NULL */
206 static int hf_h225_badFormatAddress
; /* NULL */
207 static int hf_h225_adaptiveBusy
; /* NULL */
208 static int hf_h225_inConf
; /* NULL */
209 static int hf_h225_undefinedReason
; /* NULL */
210 static int hf_h225_facilityCallDeflection
; /* NULL */
211 static int hf_h225_securityDenied
; /* NULL */
212 static int hf_h225_calledPartyNotRegistered
; /* NULL */
213 static int hf_h225_callerNotRegistered
; /* NULL */
214 static int hf_h225_newConnectionNeeded
; /* NULL */
215 static int hf_h225_nonStandardReason
; /* NonStandardParameter */
216 static int hf_h225_replaceWithConferenceInvite
; /* ConferenceIdentifier */
217 static int hf_h225_genericDataReason
; /* NULL */
218 static int hf_h225_neededFeatureNotSupported
; /* NULL */
219 static int hf_h225_tunnelledSignallingRejected
; /* NULL */
220 static int hf_h225_invalidCID
; /* NULL */
221 static int hf_h225_rLC_securityError
; /* SecurityErrors */
222 static int hf_h225_hopCountExceeded
; /* NULL */
223 static int hf_h225_sourceAddress
; /* SEQUENCE_OF_AliasAddress */
224 static int hf_h225_sourceAddress_item
; /* AliasAddress */
225 static int hf_h225_setup_UUIE_sourceInfo
; /* EndpointType */
226 static int hf_h225_destinationAddress
; /* SEQUENCE_OF_AliasAddress */
227 static int hf_h225_destinationAddress_item
; /* AliasAddress */
228 static int hf_h225_destCallSignalAddress
; /* TransportAddress */
229 static int hf_h225_destExtraCallInfo
; /* SEQUENCE_OF_AliasAddress */
230 static int hf_h225_destExtraCallInfo_item
; /* AliasAddress */
231 static int hf_h225_destExtraCRV
; /* SEQUENCE_OF_CallReferenceValue */
232 static int hf_h225_destExtraCRV_item
; /* CallReferenceValue */
233 static int hf_h225_activeMC
; /* BOOLEAN */
234 static int hf_h225_conferenceGoal
; /* T_conferenceGoal */
235 static int hf_h225_create
; /* NULL */
236 static int hf_h225_join
; /* NULL */
237 static int hf_h225_invite
; /* NULL */
238 static int hf_h225_capability_negotiation
; /* NULL */
239 static int hf_h225_callIndependentSupplementaryService
; /* NULL */
240 static int hf_h225_callServices
; /* QseriesOptions */
241 static int hf_h225_callType
; /* CallType */
242 static int hf_h225_sourceCallSignalAddress
; /* TransportAddress */
243 static int hf_h225_uUIE_remoteExtensionAddress
; /* AliasAddress */
244 static int hf_h225_h245SecurityCapability
; /* SEQUENCE_OF_H245Security */
245 static int hf_h225_h245SecurityCapability_item
; /* H245Security */
246 static int hf_h225_FastStart_item
; /* FastStart_item */
247 static int hf_h225_mediaWaitForConnect
; /* BOOLEAN */
248 static int hf_h225_canOverlapSend
; /* BOOLEAN */
249 static int hf_h225_endpointIdentifier
; /* EndpointIdentifier */
250 static int hf_h225_connectionParameters
; /* T_connectionParameters */
251 static int hf_h225_connectionType
; /* ScnConnectionType */
252 static int hf_h225_numberOfScnConnections
; /* INTEGER_0_65535 */
253 static int hf_h225_connectionAggregation
; /* ScnConnectionAggregation */
254 static int hf_h225_Language_item
; /* IA5String_SIZE_1_32 */
255 static int hf_h225_symmetricOperationRequired
; /* NULL */
256 static int hf_h225_desiredProtocols
; /* SEQUENCE_OF_SupportedProtocols */
257 static int hf_h225_desiredProtocols_item
; /* SupportedProtocols */
258 static int hf_h225_neededFeatures
; /* SEQUENCE_OF_FeatureDescriptor */
259 static int hf_h225_neededFeatures_item
; /* FeatureDescriptor */
260 static int hf_h225_desiredFeatures
; /* SEQUENCE_OF_FeatureDescriptor */
261 static int hf_h225_desiredFeatures_item
; /* FeatureDescriptor */
262 static int hf_h225_supportedFeatures
; /* SEQUENCE_OF_FeatureDescriptor */
263 static int hf_h225_supportedFeatures_item
; /* FeatureDescriptor */
264 static int hf_h225_ParallelH245Control_item
; /* ParallelH245Control_item */
265 static int hf_h225_parallelH245Control
; /* ParallelH245Control */
266 static int hf_h225_additionalSourceAddresses
; /* SEQUENCE_OF_ExtendedAliasAddress */
267 static int hf_h225_additionalSourceAddresses_item
; /* ExtendedAliasAddress */
268 static int hf_h225_hopCount_1_31
; /* INTEGER_1_31 */
269 static int hf_h225_unknown
; /* NULL */
270 static int hf_h225_bChannel
; /* NULL */
271 static int hf_h225_hybrid2x64
; /* NULL */
272 static int hf_h225_hybrid384
; /* NULL */
273 static int hf_h225_hybrid1536
; /* NULL */
274 static int hf_h225_hybrid1920
; /* NULL */
275 static int hf_h225_multirate
; /* NULL */
276 static int hf_h225_auto
; /* NULL */
277 static int hf_h225_none
; /* NULL */
278 static int hf_h225_h221
; /* NULL */
279 static int hf_h225_bonded_mode1
; /* NULL */
280 static int hf_h225_bonded_mode2
; /* NULL */
281 static int hf_h225_bonded_mode3
; /* NULL */
282 static int hf_h225_presentationAllowed
; /* NULL */
283 static int hf_h225_presentationRestricted
; /* NULL */
284 static int hf_h225_addressNotAvailable
; /* NULL */
285 static int hf_h225_alternativeAddress
; /* TransportAddress */
286 static int hf_h225_alternativeAliasAddress
; /* SEQUENCE_OF_AliasAddress */
287 static int hf_h225_alternativeAliasAddress_item
; /* AliasAddress */
288 static int hf_h225_facilityReason
; /* FacilityReason */
289 static int hf_h225_conferences
; /* SEQUENCE_OF_ConferenceList */
290 static int hf_h225_conferences_item
; /* ConferenceList */
291 static int hf_h225_conferenceAlias
; /* AliasAddress */
292 static int hf_h225_routeCallToGatekeeper
; /* NULL */
293 static int hf_h225_callForwarded
; /* NULL */
294 static int hf_h225_routeCallToMC
; /* NULL */
295 static int hf_h225_conferenceListChoice
; /* NULL */
296 static int hf_h225_startH245
; /* NULL */
297 static int hf_h225_noH245
; /* NULL */
298 static int hf_h225_newTokens
; /* NULL */
299 static int hf_h225_featureSetUpdate
; /* NULL */
300 static int hf_h225_forwardedElements
; /* NULL */
301 static int hf_h225_transportedInformation
; /* NULL */
302 static int hf_h225_h245IpAddress
; /* T_h245IpAddress */
303 static int hf_h225_h245Ip
; /* T_h245Ip */
304 static int hf_h225_h245IpPort
; /* T_h245IpPort */
305 static int hf_h225_h245IpSourceRoute
; /* T_h245IpSourceRoute */
306 static int hf_h225_ip
; /* OCTET_STRING_SIZE_4 */
307 static int hf_h225_port
; /* INTEGER_0_65535 */
308 static int hf_h225_h245Route
; /* T_h245Route */
309 static int hf_h225_h245Route_item
; /* OCTET_STRING_SIZE_4 */
310 static int hf_h225_h245Routing
; /* T_h245Routing */
311 static int hf_h225_strict
; /* NULL */
312 static int hf_h225_loose
; /* NULL */
313 static int hf_h225_h245IpxAddress
; /* T_h245IpxAddress */
314 static int hf_h225_node
; /* OCTET_STRING_SIZE_6 */
315 static int hf_h225_netnum
; /* OCTET_STRING_SIZE_4 */
316 static int hf_h225_h245IpxPort
; /* OCTET_STRING_SIZE_2 */
317 static int hf_h225_h245Ip6Address
; /* T_h245Ip6Address */
318 static int hf_h225_h245Ip6
; /* T_h245Ip6 */
319 static int hf_h225_h245Ip6port
; /* T_h245Ip6port */
320 static int hf_h225_netBios
; /* OCTET_STRING_SIZE_16 */
321 static int hf_h225_nsap
; /* OCTET_STRING_SIZE_1_20 */
322 static int hf_h225_nonStandardAddress
; /* NonStandardParameter */
323 static int hf_h225_ipAddress
; /* T_ipAddress */
324 static int hf_h225_ipV4
; /* IpV4 */
325 static int hf_h225_ipV4_port
; /* INTEGER_0_65535 */
326 static int hf_h225_ipSourceRoute
; /* T_ipSourceRoute */
327 static int hf_h225_src_route_ipV4
; /* OCTET_STRING_SIZE_4 */
328 static int hf_h225_ipV4_src_port
; /* INTEGER_0_65535 */
329 static int hf_h225_route
; /* T_route */
330 static int hf_h225_route_item
; /* OCTET_STRING_SIZE_4 */
331 static int hf_h225_routing
; /* T_routing */
332 static int hf_h225_ipxAddress
; /* T_ipxAddress */
333 static int hf_h225_ipx_port
; /* OCTET_STRING_SIZE_2 */
334 static int hf_h225_ip6Address
; /* T_ip6Address */
335 static int hf_h225_ipV6
; /* OCTET_STRING_SIZE_16 */
336 static int hf_h225_ipV6_port
; /* INTEGER_0_65535 */
337 static int hf_h225_vendor
; /* VendorIdentifier */
338 static int hf_h225_gatekeeper
; /* GatekeeperInfo */
339 static int hf_h225_gateway
; /* GatewayInfo */
340 static int hf_h225_mcu
; /* McuInfo */
341 static int hf_h225_terminal
; /* TerminalInfo */
342 static int hf_h225_mc
; /* BOOLEAN */
343 static int hf_h225_undefinedNode
; /* BOOLEAN */
344 static int hf_h225_set
; /* BIT_STRING_SIZE_32 */
345 static int hf_h225_supportedTunnelledProtocols
; /* SEQUENCE_OF_TunnelledProtocol */
346 static int hf_h225_supportedTunnelledProtocols_item
; /* TunnelledProtocol */
347 static int hf_h225_protocol
; /* SEQUENCE_OF_SupportedProtocols */
348 static int hf_h225_protocol_item
; /* SupportedProtocols */
349 static int hf_h225_h310
; /* H310Caps */
350 static int hf_h225_h320
; /* H320Caps */
351 static int hf_h225_h321
; /* H321Caps */
352 static int hf_h225_h322
; /* H322Caps */
353 static int hf_h225_h323
; /* H323Caps */
354 static int hf_h225_h324
; /* H324Caps */
355 static int hf_h225_voice
; /* VoiceCaps */
356 static int hf_h225_t120_only
; /* T120OnlyCaps */
357 static int hf_h225_nonStandardProtocol
; /* NonStandardProtocol */
358 static int hf_h225_t38FaxAnnexbOnly
; /* T38FaxAnnexbOnlyCaps */
359 static int hf_h225_sip
; /* SIPCaps */
360 static int hf_h225_dataRatesSupported
; /* SEQUENCE_OF_DataRate */
361 static int hf_h225_dataRatesSupported_item
; /* DataRate */
362 static int hf_h225_supportedPrefixes
; /* SEQUENCE_OF_SupportedPrefix */
363 static int hf_h225_supportedPrefixes_item
; /* SupportedPrefix */
364 static int hf_h225_t38FaxProtocol
; /* DataProtocolCapability */
365 static int hf_h225_t38FaxProfile
; /* T38FaxProfile */
366 static int hf_h225_vendorIdentifier_vendor
; /* H221NonStandard */
367 static int hf_h225_productId
; /* OCTET_STRING_SIZE_1_256 */
368 static int hf_h225_versionId
; /* OCTET_STRING_SIZE_1_256 */
369 static int hf_h225_enterpriseNumber
; /* OBJECT_IDENTIFIER */
370 static int hf_h225_t35CountryCode
; /* T_t35CountryCode */
371 static int hf_h225_t35Extension
; /* T_t35Extension */
372 static int hf_h225_manufacturerCode
; /* T_manufacturerCode */
373 static int hf_h225_tunnelledProtocol_id
; /* TunnelledProtocol_id */
374 static int hf_h225_tunnelledProtocolObjectID
; /* T_tunnelledProtocolObjectID */
375 static int hf_h225_tunnelledProtocolAlternateID
; /* TunnelledProtocolAlternateIdentifier */
376 static int hf_h225_subIdentifier
; /* IA5String_SIZE_1_64 */
377 static int hf_h225_protocolType
; /* IA5String_SIZE_1_64 */
378 static int hf_h225_protocolVariant
; /* IA5String_SIZE_1_64 */
379 static int hf_h225_nonStandardIdentifier
; /* NonStandardIdentifier */
380 static int hf_h225_nsp_data
; /* T_nsp_data */
381 static int hf_h225_nsiOID
; /* T_nsiOID */
382 static int hf_h225_h221NonStandard
; /* H221NonStandard */
383 static int hf_h225_dialledDigits
; /* DialedDigits */
384 static int hf_h225_h323_ID
; /* BMPString_SIZE_1_256 */
385 static int hf_h225_url_ID
; /* IA5String_SIZE_1_512 */
386 static int hf_h225_transportID
; /* TransportAddress */
387 static int hf_h225_email_ID
; /* IA5String_SIZE_1_512 */
388 static int hf_h225_partyNumber
; /* PartyNumber */
389 static int hf_h225_mobileUIM
; /* MobileUIM */
390 static int hf_h225_isupNumber
; /* IsupNumber */
391 static int hf_h225_wildcard
; /* AliasAddress */
392 static int hf_h225_range
; /* T_range */
393 static int hf_h225_startOfRange
; /* PartyNumber */
394 static int hf_h225_endOfRange
; /* PartyNumber */
395 static int hf_h225_e164Number
; /* PublicPartyNumber */
396 static int hf_h225_dataPartyNumber
; /* NumberDigits */
397 static int hf_h225_telexPartyNumber
; /* NumberDigits */
398 static int hf_h225_privateNumber
; /* PrivatePartyNumber */
399 static int hf_h225_nationalStandardPartyNumber
; /* NumberDigits */
400 static int hf_h225_publicTypeOfNumber
; /* PublicTypeOfNumber */
401 static int hf_h225_publicNumberDigits
; /* NumberDigits */
402 static int hf_h225_privateTypeOfNumber
; /* PrivateTypeOfNumber */
403 static int hf_h225_privateNumberDigits
; /* NumberDigits */
404 static int hf_h225_displayName_language
; /* IA5String */
405 static int hf_h225_name
; /* BMPString_SIZE_1_80 */
406 static int hf_h225_internationalNumber
; /* NULL */
407 static int hf_h225_nationalNumber
; /* NULL */
408 static int hf_h225_networkSpecificNumber
; /* NULL */
409 static int hf_h225_subscriberNumber
; /* NULL */
410 static int hf_h225_abbreviatedNumber
; /* NULL */
411 static int hf_h225_level2RegionalNumber
; /* NULL */
412 static int hf_h225_level1RegionalNumber
; /* NULL */
413 static int hf_h225_pISNSpecificNumber
; /* NULL */
414 static int hf_h225_localNumber
; /* NULL */
415 static int hf_h225_ansi_41_uim
; /* ANSI_41_UIM */
416 static int hf_h225_gsm_uim
; /* GSM_UIM */
417 static int hf_h225_imsi
; /* TBCD_STRING_SIZE_3_16 */
418 static int hf_h225_min
; /* TBCD_STRING_SIZE_3_16 */
419 static int hf_h225_mdn
; /* TBCD_STRING_SIZE_3_16 */
420 static int hf_h225_msisdn
; /* TBCD_STRING_SIZE_3_16 */
421 static int hf_h225_esn
; /* TBCD_STRING_SIZE_16 */
422 static int hf_h225_mscid
; /* TBCD_STRING_SIZE_3_16 */
423 static int hf_h225_system_id
; /* T_system_id */
424 static int hf_h225_sid
; /* TBCD_STRING_SIZE_1_4 */
425 static int hf_h225_mid
; /* TBCD_STRING_SIZE_1_4 */
426 static int hf_h225_systemMyTypeCode
; /* OCTET_STRING_SIZE_1 */
427 static int hf_h225_systemAccessType
; /* OCTET_STRING_SIZE_1 */
428 static int hf_h225_qualificationInformationCode
; /* OCTET_STRING_SIZE_1 */
429 static int hf_h225_sesn
; /* TBCD_STRING_SIZE_16 */
430 static int hf_h225_soc
; /* TBCD_STRING_SIZE_3_16 */
431 static int hf_h225_tmsi
; /* OCTET_STRING_SIZE_1_4 */
432 static int hf_h225_imei
; /* TBCD_STRING_SIZE_15_16 */
433 static int hf_h225_hplmn
; /* TBCD_STRING_SIZE_1_4 */
434 static int hf_h225_vplmn
; /* TBCD_STRING_SIZE_1_4 */
435 static int hf_h225_isupE164Number
; /* IsupPublicPartyNumber */
436 static int hf_h225_isupDataPartyNumber
; /* IsupDigits */
437 static int hf_h225_isupTelexPartyNumber
; /* IsupDigits */
438 static int hf_h225_isupPrivateNumber
; /* IsupPrivatePartyNumber */
439 static int hf_h225_isupNationalStandardPartyNumber
; /* IsupDigits */
440 static int hf_h225_natureOfAddress
; /* NatureOfAddress */
441 static int hf_h225_address
; /* IsupDigits */
442 static int hf_h225_routingNumberNationalFormat
; /* NULL */
443 static int hf_h225_routingNumberNetworkSpecificFormat
; /* NULL */
444 static int hf_h225_routingNumberWithCalledDirectoryNumber
; /* NULL */
445 static int hf_h225_extAliasAddress
; /* AliasAddress */
446 static int hf_h225_aliasAddress
; /* SEQUENCE_OF_AliasAddress */
447 static int hf_h225_aliasAddress_item
; /* AliasAddress */
448 static int hf_h225_callSignalAddress
; /* SEQUENCE_OF_TransportAddress */
449 static int hf_h225_callSignalAddress_item
; /* TransportAddress */
450 static int hf_h225_rasAddress
; /* SEQUENCE_OF_TransportAddress */
451 static int hf_h225_rasAddress_item
; /* TransportAddress */
452 static int hf_h225_endpointType
; /* EndpointType */
453 static int hf_h225_priority
; /* INTEGER_0_127 */
454 static int hf_h225_remoteExtensionAddress
; /* SEQUENCE_OF_AliasAddress */
455 static int hf_h225_ep_remoteExtensionAddress_item
; /* AliasAddress */
456 static int hf_h225_alternateTransportAddresses
; /* AlternateTransportAddresses */
457 static int hf_h225_annexE
; /* SEQUENCE_OF_TransportAddress */
458 static int hf_h225_annexE_item
; /* TransportAddress */
459 static int hf_h225_sctp
; /* SEQUENCE_OF_TransportAddress */
460 static int hf_h225_sctp_item
; /* TransportAddress */
461 static int hf_h225_tcp
; /* NULL */
462 static int hf_h225_annexE_flg
; /* NULL */
463 static int hf_h225_sctp_flg
; /* NULL */
464 static int hf_h225_alternateGK_rasAddress
; /* TransportAddress */
465 static int hf_h225_gatekeeperIdentifier
; /* GatekeeperIdentifier */
466 static int hf_h225_needToRegister
; /* BOOLEAN */
467 static int hf_h225_alternateGatekeeper
; /* SEQUENCE_OF_AlternateGK */
468 static int hf_h225_alternateGatekeeper_item
; /* AlternateGK */
469 static int hf_h225_altGKisPermanent
; /* BOOLEAN */
470 static int hf_h225_default
; /* NULL */
471 static int hf_h225_encryption
; /* SecurityServiceMode */
472 static int hf_h225_authenticaton
; /* SecurityServiceMode */
473 static int hf_h225_securityCapabilities_integrity
; /* SecurityServiceMode */
474 static int hf_h225_securityWrongSyncTime
; /* NULL */
475 static int hf_h225_securityReplay
; /* NULL */
476 static int hf_h225_securityWrongGeneralID
; /* NULL */
477 static int hf_h225_securityWrongSendersID
; /* NULL */
478 static int hf_h225_securityIntegrityFailed
; /* NULL */
479 static int hf_h225_securityWrongOID
; /* NULL */
480 static int hf_h225_securityDHmismatch
; /* NULL */
481 static int hf_h225_securityCertificateExpired
; /* NULL */
482 static int hf_h225_securityCertificateDateInvalid
; /* NULL */
483 static int hf_h225_securityCertificateRevoked
; /* NULL */
484 static int hf_h225_securityCertificateNotReadable
; /* NULL */
485 static int hf_h225_securityCertificateSignatureInvalid
; /* NULL */
486 static int hf_h225_securityCertificateMissing
; /* NULL */
487 static int hf_h225_securityCertificateIncomplete
; /* NULL */
488 static int hf_h225_securityUnsupportedCertificateAlgOID
; /* NULL */
489 static int hf_h225_securityUnknownCA
; /* NULL */
490 static int hf_h225_noSecurity
; /* NULL */
491 static int hf_h225_tls
; /* SecurityCapabilities */
492 static int hf_h225_ipsec
; /* SecurityCapabilities */
493 static int hf_h225_q932Full
; /* BOOLEAN */
494 static int hf_h225_q951Full
; /* BOOLEAN */
495 static int hf_h225_q952Full
; /* BOOLEAN */
496 static int hf_h225_q953Full
; /* BOOLEAN */
497 static int hf_h225_q955Full
; /* BOOLEAN */
498 static int hf_h225_q956Full
; /* BOOLEAN */
499 static int hf_h225_q957Full
; /* BOOLEAN */
500 static int hf_h225_q954Info
; /* Q954Details */
501 static int hf_h225_conferenceCalling
; /* BOOLEAN */
502 static int hf_h225_threePartyService
; /* BOOLEAN */
503 static int hf_h225_guid
; /* T_guid */
504 static int hf_h225_isoAlgorithm
; /* OBJECT_IDENTIFIER */
505 static int hf_h225_hMAC_MD5
; /* NULL */
506 static int hf_h225_hMAC_iso10118_2_s
; /* EncryptIntAlg */
507 static int hf_h225_hMAC_iso10118_2_l
; /* EncryptIntAlg */
508 static int hf_h225_hMAC_iso10118_3
; /* OBJECT_IDENTIFIER */
509 static int hf_h225_digSig
; /* NULL */
510 static int hf_h225_iso9797
; /* OBJECT_IDENTIFIER */
511 static int hf_h225_nonIsoIM
; /* NonIsoIntegrityMechanism */
512 static int hf_h225_algorithmOID
; /* OBJECT_IDENTIFIER */
513 static int hf_h225_icv
; /* BIT_STRING */
514 static int hf_h225_cryptoEPPwdHash
; /* T_cryptoEPPwdHash */
515 static int hf_h225_alias
; /* AliasAddress */
516 static int hf_h225_timeStamp
; /* TimeStamp */
517 static int hf_h225_token
; /* HASHED */
518 static int hf_h225_cryptoGKPwdHash
; /* T_cryptoGKPwdHash */
519 static int hf_h225_gatekeeperId
; /* GatekeeperIdentifier */
520 static int hf_h225_cryptoEPPwdEncr
; /* ENCRYPTED */
521 static int hf_h225_cryptoGKPwdEncr
; /* ENCRYPTED */
522 static int hf_h225_cryptoEPCert
; /* SIGNED */
523 static int hf_h225_cryptoGKCert
; /* SIGNED */
524 static int hf_h225_cryptoFastStart
; /* SIGNED */
525 static int hf_h225_nestedcryptoToken
; /* CryptoToken */
526 static int hf_h225_channelRate
; /* BandWidth */
527 static int hf_h225_channelMultiplier
; /* INTEGER_1_256 */
528 static int hf_h225_globalCallId
; /* GloballyUniqueID */
529 static int hf_h225_threadId
; /* GloballyUniqueID */
530 static int hf_h225_prefix
; /* AliasAddress */
531 static int hf_h225_canReportCallCapacity
; /* BOOLEAN */
532 static int hf_h225_capacityReportingSpecification_when
; /* CapacityReportingSpecification_when */
533 static int hf_h225_callStart
; /* NULL */
534 static int hf_h225_callEnd
; /* NULL */
535 static int hf_h225_maximumCallCapacity
; /* CallCapacityInfo */
536 static int hf_h225_currentCallCapacity
; /* CallCapacityInfo */
537 static int hf_h225_voiceGwCallsAvailable
; /* SEQUENCE_OF_CallsAvailable */
538 static int hf_h225_voiceGwCallsAvailable_item
; /* CallsAvailable */
539 static int hf_h225_h310GwCallsAvailable
; /* SEQUENCE_OF_CallsAvailable */
540 static int hf_h225_h310GwCallsAvailable_item
; /* CallsAvailable */
541 static int hf_h225_h320GwCallsAvailable
; /* SEQUENCE_OF_CallsAvailable */
542 static int hf_h225_h320GwCallsAvailable_item
; /* CallsAvailable */
543 static int hf_h225_h321GwCallsAvailable
; /* SEQUENCE_OF_CallsAvailable */
544 static int hf_h225_h321GwCallsAvailable_item
; /* CallsAvailable */
545 static int hf_h225_h322GwCallsAvailable
; /* SEQUENCE_OF_CallsAvailable */
546 static int hf_h225_h322GwCallsAvailable_item
; /* CallsAvailable */
547 static int hf_h225_h323GwCallsAvailable
; /* SEQUENCE_OF_CallsAvailable */
548 static int hf_h225_h323GwCallsAvailable_item
; /* CallsAvailable */
549 static int hf_h225_h324GwCallsAvailable
; /* SEQUENCE_OF_CallsAvailable */
550 static int hf_h225_h324GwCallsAvailable_item
; /* CallsAvailable */
551 static int hf_h225_t120OnlyGwCallsAvailable
; /* SEQUENCE_OF_CallsAvailable */
552 static int hf_h225_t120OnlyGwCallsAvailable_item
; /* CallsAvailable */
553 static int hf_h225_t38FaxAnnexbOnlyGwCallsAvailable
; /* SEQUENCE_OF_CallsAvailable */
554 static int hf_h225_t38FaxAnnexbOnlyGwCallsAvailable_item
; /* CallsAvailable */
555 static int hf_h225_terminalCallsAvailable
; /* SEQUENCE_OF_CallsAvailable */
556 static int hf_h225_terminalCallsAvailable_item
; /* CallsAvailable */
557 static int hf_h225_mcuCallsAvailable
; /* SEQUENCE_OF_CallsAvailable */
558 static int hf_h225_mcuCallsAvailable_item
; /* CallsAvailable */
559 static int hf_h225_sipGwCallsAvailable
; /* SEQUENCE_OF_CallsAvailable */
560 static int hf_h225_sipGwCallsAvailable_item
; /* CallsAvailable */
561 static int hf_h225_calls
; /* INTEGER_0_4294967295 */
562 static int hf_h225_group_IA5String
; /* IA5String_SIZE_1_128 */
563 static int hf_h225_carrier
; /* CarrierInfo */
564 static int hf_h225_sourceCircuitID
; /* CircuitIdentifier */
565 static int hf_h225_destinationCircuitID
; /* CircuitIdentifier */
566 static int hf_h225_cic
; /* CicInfo */
567 static int hf_h225_group
; /* GroupID */
568 static int hf_h225_cic_2_4
; /* T_cic_2_4 */
569 static int hf_h225_cic_2_4_item
; /* OCTET_STRING_SIZE_2_4 */
570 static int hf_h225_pointCode
; /* OCTET_STRING_SIZE_2_5 */
571 static int hf_h225_member
; /* T_member */
572 static int hf_h225_member_item
; /* INTEGER_0_65535 */
573 static int hf_h225_carrierIdentificationCode
; /* OCTET_STRING_SIZE_3_4 */
574 static int hf_h225_carrierName
; /* IA5String_SIZE_1_128 */
575 static int hf_h225_url
; /* IA5String_SIZE_0_512 */
576 static int hf_h225_signal
; /* H248SignalsDescriptor */
577 static int hf_h225_callCreditServiceControl
; /* CallCreditServiceControl */
578 static int hf_h225_sessionId_0_255
; /* INTEGER_0_255 */
579 static int hf_h225_contents
; /* ServiceControlDescriptor */
580 static int hf_h225_reason
; /* ServiceControlSession_reason */
581 static int hf_h225_open
; /* NULL */
582 static int hf_h225_refresh
; /* NULL */
583 static int hf_h225_close
; /* NULL */
584 static int hf_h225_nonStandardUsageTypes
; /* SEQUENCE_OF_NonStandardParameter */
585 static int hf_h225_nonStandardUsageTypes_item
; /* NonStandardParameter */
586 static int hf_h225_startTime
; /* NULL */
587 static int hf_h225_endTime_flg
; /* NULL */
588 static int hf_h225_terminationCause_flg
; /* NULL */
589 static int hf_h225_when
; /* RasUsageSpecification_when */
590 static int hf_h225_start
; /* NULL */
591 static int hf_h225_end
; /* NULL */
592 static int hf_h225_inIrr
; /* NULL */
593 static int hf_h225_ras_callStartingPoint
; /* RasUsageSpecificationcallStartingPoint */
594 static int hf_h225_alerting_flg
; /* NULL */
595 static int hf_h225_connect_flg
; /* NULL */
596 static int hf_h225_required
; /* RasUsageInfoTypes */
597 static int hf_h225_nonStandardUsageFields
; /* SEQUENCE_OF_NonStandardParameter */
598 static int hf_h225_nonStandardUsageFields_item
; /* NonStandardParameter */
599 static int hf_h225_alertingTime
; /* TimeStamp */
600 static int hf_h225_connectTime
; /* TimeStamp */
601 static int hf_h225_endTime
; /* TimeStamp */
602 static int hf_h225_releaseCompleteCauseIE
; /* OCTET_STRING_SIZE_2_32 */
603 static int hf_h225_sender
; /* BOOLEAN */
604 static int hf_h225_multicast
; /* BOOLEAN */
605 static int hf_h225_bandwidth
; /* BandWidth */
606 static int hf_h225_rtcpAddresses
; /* TransportChannelInfo */
607 static int hf_h225_canDisplayAmountString
; /* BOOLEAN */
608 static int hf_h225_canEnforceDurationLimit
; /* BOOLEAN */
609 static int hf_h225_amountString
; /* BMPString_SIZE_1_512 */
610 static int hf_h225_billingMode
; /* T_billingMode */
611 static int hf_h225_credit
; /* NULL */
612 static int hf_h225_debit
; /* NULL */
613 static int hf_h225_callDurationLimit
; /* INTEGER_1_4294967295 */
614 static int hf_h225_enforceCallDurationLimit
; /* BOOLEAN */
615 static int hf_h225_callStartingPoint
; /* CallCreditServiceControl_callStartingPoint */
616 static int hf_h225_id
; /* GenericIdentifier */
617 static int hf_h225_parameters
; /* SEQUENCE_SIZE_1_512_OF_EnumeratedParameter */
618 static int hf_h225_parameters_item
; /* EnumeratedParameter */
619 static int hf_h225_standard
; /* T_standard */
620 static int hf_h225_oid
; /* T_oid */
621 static int hf_h225_genericIdentifier_nonStandard
; /* GloballyUniqueID */
622 static int hf_h225_content
; /* Content */
623 static int hf_h225_raw
; /* T_raw */
624 static int hf_h225_text
; /* IA5String */
625 static int hf_h225_unicode
; /* BMPString */
626 static int hf_h225_bool
; /* BOOLEAN */
627 static int hf_h225_number8
; /* INTEGER_0_255 */
628 static int hf_h225_number16
; /* INTEGER_0_65535 */
629 static int hf_h225_number32
; /* INTEGER_0_4294967295 */
630 static int hf_h225_transport
; /* TransportAddress */
631 static int hf_h225_compound
; /* SEQUENCE_SIZE_1_512_OF_EnumeratedParameter */
632 static int hf_h225_compound_item
; /* EnumeratedParameter */
633 static int hf_h225_nested
; /* SEQUENCE_SIZE_1_16_OF_GenericData */
634 static int hf_h225_nested_item
; /* GenericData */
635 static int hf_h225_replacementFeatureSet
; /* BOOLEAN */
636 static int hf_h225_sendAddress
; /* TransportAddress */
637 static int hf_h225_recvAddress
; /* TransportAddress */
638 static int hf_h225_rtpAddress
; /* TransportChannelInfo */
639 static int hf_h225_rtcpAddress
; /* TransportChannelInfo */
640 static int hf_h225_cname
; /* PrintableString */
641 static int hf_h225_ssrc
; /* INTEGER_1_4294967295 */
642 static int hf_h225_sessionId
; /* INTEGER_1_255 */
643 static int hf_h225_associatedSessionIds
; /* T_associatedSessionIds */
644 static int hf_h225_associatedSessionIds_item
; /* INTEGER_1_255 */
645 static int hf_h225_multicast_flg
; /* NULL */
646 static int hf_h225_gatekeeperBased
; /* NULL */
647 static int hf_h225_endpointBased
; /* NULL */
648 static int hf_h225_gatekeeperRequest
; /* GatekeeperRequest */
649 static int hf_h225_gatekeeperConfirm
; /* GatekeeperConfirm */
650 static int hf_h225_gatekeeperReject
; /* GatekeeperReject */
651 static int hf_h225_registrationRequest
; /* RegistrationRequest */
652 static int hf_h225_registrationConfirm
; /* RegistrationConfirm */
653 static int hf_h225_registrationReject
; /* RegistrationReject */
654 static int hf_h225_unregistrationRequest
; /* UnregistrationRequest */
655 static int hf_h225_unregistrationConfirm
; /* UnregistrationConfirm */
656 static int hf_h225_unregistrationReject
; /* UnregistrationReject */
657 static int hf_h225_admissionRequest
; /* AdmissionRequest */
658 static int hf_h225_admissionConfirm
; /* AdmissionConfirm */
659 static int hf_h225_admissionReject
; /* AdmissionReject */
660 static int hf_h225_bandwidthRequest
; /* BandwidthRequest */
661 static int hf_h225_bandwidthConfirm
; /* BandwidthConfirm */
662 static int hf_h225_bandwidthReject
; /* BandwidthReject */
663 static int hf_h225_disengageRequest
; /* DisengageRequest */
664 static int hf_h225_disengageConfirm
; /* DisengageConfirm */
665 static int hf_h225_disengageReject
; /* DisengageReject */
666 static int hf_h225_locationRequest
; /* LocationRequest */
667 static int hf_h225_locationConfirm
; /* LocationConfirm */
668 static int hf_h225_locationReject
; /* LocationReject */
669 static int hf_h225_infoRequest
; /* InfoRequest */
670 static int hf_h225_infoRequestResponse
; /* InfoRequestResponse */
671 static int hf_h225_nonStandardMessage
; /* NonStandardMessage */
672 static int hf_h225_unknownMessageResponse
; /* UnknownMessageResponse */
673 static int hf_h225_requestInProgress
; /* RequestInProgress */
674 static int hf_h225_resourcesAvailableIndicate
; /* ResourcesAvailableIndicate */
675 static int hf_h225_resourcesAvailableConfirm
; /* ResourcesAvailableConfirm */
676 static int hf_h225_infoRequestAck
; /* InfoRequestAck */
677 static int hf_h225_infoRequestNak
; /* InfoRequestNak */
678 static int hf_h225_serviceControlIndication
; /* ServiceControlIndication */
679 static int hf_h225_serviceControlResponse
; /* ServiceControlResponse */
680 static int hf_h225_admissionConfirmSequence
; /* SEQUENCE_OF_AdmissionConfirm */
681 static int hf_h225_admissionConfirmSequence_item
; /* AdmissionConfirm */
682 static int hf_h225_requestSeqNum
; /* RequestSeqNum */
683 static int hf_h225_gatekeeperRequest_rasAddress
; /* TransportAddress */
684 static int hf_h225_endpointAlias
; /* SEQUENCE_OF_AliasAddress */
685 static int hf_h225_endpointAlias_item
; /* AliasAddress */
686 static int hf_h225_alternateEndpoints
; /* SEQUENCE_OF_Endpoint */
687 static int hf_h225_alternateEndpoints_item
; /* Endpoint */
688 static int hf_h225_authenticationCapability
; /* SEQUENCE_OF_AuthenticationMechanism */
689 static int hf_h225_authenticationCapability_item
; /* AuthenticationMechanism */
690 static int hf_h225_algorithmOIDs
; /* T_algorithmOIDs */
691 static int hf_h225_algorithmOIDs_item
; /* OBJECT_IDENTIFIER */
692 static int hf_h225_integrity
; /* SEQUENCE_OF_IntegrityMechanism */
693 static int hf_h225_integrity_item
; /* IntegrityMechanism */
694 static int hf_h225_integrityCheckValue
; /* ICV */
695 static int hf_h225_supportsAltGK
; /* NULL */
696 static int hf_h225_supportsAssignedGK
; /* BOOLEAN */
697 static int hf_h225_assignedGatekeeper
; /* AlternateGK */
698 static int hf_h225_gatekeeperConfirm_rasAddress
; /* TransportAddress */
699 static int hf_h225_authenticationMode
; /* AuthenticationMechanism */
700 static int hf_h225_rehomingModel
; /* RehomingModel */
701 static int hf_h225_gatekeeperRejectReason
; /* GatekeeperRejectReason */
702 static int hf_h225_altGKInfo
; /* AltGKInfo */
703 static int hf_h225_resourceUnavailable
; /* NULL */
704 static int hf_h225_terminalExcluded
; /* NULL */
705 static int hf_h225_securityDenial
; /* NULL */
706 static int hf_h225_gkRej_securityError
; /* SecurityErrors */
707 static int hf_h225_discoveryComplete
; /* BOOLEAN */
708 static int hf_h225_terminalType
; /* EndpointType */
709 static int hf_h225_terminalAlias
; /* SEQUENCE_OF_AliasAddress */
710 static int hf_h225_terminalAlias_item
; /* AliasAddress */
711 static int hf_h225_endpointVendor
; /* VendorIdentifier */
712 static int hf_h225_timeToLive
; /* TimeToLive */
713 static int hf_h225_keepAlive
; /* BOOLEAN */
714 static int hf_h225_willSupplyUUIEs
; /* BOOLEAN */
715 static int hf_h225_additiveRegistration
; /* NULL */
716 static int hf_h225_terminalAliasPattern
; /* SEQUENCE_OF_AddressPattern */
717 static int hf_h225_terminalAliasPattern_item
; /* AddressPattern */
718 static int hf_h225_usageReportingCapability
; /* RasUsageInfoTypes */
719 static int hf_h225_supportedH248Packages
; /* SEQUENCE_OF_H248PackagesDescriptor */
720 static int hf_h225_supportedH248Packages_item
; /* H248PackagesDescriptor */
721 static int hf_h225_callCreditCapability
; /* CallCreditCapability */
722 static int hf_h225_capacityReportingCapability
; /* CapacityReportingCapability */
723 static int hf_h225_restart
; /* NULL */
724 static int hf_h225_supportsACFSequences
; /* NULL */
725 static int hf_h225_transportQOS
; /* TransportQOS */
726 static int hf_h225_willRespondToIRR
; /* BOOLEAN */
727 static int hf_h225_preGrantedARQ
; /* T_preGrantedARQ */
728 static int hf_h225_makeCall
; /* BOOLEAN */
729 static int hf_h225_useGKCallSignalAddressToMakeCall
; /* BOOLEAN */
730 static int hf_h225_answerCall
; /* BOOLEAN */
731 static int hf_h225_useGKCallSignalAddressToAnswer
; /* BOOLEAN */
732 static int hf_h225_irrFrequencyInCall
; /* INTEGER_1_65535 */
733 static int hf_h225_totalBandwidthRestriction
; /* BandWidth */
734 static int hf_h225_useSpecifiedTransport
; /* UseSpecifiedTransport */
735 static int hf_h225_supportsAdditiveRegistration
; /* NULL */
736 static int hf_h225_usageSpec
; /* SEQUENCE_OF_RasUsageSpecification */
737 static int hf_h225_usageSpec_item
; /* RasUsageSpecification */
738 static int hf_h225_featureServerAlias
; /* AliasAddress */
739 static int hf_h225_capacityReportingSpec
; /* CapacityReportingSpecification */
740 static int hf_h225_registrationRejectReason
; /* RegistrationRejectReason */
741 static int hf_h225_discoveryRequired
; /* NULL */
742 static int hf_h225_invalidCallSignalAddress
; /* NULL */
743 static int hf_h225_invalidRASAddress
; /* NULL */
744 static int hf_h225_duplicateAlias
; /* SEQUENCE_OF_AliasAddress */
745 static int hf_h225_duplicateAlias_item
; /* AliasAddress */
746 static int hf_h225_invalidTerminalType
; /* NULL */
747 static int hf_h225_transportNotSupported
; /* NULL */
748 static int hf_h225_transportQOSNotSupported
; /* NULL */
749 static int hf_h225_invalidAlias
; /* NULL */
750 static int hf_h225_fullRegistrationRequired
; /* NULL */
751 static int hf_h225_additiveRegistrationNotSupported
; /* NULL */
752 static int hf_h225_invalidTerminalAliases
; /* T_invalidTerminalAliases */
753 static int hf_h225_reg_securityError
; /* SecurityErrors */
754 static int hf_h225_registerWithAssignedGK
; /* NULL */
755 static int hf_h225_unregRequestReason
; /* UnregRequestReason */
756 static int hf_h225_endpointAliasPattern
; /* SEQUENCE_OF_AddressPattern */
757 static int hf_h225_endpointAliasPattern_item
; /* AddressPattern */
758 static int hf_h225_reregistrationRequired
; /* NULL */
759 static int hf_h225_ttlExpired
; /* NULL */
760 static int hf_h225_maintenance
; /* NULL */
761 static int hf_h225_securityError
; /* SecurityErrors2 */
762 static int hf_h225_unregRejectReason
; /* UnregRejectReason */
763 static int hf_h225_notCurrentlyRegistered
; /* NULL */
764 static int hf_h225_callInProgress
; /* NULL */
765 static int hf_h225_permissionDenied
; /* NULL */
766 static int hf_h225_callModel
; /* CallModel */
767 static int hf_h225_DestinationInfo_item
; /* DestinationInfo_item */
768 static int hf_h225_destinationInfo_01
; /* DestinationInfo */
769 static int hf_h225_srcInfo
; /* SEQUENCE_OF_AliasAddress */
770 static int hf_h225_srcInfo_item
; /* AliasAddress */
771 static int hf_h225_srcCallSignalAddress
; /* TransportAddress */
772 static int hf_h225_bandWidth
; /* BandWidth */
773 static int hf_h225_callReferenceValue
; /* CallReferenceValue */
774 static int hf_h225_canMapAlias
; /* BOOLEAN */
775 static int hf_h225_srcAlternatives
; /* SEQUENCE_OF_Endpoint */
776 static int hf_h225_srcAlternatives_item
; /* Endpoint */
777 static int hf_h225_destAlternatives
; /* SEQUENCE_OF_Endpoint */
778 static int hf_h225_destAlternatives_item
; /* Endpoint */
779 static int hf_h225_gatewayDataRate
; /* DataRate */
780 static int hf_h225_desiredTunnelledProtocol
; /* TunnelledProtocol */
781 static int hf_h225_canMapSrcAlias
; /* BOOLEAN */
782 static int hf_h225_pointToPoint
; /* NULL */
783 static int hf_h225_oneToN
; /* NULL */
784 static int hf_h225_nToOne
; /* NULL */
785 static int hf_h225_nToN
; /* NULL */
786 static int hf_h225_direct
; /* NULL */
787 static int hf_h225_gatekeeperRouted
; /* NULL */
788 static int hf_h225_endpointControlled
; /* NULL */
789 static int hf_h225_gatekeeperControlled
; /* NULL */
790 static int hf_h225_noControl
; /* NULL */
791 static int hf_h225_qOSCapabilities
; /* SEQUENCE_SIZE_1_256_OF_QOSCapability */
792 static int hf_h225_qOSCapabilities_item
; /* QOSCapability */
793 static int hf_h225_irrFrequency
; /* INTEGER_1_65535 */
794 static int hf_h225_destinationType
; /* EndpointType */
795 static int hf_h225_ac_remoteExtensionAddress_item
; /* AliasAddress */
796 static int hf_h225_uuiesRequested
; /* UUIEsRequested */
797 static int hf_h225_supportedProtocols
; /* SEQUENCE_OF_SupportedProtocols */
798 static int hf_h225_supportedProtocols_item
; /* SupportedProtocols */
799 static int hf_h225_modifiedSrcInfo
; /* SEQUENCE_OF_AliasAddress */
800 static int hf_h225_modifiedSrcInfo_item
; /* AliasAddress */
801 static int hf_h225_setup_bool
; /* BOOLEAN */
802 static int hf_h225_callProceeding_flg
; /* BOOLEAN */
803 static int hf_h225_connect_bool
; /* BOOLEAN */
804 static int hf_h225_alerting_bool
; /* BOOLEAN */
805 static int hf_h225_information_bool
; /* BOOLEAN */
806 static int hf_h225_releaseComplete_bool
; /* BOOLEAN */
807 static int hf_h225_facility_bool
; /* BOOLEAN */
808 static int hf_h225_progress_bool
; /* BOOLEAN */
809 static int hf_h225_empty
; /* BOOLEAN */
810 static int hf_h225_status_bool
; /* BOOLEAN */
811 static int hf_h225_statusInquiry_bool
; /* BOOLEAN */
812 static int hf_h225_setupAcknowledge_bool
; /* BOOLEAN */
813 static int hf_h225_notify_bool
; /* BOOLEAN */
814 static int hf_h225_rejectReason
; /* AdmissionRejectReason */
815 static int hf_h225_invalidPermission
; /* NULL */
816 static int hf_h225_requestDenied
; /* NULL */
817 static int hf_h225_invalidEndpointIdentifier
; /* NULL */
818 static int hf_h225_qosControlNotSupported
; /* NULL */
819 static int hf_h225_incompleteAddress
; /* NULL */
820 static int hf_h225_aliasesInconsistent
; /* NULL */
821 static int hf_h225_routeCallToSCN
; /* SEQUENCE_OF_PartyNumber */
822 static int hf_h225_routeCallToSCN_item
; /* PartyNumber */
823 static int hf_h225_exceedsCallCapacity
; /* NULL */
824 static int hf_h225_collectDestination
; /* NULL */
825 static int hf_h225_collectPIN
; /* NULL */
826 static int hf_h225_noRouteToDestination
; /* NULL */
827 static int hf_h225_unallocatedNumber
; /* NULL */
828 static int hf_h225_answeredCall
; /* BOOLEAN */
829 static int hf_h225_usageInformation
; /* RasUsageInformation */
830 static int hf_h225_bandwidthDetails
; /* SEQUENCE_OF_BandwidthDetails */
831 static int hf_h225_bandwidthDetails_item
; /* BandwidthDetails */
832 static int hf_h225_bandRejectReason
; /* BandRejectReason */
833 static int hf_h225_allowedBandWidth
; /* BandWidth */
834 static int hf_h225_notBound
; /* NULL */
835 static int hf_h225_invalidConferenceID
; /* NULL */
836 static int hf_h225_insufficientResources
; /* NULL */
837 static int hf_h225_replyAddress
; /* TransportAddress */
838 static int hf_h225_sourceInfo
; /* SEQUENCE_OF_AliasAddress */
839 static int hf_h225_sourceInfo_item
; /* AliasAddress */
840 static int hf_h225_hopCount
; /* INTEGER_1_255 */
841 static int hf_h225_sourceEndpointInfo
; /* SEQUENCE_OF_AliasAddress */
842 static int hf_h225_sourceEndpointInfo_item
; /* AliasAddress */
843 static int hf_h225_locationConfirm_callSignalAddress
; /* TransportAddress */
844 static int hf_h225_locationConfirm_rasAddress
; /* TransportAddress */
845 static int hf_h225_remoteExtensionAddress_item
; /* AliasAddress */
846 static int hf_h225_locationRejectReason
; /* LocationRejectReason */
847 static int hf_h225_notRegistered
; /* NULL */
848 static int hf_h225_routeCalltoSCN
; /* SEQUENCE_OF_PartyNumber */
849 static int hf_h225_routeCalltoSCN_item
; /* PartyNumber */
850 static int hf_h225_disengageReason
; /* DisengageReason */
851 static int hf_h225_terminationCause
; /* CallTerminationCause */
852 static int hf_h225_forcedDrop
; /* NULL */
853 static int hf_h225_normalDrop
; /* NULL */
854 static int hf_h225_disengageRejectReason
; /* DisengageRejectReason */
855 static int hf_h225_requestToDropOther
; /* NULL */
856 static int hf_h225_usageInfoRequested
; /* RasUsageInfoTypes */
857 static int hf_h225_segmentedResponseSupported
; /* NULL */
858 static int hf_h225_nextSegmentRequested
; /* INTEGER_0_65535 */
859 static int hf_h225_capacityInfoRequested
; /* NULL */
860 static int hf_h225_infoRequestResponse_rasAddress
; /* TransportAddress */
861 static int hf_h225_perCallInfo
; /* T_perCallInfo */
862 static int hf_h225_perCallInfo_item
; /* T_perCallInfo_item */
863 static int hf_h225_originator
; /* BOOLEAN */
864 static int hf_h225_audio
; /* SEQUENCE_OF_RTPSession */
865 static int hf_h225_audio_item
; /* RTPSession */
866 static int hf_h225_video
; /* SEQUENCE_OF_RTPSession */
867 static int hf_h225_video_item
; /* RTPSession */
868 static int hf_h225_data
; /* SEQUENCE_OF_TransportChannelInfo */
869 static int hf_h225_data_item
; /* TransportChannelInfo */
870 static int hf_h225_h245
; /* TransportChannelInfo */
871 static int hf_h225_callSignalling
; /* TransportChannelInfo */
872 static int hf_h225_substituteConfIDs
; /* SEQUENCE_OF_ConferenceIdentifier */
873 static int hf_h225_substituteConfIDs_item
; /* ConferenceIdentifier */
874 static int hf_h225_pdu
; /* T_pdu */
875 static int hf_h225_pdu_item
; /* T_pdu_item */
876 static int hf_h225_h323pdu
; /* H323_UU_PDU */
877 static int hf_h225_sent
; /* BOOLEAN */
878 static int hf_h225_needResponse
; /* BOOLEAN */
879 static int hf_h225_irrStatus
; /* InfoRequestResponseStatus */
880 static int hf_h225_unsolicited
; /* BOOLEAN */
881 static int hf_h225_complete
; /* NULL */
882 static int hf_h225_incomplete
; /* NULL */
883 static int hf_h225_segment
; /* INTEGER_0_65535 */
884 static int hf_h225_invalidCall
; /* NULL */
885 static int hf_h225_nakReason
; /* InfoRequestNakReason */
886 static int hf_h225_messageNotUnderstood
; /* OCTET_STRING */
887 static int hf_h225_delay
; /* INTEGER_1_65535 */
888 static int hf_h225_protocols
; /* SEQUENCE_OF_SupportedProtocols */
889 static int hf_h225_protocols_item
; /* SupportedProtocols */
890 static int hf_h225_almostOutOfResources
; /* BOOLEAN */
891 static int hf_h225_callSpecific
; /* T_callSpecific */
892 static int hf_h225_result
; /* T_result */
893 static int hf_h225_started
; /* NULL */
894 static int hf_h225_failed
; /* NULL */
895 static int hf_h225_stopped
; /* NULL */
896 static int hf_h225_notAvailable
; /* NULL */
898 /* Initialize the subtree pointers */
900 static int ett_h225_H323_UserInformation
;
901 static int ett_h225_T_user_data
;
902 static int ett_h225_H323_UU_PDU
;
903 static int ett_h225_T_h323_message_body
;
904 static int ett_h225_T_h4501SupplementaryService
;
905 static int ett_h225_H245Control
;
906 static int ett_h225_SEQUENCE_OF_NonStandardParameter
;
907 static int ett_h225_T_tunnelledSignallingMessage
;
908 static int ett_h225_T_messageContent
;
909 static int ett_h225_SEQUENCE_OF_GenericData
;
910 static int ett_h225_StimulusControl
;
911 static int ett_h225_Alerting_UUIE
;
912 static int ett_h225_SEQUENCE_OF_ClearToken
;
913 static int ett_h225_SEQUENCE_OF_CryptoH323Token
;
914 static int ett_h225_SEQUENCE_OF_AliasAddress
;
915 static int ett_h225_SEQUENCE_OF_ServiceControlSession
;
916 static int ett_h225_SEQUENCE_OF_DisplayName
;
917 static int ett_h225_CallProceeding_UUIE
;
918 static int ett_h225_Connect_UUIE
;
919 static int ett_h225_Information_UUIE
;
920 static int ett_h225_ReleaseComplete_UUIE
;
921 static int ett_h225_ReleaseCompleteReason
;
922 static int ett_h225_Setup_UUIE
;
923 static int ett_h225_SEQUENCE_OF_CallReferenceValue
;
924 static int ett_h225_T_conferenceGoal
;
925 static int ett_h225_SEQUENCE_OF_H245Security
;
926 static int ett_h225_FastStart
;
927 static int ett_h225_T_connectionParameters
;
928 static int ett_h225_Language
;
929 static int ett_h225_SEQUENCE_OF_SupportedProtocols
;
930 static int ett_h225_SEQUENCE_OF_FeatureDescriptor
;
931 static int ett_h225_ParallelH245Control
;
932 static int ett_h225_SEQUENCE_OF_ExtendedAliasAddress
;
933 static int ett_h225_ScnConnectionType
;
934 static int ett_h225_ScnConnectionAggregation
;
935 static int ett_h225_PresentationIndicator
;
936 static int ett_h225_Facility_UUIE
;
937 static int ett_h225_SEQUENCE_OF_ConferenceList
;
938 static int ett_h225_ConferenceList
;
939 static int ett_h225_FacilityReason
;
940 static int ett_h225_Progress_UUIE
;
941 static int ett_h225_TransportAddress
;
942 static int ett_h225_H245TransportAddress
;
943 static int ett_h225_T_h245IpAddress
;
944 static int ett_h225_T_h245IpSourceRoute
;
945 static int ett_h225_T_h245Route
;
946 static int ett_h225_T_h245Routing
;
947 static int ett_h225_T_h245IpxAddress
;
948 static int ett_h225_T_h245Ip6Address
;
949 static int ett_h225_T_ipAddress
;
950 static int ett_h225_T_ipSourceRoute
;
951 static int ett_h225_T_route
;
952 static int ett_h225_T_routing
;
953 static int ett_h225_T_ipxAddress
;
954 static int ett_h225_T_ip6Address
;
955 static int ett_h225_Status_UUIE
;
956 static int ett_h225_StatusInquiry_UUIE
;
957 static int ett_h225_SetupAcknowledge_UUIE
;
958 static int ett_h225_Notify_UUIE
;
959 static int ett_h225_EndpointType
;
960 static int ett_h225_SEQUENCE_OF_TunnelledProtocol
;
961 static int ett_h225_GatewayInfo
;
962 static int ett_h225_SupportedProtocols
;
963 static int ett_h225_H310Caps
;
964 static int ett_h225_SEQUENCE_OF_DataRate
;
965 static int ett_h225_SEQUENCE_OF_SupportedPrefix
;
966 static int ett_h225_H320Caps
;
967 static int ett_h225_H321Caps
;
968 static int ett_h225_H322Caps
;
969 static int ett_h225_H323Caps
;
970 static int ett_h225_H324Caps
;
971 static int ett_h225_VoiceCaps
;
972 static int ett_h225_T120OnlyCaps
;
973 static int ett_h225_NonStandardProtocol
;
974 static int ett_h225_T38FaxAnnexbOnlyCaps
;
975 static int ett_h225_SIPCaps
;
976 static int ett_h225_McuInfo
;
977 static int ett_h225_TerminalInfo
;
978 static int ett_h225_GatekeeperInfo
;
979 static int ett_h225_VendorIdentifier
;
980 static int ett_h225_H221NonStandard
;
981 static int ett_h225_TunnelledProtocol
;
982 static int ett_h225_TunnelledProtocol_id
;
983 static int ett_h225_TunnelledProtocolAlternateIdentifier
;
984 static int ett_h225_NonStandardParameter
;
985 static int ett_h225_NonStandardIdentifier
;
986 static int ett_h225_AliasAddress
;
987 static int ett_h225_AddressPattern
;
988 static int ett_h225_T_range
;
989 static int ett_h225_PartyNumber
;
990 static int ett_h225_PublicPartyNumber
;
991 static int ett_h225_PrivatePartyNumber
;
992 static int ett_h225_DisplayName
;
993 static int ett_h225_PublicTypeOfNumber
;
994 static int ett_h225_PrivateTypeOfNumber
;
995 static int ett_h225_MobileUIM
;
996 static int ett_h225_ANSI_41_UIM
;
997 static int ett_h225_T_system_id
;
998 static int ett_h225_GSM_UIM
;
999 static int ett_h225_IsupNumber
;
1000 static int ett_h225_IsupPublicPartyNumber
;
1001 static int ett_h225_IsupPrivatePartyNumber
;
1002 static int ett_h225_NatureOfAddress
;
1003 static int ett_h225_ExtendedAliasAddress
;
1004 static int ett_h225_Endpoint
;
1005 static int ett_h225_SEQUENCE_OF_TransportAddress
;
1006 static int ett_h225_AlternateTransportAddresses
;
1007 static int ett_h225_UseSpecifiedTransport
;
1008 static int ett_h225_AlternateGK
;
1009 static int ett_h225_AltGKInfo
;
1010 static int ett_h225_SEQUENCE_OF_AlternateGK
;
1011 static int ett_h225_SecurityServiceMode
;
1012 static int ett_h225_SecurityCapabilities
;
1013 static int ett_h225_SecurityErrors
;
1014 static int ett_h225_SecurityErrors2
;
1015 static int ett_h225_H245Security
;
1016 static int ett_h225_QseriesOptions
;
1017 static int ett_h225_Q954Details
;
1018 static int ett_h225_CallIdentifier
;
1019 static int ett_h225_EncryptIntAlg
;
1020 static int ett_h225_NonIsoIntegrityMechanism
;
1021 static int ett_h225_IntegrityMechanism
;
1022 static int ett_h225_ICV
;
1023 static int ett_h225_CryptoH323Token
;
1024 static int ett_h225_T_cryptoEPPwdHash
;
1025 static int ett_h225_T_cryptoGKPwdHash
;
1026 static int ett_h225_DataRate
;
1027 static int ett_h225_CallLinkage
;
1028 static int ett_h225_SupportedPrefix
;
1029 static int ett_h225_CapacityReportingCapability
;
1030 static int ett_h225_CapacityReportingSpecification
;
1031 static int ett_h225_CapacityReportingSpecification_when
;
1032 static int ett_h225_CallCapacity
;
1033 static int ett_h225_CallCapacityInfo
;
1034 static int ett_h225_SEQUENCE_OF_CallsAvailable
;
1035 static int ett_h225_CallsAvailable
;
1036 static int ett_h225_CircuitInfo
;
1037 static int ett_h225_CircuitIdentifier
;
1038 static int ett_h225_CicInfo
;
1039 static int ett_h225_T_cic_2_4
;
1040 static int ett_h225_GroupID
;
1041 static int ett_h225_T_member
;
1042 static int ett_h225_CarrierInfo
;
1043 static int ett_h225_ServiceControlDescriptor
;
1044 static int ett_h225_ServiceControlSession
;
1045 static int ett_h225_ServiceControlSession_reason
;
1046 static int ett_h225_RasUsageInfoTypes
;
1047 static int ett_h225_RasUsageSpecification
;
1048 static int ett_h225_RasUsageSpecification_when
;
1049 static int ett_h225_RasUsageSpecificationcallStartingPoint
;
1050 static int ett_h225_RasUsageInformation
;
1051 static int ett_h225_CallTerminationCause
;
1052 static int ett_h225_BandwidthDetails
;
1053 static int ett_h225_CallCreditCapability
;
1054 static int ett_h225_CallCreditServiceControl
;
1055 static int ett_h225_T_billingMode
;
1056 static int ett_h225_CallCreditServiceControl_callStartingPoint
;
1057 static int ett_h225_GenericData
;
1058 static int ett_h225_SEQUENCE_SIZE_1_512_OF_EnumeratedParameter
;
1059 static int ett_h225_GenericIdentifier
;
1060 static int ett_h225_EnumeratedParameter
;
1061 static int ett_h225_Content
;
1062 static int ett_h225_SEQUENCE_SIZE_1_16_OF_GenericData
;
1063 static int ett_h225_FeatureSet
;
1064 static int ett_h225_TransportChannelInfo
;
1065 static int ett_h225_RTPSession
;
1066 static int ett_h225_T_associatedSessionIds
;
1067 static int ett_h225_RehomingModel
;
1068 static int ett_h225_RasMessage
;
1069 static int ett_h225_SEQUENCE_OF_AdmissionConfirm
;
1070 static int ett_h225_GatekeeperRequest
;
1071 static int ett_h225_SEQUENCE_OF_Endpoint
;
1072 static int ett_h225_SEQUENCE_OF_AuthenticationMechanism
;
1073 static int ett_h225_T_algorithmOIDs
;
1074 static int ett_h225_SEQUENCE_OF_IntegrityMechanism
;
1075 static int ett_h225_GatekeeperConfirm
;
1076 static int ett_h225_GatekeeperReject
;
1077 static int ett_h225_GatekeeperRejectReason
;
1078 static int ett_h225_RegistrationRequest
;
1079 static int ett_h225_SEQUENCE_OF_AddressPattern
;
1080 static int ett_h225_SEQUENCE_OF_H248PackagesDescriptor
;
1081 static int ett_h225_RegistrationConfirm
;
1082 static int ett_h225_T_preGrantedARQ
;
1083 static int ett_h225_SEQUENCE_OF_RasUsageSpecification
;
1084 static int ett_h225_RegistrationReject
;
1085 static int ett_h225_RegistrationRejectReason
;
1086 static int ett_h225_T_invalidTerminalAliases
;
1087 static int ett_h225_UnregistrationRequest
;
1088 static int ett_h225_UnregRequestReason
;
1089 static int ett_h225_UnregistrationConfirm
;
1090 static int ett_h225_UnregistrationReject
;
1091 static int ett_h225_UnregRejectReason
;
1092 static int ett_h225_AdmissionRequest
;
1093 static int ett_h225_DestinationInfo
;
1094 static int ett_h225_CallType
;
1095 static int ett_h225_CallModel
;
1096 static int ett_h225_TransportQOS
;
1097 static int ett_h225_SEQUENCE_SIZE_1_256_OF_QOSCapability
;
1098 static int ett_h225_AdmissionConfirm
;
1099 static int ett_h225_UUIEsRequested
;
1100 static int ett_h225_AdmissionReject
;
1101 static int ett_h225_AdmissionRejectReason
;
1102 static int ett_h225_SEQUENCE_OF_PartyNumber
;
1103 static int ett_h225_BandwidthRequest
;
1104 static int ett_h225_SEQUENCE_OF_BandwidthDetails
;
1105 static int ett_h225_BandwidthConfirm
;
1106 static int ett_h225_BandwidthReject
;
1107 static int ett_h225_BandRejectReason
;
1108 static int ett_h225_LocationRequest
;
1109 static int ett_h225_LocationConfirm
;
1110 static int ett_h225_LocationReject
;
1111 static int ett_h225_LocationRejectReason
;
1112 static int ett_h225_DisengageRequest
;
1113 static int ett_h225_DisengageReason
;
1114 static int ett_h225_DisengageConfirm
;
1115 static int ett_h225_DisengageReject
;
1116 static int ett_h225_DisengageRejectReason
;
1117 static int ett_h225_InfoRequest
;
1118 static int ett_h225_InfoRequestResponse
;
1119 static int ett_h225_T_perCallInfo
;
1120 static int ett_h225_T_perCallInfo_item
;
1121 static int ett_h225_SEQUENCE_OF_RTPSession
;
1122 static int ett_h225_SEQUENCE_OF_TransportChannelInfo
;
1123 static int ett_h225_SEQUENCE_OF_ConferenceIdentifier
;
1124 static int ett_h225_T_pdu
;
1125 static int ett_h225_T_pdu_item
;
1126 static int ett_h225_InfoRequestResponseStatus
;
1127 static int ett_h225_InfoRequestAck
;
1128 static int ett_h225_InfoRequestNak
;
1129 static int ett_h225_InfoRequestNakReason
;
1130 static int ett_h225_NonStandardMessage
;
1131 static int ett_h225_UnknownMessageResponse
;
1132 static int ett_h225_RequestInProgress
;
1133 static int ett_h225_ResourcesAvailableIndicate
;
1134 static int ett_h225_ResourcesAvailableConfirm
;
1135 static int ett_h225_ServiceControlIndication
;
1136 static int ett_h225_T_callSpecific
;
1137 static int ett_h225_ServiceControlResponse
;
1138 static int ett_h225_T_result
;
1141 static unsigned h225_tls_port
= TLS_PORT_CS
;
1142 static bool h225_reassembly
= true;
1143 static bool h225_h245_in_tree
= true;
1144 static bool h225_tp_in_tree
= true;
1146 /* Global variables */
1147 static uint32_t ipv4_address
;
1148 static ws_in6_addr ipv6_address
;
1149 static ws_in6_addr ipv6_address_zeros
= {{0}};
1150 static uint32_t ip_port
;
1151 static bool contains_faststart
;
1152 static e_guid_t
*call_id_guid
;
1154 /* NonStandardParameter */
1155 static const char *nsiOID
;
1156 static uint32_t h221NonStandard
;
1157 static uint32_t t35CountryCode
;
1158 static uint32_t t35Extension
;
1159 static uint32_t manufacturerCode
;
1161 /* TunnelledProtocol */
1162 static const char *tpOID
;
1164 static const value_string ras_message_category
[] = {
1165 { 0, "Gatekeeper "},
1166 { 1, "Registration "},
1167 { 2, "UnRegistration"},
1175 typedef enum _ras_type
{
1182 typedef enum _ras_category
{
1193 #define NUM_RAS_STATS 7
1195 static tap_packet_status
1196 h225rassrt_packet(void *phs
, packet_info
*pinfo _U_
, epan_dissect_t
*edt _U_
, const void *phi
, tap_flags_t flags _U_
)
1198 rtd_data_t
* rtd_data
= (rtd_data_t
*)phs
;
1199 rtd_stat_table
* rs
= &rtd_data
->stat_table
;
1200 const h225_packet_info
*pi
=(const h225_packet_info
*)phi
;
1202 ras_type rasmsg_type
= RAS_OTHER
;
1203 ras_category rascategory
= RAS_OTHERS
;
1205 if (pi
->msg_type
!= H225_RAS
|| pi
->msg_tag
== -1) {
1206 /* No RAS Message or uninitialized msg_tag -> return */
1207 return TAP_PACKET_DONT_REDRAW
;
1210 if (pi
->msg_tag
< 21) {
1212 rascategory
= (ras_category
)(pi
->msg_tag
/ 3);
1213 rasmsg_type
= (ras_type
)(pi
->msg_tag
% 3);
1216 /* No SRT yet (ToDo) */
1217 return TAP_PACKET_DONT_REDRAW
;
1220 switch(rasmsg_type
) {
1223 if(pi
->is_duplicate
){
1224 rs
->time_stats
[rascategory
].req_dup_num
++;
1227 rs
->time_stats
[rascategory
].open_req_num
++;
1232 /* no break - delay stats are identical for Confirm and Reject */
1234 if(pi
->is_duplicate
){
1235 /* Duplicate is ignored */
1236 rs
->time_stats
[rascategory
].rsp_dup_num
++;
1238 else if (!pi
->request_available
) {
1239 /* no request was seen, ignore response */
1240 rs
->time_stats
[rascategory
].disc_rsp_num
++;
1243 rs
->time_stats
[rascategory
].open_req_num
--;
1244 time_stat_update(&(rs
->time_stats
[rascategory
].rtd
[0]),&(pi
->delta_time
), pinfo
);
1249 return TAP_PACKET_DONT_REDRAW
;
1251 return TAP_PACKET_REDRAW
;
1254 static void h225_set_cs_type(h225_packet_info
* h225_pi
, h225_cs_type cs_type
, bool faststart
)
1256 if (h225_pi
== NULL
)
1259 h225_pi
->cs_type
= cs_type
;
1260 /* XXX - Why not always use contains_faststart or h225_pi->is_faststart
1261 * There are some UUIEs (e.g., Facility-UUIE) where a fastStart can be
1262 * included but the path adding extra to the label has never been used.
1263 * Is that an oversight or intentional?
1267 snprintf(temp
, 50, "%s OLC (%s)", val_to_str_const(h225_pi
->cs_type
, T_h323_message_body_vals
, "<unknown>"), h225_pi
->frame_label
);
1268 (void) g_strlcpy(h225_pi
->frame_label
, temp
, 50);
1270 snprintf(h225_pi
->frame_label
, 50, "%s", val_to_str_const(h225_pi
->cs_type
, T_h323_message_body_vals
, "<unknown>"));
1274 /*--- Cyclic dependencies ---*/
1276 /* EnumeratedParameter -> Content -> Content/compound -> EnumeratedParameter */
1277 static int dissect_h225_EnumeratedParameter(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
);
1279 /* GenericData -> GenericData/parameters -> EnumeratedParameter -> Content -> Content/nested -> GenericData */
1280 /*int dissect_h225_GenericData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);*/
1286 dissect_h225_ProtocolIdentifier(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1287 offset
= dissect_per_object_identifier(tvb
, offset
, actx
, tree
, hf_index
, NULL
);
1295 dissect_h225_T_h245Ip(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1296 tvbuff_t
*value_tvb
;
1299 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
1300 4, 4, false, &value_tvb
);
1303 ipv4_address
= tvb_get_ipv4(value_tvb
, 0);
1311 dissect_h225_T_h245IpPort(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1312 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1313 0U, 65535U, &ip_port
, false);
1319 static const per_sequence_t T_h245IpAddress_sequence
[] = {
1320 { &hf_h225_h245Ip
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_T_h245Ip
},
1321 { &hf_h225_h245IpPort
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_T_h245IpPort
},
1322 { NULL
, 0, 0, NULL
}
1326 dissect_h225_T_h245IpAddress(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1327 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1328 ett_h225_T_h245IpAddress
, T_h245IpAddress_sequence
);
1336 dissect_h225_OCTET_STRING_SIZE_4(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1337 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
1346 dissect_h225_INTEGER_0_65535(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1347 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1348 0U, 65535U, NULL
, false);
1354 static const per_sequence_t T_h245Route_sequence_of
[1] = {
1355 { &hf_h225_h245Route_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_OCTET_STRING_SIZE_4
},
1359 dissect_h225_T_h245Route(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1360 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
1361 ett_h225_T_h245Route
, T_h245Route_sequence_of
);
1369 dissect_h225_NULL(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1370 offset
= dissect_per_null(tvb
, offset
, actx
, tree
, hf_index
);
1376 static const value_string h225_T_h245Routing_vals
[] = {
1382 static const per_choice_t T_h245Routing_choice
[] = {
1383 { 0, &hf_h225_strict
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
1384 { 1, &hf_h225_loose
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
1385 { 0, NULL
, 0, NULL
}
1389 dissect_h225_T_h245Routing(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1390 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
1391 ett_h225_T_h245Routing
, T_h245Routing_choice
,
1398 static const per_sequence_t T_h245IpSourceRoute_sequence
[] = {
1399 { &hf_h225_ip
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_OCTET_STRING_SIZE_4
},
1400 { &hf_h225_port
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_INTEGER_0_65535
},
1401 { &hf_h225_h245Route
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_T_h245Route
},
1402 { &hf_h225_h245Routing
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_T_h245Routing
},
1403 { NULL
, 0, 0, NULL
}
1407 dissect_h225_T_h245IpSourceRoute(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1408 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1409 ett_h225_T_h245IpSourceRoute
, T_h245IpSourceRoute_sequence
);
1417 dissect_h225_OCTET_STRING_SIZE_6(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1418 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
1427 dissect_h225_OCTET_STRING_SIZE_2(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1428 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
1435 static const per_sequence_t T_h245IpxAddress_sequence
[] = {
1436 { &hf_h225_node
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_OCTET_STRING_SIZE_6
},
1437 { &hf_h225_netnum
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_OCTET_STRING_SIZE_4
},
1438 { &hf_h225_h245IpxPort
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_OCTET_STRING_SIZE_2
},
1439 { NULL
, 0, 0, NULL
}
1443 dissect_h225_T_h245IpxAddress(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1444 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1445 ett_h225_T_h245IpxAddress
, T_h245IpxAddress_sequence
);
1453 dissect_h225_T_h245Ip6(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1454 tvbuff_t
*value_tvb
;
1456 ipv6_address
= ipv6_address_zeros
;
1457 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
1458 16, 16, false, &value_tvb
);
1461 tvb_get_ipv6(value_tvb
, 0, &ipv6_address
);
1469 dissect_h225_T_h245Ip6port(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1470 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1471 0U, 65535U, &ip_port
, false);
1477 static const per_sequence_t T_h245Ip6Address_sequence
[] = {
1478 { &hf_h225_h245Ip6
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_T_h245Ip6
},
1479 { &hf_h225_h245Ip6port
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_T_h245Ip6port
},
1480 { NULL
, 0, 0, NULL
}
1484 dissect_h225_T_h245Ip6Address(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1485 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1486 ett_h225_T_h245Ip6Address
, T_h245Ip6Address_sequence
);
1494 dissect_h225_OCTET_STRING_SIZE_16(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1495 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
1496 16, 16, false, NULL
);
1504 dissect_h225_OCTET_STRING_SIZE_1_20(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1505 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
1506 1, 20, false, NULL
);
1514 dissect_h225_T_nsiOID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1515 offset
= dissect_per_object_identifier_str(tvb
, offset
, actx
, tree
, hf_index
, &nsiOID
);
1523 dissect_h225_T_t35CountryCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1524 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1525 0U, 255U, &t35CountryCode
, false);
1533 dissect_h225_T_t35Extension(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1534 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1535 0U, 255U, &t35Extension
, false);
1543 dissect_h225_T_manufacturerCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1544 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1545 0U, 65535U, &manufacturerCode
, false);
1551 static const per_sequence_t H221NonStandard_sequence
[] = {
1552 { &hf_h225_t35CountryCode
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_T_t35CountryCode
},
1553 { &hf_h225_t35Extension
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_T_t35Extension
},
1554 { &hf_h225_manufacturerCode
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_T_manufacturerCode
},
1555 { NULL
, 0, 0, NULL
}
1559 dissect_h225_H221NonStandard(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1562 manufacturerCode
= 0;
1563 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1564 ett_h225_H221NonStandard
, H221NonStandard_sequence
);
1566 h221NonStandard
= ((t35CountryCode
* 256) + t35Extension
) * 65536 + manufacturerCode
;
1567 proto_tree_add_uint(tree
, hf_h221Manufacturer
, tvb
, (offset
>>3)-4, 4, h221NonStandard
);
1572 static const value_string h225_NonStandardIdentifier_vals
[] = {
1574 { 1, "h221NonStandard" },
1578 static const per_choice_t NonStandardIdentifier_choice
[] = {
1579 { 0, &hf_h225_nsiOID
, ASN1_EXTENSION_ROOT
, dissect_h225_T_nsiOID
},
1580 { 1, &hf_h225_h221NonStandard
, ASN1_EXTENSION_ROOT
, dissect_h225_H221NonStandard
},
1581 { 0, NULL
, 0, NULL
}
1585 dissect_h225_NonStandardIdentifier(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1589 h221NonStandard
= 0;
1591 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
1592 ett_h225_NonStandardIdentifier
, NonStandardIdentifier_choice
,
1596 case 0 : /* object */
1597 nsp_handle
= dissector_get_string_handle(nsp_object_dissector_table
, nsiOID
);
1599 case 1 : /* h221NonStandard */
1600 nsp_handle
= dissector_get_uint_handle(nsp_h221_dissector_table
, h221NonStandard
);
1612 dissect_h225_T_nsp_data(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1613 tvbuff_t
*next_tvb
= NULL
;
1615 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
1616 NO_BOUND
, NO_BOUND
, false, &next_tvb
);
1618 if (next_tvb
&& tvb_reported_length(next_tvb
)) {
1619 call_dissector((nsp_handle
)?nsp_handle
:data_handle
, next_tvb
, actx
->pinfo
, tree
);
1626 static const per_sequence_t NonStandardParameter_sequence
[] = {
1627 { &hf_h225_nonStandardIdentifier
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_NonStandardIdentifier
},
1628 { &hf_h225_nsp_data
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_T_nsp_data
},
1629 { NULL
, 0, 0, NULL
}
1633 dissect_h225_NonStandardParameter(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1635 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1636 ett_h225_NonStandardParameter
, NonStandardParameter_sequence
);
1642 static const value_string h225_H245TransportAddress_vals
[] = {
1644 { 1, "ipSourceRoute" },
1645 { 2, "ipxAddress" },
1646 { 3, "ip6Address" },
1649 { 6, "nonStandardAddress" },
1653 static const per_choice_t H245TransportAddress_choice
[] = {
1654 { 0, &hf_h225_h245IpAddress
, ASN1_EXTENSION_ROOT
, dissect_h225_T_h245IpAddress
},
1655 { 1, &hf_h225_h245IpSourceRoute
, ASN1_EXTENSION_ROOT
, dissect_h225_T_h245IpSourceRoute
},
1656 { 2, &hf_h225_h245IpxAddress
, ASN1_EXTENSION_ROOT
, dissect_h225_T_h245IpxAddress
},
1657 { 3, &hf_h225_h245Ip6Address
, ASN1_EXTENSION_ROOT
, dissect_h225_T_h245Ip6Address
},
1658 { 4, &hf_h225_netBios
, ASN1_EXTENSION_ROOT
, dissect_h225_OCTET_STRING_SIZE_16
},
1659 { 5, &hf_h225_nsap
, ASN1_EXTENSION_ROOT
, dissect_h225_OCTET_STRING_SIZE_1_20
},
1660 { 6, &hf_h225_nonStandardAddress
, ASN1_EXTENSION_ROOT
, dissect_h225_NonStandardParameter
},
1661 { 0, NULL
, 0, NULL
}
1665 dissect_h225_H245TransportAddress(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1666 h225_packet_info
* h225_pi
;
1668 ipv6_address
= ipv6_address_zeros
;
1671 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
1672 ett_h225_H245TransportAddress
, H245TransportAddress_choice
,
1675 /* we need this info for TAPing */
1676 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
1679 h225_pi
->is_h245
= true;
1680 h225_pi
->h245_address
= ipv4_address
;
1681 h225_pi
->h245_port
= ip_port
;
1683 if ( !actx
->pinfo
->fd
->visited
&& h245_handle
&& ip_port
!=0 ) {
1685 conversation_t
*conv
=NULL
;
1687 if (ipv4_address
!=0) {
1688 set_address(&src_addr
, AT_IPv4
, 4, &ipv4_address
);
1689 } else if (memcmp(ipv6_address
.bytes
, ipv6_address_zeros
.bytes
, sizeof(ipv6_address
.bytes
))!=0) {
1690 set_address(&src_addr
, AT_IPv6
, 16, ipv6_address
.bytes
);
1695 conv
=find_conversation(actx
->pinfo
->num
, &src_addr
, &src_addr
, CONVERSATION_TCP
, ip_port
, ip_port
, NO_ADDR_B
|NO_PORT_B
);
1697 conv
=conversation_new(actx
->pinfo
->num
, &src_addr
, &src_addr
, CONVERSATION_TCP
, ip_port
, ip_port
, NO_ADDR2
|NO_PORT2
);
1698 conversation_set_dissector(conv
, h245_handle
);
1707 dissect_h225_DialedDigits(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1708 tvbuff_t
*value_tvb
= NULL
;
1710 h225_packet_info
* h225_pi
;
1712 offset
= dissect_per_restricted_character_string(tvb
, offset
, actx
, tree
, hf_index
,
1713 1, 128, false, "0123456789#*,", 13,
1716 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
1717 if (h225_pi
&& h225_pi
->is_destinationInfo
== true) {
1719 len
= tvb_reported_length(value_tvb
);
1720 /* XXX - should this be allocated as an ephemeral string? */
1721 if (len
> sizeof h225_pi
->dialedDigits
- 1)
1722 len
= sizeof h225_pi
->dialedDigits
- 1;
1723 tvb_memcpy(value_tvb
, (uint8_t*)h225_pi
->dialedDigits
, 0, len
);
1725 h225_pi
->dialedDigits
[len
] = '\0';
1726 h225_pi
->is_destinationInfo
= false;
1735 dissect_h225_BMPString_SIZE_1_256(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1736 offset
= dissect_per_BMPString(tvb
, offset
, actx
, tree
, hf_index
,
1745 dissect_h225_IA5String_SIZE_1_512(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1746 offset
= dissect_per_IA5String(tvb
, offset
, actx
, tree
, hf_index
,
1756 dissect_h225_IpV4(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1757 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
1764 static const per_sequence_t T_ipAddress_sequence
[] = {
1765 { &hf_h225_ipV4
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_IpV4
},
1766 { &hf_h225_ipV4_port
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_INTEGER_0_65535
},
1767 { NULL
, 0, 0, NULL
}
1771 dissect_h225_T_ipAddress(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1772 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1773 ett_h225_T_ipAddress
, T_ipAddress_sequence
);
1779 static const per_sequence_t T_route_sequence_of
[1] = {
1780 { &hf_h225_route_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_OCTET_STRING_SIZE_4
},
1784 dissect_h225_T_route(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1785 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
1786 ett_h225_T_route
, T_route_sequence_of
);
1792 static const value_string h225_T_routing_vals
[] = {
1798 static const per_choice_t T_routing_choice
[] = {
1799 { 0, &hf_h225_strict
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
1800 { 1, &hf_h225_loose
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
1801 { 0, NULL
, 0, NULL
}
1805 dissect_h225_T_routing(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1806 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
1807 ett_h225_T_routing
, T_routing_choice
,
1814 static const per_sequence_t T_ipSourceRoute_sequence
[] = {
1815 { &hf_h225_src_route_ipV4
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_OCTET_STRING_SIZE_4
},
1816 { &hf_h225_ipV4_src_port
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_INTEGER_0_65535
},
1817 { &hf_h225_route
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_T_route
},
1818 { &hf_h225_routing
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_T_routing
},
1819 { NULL
, 0, 0, NULL
}
1823 dissect_h225_T_ipSourceRoute(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1824 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1825 ett_h225_T_ipSourceRoute
, T_ipSourceRoute_sequence
);
1831 static const per_sequence_t T_ipxAddress_sequence
[] = {
1832 { &hf_h225_node
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_OCTET_STRING_SIZE_6
},
1833 { &hf_h225_netnum
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_OCTET_STRING_SIZE_4
},
1834 { &hf_h225_ipx_port
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_OCTET_STRING_SIZE_2
},
1835 { NULL
, 0, 0, NULL
}
1839 dissect_h225_T_ipxAddress(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1840 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1841 ett_h225_T_ipxAddress
, T_ipxAddress_sequence
);
1847 static const per_sequence_t T_ip6Address_sequence
[] = {
1848 { &hf_h225_ipV6
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_OCTET_STRING_SIZE_16
},
1849 { &hf_h225_ipV6_port
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_INTEGER_0_65535
},
1850 { NULL
, 0, 0, NULL
}
1854 dissect_h225_T_ip6Address(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1855 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1856 ett_h225_T_ip6Address
, T_ip6Address_sequence
);
1862 const value_string h225_TransportAddress_vals
[] = {
1864 { 1, "ipSourceRoute" },
1865 { 2, "ipxAddress" },
1866 { 3, "ip6Address" },
1869 { 6, "nonStandardAddress" },
1873 static const per_choice_t TransportAddress_choice
[] = {
1874 { 0, &hf_h225_ipAddress
, ASN1_EXTENSION_ROOT
, dissect_h225_T_ipAddress
},
1875 { 1, &hf_h225_ipSourceRoute
, ASN1_EXTENSION_ROOT
, dissect_h225_T_ipSourceRoute
},
1876 { 2, &hf_h225_ipxAddress
, ASN1_EXTENSION_ROOT
, dissect_h225_T_ipxAddress
},
1877 { 3, &hf_h225_ip6Address
, ASN1_EXTENSION_ROOT
, dissect_h225_T_ip6Address
},
1878 { 4, &hf_h225_netBios
, ASN1_EXTENSION_ROOT
, dissect_h225_OCTET_STRING_SIZE_16
},
1879 { 5, &hf_h225_nsap
, ASN1_EXTENSION_ROOT
, dissect_h225_OCTET_STRING_SIZE_1_20
},
1880 { 6, &hf_h225_nonStandardAddress
, ASN1_EXTENSION_ROOT
, dissect_h225_NonStandardParameter
},
1881 { 0, NULL
, 0, NULL
}
1885 dissect_h225_TransportAddress(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1886 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
1887 ett_h225_TransportAddress
, TransportAddress_choice
,
1894 const value_string h225_PublicTypeOfNumber_vals
[] = {
1896 { 1, "internationalNumber" },
1897 { 2, "nationalNumber" },
1898 { 3, "networkSpecificNumber" },
1899 { 4, "subscriberNumber" },
1900 { 5, "abbreviatedNumber" },
1904 static const per_choice_t PublicTypeOfNumber_choice
[] = {
1905 { 0, &hf_h225_unknown
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
1906 { 1, &hf_h225_internationalNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
1907 { 2, &hf_h225_nationalNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
1908 { 3, &hf_h225_networkSpecificNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
1909 { 4, &hf_h225_subscriberNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
1910 { 5, &hf_h225_abbreviatedNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
1911 { 0, NULL
, 0, NULL
}
1915 dissect_h225_PublicTypeOfNumber(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1916 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
1917 ett_h225_PublicTypeOfNumber
, PublicTypeOfNumber_choice
,
1926 dissect_h225_NumberDigits(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1927 offset
= dissect_per_restricted_character_string(tvb
, offset
, actx
, tree
, hf_index
,
1928 1, 128, false, "0123456789#*,", 13,
1935 static const per_sequence_t PublicPartyNumber_sequence
[] = {
1936 { &hf_h225_publicTypeOfNumber
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_PublicTypeOfNumber
},
1937 { &hf_h225_publicNumberDigits
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_NumberDigits
},
1938 { NULL
, 0, 0, NULL
}
1942 dissect_h225_PublicPartyNumber(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1943 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1944 ett_h225_PublicPartyNumber
, PublicPartyNumber_sequence
);
1950 const value_string h225_PrivateTypeOfNumber_vals
[] = {
1952 { 1, "level2RegionalNumber" },
1953 { 2, "level1RegionalNumber" },
1954 { 3, "pISNSpecificNumber" },
1955 { 4, "localNumber" },
1956 { 5, "abbreviatedNumber" },
1960 static const per_choice_t PrivateTypeOfNumber_choice
[] = {
1961 { 0, &hf_h225_unknown
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
1962 { 1, &hf_h225_level2RegionalNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
1963 { 2, &hf_h225_level1RegionalNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
1964 { 3, &hf_h225_pISNSpecificNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
1965 { 4, &hf_h225_localNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
1966 { 5, &hf_h225_abbreviatedNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
1967 { 0, NULL
, 0, NULL
}
1971 dissect_h225_PrivateTypeOfNumber(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1972 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
1973 ett_h225_PrivateTypeOfNumber
, PrivateTypeOfNumber_choice
,
1980 static const per_sequence_t PrivatePartyNumber_sequence
[] = {
1981 { &hf_h225_privateTypeOfNumber
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_PrivateTypeOfNumber
},
1982 { &hf_h225_privateNumberDigits
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_NumberDigits
},
1983 { NULL
, 0, 0, NULL
}
1987 dissect_h225_PrivatePartyNumber(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1988 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1989 ett_h225_PrivatePartyNumber
, PrivatePartyNumber_sequence
);
1995 const value_string h225_PartyNumber_vals
[] = {
1996 { 0, "e164Number" },
1997 { 1, "dataPartyNumber" },
1998 { 2, "telexPartyNumber" },
1999 { 3, "privateNumber" },
2000 { 4, "nationalStandardPartyNumber" },
2004 static const per_choice_t PartyNumber_choice
[] = {
2005 { 0, &hf_h225_e164Number
, ASN1_EXTENSION_ROOT
, dissect_h225_PublicPartyNumber
},
2006 { 1, &hf_h225_dataPartyNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_NumberDigits
},
2007 { 2, &hf_h225_telexPartyNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_NumberDigits
},
2008 { 3, &hf_h225_privateNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_PrivatePartyNumber
},
2009 { 4, &hf_h225_nationalStandardPartyNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_NumberDigits
},
2010 { 0, NULL
, 0, NULL
}
2014 dissect_h225_PartyNumber(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2015 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
2016 ett_h225_PartyNumber
, PartyNumber_choice
,
2025 dissect_h225_TBCD_STRING(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2026 int min_len
, max_len
;
2029 get_size_constraint_from_stack(actx
, "TBCD_STRING", &min_len
, &max_len
, &has_extension
);
2030 offset
= dissect_per_restricted_character_string(tvb
, offset
, actx
, tree
, hf_index
,
2031 min_len
, max_len
, has_extension
, "0123456789#*abc", 15,
2040 dissect_h225_TBCD_STRING_SIZE_3_16(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2041 offset
= dissect_per_size_constrained_type(tvb
, offset
, actx
, tree
, hf_index
, dissect_h225_TBCD_STRING
,
2042 "TBCD_STRING", 3, 16, false);
2050 dissect_h225_TBCD_STRING_SIZE_16(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2051 offset
= dissect_per_size_constrained_type(tvb
, offset
, actx
, tree
, hf_index
, dissect_h225_TBCD_STRING
,
2052 "TBCD_STRING", 16, 16, false);
2060 dissect_h225_TBCD_STRING_SIZE_1_4(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2061 offset
= dissect_per_size_constrained_type(tvb
, offset
, actx
, tree
, hf_index
, dissect_h225_TBCD_STRING
,
2062 "TBCD_STRING", 1, 4, false);
2068 static const value_string h225_T_system_id_vals
[] = {
2074 static const per_choice_t T_system_id_choice
[] = {
2075 { 0, &hf_h225_sid
, ASN1_EXTENSION_ROOT
, dissect_h225_TBCD_STRING_SIZE_1_4
},
2076 { 1, &hf_h225_mid
, ASN1_EXTENSION_ROOT
, dissect_h225_TBCD_STRING_SIZE_1_4
},
2077 { 0, NULL
, 0, NULL
}
2081 dissect_h225_T_system_id(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2082 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
2083 ett_h225_T_system_id
, T_system_id_choice
,
2092 dissect_h225_OCTET_STRING_SIZE_1(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2093 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
2100 static const per_sequence_t ANSI_41_UIM_sequence
[] = {
2101 { &hf_h225_imsi
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TBCD_STRING_SIZE_3_16
},
2102 { &hf_h225_min
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TBCD_STRING_SIZE_3_16
},
2103 { &hf_h225_mdn
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TBCD_STRING_SIZE_3_16
},
2104 { &hf_h225_msisdn
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TBCD_STRING_SIZE_3_16
},
2105 { &hf_h225_esn
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TBCD_STRING_SIZE_16
},
2106 { &hf_h225_mscid
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TBCD_STRING_SIZE_3_16
},
2107 { &hf_h225_system_id
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_T_system_id
},
2108 { &hf_h225_systemMyTypeCode
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_OCTET_STRING_SIZE_1
},
2109 { &hf_h225_systemAccessType
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_OCTET_STRING_SIZE_1
},
2110 { &hf_h225_qualificationInformationCode
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_OCTET_STRING_SIZE_1
},
2111 { &hf_h225_sesn
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TBCD_STRING_SIZE_16
},
2112 { &hf_h225_soc
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TBCD_STRING_SIZE_3_16
},
2113 { NULL
, 0, 0, NULL
}
2117 dissect_h225_ANSI_41_UIM(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2118 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2119 ett_h225_ANSI_41_UIM
, ANSI_41_UIM_sequence
);
2127 dissect_h225_OCTET_STRING_SIZE_1_4(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2128 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
2137 dissect_h225_TBCD_STRING_SIZE_15_16(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2138 offset
= dissect_per_size_constrained_type(tvb
, offset
, actx
, tree
, hf_index
, dissect_h225_TBCD_STRING
,
2139 "TBCD_STRING", 15, 16, false);
2145 static const per_sequence_t GSM_UIM_sequence
[] = {
2146 { &hf_h225_imsi
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TBCD_STRING_SIZE_3_16
},
2147 { &hf_h225_tmsi
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_OCTET_STRING_SIZE_1_4
},
2148 { &hf_h225_msisdn
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TBCD_STRING_SIZE_3_16
},
2149 { &hf_h225_imei
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TBCD_STRING_SIZE_15_16
},
2150 { &hf_h225_hplmn
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TBCD_STRING_SIZE_1_4
},
2151 { &hf_h225_vplmn
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TBCD_STRING_SIZE_1_4
},
2152 { NULL
, 0, 0, NULL
}
2156 dissect_h225_GSM_UIM(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2157 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2158 ett_h225_GSM_UIM
, GSM_UIM_sequence
);
2164 static const value_string h225_MobileUIM_vals
[] = {
2165 { 0, "ansi-41-uim" },
2170 static const per_choice_t MobileUIM_choice
[] = {
2171 { 0, &hf_h225_ansi_41_uim
, ASN1_EXTENSION_ROOT
, dissect_h225_ANSI_41_UIM
},
2172 { 1, &hf_h225_gsm_uim
, ASN1_EXTENSION_ROOT
, dissect_h225_GSM_UIM
},
2173 { 0, NULL
, 0, NULL
}
2177 dissect_h225_MobileUIM(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2178 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
2179 ett_h225_MobileUIM
, MobileUIM_choice
,
2186 static const value_string h225_NatureOfAddress_vals
[] = {
2188 { 1, "subscriberNumber" },
2189 { 2, "nationalNumber" },
2190 { 3, "internationalNumber" },
2191 { 4, "networkSpecificNumber" },
2192 { 5, "routingNumberNationalFormat" },
2193 { 6, "routingNumberNetworkSpecificFormat" },
2194 { 7, "routingNumberWithCalledDirectoryNumber" },
2198 static const per_choice_t NatureOfAddress_choice
[] = {
2199 { 0, &hf_h225_unknown
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
2200 { 1, &hf_h225_subscriberNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
2201 { 2, &hf_h225_nationalNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
2202 { 3, &hf_h225_internationalNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
2203 { 4, &hf_h225_networkSpecificNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
2204 { 5, &hf_h225_routingNumberNationalFormat
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
2205 { 6, &hf_h225_routingNumberNetworkSpecificFormat
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
2206 { 7, &hf_h225_routingNumberWithCalledDirectoryNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
2207 { 0, NULL
, 0, NULL
}
2211 dissect_h225_NatureOfAddress(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2212 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
2213 ett_h225_NatureOfAddress
, NatureOfAddress_choice
,
2222 dissect_h225_IsupDigits(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2223 offset
= dissect_per_restricted_character_string(tvb
, offset
, actx
, tree
, hf_index
,
2224 1, 128, false, "0123456789ABCDE", 15,
2231 static const per_sequence_t IsupPublicPartyNumber_sequence
[] = {
2232 { &hf_h225_natureOfAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_NatureOfAddress
},
2233 { &hf_h225_address
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_IsupDigits
},
2234 { NULL
, 0, 0, NULL
}
2238 dissect_h225_IsupPublicPartyNumber(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2239 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2240 ett_h225_IsupPublicPartyNumber
, IsupPublicPartyNumber_sequence
);
2246 static const per_sequence_t IsupPrivatePartyNumber_sequence
[] = {
2247 { &hf_h225_privateTypeOfNumber
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_PrivateTypeOfNumber
},
2248 { &hf_h225_address
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_IsupDigits
},
2249 { NULL
, 0, 0, NULL
}
2253 dissect_h225_IsupPrivatePartyNumber(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2254 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2255 ett_h225_IsupPrivatePartyNumber
, IsupPrivatePartyNumber_sequence
);
2261 static const value_string h225_IsupNumber_vals
[] = {
2262 { 0, "e164Number" },
2263 { 1, "dataPartyNumber" },
2264 { 2, "telexPartyNumber" },
2265 { 3, "privateNumber" },
2266 { 4, "nationalStandardPartyNumber" },
2270 static const per_choice_t IsupNumber_choice
[] = {
2271 { 0, &hf_h225_isupE164Number
, ASN1_EXTENSION_ROOT
, dissect_h225_IsupPublicPartyNumber
},
2272 { 1, &hf_h225_isupDataPartyNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_IsupDigits
},
2273 { 2, &hf_h225_isupTelexPartyNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_IsupDigits
},
2274 { 3, &hf_h225_isupPrivateNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_IsupPrivatePartyNumber
},
2275 { 4, &hf_h225_isupNationalStandardPartyNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_IsupDigits
},
2276 { 0, NULL
, 0, NULL
}
2280 dissect_h225_IsupNumber(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2281 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
2282 ett_h225_IsupNumber
, IsupNumber_choice
,
2289 const value_string AliasAddress_vals
[] = {
2290 { 0, "dialledDigits" },
2293 { 3, "transportID" },
2295 { 5, "partyNumber" },
2297 { 7, "isupNumber" },
2301 static const per_choice_t AliasAddress_choice
[] = {
2302 { 0, &hf_h225_dialledDigits
, ASN1_EXTENSION_ROOT
, dissect_h225_DialedDigits
},
2303 { 1, &hf_h225_h323_ID
, ASN1_EXTENSION_ROOT
, dissect_h225_BMPString_SIZE_1_256
},
2304 { 2, &hf_h225_url_ID
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_IA5String_SIZE_1_512
},
2305 { 3, &hf_h225_transportID
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_TransportAddress
},
2306 { 4, &hf_h225_email_ID
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_IA5String_SIZE_1_512
},
2307 { 5, &hf_h225_partyNumber
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_PartyNumber
},
2308 { 6, &hf_h225_mobileUIM
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_MobileUIM
},
2309 { 7, &hf_h225_isupNumber
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_IsupNumber
},
2310 { 0, NULL
, 0, NULL
}
2314 dissect_h225_AliasAddress(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2315 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
2316 ett_h225_AliasAddress
, AliasAddress_choice
,
2323 static const per_sequence_t SEQUENCE_OF_AliasAddress_sequence_of
[1] = {
2324 { &hf_h225_alertingAddress_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_AliasAddress
},
2328 dissect_h225_SEQUENCE_OF_AliasAddress(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2329 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
2330 ett_h225_SEQUENCE_OF_AliasAddress
, SEQUENCE_OF_AliasAddress_sequence_of
);
2338 dissect_h225_OCTET_STRING_SIZE_1_256(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2339 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
2340 1, 256, false, NULL
);
2348 dissect_h225_OBJECT_IDENTIFIER(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2349 offset
= dissect_per_object_identifier(tvb
, offset
, actx
, tree
, hf_index
, NULL
);
2355 static const per_sequence_t VendorIdentifier_sequence
[] = {
2356 { &hf_h225_vendorIdentifier_vendor
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_H221NonStandard
},
2357 { &hf_h225_productId
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_OCTET_STRING_SIZE_1_256
},
2358 { &hf_h225_versionId
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_OCTET_STRING_SIZE_1_256
},
2359 { &hf_h225_enterpriseNumber
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_OBJECT_IDENTIFIER
},
2360 { NULL
, 0, 0, NULL
}
2364 dissect_h225_VendorIdentifier(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2365 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2366 ett_h225_VendorIdentifier
, VendorIdentifier_sequence
);
2372 static const per_sequence_t GatekeeperInfo_sequence
[] = {
2373 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
2374 { NULL
, 0, 0, NULL
}
2378 dissect_h225_GatekeeperInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2379 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2380 ett_h225_GatekeeperInfo
, GatekeeperInfo_sequence
);
2388 dissect_h225_BandWidth(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2389 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
2390 0U, 4294967295U, NULL
, false);
2398 dissect_h225_INTEGER_1_256(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2399 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
2400 1U, 256U, NULL
, false);
2406 static const per_sequence_t DataRate_sequence
[] = {
2407 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
2408 { &hf_h225_channelRate
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BandWidth
},
2409 { &hf_h225_channelMultiplier
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_INTEGER_1_256
},
2410 { NULL
, 0, 0, NULL
}
2414 dissect_h225_DataRate(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2415 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2416 ett_h225_DataRate
, DataRate_sequence
);
2422 static const per_sequence_t SEQUENCE_OF_DataRate_sequence_of
[1] = {
2423 { &hf_h225_dataRatesSupported_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_DataRate
},
2427 dissect_h225_SEQUENCE_OF_DataRate(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2428 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
2429 ett_h225_SEQUENCE_OF_DataRate
, SEQUENCE_OF_DataRate_sequence_of
);
2435 static const per_sequence_t SupportedPrefix_sequence
[] = {
2436 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
2437 { &hf_h225_prefix
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_AliasAddress
},
2438 { NULL
, 0, 0, NULL
}
2442 dissect_h225_SupportedPrefix(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2443 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2444 ett_h225_SupportedPrefix
, SupportedPrefix_sequence
);
2450 static const per_sequence_t SEQUENCE_OF_SupportedPrefix_sequence_of
[1] = {
2451 { &hf_h225_supportedPrefixes_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_SupportedPrefix
},
2455 dissect_h225_SEQUENCE_OF_SupportedPrefix(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2456 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
2457 ett_h225_SEQUENCE_OF_SupportedPrefix
, SEQUENCE_OF_SupportedPrefix_sequence_of
);
2463 static const per_sequence_t H310Caps_sequence
[] = {
2464 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
2465 { &hf_h225_dataRatesSupported
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_DataRate
},
2466 { &hf_h225_supportedPrefixes
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SEQUENCE_OF_SupportedPrefix
},
2467 { NULL
, 0, 0, NULL
}
2471 dissect_h225_H310Caps(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2472 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2473 ett_h225_H310Caps
, H310Caps_sequence
);
2479 static const per_sequence_t H320Caps_sequence
[] = {
2480 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
2481 { &hf_h225_dataRatesSupported
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_DataRate
},
2482 { &hf_h225_supportedPrefixes
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SEQUENCE_OF_SupportedPrefix
},
2483 { NULL
, 0, 0, NULL
}
2487 dissect_h225_H320Caps(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2488 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2489 ett_h225_H320Caps
, H320Caps_sequence
);
2495 static const per_sequence_t H321Caps_sequence
[] = {
2496 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
2497 { &hf_h225_dataRatesSupported
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_DataRate
},
2498 { &hf_h225_supportedPrefixes
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SEQUENCE_OF_SupportedPrefix
},
2499 { NULL
, 0, 0, NULL
}
2503 dissect_h225_H321Caps(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2504 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2505 ett_h225_H321Caps
, H321Caps_sequence
);
2511 static const per_sequence_t H322Caps_sequence
[] = {
2512 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
2513 { &hf_h225_dataRatesSupported
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_DataRate
},
2514 { &hf_h225_supportedPrefixes
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SEQUENCE_OF_SupportedPrefix
},
2515 { NULL
, 0, 0, NULL
}
2519 dissect_h225_H322Caps(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2520 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2521 ett_h225_H322Caps
, H322Caps_sequence
);
2527 static const per_sequence_t H323Caps_sequence
[] = {
2528 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
2529 { &hf_h225_dataRatesSupported
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_DataRate
},
2530 { &hf_h225_supportedPrefixes
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SEQUENCE_OF_SupportedPrefix
},
2531 { NULL
, 0, 0, NULL
}
2535 dissect_h225_H323Caps(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2536 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2537 ett_h225_H323Caps
, H323Caps_sequence
);
2543 static const per_sequence_t H324Caps_sequence
[] = {
2544 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
2545 { &hf_h225_dataRatesSupported
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_DataRate
},
2546 { &hf_h225_supportedPrefixes
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SEQUENCE_OF_SupportedPrefix
},
2547 { NULL
, 0, 0, NULL
}
2551 dissect_h225_H324Caps(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2552 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2553 ett_h225_H324Caps
, H324Caps_sequence
);
2559 static const per_sequence_t VoiceCaps_sequence
[] = {
2560 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
2561 { &hf_h225_dataRatesSupported
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_DataRate
},
2562 { &hf_h225_supportedPrefixes
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SEQUENCE_OF_SupportedPrefix
},
2563 { NULL
, 0, 0, NULL
}
2567 dissect_h225_VoiceCaps(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2568 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2569 ett_h225_VoiceCaps
, VoiceCaps_sequence
);
2575 static const per_sequence_t T120OnlyCaps_sequence
[] = {
2576 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
2577 { &hf_h225_dataRatesSupported
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_DataRate
},
2578 { &hf_h225_supportedPrefixes
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SEQUENCE_OF_SupportedPrefix
},
2579 { NULL
, 0, 0, NULL
}
2583 dissect_h225_T120OnlyCaps(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2584 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2585 ett_h225_T120OnlyCaps
, T120OnlyCaps_sequence
);
2591 static const per_sequence_t NonStandardProtocol_sequence
[] = {
2592 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
2593 { &hf_h225_dataRatesSupported
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_DataRate
},
2594 { &hf_h225_supportedPrefixes
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SEQUENCE_OF_SupportedPrefix
},
2595 { NULL
, 0, 0, NULL
}
2599 dissect_h225_NonStandardProtocol(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2600 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2601 ett_h225_NonStandardProtocol
, NonStandardProtocol_sequence
);
2607 static const per_sequence_t T38FaxAnnexbOnlyCaps_sequence
[] = {
2608 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
2609 { &hf_h225_dataRatesSupported
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_DataRate
},
2610 { &hf_h225_supportedPrefixes
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SEQUENCE_OF_SupportedPrefix
},
2611 { &hf_h225_t38FaxProtocol
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h245_DataProtocolCapability
},
2612 { &hf_h225_t38FaxProfile
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h245_T38FaxProfile
},
2613 { NULL
, 0, 0, NULL
}
2617 dissect_h225_T38FaxAnnexbOnlyCaps(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2618 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2619 ett_h225_T38FaxAnnexbOnlyCaps
, T38FaxAnnexbOnlyCaps_sequence
);
2625 static const per_sequence_t SIPCaps_sequence
[] = {
2626 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
2627 { &hf_h225_dataRatesSupported
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_DataRate
},
2628 { &hf_h225_supportedPrefixes
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_SupportedPrefix
},
2629 { NULL
, 0, 0, NULL
}
2633 dissect_h225_SIPCaps(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2634 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2635 ett_h225_SIPCaps
, SIPCaps_sequence
);
2641 const value_string h225_SupportedProtocols_vals
[] = {
2642 { 0, "nonStandardData" },
2651 { 9, "nonStandardProtocol" },
2652 { 10, "t38FaxAnnexbOnly" },
2657 static const per_choice_t SupportedProtocols_choice
[] = {
2658 { 0, &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, dissect_h225_NonStandardParameter
},
2659 { 1, &hf_h225_h310
, ASN1_EXTENSION_ROOT
, dissect_h225_H310Caps
},
2660 { 2, &hf_h225_h320
, ASN1_EXTENSION_ROOT
, dissect_h225_H320Caps
},
2661 { 3, &hf_h225_h321
, ASN1_EXTENSION_ROOT
, dissect_h225_H321Caps
},
2662 { 4, &hf_h225_h322
, ASN1_EXTENSION_ROOT
, dissect_h225_H322Caps
},
2663 { 5, &hf_h225_h323
, ASN1_EXTENSION_ROOT
, dissect_h225_H323Caps
},
2664 { 6, &hf_h225_h324
, ASN1_EXTENSION_ROOT
, dissect_h225_H324Caps
},
2665 { 7, &hf_h225_voice
, ASN1_EXTENSION_ROOT
, dissect_h225_VoiceCaps
},
2666 { 8, &hf_h225_t120_only
, ASN1_EXTENSION_ROOT
, dissect_h225_T120OnlyCaps
},
2667 { 9, &hf_h225_nonStandardProtocol
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NonStandardProtocol
},
2668 { 10, &hf_h225_t38FaxAnnexbOnly
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_T38FaxAnnexbOnlyCaps
},
2669 { 11, &hf_h225_sip
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_SIPCaps
},
2670 { 0, NULL
, 0, NULL
}
2674 dissect_h225_SupportedProtocols(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2675 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
2676 ett_h225_SupportedProtocols
, SupportedProtocols_choice
,
2683 static const per_sequence_t SEQUENCE_OF_SupportedProtocols_sequence_of
[1] = {
2684 { &hf_h225_desiredProtocols_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_SupportedProtocols
},
2688 dissect_h225_SEQUENCE_OF_SupportedProtocols(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2689 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
2690 ett_h225_SEQUENCE_OF_SupportedProtocols
, SEQUENCE_OF_SupportedProtocols_sequence_of
);
2696 static const per_sequence_t GatewayInfo_sequence
[] = {
2697 { &hf_h225_protocol
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_SupportedProtocols
},
2698 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
2699 { NULL
, 0, 0, NULL
}
2703 dissect_h225_GatewayInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2704 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2705 ett_h225_GatewayInfo
, GatewayInfo_sequence
);
2711 static const per_sequence_t McuInfo_sequence
[] = {
2712 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
2713 { &hf_h225_protocol
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_SupportedProtocols
},
2714 { NULL
, 0, 0, NULL
}
2718 dissect_h225_McuInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2719 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2720 ett_h225_McuInfo
, McuInfo_sequence
);
2726 static const per_sequence_t TerminalInfo_sequence
[] = {
2727 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
2728 { NULL
, 0, 0, NULL
}
2732 dissect_h225_TerminalInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2733 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2734 ett_h225_TerminalInfo
, TerminalInfo_sequence
);
2742 dissect_h225_BOOLEAN(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2743 offset
= dissect_per_boolean(tvb
, offset
, actx
, tree
, hf_index
, NULL
);
2751 dissect_h225_BIT_STRING_SIZE_32(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2752 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
2753 32, 32, false, NULL
, 0, NULL
, NULL
);
2761 dissect_h225_T_tunnelledProtocolObjectID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2762 offset
= dissect_per_object_identifier_str(tvb
, offset
, actx
, tree
, hf_index
, &tpOID
);
2770 dissect_h225_IA5String_SIZE_1_64(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2771 offset
= dissect_per_IA5String(tvb
, offset
, actx
, tree
, hf_index
,
2779 static const per_sequence_t TunnelledProtocolAlternateIdentifier_sequence
[] = {
2780 { &hf_h225_protocolType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_IA5String_SIZE_1_64
},
2781 { &hf_h225_protocolVariant
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_IA5String_SIZE_1_64
},
2782 { NULL
, 0, 0, NULL
}
2786 dissect_h225_TunnelledProtocolAlternateIdentifier(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2787 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2788 ett_h225_TunnelledProtocolAlternateIdentifier
, TunnelledProtocolAlternateIdentifier_sequence
);
2794 static const value_string h225_TunnelledProtocol_id_vals
[] = {
2795 { 0, "tunnelledProtocolObjectID" },
2796 { 1, "tunnelledProtocolAlternateID" },
2800 static const per_choice_t TunnelledProtocol_id_choice
[] = {
2801 { 0, &hf_h225_tunnelledProtocolObjectID
, ASN1_EXTENSION_ROOT
, dissect_h225_T_tunnelledProtocolObjectID
},
2802 { 1, &hf_h225_tunnelledProtocolAlternateID
, ASN1_EXTENSION_ROOT
, dissect_h225_TunnelledProtocolAlternateIdentifier
},
2803 { 0, NULL
, 0, NULL
}
2807 dissect_h225_TunnelledProtocol_id(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2808 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
2809 ett_h225_TunnelledProtocol_id
, TunnelledProtocol_id_choice
,
2816 static const per_sequence_t TunnelledProtocol_sequence
[] = {
2817 { &hf_h225_tunnelledProtocol_id
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_TunnelledProtocol_id
},
2818 { &hf_h225_subIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_IA5String_SIZE_1_64
},
2819 { NULL
, 0, 0, NULL
}
2823 dissect_h225_TunnelledProtocol(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2825 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2826 ett_h225_TunnelledProtocol
, TunnelledProtocol_sequence
);
2828 tp_handle
= dissector_get_string_handle(tp_dissector_table
, tpOID
);
2833 static const per_sequence_t SEQUENCE_OF_TunnelledProtocol_sequence_of
[1] = {
2834 { &hf_h225_supportedTunnelledProtocols_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_TunnelledProtocol
},
2838 dissect_h225_SEQUENCE_OF_TunnelledProtocol(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2839 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
2840 ett_h225_SEQUENCE_OF_TunnelledProtocol
, SEQUENCE_OF_TunnelledProtocol_sequence_of
);
2846 static const per_sequence_t EndpointType_sequence
[] = {
2847 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
2848 { &hf_h225_vendor
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_VendorIdentifier
},
2849 { &hf_h225_gatekeeper
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_GatekeeperInfo
},
2850 { &hf_h225_gateway
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_GatewayInfo
},
2851 { &hf_h225_mcu
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_McuInfo
},
2852 { &hf_h225_terminal
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TerminalInfo
},
2853 { &hf_h225_mc
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
2854 { &hf_h225_undefinedNode
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
2855 { &hf_h225_set
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_BIT_STRING_SIZE_32
},
2856 { &hf_h225_supportedTunnelledProtocols
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_TunnelledProtocol
},
2857 { NULL
, 0, 0, NULL
}
2861 dissect_h225_EndpointType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2862 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2863 ett_h225_EndpointType
, EndpointType_sequence
);
2871 dissect_h225_CallReferenceValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2872 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
2873 0U, 65535U, NULL
, false);
2879 static const per_sequence_t SEQUENCE_OF_CallReferenceValue_sequence_of
[1] = {
2880 { &hf_h225_destExtraCRV_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_CallReferenceValue
},
2884 dissect_h225_SEQUENCE_OF_CallReferenceValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2885 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
2886 ett_h225_SEQUENCE_OF_CallReferenceValue
, SEQUENCE_OF_CallReferenceValue_sequence_of
);
2894 dissect_h225_GloballyUniqueID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2895 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
2896 16, 16, false, (tvbuff_t
**)actx
->value_ptr
);
2904 dissect_h225_ConferenceIdentifier(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2905 offset
= dissect_h225_GloballyUniqueID(tvb
, offset
, actx
, tree
, hf_index
);
2911 static const value_string h225_T_conferenceGoal_vals
[] = {
2915 { 3, "capability-negotiation" },
2916 { 4, "callIndependentSupplementaryService" },
2920 static const per_choice_t T_conferenceGoal_choice
[] = {
2921 { 0, &hf_h225_create
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
2922 { 1, &hf_h225_join
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
2923 { 2, &hf_h225_invite
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
2924 { 3, &hf_h225_capability_negotiation
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
2925 { 4, &hf_h225_callIndependentSupplementaryService
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
2926 { 0, NULL
, 0, NULL
}
2930 dissect_h225_T_conferenceGoal(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2931 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
2932 ett_h225_T_conferenceGoal
, T_conferenceGoal_choice
,
2939 static const per_sequence_t Q954Details_sequence
[] = {
2940 { &hf_h225_conferenceCalling
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
2941 { &hf_h225_threePartyService
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
2942 { NULL
, 0, 0, NULL
}
2946 dissect_h225_Q954Details(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2947 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2948 ett_h225_Q954Details
, Q954Details_sequence
);
2954 static const per_sequence_t QseriesOptions_sequence
[] = {
2955 { &hf_h225_q932Full
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
2956 { &hf_h225_q951Full
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
2957 { &hf_h225_q952Full
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
2958 { &hf_h225_q953Full
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
2959 { &hf_h225_q955Full
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
2960 { &hf_h225_q956Full
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
2961 { &hf_h225_q957Full
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
2962 { &hf_h225_q954Info
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_Q954Details
},
2963 { NULL
, 0, 0, NULL
}
2967 dissect_h225_QseriesOptions(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2968 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
2969 ett_h225_QseriesOptions
, QseriesOptions_sequence
);
2975 static const value_string h225_CallType_vals
[] = {
2976 { 0, "pointToPoint" },
2983 static const per_choice_t CallType_choice
[] = {
2984 { 0, &hf_h225_pointToPoint
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
2985 { 1, &hf_h225_oneToN
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
2986 { 2, &hf_h225_nToOne
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
2987 { 3, &hf_h225_nToN
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
2988 { 0, NULL
, 0, NULL
}
2992 dissect_h225_CallType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2993 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
2994 ett_h225_CallType
, CallType_choice
,
3003 dissect_h225_T_guid(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3004 tvbuff_t
*guid_tvb
= NULL
;
3006 actx
->value_ptr
= &guid_tvb
;
3007 offset
= dissect_h225_GloballyUniqueID(tvb
, offset
, actx
, tree
, hf_index
);
3010 tvb_get_ntohguid(guid_tvb
, 0, call_id_guid
= wmem_new(actx
->pinfo
->pool
, e_guid_t
));
3011 actx
->value_ptr
= NULL
;
3017 static const per_sequence_t CallIdentifier_sequence
[] = {
3018 { &hf_h225_guid
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_T_guid
},
3019 { NULL
, 0, 0, NULL
}
3023 dissect_h225_CallIdentifier(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3024 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
3025 ett_h225_CallIdentifier
, CallIdentifier_sequence
);
3031 static const value_string h225_SecurityServiceMode_vals
[] = {
3032 { 0, "nonStandard" },
3038 static const per_choice_t SecurityServiceMode_choice
[] = {
3039 { 0, &hf_h225_nonStandard
, ASN1_EXTENSION_ROOT
, dissect_h225_NonStandardParameter
},
3040 { 1, &hf_h225_none
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3041 { 2, &hf_h225_default
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3042 { 0, NULL
, 0, NULL
}
3046 dissect_h225_SecurityServiceMode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3047 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
3048 ett_h225_SecurityServiceMode
, SecurityServiceMode_choice
,
3055 static const per_sequence_t SecurityCapabilities_sequence
[] = {
3056 { &hf_h225_nonStandard
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
3057 { &hf_h225_encryption
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SecurityServiceMode
},
3058 { &hf_h225_authenticaton
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SecurityServiceMode
},
3059 { &hf_h225_securityCapabilities_integrity
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SecurityServiceMode
},
3060 { NULL
, 0, 0, NULL
}
3064 dissect_h225_SecurityCapabilities(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3065 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
3066 ett_h225_SecurityCapabilities
, SecurityCapabilities_sequence
);
3072 static const value_string h225_H245Security_vals
[] = {
3073 { 0, "nonStandard" },
3074 { 1, "noSecurity" },
3080 static const per_choice_t H245Security_choice
[] = {
3081 { 0, &hf_h225_nonStandard
, ASN1_EXTENSION_ROOT
, dissect_h225_NonStandardParameter
},
3082 { 1, &hf_h225_noSecurity
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3083 { 2, &hf_h225_tls
, ASN1_EXTENSION_ROOT
, dissect_h225_SecurityCapabilities
},
3084 { 3, &hf_h225_ipsec
, ASN1_EXTENSION_ROOT
, dissect_h225_SecurityCapabilities
},
3085 { 0, NULL
, 0, NULL
}
3089 dissect_h225_H245Security(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3090 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
3091 ett_h225_H245Security
, H245Security_choice
,
3098 static const per_sequence_t SEQUENCE_OF_H245Security_sequence_of
[1] = {
3099 { &hf_h225_h245SecurityCapability_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_H245Security
},
3103 dissect_h225_SEQUENCE_OF_H245Security(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3104 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
3105 ett_h225_SEQUENCE_OF_H245Security
, SEQUENCE_OF_H245Security_sequence_of
);
3111 static const per_sequence_t SEQUENCE_OF_ClearToken_sequence_of
[1] = {
3112 { &hf_h225_tokens_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h235_ClearToken
},
3116 dissect_h225_SEQUENCE_OF_ClearToken(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3117 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
3118 ett_h225_SEQUENCE_OF_ClearToken
, SEQUENCE_OF_ClearToken_sequence_of
);
3124 static const per_sequence_t T_cryptoEPPwdHash_sequence
[] = {
3125 { &hf_h225_alias
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_AliasAddress
},
3126 { &hf_h225_timeStamp
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h235_TimeStamp
},
3127 { &hf_h225_token
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h235_HASHED
},
3128 { NULL
, 0, 0, NULL
}
3132 dissect_h225_T_cryptoEPPwdHash(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3133 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
3134 ett_h225_T_cryptoEPPwdHash
, T_cryptoEPPwdHash_sequence
);
3142 dissect_h225_GatekeeperIdentifier(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3143 offset
= dissect_per_BMPString(tvb
, offset
, actx
, tree
, hf_index
,
3150 static const per_sequence_t T_cryptoGKPwdHash_sequence
[] = {
3151 { &hf_h225_gatekeeperId
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_GatekeeperIdentifier
},
3152 { &hf_h225_timeStamp
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h235_TimeStamp
},
3153 { &hf_h225_token
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h235_HASHED
},
3154 { NULL
, 0, 0, NULL
}
3158 dissect_h225_T_cryptoGKPwdHash(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3159 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
3160 ett_h225_T_cryptoGKPwdHash
, T_cryptoGKPwdHash_sequence
);
3166 const value_string h225_CryptoH323Token_vals
[] = {
3167 { 0, "cryptoEPPwdHash" },
3168 { 1, "cryptoGKPwdHash" },
3169 { 2, "cryptoEPPwdEncr" },
3170 { 3, "cryptoGKPwdEncr" },
3171 { 4, "cryptoEPCert" },
3172 { 5, "cryptoGKCert" },
3173 { 6, "cryptoFastStart" },
3174 { 7, "nestedcryptoToken" },
3178 static const per_choice_t CryptoH323Token_choice
[] = {
3179 { 0, &hf_h225_cryptoEPPwdHash
, ASN1_EXTENSION_ROOT
, dissect_h225_T_cryptoEPPwdHash
},
3180 { 1, &hf_h225_cryptoGKPwdHash
, ASN1_EXTENSION_ROOT
, dissect_h225_T_cryptoGKPwdHash
},
3181 { 2, &hf_h225_cryptoEPPwdEncr
, ASN1_EXTENSION_ROOT
, dissect_h235_ENCRYPTED
},
3182 { 3, &hf_h225_cryptoGKPwdEncr
, ASN1_EXTENSION_ROOT
, dissect_h235_ENCRYPTED
},
3183 { 4, &hf_h225_cryptoEPCert
, ASN1_EXTENSION_ROOT
, dissect_h235_SIGNED
},
3184 { 5, &hf_h225_cryptoGKCert
, ASN1_EXTENSION_ROOT
, dissect_h235_SIGNED
},
3185 { 6, &hf_h225_cryptoFastStart
, ASN1_EXTENSION_ROOT
, dissect_h235_SIGNED
},
3186 { 7, &hf_h225_nestedcryptoToken
, ASN1_EXTENSION_ROOT
, dissect_h235_CryptoToken
},
3187 { 0, NULL
, 0, NULL
}
3191 dissect_h225_CryptoH323Token(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3192 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
3193 ett_h225_CryptoH323Token
, CryptoH323Token_choice
,
3200 static const per_sequence_t SEQUENCE_OF_CryptoH323Token_sequence_of
[1] = {
3201 { &hf_h225_cryptoTokens_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_CryptoH323Token
},
3205 dissect_h225_SEQUENCE_OF_CryptoH323Token(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3206 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
3207 ett_h225_SEQUENCE_OF_CryptoH323Token
, SEQUENCE_OF_CryptoH323Token_sequence_of
);
3215 dissect_h225_FastStart_item(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3216 tvbuff_t
*value_tvb
= NULL
;
3218 h225_packet_info
* h225_pi
;
3219 codec_str
[0] = '\0';
3221 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
3222 NO_BOUND
, NO_BOUND
, false, &value_tvb
);
3224 if (value_tvb
&& tvb_reported_length(value_tvb
)) {
3225 dissect_h245_FastStart_OLC(value_tvb
, actx
->pinfo
, tree
, codec_str
);
3228 /* Add to packet info */
3229 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
3230 if (h225_pi
!= NULL
) {
3232 snprintf(temp
, 50, "%s %s", h225_pi
->frame_label
, codec_str
);
3233 (void) g_strlcpy(h225_pi
->frame_label
, temp
, 50);
3234 h225_pi
->is_faststart
= true;
3236 contains_faststart
= true;
3242 static const per_sequence_t FastStart_sequence_of
[1] = {
3243 { &hf_h225_FastStart_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_FastStart_item
},
3247 dissect_h225_FastStart(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3248 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
3249 ett_h225_FastStart
, FastStart_sequence_of
);
3257 dissect_h225_EndpointIdentifier(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3258 offset
= dissect_per_BMPString(tvb
, offset
, actx
, tree
, hf_index
,
3265 static const value_string h225_ScnConnectionType_vals
[] = {
3268 { 2, "hybrid2x64" },
3270 { 4, "hybrid1536" },
3271 { 5, "hybrid1920" },
3276 static const per_choice_t ScnConnectionType_choice
[] = {
3277 { 0, &hf_h225_unknown
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3278 { 1, &hf_h225_bChannel
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3279 { 2, &hf_h225_hybrid2x64
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3280 { 3, &hf_h225_hybrid384
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3281 { 4, &hf_h225_hybrid1536
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3282 { 5, &hf_h225_hybrid1920
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3283 { 6, &hf_h225_multirate
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3284 { 0, NULL
, 0, NULL
}
3288 dissect_h225_ScnConnectionType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3289 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
3290 ett_h225_ScnConnectionType
, ScnConnectionType_choice
,
3297 static const value_string h225_ScnConnectionAggregation_vals
[] = {
3301 { 3, "bonded-mode1" },
3302 { 4, "bonded-mode2" },
3303 { 5, "bonded-mode3" },
3307 static const per_choice_t ScnConnectionAggregation_choice
[] = {
3308 { 0, &hf_h225_auto
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3309 { 1, &hf_h225_none
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3310 { 2, &hf_h225_h221
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3311 { 3, &hf_h225_bonded_mode1
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3312 { 4, &hf_h225_bonded_mode2
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3313 { 5, &hf_h225_bonded_mode3
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3314 { 0, NULL
, 0, NULL
}
3318 dissect_h225_ScnConnectionAggregation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3319 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
3320 ett_h225_ScnConnectionAggregation
, ScnConnectionAggregation_choice
,
3327 static const per_sequence_t T_connectionParameters_sequence
[] = {
3328 { &hf_h225_connectionType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ScnConnectionType
},
3329 { &hf_h225_numberOfScnConnections
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_INTEGER_0_65535
},
3330 { &hf_h225_connectionAggregation
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ScnConnectionAggregation
},
3331 { NULL
, 0, 0, NULL
}
3335 dissect_h225_T_connectionParameters(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3336 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
3337 ett_h225_T_connectionParameters
, T_connectionParameters_sequence
);
3345 dissect_h225_IA5String_SIZE_1_32(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3346 offset
= dissect_per_IA5String(tvb
, offset
, actx
, tree
, hf_index
,
3354 static const per_sequence_t Language_sequence_of
[1] = {
3355 { &hf_h225_Language_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_IA5String_SIZE_1_32
},
3359 dissect_h225_Language(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3360 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
3361 ett_h225_Language
, Language_sequence_of
);
3367 const value_string h225_PresentationIndicator_vals
[] = {
3368 { 0, "presentationAllowed" },
3369 { 1, "presentationRestricted" },
3370 { 2, "addressNotAvailable" },
3374 static const per_choice_t PresentationIndicator_choice
[] = {
3375 { 0, &hf_h225_presentationAllowed
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3376 { 1, &hf_h225_presentationRestricted
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3377 { 2, &hf_h225_addressNotAvailable
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3378 { 0, NULL
, 0, NULL
}
3382 dissect_h225_PresentationIndicator(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3383 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
3384 ett_h225_PresentationIndicator
, PresentationIndicator_choice
,
3391 const value_string h225_ScreeningIndicator_vals
[] = {
3392 { 0, "userProvidedNotScreened" },
3393 { 1, "userProvidedVerifiedAndPassed" },
3394 { 2, "userProvidedVerifiedAndFailed" },
3395 { 3, "networkProvided" },
3401 dissect_h225_ScreeningIndicator(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3402 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
3403 4, NULL
, true, 0, NULL
);
3411 dissect_h225_INTEGER_0_255(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3412 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3413 0U, 255U, NULL
, false);
3421 dissect_h225_IA5String_SIZE_0_512(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3422 offset
= dissect_per_IA5String(tvb
, offset
, actx
, tree
, hf_index
,
3432 dissect_h225_H248SignalsDescriptor(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3433 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
3434 NO_BOUND
, NO_BOUND
, false, NULL
);
3442 dissect_h225_BMPString_SIZE_1_512(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3443 offset
= dissect_per_BMPString(tvb
, offset
, actx
, tree
, hf_index
,
3450 static const value_string h225_T_billingMode_vals
[] = {
3456 static const per_choice_t T_billingMode_choice
[] = {
3457 { 0, &hf_h225_credit
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3458 { 1, &hf_h225_debit
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3459 { 0, NULL
, 0, NULL
}
3463 dissect_h225_T_billingMode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3464 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
3465 ett_h225_T_billingMode
, T_billingMode_choice
,
3474 dissect_h225_INTEGER_1_4294967295(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3475 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3476 1U, 4294967295U, NULL
, false);
3482 static const value_string h225_CallCreditServiceControl_callStartingPoint_vals
[] = {
3488 static const per_choice_t CallCreditServiceControl_callStartingPoint_choice
[] = {
3489 { 0, &hf_h225_alerting_flg
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3490 { 1, &hf_h225_connect_flg
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3491 { 0, NULL
, 0, NULL
}
3495 dissect_h225_CallCreditServiceControl_callStartingPoint(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3496 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
3497 ett_h225_CallCreditServiceControl_callStartingPoint
, CallCreditServiceControl_callStartingPoint_choice
,
3504 static const per_sequence_t CallCreditServiceControl_sequence
[] = {
3505 { &hf_h225_amountString
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_BMPString_SIZE_1_512
},
3506 { &hf_h225_billingMode
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_T_billingMode
},
3507 { &hf_h225_callDurationLimit
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_INTEGER_1_4294967295
},
3508 { &hf_h225_enforceCallDurationLimit
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_BOOLEAN
},
3509 { &hf_h225_callStartingPoint
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallCreditServiceControl_callStartingPoint
},
3510 { NULL
, 0, 0, NULL
}
3514 dissect_h225_CallCreditServiceControl(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3515 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
3516 ett_h225_CallCreditServiceControl
, CallCreditServiceControl_sequence
);
3522 static const value_string h225_ServiceControlDescriptor_vals
[] = {
3525 { 2, "nonStandard" },
3526 { 3, "callCreditServiceControl" },
3530 static const per_choice_t ServiceControlDescriptor_choice
[] = {
3531 { 0, &hf_h225_url
, ASN1_EXTENSION_ROOT
, dissect_h225_IA5String_SIZE_0_512
},
3532 { 1, &hf_h225_signal
, ASN1_EXTENSION_ROOT
, dissect_h225_H248SignalsDescriptor
},
3533 { 2, &hf_h225_nonStandard
, ASN1_EXTENSION_ROOT
, dissect_h225_NonStandardParameter
},
3534 { 3, &hf_h225_callCreditServiceControl
, ASN1_EXTENSION_ROOT
, dissect_h225_CallCreditServiceControl
},
3535 { 0, NULL
, 0, NULL
}
3539 dissect_h225_ServiceControlDescriptor(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3540 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
3541 ett_h225_ServiceControlDescriptor
, ServiceControlDescriptor_choice
,
3548 static const value_string h225_ServiceControlSession_reason_vals
[] = {
3555 static const per_choice_t ServiceControlSession_reason_choice
[] = {
3556 { 0, &hf_h225_open
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3557 { 1, &hf_h225_refresh
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3558 { 2, &hf_h225_close
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
3559 { 0, NULL
, 0, NULL
}
3563 dissect_h225_ServiceControlSession_reason(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3564 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
3565 ett_h225_ServiceControlSession_reason
, ServiceControlSession_reason_choice
,
3572 static const per_sequence_t ServiceControlSession_sequence
[] = {
3573 { &hf_h225_sessionId_0_255
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_INTEGER_0_255
},
3574 { &hf_h225_contents
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ServiceControlDescriptor
},
3575 { &hf_h225_reason
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ServiceControlSession_reason
},
3576 { NULL
, 0, 0, NULL
}
3580 dissect_h225_ServiceControlSession(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3581 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
3582 ett_h225_ServiceControlSession
, ServiceControlSession_sequence
);
3588 static const per_sequence_t SEQUENCE_OF_ServiceControlSession_sequence_of
[1] = {
3589 { &hf_h225_serviceControl_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_ServiceControlSession
},
3593 dissect_h225_SEQUENCE_OF_ServiceControlSession(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3594 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
3595 ett_h225_SEQUENCE_OF_ServiceControlSession
, SEQUENCE_OF_ServiceControlSession_sequence_of
);
3603 dissect_h225_INTEGER_0_4294967295(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3604 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3605 0U, 4294967295U, NULL
, false);
3613 dissect_h225_IA5String_SIZE_1_128(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3614 offset
= dissect_per_IA5String(tvb
, offset
, actx
, tree
, hf_index
,
3624 dissect_h225_OCTET_STRING_SIZE_3_4(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3625 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
3632 static const per_sequence_t CarrierInfo_sequence
[] = {
3633 { &hf_h225_carrierIdentificationCode
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_OCTET_STRING_SIZE_3_4
},
3634 { &hf_h225_carrierName
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_IA5String_SIZE_1_128
},
3635 { NULL
, 0, 0, NULL
}
3639 dissect_h225_CarrierInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3640 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
3641 ett_h225_CarrierInfo
, CarrierInfo_sequence
);
3647 static const per_sequence_t CallsAvailable_sequence
[] = {
3648 { &hf_h225_calls
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_INTEGER_0_4294967295
},
3649 { &hf_h225_group_IA5String
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_IA5String_SIZE_1_128
},
3650 { &hf_h225_carrier
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CarrierInfo
},
3651 { NULL
, 0, 0, NULL
}
3655 dissect_h225_CallsAvailable(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3656 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
3657 ett_h225_CallsAvailable
, CallsAvailable_sequence
);
3663 static const per_sequence_t SEQUENCE_OF_CallsAvailable_sequence_of
[1] = {
3664 { &hf_h225_voiceGwCallsAvailable_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_CallsAvailable
},
3668 dissect_h225_SEQUENCE_OF_CallsAvailable(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3669 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
3670 ett_h225_SEQUENCE_OF_CallsAvailable
, SEQUENCE_OF_CallsAvailable_sequence_of
);
3676 static const per_sequence_t CallCapacityInfo_sequence
[] = {
3677 { &hf_h225_voiceGwCallsAvailable
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CallsAvailable
},
3678 { &hf_h225_h310GwCallsAvailable
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CallsAvailable
},
3679 { &hf_h225_h320GwCallsAvailable
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CallsAvailable
},
3680 { &hf_h225_h321GwCallsAvailable
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CallsAvailable
},
3681 { &hf_h225_h322GwCallsAvailable
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CallsAvailable
},
3682 { &hf_h225_h323GwCallsAvailable
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CallsAvailable
},
3683 { &hf_h225_h324GwCallsAvailable
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CallsAvailable
},
3684 { &hf_h225_t120OnlyGwCallsAvailable
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CallsAvailable
},
3685 { &hf_h225_t38FaxAnnexbOnlyGwCallsAvailable
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CallsAvailable
},
3686 { &hf_h225_terminalCallsAvailable
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CallsAvailable
},
3687 { &hf_h225_mcuCallsAvailable
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CallsAvailable
},
3688 { &hf_h225_sipGwCallsAvailable
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CallsAvailable
},
3689 { NULL
, 0, 0, NULL
}
3693 dissect_h225_CallCapacityInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3694 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
3695 ett_h225_CallCapacityInfo
, CallCapacityInfo_sequence
);
3701 static const per_sequence_t CallCapacity_sequence
[] = {
3702 { &hf_h225_maximumCallCapacity
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallCapacityInfo
},
3703 { &hf_h225_currentCallCapacity
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallCapacityInfo
},
3704 { NULL
, 0, 0, NULL
}
3708 dissect_h225_CallCapacity(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3709 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
3710 ett_h225_CallCapacity
, CallCapacity_sequence
);
3718 dissect_h225_OCTET_STRING_SIZE_2_4(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3719 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
3726 static const per_sequence_t T_cic_2_4_sequence_of
[1] = {
3727 { &hf_h225_cic_2_4_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_OCTET_STRING_SIZE_2_4
},
3731 dissect_h225_T_cic_2_4(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3732 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
3733 ett_h225_T_cic_2_4
, T_cic_2_4_sequence_of
);
3741 dissect_h225_OCTET_STRING_SIZE_2_5(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3742 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
3749 static const per_sequence_t CicInfo_sequence
[] = {
3750 { &hf_h225_cic_2_4
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_T_cic_2_4
},
3751 { &hf_h225_pointCode
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_OCTET_STRING_SIZE_2_5
},
3752 { NULL
, 0, 0, NULL
}
3756 dissect_h225_CicInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3757 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
3758 ett_h225_CicInfo
, CicInfo_sequence
);
3764 static const per_sequence_t T_member_sequence_of
[1] = {
3765 { &hf_h225_member_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_INTEGER_0_65535
},
3769 dissect_h225_T_member(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3770 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
3771 ett_h225_T_member
, T_member_sequence_of
);
3777 static const per_sequence_t GroupID_sequence
[] = {
3778 { &hf_h225_member
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_T_member
},
3779 { &hf_h225_group_IA5String
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_IA5String_SIZE_1_128
},
3780 { NULL
, 0, 0, NULL
}
3784 dissect_h225_GroupID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3785 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
3786 ett_h225_GroupID
, GroupID_sequence
);
3792 static const per_sequence_t CircuitIdentifier_sequence
[] = {
3793 { &hf_h225_cic
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CicInfo
},
3794 { &hf_h225_group
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_GroupID
},
3795 { &hf_h225_carrier
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CarrierInfo
},
3796 { NULL
, 0, 0, NULL
}
3800 dissect_h225_CircuitIdentifier(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3801 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
3802 ett_h225_CircuitIdentifier
, CircuitIdentifier_sequence
);
3810 dissect_h225_T_standard(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3811 uint32_t value_int
= (uint32_t)-1;
3814 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3815 0U, 16383U, &value_int
, true);
3817 gefx
= gef_ctx_get(actx
->private_data
);
3818 if (gefx
) gefx
->id
= wmem_strdup_printf(actx
->pinfo
->pool
, "%u", value_int
);
3826 dissect_h225_T_oid(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3827 const char *oid_str
= NULL
;
3830 offset
= dissect_per_object_identifier_str(tvb
, offset
, actx
, tree
, hf_index
, &oid_str
);
3832 gefx
= gef_ctx_get(actx
->private_data
);
3833 if (gefx
) gefx
->id
= oid_str
;
3839 const value_string h225_GenericIdentifier_vals
[] = {
3842 { 2, "nonStandard" },
3846 static const per_choice_t GenericIdentifier_choice
[] = {
3847 { 0, &hf_h225_standard
, ASN1_EXTENSION_ROOT
, dissect_h225_T_standard
},
3848 { 1, &hf_h225_oid
, ASN1_EXTENSION_ROOT
, dissect_h225_T_oid
},
3849 { 2, &hf_h225_genericIdentifier_nonStandard
, ASN1_EXTENSION_ROOT
, dissect_h225_GloballyUniqueID
},
3850 { 0, NULL
, 0, NULL
}
3854 dissect_h225_GenericIdentifier(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3857 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
3858 ett_h225_GenericIdentifier
, GenericIdentifier_choice
,
3861 gef_ctx_update_key(actx
->pinfo
->pool
, gef_ctx_get(actx
->private_data
));
3862 gefx
= gef_ctx_get(actx
->private_data
);
3864 ti
= proto_tree_add_string(tree
, hf_h225_debug_dissector_try_string
, tvb
, offset
>>3, 0, gefx
->key
);
3865 proto_item_set_hidden(ti
);
3866 dissector_try_string_with_data(gef_name_dissector_table
, gefx
->key
, tvb_new_subset_length_caplen(tvb
, offset
>>3, 0, 0), actx
->pinfo
, tree
, false, actx
);
3868 actx
->private_data
= gefx
; /* subdissector could overwrite it */
3875 dissect_h225_T_raw(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3876 tvbuff_t
*value_tvb
;
3880 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
3881 NO_BOUND
, NO_BOUND
, false, &value_tvb
);
3883 gefx
= gef_ctx_get(actx
->private_data
);
3885 ti
= proto_tree_add_string(tree
, hf_h225_debug_dissector_try_string
, tvb
, offset
>>3, 0, gefx
->key
);
3886 proto_item_set_hidden(ti
);
3887 dissector_try_string_with_data(gef_content_dissector_table
, gefx
->key
, value_tvb
, actx
->pinfo
, tree
, true, actx
);
3896 dissect_h225_IA5String(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3897 offset
= dissect_per_IA5String(tvb
, offset
, actx
, tree
, hf_index
,
3898 NO_BOUND
, NO_BOUND
, false,
3907 dissect_h225_BMPString(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3908 offset
= dissect_per_BMPString(tvb
, offset
, actx
, tree
, hf_index
,
3909 NO_BOUND
, NO_BOUND
, false);
3915 static const per_sequence_t SEQUENCE_SIZE_1_512_OF_EnumeratedParameter_sequence_of
[1] = {
3916 { &hf_h225_parameters_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_EnumeratedParameter
},
3920 dissect_h225_SEQUENCE_SIZE_1_512_OF_EnumeratedParameter(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3921 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
3922 ett_h225_SEQUENCE_SIZE_1_512_OF_EnumeratedParameter
, SEQUENCE_SIZE_1_512_OF_EnumeratedParameter_sequence_of
,
3929 static const per_sequence_t SEQUENCE_SIZE_1_16_OF_GenericData_sequence_of
[1] = {
3930 { &hf_h225_nested_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_GenericData
},
3934 dissect_h225_SEQUENCE_SIZE_1_16_OF_GenericData(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3935 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
3936 ett_h225_SEQUENCE_SIZE_1_16_OF_GenericData
, SEQUENCE_SIZE_1_16_OF_GenericData_sequence_of
,
3943 static const value_string h225_Content_vals
[] = {
3959 static const per_choice_t Content_choice
[] = {
3960 { 0, &hf_h225_raw
, ASN1_EXTENSION_ROOT
, dissect_h225_T_raw
},
3961 { 1, &hf_h225_text
, ASN1_EXTENSION_ROOT
, dissect_h225_IA5String
},
3962 { 2, &hf_h225_unicode
, ASN1_EXTENSION_ROOT
, dissect_h225_BMPString
},
3963 { 3, &hf_h225_bool
, ASN1_EXTENSION_ROOT
, dissect_h225_BOOLEAN
},
3964 { 4, &hf_h225_number8
, ASN1_EXTENSION_ROOT
, dissect_h225_INTEGER_0_255
},
3965 { 5, &hf_h225_number16
, ASN1_EXTENSION_ROOT
, dissect_h225_INTEGER_0_65535
},
3966 { 6, &hf_h225_number32
, ASN1_EXTENSION_ROOT
, dissect_h225_INTEGER_0_4294967295
},
3967 { 7, &hf_h225_id
, ASN1_EXTENSION_ROOT
, dissect_h225_GenericIdentifier
},
3968 { 8, &hf_h225_alias
, ASN1_EXTENSION_ROOT
, dissect_h225_AliasAddress
},
3969 { 9, &hf_h225_transport
, ASN1_EXTENSION_ROOT
, dissect_h225_TransportAddress
},
3970 { 10, &hf_h225_compound
, ASN1_EXTENSION_ROOT
, dissect_h225_SEQUENCE_SIZE_1_512_OF_EnumeratedParameter
},
3971 { 11, &hf_h225_nested
, ASN1_EXTENSION_ROOT
, dissect_h225_SEQUENCE_SIZE_1_16_OF_GenericData
},
3972 { 0, NULL
, 0, NULL
}
3976 dissect_h225_Content(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3977 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
3978 ett_h225_Content
, Content_choice
,
3985 static const per_sequence_t EnumeratedParameter_sequence
[] = {
3986 { &hf_h225_id
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_GenericIdentifier
},
3987 { &hf_h225_content
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_Content
},
3988 { NULL
, 0, 0, NULL
}
3992 dissect_h225_EnumeratedParameter(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3993 // EnumeratedParameter -> Content -> Content/compound -> EnumeratedParameter
3994 actx
->pinfo
->dissection_depth
+= 3;
3995 increment_dissection_depth(actx
->pinfo
);
3996 gef_ctx_t
*parent_gefx
;
3998 parent_gefx
= gef_ctx_get(actx
->private_data
);
3999 actx
->private_data
= gef_ctx_alloc(actx
->pinfo
->pool
, parent_gefx
, NULL
);
4000 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
4001 ett_h225_EnumeratedParameter
, EnumeratedParameter_sequence
);
4003 actx
->pinfo
->dissection_depth
-= 3;
4004 decrement_dissection_depth(actx
->pinfo
);
4005 actx
->private_data
= parent_gefx
;
4010 static const per_sequence_t GenericData_sequence
[] = {
4011 { &hf_h225_id
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_GenericIdentifier
},
4012 { &hf_h225_parameters
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_SIZE_1_512_OF_EnumeratedParameter
},
4013 { NULL
, 0, 0, NULL
}
4017 dissect_h225_GenericData(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4018 // GenericData -> GenericData/parameters -> EnumeratedParameter -> Content -> Content/nested -> GenericData
4019 actx
->pinfo
->dissection_depth
+= 5;
4020 increment_dissection_depth(actx
->pinfo
);
4021 void *priv_data
= actx
->private_data
;
4024 /* check if not inherited from FeatureDescriptor */
4025 gefx
= gef_ctx_get(actx
->private_data
);
4027 gefx
= gef_ctx_alloc(actx
->pinfo
->pool
, NULL
, "GenericData");
4028 actx
->private_data
= gefx
;
4030 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
4031 ett_h225_GenericData
, GenericData_sequence
);
4033 actx
->pinfo
->dissection_depth
-= 5;
4034 decrement_dissection_depth(actx
->pinfo
);
4035 actx
->private_data
= priv_data
;
4040 static const per_sequence_t SEQUENCE_OF_GenericData_sequence_of
[1] = {
4041 { &hf_h225_genericData_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_GenericData
},
4045 dissect_h225_SEQUENCE_OF_GenericData(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4046 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
4047 ett_h225_SEQUENCE_OF_GenericData
, SEQUENCE_OF_GenericData_sequence_of
);
4053 static const per_sequence_t CircuitInfo_sequence
[] = {
4054 { &hf_h225_sourceCircuitID
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CircuitIdentifier
},
4055 { &hf_h225_destinationCircuitID
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CircuitIdentifier
},
4056 { &hf_h225_genericData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
4057 { NULL
, 0, 0, NULL
}
4061 dissect_h225_CircuitInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4062 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
4063 ett_h225_CircuitInfo
, CircuitInfo_sequence
);
4071 dissect_h225_FeatureDescriptor(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4072 void *priv_data
= actx
->private_data
;
4073 actx
->private_data
= gef_ctx_alloc(actx
->pinfo
->pool
, NULL
, "FeatureDescriptor");
4074 offset
= dissect_h225_GenericData(tvb
, offset
, actx
, tree
, hf_index
);
4076 actx
->private_data
= priv_data
;
4081 static const per_sequence_t SEQUENCE_OF_FeatureDescriptor_sequence_of
[1] = {
4082 { &hf_h225_neededFeatures_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_FeatureDescriptor
},
4086 dissect_h225_SEQUENCE_OF_FeatureDescriptor(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4087 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
4088 ett_h225_SEQUENCE_OF_FeatureDescriptor
, SEQUENCE_OF_FeatureDescriptor_sequence_of
);
4096 dissect_h225_ParallelH245Control_item(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4097 tvbuff_t
*h245_tvb
= NULL
;
4099 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
4100 NO_BOUND
, NO_BOUND
, false, &h245_tvb
);
4102 next_tvb_add_handle(h245_list
, h245_tvb
, (h225_h245_in_tree
)?tree
:NULL
, h245dg_handle
);
4108 static const per_sequence_t ParallelH245Control_sequence_of
[1] = {
4109 { &hf_h225_ParallelH245Control_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_ParallelH245Control_item
},
4113 dissect_h225_ParallelH245Control(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4114 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
4115 ett_h225_ParallelH245Control
, ParallelH245Control_sequence_of
);
4121 static const per_sequence_t ExtendedAliasAddress_sequence
[] = {
4122 { &hf_h225_extAliasAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_AliasAddress
},
4123 { &hf_h225_presentationIndicator
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_PresentationIndicator
},
4124 { &hf_h225_screeningIndicator
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ScreeningIndicator
},
4125 { NULL
, 0, 0, NULL
}
4129 dissect_h225_ExtendedAliasAddress(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4130 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
4131 ett_h225_ExtendedAliasAddress
, ExtendedAliasAddress_sequence
);
4137 static const per_sequence_t SEQUENCE_OF_ExtendedAliasAddress_sequence_of
[1] = {
4138 { &hf_h225_additionalSourceAddresses_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_ExtendedAliasAddress
},
4142 dissect_h225_SEQUENCE_OF_ExtendedAliasAddress(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4143 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
4144 ett_h225_SEQUENCE_OF_ExtendedAliasAddress
, SEQUENCE_OF_ExtendedAliasAddress_sequence_of
);
4152 dissect_h225_INTEGER_1_31(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4153 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4154 1U, 31U, NULL
, false);
4162 dissect_h225_BMPString_SIZE_1_80(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4163 offset
= dissect_per_BMPString(tvb
, offset
, actx
, tree
, hf_index
,
4170 static const per_sequence_t DisplayName_sequence
[] = {
4171 { &hf_h225_displayName_language
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_h225_IA5String
},
4172 { &hf_h225_name
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_BMPString_SIZE_1_80
},
4173 { NULL
, 0, 0, NULL
}
4177 dissect_h225_DisplayName(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4178 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
4179 ett_h225_DisplayName
, DisplayName_sequence
);
4185 static const per_sequence_t SEQUENCE_OF_DisplayName_sequence_of
[1] = {
4186 { &hf_h225_displayName_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_DisplayName
},
4190 dissect_h225_SEQUENCE_OF_DisplayName(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4191 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
4192 ett_h225_SEQUENCE_OF_DisplayName
, SEQUENCE_OF_DisplayName_sequence_of
);
4198 static const per_sequence_t Setup_UUIE_sequence
[] = {
4199 { &hf_h225_protocolIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ProtocolIdentifier
},
4200 { &hf_h225_h245Address
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_H245TransportAddress
},
4201 { &hf_h225_sourceAddress
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
4202 { &hf_h225_setup_UUIE_sourceInfo
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_EndpointType
},
4203 { &hf_h225_destinationAddress
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
4204 { &hf_h225_destCallSignalAddress
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TransportAddress
},
4205 { &hf_h225_destExtraCallInfo
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
4206 { &hf_h225_destExtraCRV
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CallReferenceValue
},
4207 { &hf_h225_activeMC
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
4208 { &hf_h225_conferenceID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ConferenceIdentifier
},
4209 { &hf_h225_conferenceGoal
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_T_conferenceGoal
},
4210 { &hf_h225_callServices
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_QseriesOptions
},
4211 { &hf_h225_callType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallType
},
4212 { &hf_h225_sourceCallSignalAddress
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TransportAddress
},
4213 { &hf_h225_uUIE_remoteExtensionAddress
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AliasAddress
},
4214 { &hf_h225_callIdentifier
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallIdentifier
},
4215 { &hf_h225_h245SecurityCapability
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_H245Security
},
4216 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
4217 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
4218 { &hf_h225_fastStart
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FastStart
},
4219 { &hf_h225_mediaWaitForConnect
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
4220 { &hf_h225_canOverlapSend
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
4221 { &hf_h225_endpointIdentifier
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_EndpointIdentifier
},
4222 { &hf_h225_multipleCalls
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
4223 { &hf_h225_maintainConnection
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
4224 { &hf_h225_connectionParameters
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_T_connectionParameters
},
4225 { &hf_h225_language
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_Language
},
4226 { &hf_h225_presentationIndicator
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_PresentationIndicator
},
4227 { &hf_h225_screeningIndicator
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ScreeningIndicator
},
4228 { &hf_h225_serviceControl
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ServiceControlSession
},
4229 { &hf_h225_symmetricOperationRequired
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
4230 { &hf_h225_capacity
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallCapacity
},
4231 { &hf_h225_circuitInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CircuitInfo
},
4232 { &hf_h225_desiredProtocols
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_SupportedProtocols
},
4233 { &hf_h225_neededFeatures
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_FeatureDescriptor
},
4234 { &hf_h225_desiredFeatures
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_FeatureDescriptor
},
4235 { &hf_h225_supportedFeatures
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_FeatureDescriptor
},
4236 { &hf_h225_parallelH245Control
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ParallelH245Control
},
4237 { &hf_h225_additionalSourceAddresses
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ExtendedAliasAddress
},
4238 { &hf_h225_hopCount_1_31
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_INTEGER_1_31
},
4239 { &hf_h225_displayName
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_DisplayName
},
4240 { NULL
, 0, 0, NULL
}
4244 dissect_h225_Setup_UUIE(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4245 h225_packet_info
* h225_pi
;
4246 contains_faststart
= false;
4247 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
4248 ett_h225_Setup_UUIE
, Setup_UUIE_sequence
);
4250 /* Add to packet info */
4251 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
4252 h225_set_cs_type(h225_pi
, H225_SETUP
, contains_faststart
);
4257 static const per_sequence_t FeatureSet_sequence
[] = {
4258 { &hf_h225_replacementFeatureSet
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
4259 { &hf_h225_neededFeatures
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_FeatureDescriptor
},
4260 { &hf_h225_desiredFeatures
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_FeatureDescriptor
},
4261 { &hf_h225_supportedFeatures
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_FeatureDescriptor
},
4262 { NULL
, 0, 0, NULL
}
4266 dissect_h225_FeatureSet(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4267 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
4268 ett_h225_FeatureSet
, FeatureSet_sequence
);
4274 static const per_sequence_t CallProceeding_UUIE_sequence
[] = {
4275 { &hf_h225_protocolIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ProtocolIdentifier
},
4276 { &hf_h225_uUIE_destinationInfo
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_EndpointType
},
4277 { &hf_h225_h245Address
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_H245TransportAddress
},
4278 { &hf_h225_callIdentifier
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallIdentifier
},
4279 { &hf_h225_h245SecurityMode
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_H245Security
},
4280 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
4281 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
4282 { &hf_h225_fastStart
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FastStart
},
4283 { &hf_h225_multipleCalls
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
4284 { &hf_h225_maintainConnection
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
4285 { &hf_h225_fastConnectRefused
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
4286 { &hf_h225_featureSet
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FeatureSet
},
4287 { NULL
, 0, 0, NULL
}
4291 dissect_h225_CallProceeding_UUIE(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4292 h225_packet_info
* h225_pi
;
4293 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
4294 ett_h225_CallProceeding_UUIE
, CallProceeding_UUIE_sequence
);
4296 /* Add to packet info */
4297 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
4298 h225_set_cs_type(h225_pi
, H225_CALL_PROCEDING
, contains_faststart
);
4303 static const per_sequence_t Connect_UUIE_sequence
[] = {
4304 { &hf_h225_protocolIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ProtocolIdentifier
},
4305 { &hf_h225_h245Address
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_H245TransportAddress
},
4306 { &hf_h225_uUIE_destinationInfo
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_EndpointType
},
4307 { &hf_h225_conferenceID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ConferenceIdentifier
},
4308 { &hf_h225_callIdentifier
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallIdentifier
},
4309 { &hf_h225_h245SecurityMode
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_H245Security
},
4310 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
4311 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
4312 { &hf_h225_fastStart
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FastStart
},
4313 { &hf_h225_multipleCalls
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
4314 { &hf_h225_maintainConnection
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
4315 { &hf_h225_language
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_Language
},
4316 { &hf_h225_connectedAddress
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
4317 { &hf_h225_presentationIndicator
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_PresentationIndicator
},
4318 { &hf_h225_screeningIndicator
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ScreeningIndicator
},
4319 { &hf_h225_fastConnectRefused
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
4320 { &hf_h225_serviceControl
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ServiceControlSession
},
4321 { &hf_h225_capacity
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallCapacity
},
4322 { &hf_h225_featureSet
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FeatureSet
},
4323 { &hf_h225_displayName
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_DisplayName
},
4324 { NULL
, 0, 0, NULL
}
4328 dissect_h225_Connect_UUIE(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4329 h225_packet_info
* h225_pi
;
4330 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
4331 ett_h225_Connect_UUIE
, Connect_UUIE_sequence
);
4333 /* Add to packet info */
4334 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
4335 h225_set_cs_type(h225_pi
, H225_CONNECT
, contains_faststart
);
4340 static const per_sequence_t Alerting_UUIE_sequence
[] = {
4341 { &hf_h225_protocolIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ProtocolIdentifier
},
4342 { &hf_h225_uUIE_destinationInfo
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_EndpointType
},
4343 { &hf_h225_h245Address
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_H245TransportAddress
},
4344 { &hf_h225_callIdentifier
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallIdentifier
},
4345 { &hf_h225_h245SecurityMode
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_H245Security
},
4346 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
4347 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
4348 { &hf_h225_fastStart
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FastStart
},
4349 { &hf_h225_multipleCalls
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
4350 { &hf_h225_maintainConnection
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
4351 { &hf_h225_alertingAddress
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
4352 { &hf_h225_presentationIndicator
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_PresentationIndicator
},
4353 { &hf_h225_screeningIndicator
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ScreeningIndicator
},
4354 { &hf_h225_fastConnectRefused
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
4355 { &hf_h225_serviceControl
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ServiceControlSession
},
4356 { &hf_h225_capacity
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallCapacity
},
4357 { &hf_h225_featureSet
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FeatureSet
},
4358 { &hf_h225_displayName
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_DisplayName
},
4359 { NULL
, 0, 0, NULL
}
4363 dissect_h225_Alerting_UUIE(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4364 h225_packet_info
* h225_pi
;
4365 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
4366 ett_h225_Alerting_UUIE
, Alerting_UUIE_sequence
);
4368 /* Add to packet info */
4369 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
4370 h225_set_cs_type(h225_pi
, H225_ALERTING
, contains_faststart
);
4375 static const per_sequence_t Information_UUIE_sequence
[] = {
4376 { &hf_h225_protocolIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ProtocolIdentifier
},
4377 { &hf_h225_callIdentifier
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallIdentifier
},
4378 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
4379 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
4380 { &hf_h225_fastStart
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FastStart
},
4381 { &hf_h225_fastConnectRefused
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
4382 { &hf_h225_circuitInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CircuitInfo
},
4383 { NULL
, 0, 0, NULL
}
4387 dissect_h225_Information_UUIE(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4388 h225_packet_info
* h225_pi
;
4389 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
4390 ett_h225_Information_UUIE
, Information_UUIE_sequence
);
4392 /* Add to packet info */
4393 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
4394 h225_set_cs_type(h225_pi
, H225_INFORMATION
, false);
4399 static const value_string h225_SecurityErrors_vals
[] = {
4400 { 0, "securityWrongSyncTime" },
4401 { 1, "securityReplay" },
4402 { 2, "securityWrongGeneralID" },
4403 { 3, "securityWrongSendersID" },
4404 { 4, "securityIntegrityFailed" },
4405 { 5, "securityWrongOID" },
4406 { 6, "securityDHmismatch" },
4407 { 7, "securityCertificateExpired" },
4408 { 8, "securityCertificateDateInvalid" },
4409 { 9, "securityCertificateRevoked" },
4410 { 10, "securityCertificateNotReadable" },
4411 { 11, "securityCertificateSignatureInvalid" },
4412 { 12, "securityCertificateMissing" },
4413 { 13, "securityCertificateIncomplete" },
4414 { 14, "securityUnsupportedCertificateAlgOID" },
4415 { 15, "securityUnknownCA" },
4419 static const per_choice_t SecurityErrors_choice
[] = {
4420 { 0, &hf_h225_securityWrongSyncTime
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4421 { 1, &hf_h225_securityReplay
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4422 { 2, &hf_h225_securityWrongGeneralID
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4423 { 3, &hf_h225_securityWrongSendersID
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4424 { 4, &hf_h225_securityIntegrityFailed
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4425 { 5, &hf_h225_securityWrongOID
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4426 { 6, &hf_h225_securityDHmismatch
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4427 { 7, &hf_h225_securityCertificateExpired
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4428 { 8, &hf_h225_securityCertificateDateInvalid
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4429 { 9, &hf_h225_securityCertificateRevoked
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4430 { 10, &hf_h225_securityCertificateNotReadable
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4431 { 11, &hf_h225_securityCertificateSignatureInvalid
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4432 { 12, &hf_h225_securityCertificateMissing
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4433 { 13, &hf_h225_securityCertificateIncomplete
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4434 { 14, &hf_h225_securityUnsupportedCertificateAlgOID
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4435 { 15, &hf_h225_securityUnknownCA
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4436 { 0, NULL
, 0, NULL
}
4440 dissect_h225_SecurityErrors(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4441 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
4442 ett_h225_SecurityErrors
, SecurityErrors_choice
,
4449 const value_string h225_ReleaseCompleteReason_vals
[] = {
4450 { 0, "noBandwidth" },
4451 { 1, "gatekeeperResources" },
4452 { 2, "unreachableDestination" },
4453 { 3, "destinationRejection" },
4454 { 4, "invalidRevision" },
4455 { 5, "noPermission" },
4456 { 6, "unreachableGatekeeper" },
4457 { 7, "gatewayResources" },
4458 { 8, "badFormatAddress" },
4459 { 9, "adaptiveBusy" },
4461 { 11, "undefinedReason" },
4462 { 12, "facilityCallDeflection" },
4463 { 13, "securityDenied" },
4464 { 14, "calledPartyNotRegistered" },
4465 { 15, "callerNotRegistered" },
4466 { 16, "newConnectionNeeded" },
4467 { 17, "nonStandardReason" },
4468 { 18, "replaceWithConferenceInvite" },
4469 { 19, "genericDataReason" },
4470 { 20, "neededFeatureNotSupported" },
4471 { 21, "tunnelledSignallingRejected" },
4472 { 22, "invalidCID" },
4473 { 23, "securityError" },
4474 { 24, "hopCountExceeded" },
4478 static const per_choice_t ReleaseCompleteReason_choice
[] = {
4479 { 0, &hf_h225_noBandwidth
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4480 { 1, &hf_h225_gatekeeperResources
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4481 { 2, &hf_h225_unreachableDestination
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4482 { 3, &hf_h225_destinationRejection
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4483 { 4, &hf_h225_invalidRevision
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4484 { 5, &hf_h225_noPermission
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4485 { 6, &hf_h225_unreachableGatekeeper
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4486 { 7, &hf_h225_gatewayResources
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4487 { 8, &hf_h225_badFormatAddress
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4488 { 9, &hf_h225_adaptiveBusy
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4489 { 10, &hf_h225_inConf
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4490 { 11, &hf_h225_undefinedReason
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4491 { 12, &hf_h225_facilityCallDeflection
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
4492 { 13, &hf_h225_securityDenied
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
4493 { 14, &hf_h225_calledPartyNotRegistered
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
4494 { 15, &hf_h225_callerNotRegistered
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
4495 { 16, &hf_h225_newConnectionNeeded
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
4496 { 17, &hf_h225_nonStandardReason
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NonStandardParameter
},
4497 { 18, &hf_h225_replaceWithConferenceInvite
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_ConferenceIdentifier
},
4498 { 19, &hf_h225_genericDataReason
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
4499 { 20, &hf_h225_neededFeatureNotSupported
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
4500 { 21, &hf_h225_tunnelledSignallingRejected
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
4501 { 22, &hf_h225_invalidCID
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
4502 { 23, &hf_h225_rLC_securityError
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_SecurityErrors
},
4503 { 24, &hf_h225_hopCountExceeded
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
4504 { 0, NULL
, 0, NULL
}
4508 dissect_h225_ReleaseCompleteReason(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4510 h225_packet_info
* h225_pi
;
4511 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
4513 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
4514 ett_h225_ReleaseCompleteReason
, ReleaseCompleteReason_choice
,
4517 if (h225_pi
!= NULL
) {
4518 h225_pi
->reason
= value
;
4525 static const per_sequence_t ReleaseComplete_UUIE_sequence
[] = {
4526 { &hf_h225_protocolIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ProtocolIdentifier
},
4527 { &hf_h225_releaseCompleteReason
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ReleaseCompleteReason
},
4528 { &hf_h225_callIdentifier
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallIdentifier
},
4529 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
4530 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
4531 { &hf_h225_busyAddress
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
4532 { &hf_h225_presentationIndicator
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_PresentationIndicator
},
4533 { &hf_h225_screeningIndicator
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ScreeningIndicator
},
4534 { &hf_h225_capacity
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallCapacity
},
4535 { &hf_h225_serviceControl
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ServiceControlSession
},
4536 { &hf_h225_featureSet
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FeatureSet
},
4537 { &hf_h225_destinationInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_EndpointType
},
4538 { &hf_h225_displayName
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_DisplayName
},
4539 { NULL
, 0, 0, NULL
}
4543 dissect_h225_ReleaseComplete_UUIE(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4544 h225_packet_info
* h225_pi
;
4545 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
4546 ett_h225_ReleaseComplete_UUIE
, ReleaseComplete_UUIE_sequence
);
4548 /* Add to packet info */
4549 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
4550 h225_set_cs_type(h225_pi
, H225_RELEASE_COMPLET
, false);
4555 const value_string FacilityReason_vals
[] = {
4556 { 0, "routeCallToGatekeeper" },
4557 { 1, "callForwarded" },
4558 { 2, "routeCallToMC" },
4559 { 3, "undefinedReason" },
4560 { 4, "conferenceListChoice" },
4564 { 8, "featureSetUpdate" },
4565 { 9, "forwardedElements" },
4566 { 10, "transportedInformation" },
4570 static const per_choice_t FacilityReason_choice
[] = {
4571 { 0, &hf_h225_routeCallToGatekeeper
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4572 { 1, &hf_h225_callForwarded
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4573 { 2, &hf_h225_routeCallToMC
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4574 { 3, &hf_h225_undefinedReason
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
4575 { 4, &hf_h225_conferenceListChoice
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
4576 { 5, &hf_h225_startH245
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
4577 { 6, &hf_h225_noH245
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
4578 { 7, &hf_h225_newTokens
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
4579 { 8, &hf_h225_featureSetUpdate
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
4580 { 9, &hf_h225_forwardedElements
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
4581 { 10, &hf_h225_transportedInformation
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
4582 { 0, NULL
, 0, NULL
}
4586 dissect_h225_FacilityReason(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4588 h225_packet_info
* h225_pi
;
4589 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
4591 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
4592 ett_h225_FacilityReason
, FacilityReason_choice
,
4595 if (h225_pi
!= NULL
) {
4596 h225_pi
->reason
= value
;
4603 static const per_sequence_t ConferenceList_sequence
[] = {
4604 { &hf_h225_conferenceID
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ConferenceIdentifier
},
4605 { &hf_h225_conferenceAlias
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AliasAddress
},
4606 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
4607 { NULL
, 0, 0, NULL
}
4611 dissect_h225_ConferenceList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4612 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
4613 ett_h225_ConferenceList
, ConferenceList_sequence
);
4619 static const per_sequence_t SEQUENCE_OF_ConferenceList_sequence_of
[1] = {
4620 { &hf_h225_conferences_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_ConferenceList
},
4624 dissect_h225_SEQUENCE_OF_ConferenceList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4625 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
4626 ett_h225_SEQUENCE_OF_ConferenceList
, SEQUENCE_OF_ConferenceList_sequence_of
);
4632 static const per_sequence_t Facility_UUIE_sequence
[] = {
4633 { &hf_h225_protocolIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ProtocolIdentifier
},
4634 { &hf_h225_alternativeAddress
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TransportAddress
},
4635 { &hf_h225_alternativeAliasAddress
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
4636 { &hf_h225_conferenceID
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ConferenceIdentifier
},
4637 { &hf_h225_facilityReason
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_FacilityReason
},
4638 { &hf_h225_callIdentifier
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallIdentifier
},
4639 { &hf_h225_destExtraCallInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
4640 { &hf_h225_uUIE_remoteExtensionAddress
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AliasAddress
},
4641 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
4642 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
4643 { &hf_h225_conferences
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ConferenceList
},
4644 { &hf_h225_h245Address
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_H245TransportAddress
},
4645 { &hf_h225_fastStart
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FastStart
},
4646 { &hf_h225_multipleCalls
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
4647 { &hf_h225_maintainConnection
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
4648 { &hf_h225_fastConnectRefused
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
4649 { &hf_h225_serviceControl
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ServiceControlSession
},
4650 { &hf_h225_circuitInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CircuitInfo
},
4651 { &hf_h225_featureSet
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FeatureSet
},
4652 { &hf_h225_uUIE_destinationInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_EndpointType
},
4653 { &hf_h225_h245SecurityMode
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_H245Security
},
4654 { NULL
, 0, 0, NULL
}
4658 dissect_h225_Facility_UUIE(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4659 h225_packet_info
* h225_pi
;
4660 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
4661 ett_h225_Facility_UUIE
, Facility_UUIE_sequence
);
4663 /* Add to packet info */
4664 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
4665 h225_set_cs_type(h225_pi
, H225_FACILITY
, false);
4670 static const per_sequence_t Progress_UUIE_sequence
[] = {
4671 { &hf_h225_protocolIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ProtocolIdentifier
},
4672 { &hf_h225_uUIE_destinationInfo
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_EndpointType
},
4673 { &hf_h225_h245Address
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_H245TransportAddress
},
4674 { &hf_h225_callIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallIdentifier
},
4675 { &hf_h225_h245SecurityMode
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_H245Security
},
4676 { &hf_h225_tokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
4677 { &hf_h225_cryptoTokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
4678 { &hf_h225_fastStart
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FastStart
},
4679 { &hf_h225_multipleCalls
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
4680 { &hf_h225_maintainConnection
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
4681 { &hf_h225_fastConnectRefused
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
4682 { NULL
, 0, 0, NULL
}
4686 dissect_h225_Progress_UUIE(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4687 h225_packet_info
* h225_pi
;
4688 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
4689 ett_h225_Progress_UUIE
, Progress_UUIE_sequence
);
4691 /* Add to packet info */
4692 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
4693 h225_set_cs_type(h225_pi
, H225_PROGRESS
, contains_faststart
);
4700 dissect_h225_T_empty_flg(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4701 h225_packet_info
* h225_pi
;
4702 offset
= dissect_per_null(tvb
, offset
, actx
, tree
, hf_index
);
4704 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
4705 if (h225_pi
!= NULL
) {
4706 h225_pi
->cs_type
= H225_EMPTY
;
4712 static const per_sequence_t Status_UUIE_sequence
[] = {
4713 { &hf_h225_protocolIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ProtocolIdentifier
},
4714 { &hf_h225_callIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallIdentifier
},
4715 { &hf_h225_tokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
4716 { &hf_h225_cryptoTokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
4717 { NULL
, 0, 0, NULL
}
4721 dissect_h225_Status_UUIE(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4722 h225_packet_info
* h225_pi
;
4723 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
4724 ett_h225_Status_UUIE
, Status_UUIE_sequence
);
4726 /* Add to packet info */
4727 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
4728 h225_set_cs_type(h225_pi
, H225_STATUS
, false);
4733 static const per_sequence_t StatusInquiry_UUIE_sequence
[] = {
4734 { &hf_h225_protocolIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ProtocolIdentifier
},
4735 { &hf_h225_callIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallIdentifier
},
4736 { &hf_h225_tokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
4737 { &hf_h225_cryptoTokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
4738 { NULL
, 0, 0, NULL
}
4742 dissect_h225_StatusInquiry_UUIE(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4743 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
4744 ett_h225_StatusInquiry_UUIE
, StatusInquiry_UUIE_sequence
);
4750 static const per_sequence_t SetupAcknowledge_UUIE_sequence
[] = {
4751 { &hf_h225_protocolIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ProtocolIdentifier
},
4752 { &hf_h225_callIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallIdentifier
},
4753 { &hf_h225_tokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
4754 { &hf_h225_cryptoTokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
4755 { NULL
, 0, 0, NULL
}
4759 dissect_h225_SetupAcknowledge_UUIE(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4760 h225_packet_info
* h225_pi
;
4761 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
4762 ett_h225_SetupAcknowledge_UUIE
, SetupAcknowledge_UUIE_sequence
);
4764 /* Add to packet info */
4765 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
4766 h225_set_cs_type(h225_pi
, H225_SETUP_ACK
, false);
4771 static const per_sequence_t Notify_UUIE_sequence
[] = {
4772 { &hf_h225_protocolIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ProtocolIdentifier
},
4773 { &hf_h225_callIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallIdentifier
},
4774 { &hf_h225_tokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
4775 { &hf_h225_cryptoTokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
4776 { &hf_h225_connectedAddress
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
4777 { &hf_h225_presentationIndicator
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_PresentationIndicator
},
4778 { &hf_h225_screeningIndicator
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ScreeningIndicator
},
4779 { &hf_h225_destinationInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_EndpointType
},
4780 { &hf_h225_displayName
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_DisplayName
},
4781 { NULL
, 0, 0, NULL
}
4785 dissect_h225_Notify_UUIE(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4786 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
4787 ett_h225_Notify_UUIE
, Notify_UUIE_sequence
);
4793 const value_string T_h323_message_body_vals
[] = {
4795 { 1, "callProceeding" },
4798 { 4, "information" },
4799 { 5, "releaseComplete" },
4804 { 10, "statusInquiry" },
4805 { 11, "setupAcknowledge" },
4810 static const per_choice_t T_h323_message_body_choice
[] = {
4811 { 0, &hf_h225_setup
, ASN1_EXTENSION_ROOT
, dissect_h225_Setup_UUIE
},
4812 { 1, &hf_h225_callProceeding
, ASN1_EXTENSION_ROOT
, dissect_h225_CallProceeding_UUIE
},
4813 { 2, &hf_h225_connect
, ASN1_EXTENSION_ROOT
, dissect_h225_Connect_UUIE
},
4814 { 3, &hf_h225_alerting
, ASN1_EXTENSION_ROOT
, dissect_h225_Alerting_UUIE
},
4815 { 4, &hf_h225_information
, ASN1_EXTENSION_ROOT
, dissect_h225_Information_UUIE
},
4816 { 5, &hf_h225_releaseComplete
, ASN1_EXTENSION_ROOT
, dissect_h225_ReleaseComplete_UUIE
},
4817 { 6, &hf_h225_facility
, ASN1_EXTENSION_ROOT
, dissect_h225_Facility_UUIE
},
4818 { 7, &hf_h225_progress
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_Progress_UUIE
},
4819 { 8, &hf_h225_empty_flg
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_T_empty_flg
},
4820 { 9, &hf_h225_status
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_Status_UUIE
},
4821 { 10, &hf_h225_statusInquiry
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_StatusInquiry_UUIE
},
4822 { 11, &hf_h225_setupAcknowledge
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_SetupAcknowledge_UUIE
},
4823 { 12, &hf_h225_notify
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_Notify_UUIE
},
4824 { 0, NULL
, 0, NULL
}
4828 dissect_h225_T_h323_message_body(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4829 int32_t message_body_val
;
4830 h225_packet_info
* h225_pi
;
4832 contains_faststart
= false;
4833 call_id_guid
= NULL
;
4834 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
4835 ett_h225_T_h323_message_body
, T_h323_message_body_choice
,
4838 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, "CS: %s ",
4839 val_to_str_const(message_body_val
, T_h323_message_body_vals
, "<unknown>"));
4841 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
4842 if (h225_pi
!= NULL
) {
4843 if (h225_pi
->msg_type
== H225_CS
) {
4844 /* Don't override msg_tag value from IRR */
4845 h225_pi
->msg_tag
= message_body_val
;
4849 h225_pi
->guid
= *call_id_guid
;
4853 if (contains_faststart
== true )
4855 col_append_str(actx
->pinfo
->cinfo
, COL_INFO
, "OpenLogicalChannel " );
4858 col_set_fence(actx
->pinfo
->cinfo
,COL_INFO
);
4867 dissect_h225_T_h4501SupplementaryService_item(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4868 tvbuff_t
*h4501_tvb
= NULL
;
4870 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
4871 NO_BOUND
, NO_BOUND
, false, &h4501_tvb
);
4873 if (h4501_tvb
&& tvb_reported_length(h4501_tvb
)) {
4874 call_dissector(h4501_handle
, h4501_tvb
, actx
->pinfo
, tree
);
4881 static const per_sequence_t T_h4501SupplementaryService_sequence_of
[1] = {
4882 { &hf_h225_h4501SupplementaryService_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_T_h4501SupplementaryService_item
},
4886 dissect_h225_T_h4501SupplementaryService(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4887 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
4888 ett_h225_T_h4501SupplementaryService
, T_h4501SupplementaryService_sequence_of
);
4896 dissect_h225_T_h245Tunnelling(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4897 h225_packet_info
* h225_pi
;
4898 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
4899 if (h225_pi
!= NULL
) {
4900 offset
= dissect_per_boolean(tvb
, offset
, actx
, tree
, hf_index
, &(h225_pi
->is_h245Tunneling
));
4909 dissect_h225_H245Control_item(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4910 tvbuff_t
*h245_tvb
= NULL
;
4912 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
4913 NO_BOUND
, NO_BOUND
, false, &h245_tvb
);
4915 next_tvb_add_handle(h245_list
, h245_tvb
, (h225_h245_in_tree
)?tree
:NULL
, h245dg_handle
);
4921 static const per_sequence_t H245Control_sequence_of
[1] = {
4922 { &hf_h225_H245Control_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_H245Control_item
},
4926 dissect_h225_H245Control(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4927 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
4928 ett_h225_H245Control
, H245Control_sequence_of
);
4934 static const per_sequence_t SEQUENCE_OF_NonStandardParameter_sequence_of
[1] = {
4935 { &hf_h225_nonStandardControl_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_NonStandardParameter
},
4939 dissect_h225_SEQUENCE_OF_NonStandardParameter(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4940 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
4941 ett_h225_SEQUENCE_OF_NonStandardParameter
, SEQUENCE_OF_NonStandardParameter_sequence_of
);
4947 static const per_sequence_t CallLinkage_sequence
[] = {
4948 { &hf_h225_globalCallId
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_GloballyUniqueID
},
4949 { &hf_h225_threadId
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_GloballyUniqueID
},
4950 { NULL
, 0, 0, NULL
}
4954 dissect_h225_CallLinkage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4955 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
4956 ett_h225_CallLinkage
, CallLinkage_sequence
);
4964 dissect_h225_T_messageContent_item(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4965 tvbuff_t
*next_tvb
= NULL
;
4967 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
4968 NO_BOUND
, NO_BOUND
, false, &next_tvb
);
4970 next_tvb_add_handle(tp_list
, next_tvb
, (h225_tp_in_tree
)?tree
:NULL
, tp_handle
);
4976 static const per_sequence_t T_messageContent_sequence_of
[1] = {
4977 { &hf_h225_messageContent_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_T_messageContent_item
},
4981 dissect_h225_T_messageContent(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4982 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
4983 ett_h225_T_messageContent
, T_messageContent_sequence_of
);
4989 static const per_sequence_t T_tunnelledSignallingMessage_sequence
[] = {
4990 { &hf_h225_tunnelledProtocolID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_TunnelledProtocol
},
4991 { &hf_h225_messageContent
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_T_messageContent
},
4992 { &hf_h225_tunnellingRequired
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
4993 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
4994 { NULL
, 0, 0, NULL
}
4998 dissect_h225_T_tunnelledSignallingMessage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5000 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5001 ett_h225_T_tunnelledSignallingMessage
, T_tunnelledSignallingMessage_sequence
);
5009 dissect_h225_OCTET_STRING(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5010 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
5011 NO_BOUND
, NO_BOUND
, false, NULL
);
5017 static const per_sequence_t StimulusControl_sequence
[] = {
5018 { &hf_h225_nonStandard
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
5019 { &hf_h225_isText
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
5020 { &hf_h225_h248Message
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_OCTET_STRING
},
5021 { NULL
, 0, 0, NULL
}
5025 dissect_h225_StimulusControl(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5026 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5027 ett_h225_StimulusControl
, StimulusControl_sequence
);
5033 static const per_sequence_t H323_UU_PDU_sequence
[] = {
5034 { &hf_h225_h323_message_body
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_T_h323_message_body
},
5035 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
5036 { &hf_h225_h4501SupplementaryService
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_T_h4501SupplementaryService
},
5037 { &hf_h225_h245Tunnelling
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_T_h245Tunnelling
},
5038 { &hf_h225_h245Control
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_H245Control
},
5039 { &hf_h225_nonStandardControl
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_NonStandardParameter
},
5040 { &hf_h225_callLinkage
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallLinkage
},
5041 { &hf_h225_tunnelledSignallingMessage
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_T_tunnelledSignallingMessage
},
5042 { &hf_h225_provisionalRespToH245Tunnelling
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
5043 { &hf_h225_stimulusControl
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_StimulusControl
},
5044 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
5045 { NULL
, 0, 0, NULL
}
5049 dissect_h225_H323_UU_PDU(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5050 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5051 ett_h225_H323_UU_PDU
, H323_UU_PDU_sequence
);
5059 dissect_h225_OCTET_STRING_SIZE_1_131(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5060 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
5061 1, 131, false, NULL
);
5067 static const per_sequence_t T_user_data_sequence
[] = {
5068 { &hf_h225_protocol_discriminator
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_INTEGER_0_255
},
5069 { &hf_h225_user_information
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_OCTET_STRING_SIZE_1_131
},
5070 { NULL
, 0, 0, NULL
}
5074 dissect_h225_T_user_data(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5075 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5076 ett_h225_T_user_data
, T_user_data_sequence
);
5082 static const per_sequence_t H323_UserInformation_sequence
[] = {
5083 { &hf_h225_h323_uu_pdu
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_H323_UU_PDU
},
5084 { &hf_h225_user_data
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_T_user_data
},
5085 { NULL
, 0, 0, NULL
}
5089 dissect_h225_H323_UserInformation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5090 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5091 ett_h225_H323_UserInformation
, H323_UserInformation_sequence
);
5097 static const per_sequence_t T_range_sequence
[] = {
5098 { &hf_h225_startOfRange
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_PartyNumber
},
5099 { &hf_h225_endOfRange
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_PartyNumber
},
5100 { NULL
, 0, 0, NULL
}
5104 dissect_h225_T_range(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5105 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5106 ett_h225_T_range
, T_range_sequence
);
5112 static const value_string h225_AddressPattern_vals
[] = {
5118 static const per_choice_t AddressPattern_choice
[] = {
5119 { 0, &hf_h225_wildcard
, ASN1_EXTENSION_ROOT
, dissect_h225_AliasAddress
},
5120 { 1, &hf_h225_range
, ASN1_EXTENSION_ROOT
, dissect_h225_T_range
},
5121 { 0, NULL
, 0, NULL
}
5125 dissect_h225_AddressPattern(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5126 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
5127 ett_h225_AddressPattern
, AddressPattern_choice
,
5134 static const per_sequence_t SEQUENCE_OF_TransportAddress_sequence_of
[1] = {
5135 { &hf_h225_callSignalAddress_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_TransportAddress
},
5139 dissect_h225_SEQUENCE_OF_TransportAddress(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5140 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
5141 ett_h225_SEQUENCE_OF_TransportAddress
, SEQUENCE_OF_TransportAddress_sequence_of
);
5149 dissect_h225_INTEGER_0_127(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5150 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5151 0U, 127U, NULL
, false);
5157 static const per_sequence_t AlternateTransportAddresses_sequence
[] = {
5158 { &hf_h225_annexE
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_TransportAddress
},
5159 { &hf_h225_sctp
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_TransportAddress
},
5160 { NULL
, 0, 0, NULL
}
5164 dissect_h225_AlternateTransportAddresses(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5165 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5166 ett_h225_AlternateTransportAddresses
, AlternateTransportAddresses_sequence
);
5172 static const per_sequence_t Endpoint_sequence
[] = {
5173 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
5174 { &hf_h225_aliasAddress
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
5175 { &hf_h225_callSignalAddress
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_TransportAddress
},
5176 { &hf_h225_rasAddress
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_TransportAddress
},
5177 { &hf_h225_endpointType
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_EndpointType
},
5178 { &hf_h225_tokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
5179 { &hf_h225_cryptoTokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
5180 { &hf_h225_priority
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_INTEGER_0_127
},
5181 { &hf_h225_remoteExtensionAddress
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
5182 { &hf_h225_destExtraCallInfo
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
5183 { &hf_h225_alternateTransportAddresses
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AlternateTransportAddresses
},
5184 { &hf_h225_circuitInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CircuitInfo
},
5185 { &hf_h225_featureSet
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FeatureSet
},
5186 { NULL
, 0, 0, NULL
}
5190 dissect_h225_Endpoint(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5191 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5192 ett_h225_Endpoint
, Endpoint_sequence
);
5198 static const value_string h225_UseSpecifiedTransport_vals
[] = {
5205 static const per_choice_t UseSpecifiedTransport_choice
[] = {
5206 { 0, &hf_h225_tcp
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
5207 { 1, &hf_h225_annexE_flg
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
5208 { 2, &hf_h225_sctp_flg
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
5209 { 0, NULL
, 0, NULL
}
5213 dissect_h225_UseSpecifiedTransport(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5214 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
5215 ett_h225_UseSpecifiedTransport
, UseSpecifiedTransport_choice
,
5222 static const per_sequence_t AlternateGK_sequence
[] = {
5223 { &hf_h225_alternateGK_rasAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_TransportAddress
},
5224 { &hf_h225_gatekeeperIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_GatekeeperIdentifier
},
5225 { &hf_h225_needToRegister
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
5226 { &hf_h225_priority
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_INTEGER_0_127
},
5227 { NULL
, 0, 0, NULL
}
5231 dissect_h225_AlternateGK(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5232 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5233 ett_h225_AlternateGK
, AlternateGK_sequence
);
5239 static const per_sequence_t SEQUENCE_OF_AlternateGK_sequence_of
[1] = {
5240 { &hf_h225_alternateGatekeeper_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_AlternateGK
},
5244 dissect_h225_SEQUENCE_OF_AlternateGK(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5245 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
5246 ett_h225_SEQUENCE_OF_AlternateGK
, SEQUENCE_OF_AlternateGK_sequence_of
);
5252 static const per_sequence_t AltGKInfo_sequence
[] = {
5253 { &hf_h225_alternateGatekeeper
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SEQUENCE_OF_AlternateGK
},
5254 { &hf_h225_altGKisPermanent
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
5255 { NULL
, 0, 0, NULL
}
5259 dissect_h225_AltGKInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5260 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5261 ett_h225_AltGKInfo
, AltGKInfo_sequence
);
5267 static const value_string h225_SecurityErrors2_vals
[] = {
5268 { 0, "securityWrongSyncTime" },
5269 { 1, "securityReplay" },
5270 { 2, "securityWrongGeneralID" },
5271 { 3, "securityWrongSendersID" },
5272 { 4, "securityIntegrityFailed" },
5273 { 5, "securityWrongOID" },
5277 static const per_choice_t SecurityErrors2_choice
[] = {
5278 { 0, &hf_h225_securityWrongSyncTime
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
5279 { 1, &hf_h225_securityReplay
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
5280 { 2, &hf_h225_securityWrongGeneralID
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
5281 { 3, &hf_h225_securityWrongSendersID
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
5282 { 4, &hf_h225_securityIntegrityFailed
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
5283 { 5, &hf_h225_securityWrongOID
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
5284 { 0, NULL
, 0, NULL
}
5288 dissect_h225_SecurityErrors2(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5289 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
5290 ett_h225_SecurityErrors2
, SecurityErrors2_choice
,
5299 dissect_h225_RequestSeqNum(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5300 h225_packet_info
* h225_pi
;
5301 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
5302 if (h225_pi
!= NULL
) {
5303 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5304 1U, 65535U, &(h225_pi
->requestSeqNum
), false);
5313 dissect_h225_TimeToLive(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5314 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5315 1U, 4294967295U, NULL
, false);
5323 dissect_h225_H248PackagesDescriptor(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5324 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
5325 NO_BOUND
, NO_BOUND
, false, NULL
);
5331 static const value_string h225_EncryptIntAlg_vals
[] = {
5332 { 0, "nonStandard" },
5333 { 1, "isoAlgorithm" },
5337 static const per_choice_t EncryptIntAlg_choice
[] = {
5338 { 0, &hf_h225_nonStandard
, ASN1_EXTENSION_ROOT
, dissect_h225_NonStandardParameter
},
5339 { 1, &hf_h225_isoAlgorithm
, ASN1_EXTENSION_ROOT
, dissect_h225_OBJECT_IDENTIFIER
},
5340 { 0, NULL
, 0, NULL
}
5344 dissect_h225_EncryptIntAlg(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5345 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
5346 ett_h225_EncryptIntAlg
, EncryptIntAlg_choice
,
5353 static const value_string h225_NonIsoIntegrityMechanism_vals
[] = {
5355 { 1, "hMAC-iso10118-2-s" },
5356 { 2, "hMAC-iso10118-2-l" },
5357 { 3, "hMAC-iso10118-3" },
5361 static const per_choice_t NonIsoIntegrityMechanism_choice
[] = {
5362 { 0, &hf_h225_hMAC_MD5
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
5363 { 1, &hf_h225_hMAC_iso10118_2_s
, ASN1_EXTENSION_ROOT
, dissect_h225_EncryptIntAlg
},
5364 { 2, &hf_h225_hMAC_iso10118_2_l
, ASN1_EXTENSION_ROOT
, dissect_h225_EncryptIntAlg
},
5365 { 3, &hf_h225_hMAC_iso10118_3
, ASN1_EXTENSION_ROOT
, dissect_h225_OBJECT_IDENTIFIER
},
5366 { 0, NULL
, 0, NULL
}
5370 dissect_h225_NonIsoIntegrityMechanism(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5371 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
5372 ett_h225_NonIsoIntegrityMechanism
, NonIsoIntegrityMechanism_choice
,
5379 const value_string h225_IntegrityMechanism_vals
[] = {
5380 { 0, "nonStandard" },
5387 static const per_choice_t IntegrityMechanism_choice
[] = {
5388 { 0, &hf_h225_nonStandard
, ASN1_EXTENSION_ROOT
, dissect_h225_NonStandardParameter
},
5389 { 1, &hf_h225_digSig
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
5390 { 2, &hf_h225_iso9797
, ASN1_EXTENSION_ROOT
, dissect_h225_OBJECT_IDENTIFIER
},
5391 { 3, &hf_h225_nonIsoIM
, ASN1_EXTENSION_ROOT
, dissect_h225_NonIsoIntegrityMechanism
},
5392 { 0, NULL
, 0, NULL
}
5396 dissect_h225_IntegrityMechanism(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5397 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
5398 ett_h225_IntegrityMechanism
, IntegrityMechanism_choice
,
5407 dissect_h225_BIT_STRING(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5408 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
5409 NO_BOUND
, NO_BOUND
, false, NULL
, 0, NULL
, NULL
);
5415 static const per_sequence_t ICV_sequence
[] = {
5416 { &hf_h225_algorithmOID
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_OBJECT_IDENTIFIER
},
5417 { &hf_h225_icv
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_BIT_STRING
},
5418 { NULL
, 0, 0, NULL
}
5422 dissect_h225_ICV(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5423 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5424 ett_h225_ICV
, ICV_sequence
);
5430 static const per_sequence_t CapacityReportingCapability_sequence
[] = {
5431 { &hf_h225_canReportCallCapacity
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
5432 { NULL
, 0, 0, NULL
}
5436 dissect_h225_CapacityReportingCapability(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5437 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5438 ett_h225_CapacityReportingCapability
, CapacityReportingCapability_sequence
);
5444 static const per_sequence_t CapacityReportingSpecification_when_sequence
[] = {
5445 { &hf_h225_callStart
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
5446 { &hf_h225_callEnd
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
5447 { NULL
, 0, 0, NULL
}
5451 dissect_h225_CapacityReportingSpecification_when(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5452 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5453 ett_h225_CapacityReportingSpecification_when
, CapacityReportingSpecification_when_sequence
);
5459 static const per_sequence_t CapacityReportingSpecification_sequence
[] = {
5460 { &hf_h225_capacityReportingSpecification_when
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CapacityReportingSpecification_when
},
5461 { NULL
, 0, 0, NULL
}
5465 dissect_h225_CapacityReportingSpecification(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5466 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5467 ett_h225_CapacityReportingSpecification
, CapacityReportingSpecification_sequence
);
5473 static const per_sequence_t RasUsageInfoTypes_sequence
[] = {
5474 { &hf_h225_nonStandardUsageTypes
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SEQUENCE_OF_NonStandardParameter
},
5475 { &hf_h225_startTime
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
5476 { &hf_h225_endTime_flg
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
5477 { &hf_h225_terminationCause_flg
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
5478 { NULL
, 0, 0, NULL
}
5482 dissect_h225_RasUsageInfoTypes(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5483 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5484 ett_h225_RasUsageInfoTypes
, RasUsageInfoTypes_sequence
);
5490 static const per_sequence_t RasUsageSpecification_when_sequence
[] = {
5491 { &hf_h225_start
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
5492 { &hf_h225_end
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
5493 { &hf_h225_inIrr
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
5494 { NULL
, 0, 0, NULL
}
5498 dissect_h225_RasUsageSpecification_when(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5499 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5500 ett_h225_RasUsageSpecification_when
, RasUsageSpecification_when_sequence
);
5506 static const per_sequence_t RasUsageSpecificationcallStartingPoint_sequence
[] = {
5507 { &hf_h225_alerting_flg
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
5508 { &hf_h225_connect_flg
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
5509 { NULL
, 0, 0, NULL
}
5513 dissect_h225_RasUsageSpecificationcallStartingPoint(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5514 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5515 ett_h225_RasUsageSpecificationcallStartingPoint
, RasUsageSpecificationcallStartingPoint_sequence
);
5521 static const per_sequence_t RasUsageSpecification_sequence
[] = {
5522 { &hf_h225_when
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RasUsageSpecification_when
},
5523 { &hf_h225_ras_callStartingPoint
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_RasUsageSpecificationcallStartingPoint
},
5524 { &hf_h225_required
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RasUsageInfoTypes
},
5525 { NULL
, 0, 0, NULL
}
5529 dissect_h225_RasUsageSpecification(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5530 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5531 ett_h225_RasUsageSpecification
, RasUsageSpecification_sequence
);
5537 static const per_sequence_t RasUsageInformation_sequence
[] = {
5538 { &hf_h225_nonStandardUsageFields
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SEQUENCE_OF_NonStandardParameter
},
5539 { &hf_h225_alertingTime
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h235_TimeStamp
},
5540 { &hf_h225_connectTime
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h235_TimeStamp
},
5541 { &hf_h225_endTime
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h235_TimeStamp
},
5542 { NULL
, 0, 0, NULL
}
5546 dissect_h225_RasUsageInformation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5547 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5548 ett_h225_RasUsageInformation
, RasUsageInformation_sequence
);
5556 dissect_h225_OCTET_STRING_SIZE_2_32(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5557 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
5558 2, 32, false, NULL
);
5564 static const value_string h225_CallTerminationCause_vals
[] = {
5565 { 0, "releaseCompleteReason" },
5566 { 1, "releaseCompleteCauseIE" },
5570 static const per_choice_t CallTerminationCause_choice
[] = {
5571 { 0, &hf_h225_releaseCompleteReason
, ASN1_EXTENSION_ROOT
, dissect_h225_ReleaseCompleteReason
},
5572 { 1, &hf_h225_releaseCompleteCauseIE
, ASN1_EXTENSION_ROOT
, dissect_h225_OCTET_STRING_SIZE_2_32
},
5573 { 0, NULL
, 0, NULL
}
5577 dissect_h225_CallTerminationCause(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5578 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
5579 ett_h225_CallTerminationCause
, CallTerminationCause_choice
,
5586 static const per_sequence_t TransportChannelInfo_sequence
[] = {
5587 { &hf_h225_sendAddress
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TransportAddress
},
5588 { &hf_h225_recvAddress
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TransportAddress
},
5589 { NULL
, 0, 0, NULL
}
5593 dissect_h225_TransportChannelInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5594 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5595 ett_h225_TransportChannelInfo
, TransportChannelInfo_sequence
);
5601 static const per_sequence_t BandwidthDetails_sequence
[] = {
5602 { &hf_h225_sender
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
5603 { &hf_h225_multicast
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
5604 { &hf_h225_bandwidth
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BandWidth
},
5605 { &hf_h225_rtcpAddresses
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_TransportChannelInfo
},
5606 { NULL
, 0, 0, NULL
}
5610 dissect_h225_BandwidthDetails(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5611 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5612 ett_h225_BandwidthDetails
, BandwidthDetails_sequence
);
5618 static const per_sequence_t CallCreditCapability_sequence
[] = {
5619 { &hf_h225_canDisplayAmountString
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_BOOLEAN
},
5620 { &hf_h225_canEnforceDurationLimit
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_BOOLEAN
},
5621 { NULL
, 0, 0, NULL
}
5625 dissect_h225_CallCreditCapability(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5626 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5627 ett_h225_CallCreditCapability
, CallCreditCapability_sequence
);
5635 dissect_h225_PrintableString(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5636 offset
= dissect_per_PrintableString(tvb
, offset
, actx
, tree
, hf_index
,
5637 NO_BOUND
, NO_BOUND
, false,
5646 dissect_h225_INTEGER_1_255(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5647 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5648 1U, 255U, NULL
, false);
5654 static const per_sequence_t T_associatedSessionIds_sequence_of
[1] = {
5655 { &hf_h225_associatedSessionIds_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_INTEGER_1_255
},
5659 dissect_h225_T_associatedSessionIds(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5660 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
5661 ett_h225_T_associatedSessionIds
, T_associatedSessionIds_sequence_of
);
5667 static const per_sequence_t RTPSession_sequence
[] = {
5668 { &hf_h225_rtpAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_TransportChannelInfo
},
5669 { &hf_h225_rtcpAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_TransportChannelInfo
},
5670 { &hf_h225_cname
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_PrintableString
},
5671 { &hf_h225_ssrc
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_INTEGER_1_4294967295
},
5672 { &hf_h225_sessionId
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_INTEGER_1_255
},
5673 { &hf_h225_associatedSessionIds
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_T_associatedSessionIds
},
5674 { &hf_h225_multicast_flg
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
5675 { &hf_h225_bandwidth
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_BandWidth
},
5676 { NULL
, 0, 0, NULL
}
5680 dissect_h225_RTPSession(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5681 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5682 ett_h225_RTPSession
, RTPSession_sequence
);
5688 static const value_string h225_RehomingModel_vals
[] = {
5689 { 0, "gatekeeperBased" },
5690 { 1, "endpointBased" },
5694 static const per_choice_t RehomingModel_choice
[] = {
5695 { 0, &hf_h225_gatekeeperBased
, ASN1_NO_EXTENSIONS
, dissect_h225_NULL
},
5696 { 1, &hf_h225_endpointBased
, ASN1_NO_EXTENSIONS
, dissect_h225_NULL
},
5697 { 0, NULL
, 0, NULL
}
5701 dissect_h225_RehomingModel(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5702 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
5703 ett_h225_RehomingModel
, RehomingModel_choice
,
5710 static const per_sequence_t SEQUENCE_OF_Endpoint_sequence_of
[1] = {
5711 { &hf_h225_alternateEndpoints_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_Endpoint
},
5715 dissect_h225_SEQUENCE_OF_Endpoint(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5716 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
5717 ett_h225_SEQUENCE_OF_Endpoint
, SEQUENCE_OF_Endpoint_sequence_of
);
5723 static const per_sequence_t SEQUENCE_OF_AuthenticationMechanism_sequence_of
[1] = {
5724 { &hf_h225_authenticationCapability_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h235_AuthenticationMechanism
},
5728 dissect_h225_SEQUENCE_OF_AuthenticationMechanism(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5729 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
5730 ett_h225_SEQUENCE_OF_AuthenticationMechanism
, SEQUENCE_OF_AuthenticationMechanism_sequence_of
);
5736 static const per_sequence_t T_algorithmOIDs_sequence_of
[1] = {
5737 { &hf_h225_algorithmOIDs_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_OBJECT_IDENTIFIER
},
5741 dissect_h225_T_algorithmOIDs(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5742 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
5743 ett_h225_T_algorithmOIDs
, T_algorithmOIDs_sequence_of
);
5749 static const per_sequence_t SEQUENCE_OF_IntegrityMechanism_sequence_of
[1] = {
5750 { &hf_h225_integrity_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_IntegrityMechanism
},
5754 dissect_h225_SEQUENCE_OF_IntegrityMechanism(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5755 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
5756 ett_h225_SEQUENCE_OF_IntegrityMechanism
, SEQUENCE_OF_IntegrityMechanism_sequence_of
);
5762 static const per_sequence_t GatekeeperRequest_sequence
[] = {
5763 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
5764 { &hf_h225_protocolIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ProtocolIdentifier
},
5765 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
5766 { &hf_h225_gatekeeperRequest_rasAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_TransportAddress
},
5767 { &hf_h225_endpointType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_EndpointType
},
5768 { &hf_h225_gatekeeperIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_GatekeeperIdentifier
},
5769 { &hf_h225_callServices
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_QseriesOptions
},
5770 { &hf_h225_endpointAlias
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
5771 { &hf_h225_alternateEndpoints
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_Endpoint
},
5772 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
5773 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
5774 { &hf_h225_authenticationCapability
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AuthenticationMechanism
},
5775 { &hf_h225_algorithmOIDs
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_T_algorithmOIDs
},
5776 { &hf_h225_integrity
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_IntegrityMechanism
},
5777 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
5778 { &hf_h225_supportsAltGK
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
5779 { &hf_h225_featureSet
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FeatureSet
},
5780 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
5781 { &hf_h225_supportsAssignedGK
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
5782 { &hf_h225_assignedGatekeeper
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AlternateGK
},
5783 { NULL
, 0, 0, NULL
}
5787 dissect_h225_GatekeeperRequest(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5788 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5789 ett_h225_GatekeeperRequest
, GatekeeperRequest_sequence
);
5795 static const per_sequence_t GatekeeperConfirm_sequence
[] = {
5796 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
5797 { &hf_h225_protocolIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ProtocolIdentifier
},
5798 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
5799 { &hf_h225_gatekeeperIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_GatekeeperIdentifier
},
5800 { &hf_h225_gatekeeperConfirm_rasAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_TransportAddress
},
5801 { &hf_h225_alternateGatekeeper
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AlternateGK
},
5802 { &hf_h225_authenticationMode
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h235_AuthenticationMechanism
},
5803 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
5804 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
5805 { &hf_h225_algorithmOID
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_OBJECT_IDENTIFIER
},
5806 { &hf_h225_integrity
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_IntegrityMechanism
},
5807 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
5808 { &hf_h225_featureSet
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FeatureSet
},
5809 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
5810 { &hf_h225_assignedGatekeeper
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AlternateGK
},
5811 { &hf_h225_rehomingModel
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_RehomingModel
},
5812 { NULL
, 0, 0, NULL
}
5816 dissect_h225_GatekeeperConfirm(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5817 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5818 ett_h225_GatekeeperConfirm
, GatekeeperConfirm_sequence
);
5824 const value_string GatekeeperRejectReason_vals
[] = {
5825 { 0, "resourceUnavailable" },
5826 { 1, "terminalExcluded" },
5827 { 2, "invalidRevision" },
5828 { 3, "undefinedReason" },
5829 { 4, "securityDenial" },
5830 { 5, "genericDataReason" },
5831 { 6, "neededFeatureNotSupported" },
5832 { 7, "securityError" },
5836 static const per_choice_t GatekeeperRejectReason_choice
[] = {
5837 { 0, &hf_h225_resourceUnavailable
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
5838 { 1, &hf_h225_terminalExcluded
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
5839 { 2, &hf_h225_invalidRevision
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
5840 { 3, &hf_h225_undefinedReason
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
5841 { 4, &hf_h225_securityDenial
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
5842 { 5, &hf_h225_genericDataReason
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
5843 { 6, &hf_h225_neededFeatureNotSupported
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
5844 { 7, &hf_h225_gkRej_securityError
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_SecurityErrors
},
5845 { 0, NULL
, 0, NULL
}
5849 dissect_h225_GatekeeperRejectReason(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5851 h225_packet_info
* h225_pi
;
5852 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
5854 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
5855 ett_h225_GatekeeperRejectReason
, GatekeeperRejectReason_choice
,
5858 if (h225_pi
!= NULL
) {
5859 h225_pi
->reason
= value
;
5866 static const per_sequence_t GatekeeperReject_sequence
[] = {
5867 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
5868 { &hf_h225_protocolIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ProtocolIdentifier
},
5869 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
5870 { &hf_h225_gatekeeperIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_GatekeeperIdentifier
},
5871 { &hf_h225_gatekeeperRejectReason
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_GatekeeperRejectReason
},
5872 { &hf_h225_altGKInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AltGKInfo
},
5873 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
5874 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
5875 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
5876 { &hf_h225_featureSet
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FeatureSet
},
5877 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
5878 { NULL
, 0, 0, NULL
}
5882 dissect_h225_GatekeeperReject(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5883 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
5884 ett_h225_GatekeeperReject
, GatekeeperReject_sequence
);
5890 static const per_sequence_t SEQUENCE_OF_AddressPattern_sequence_of
[1] = {
5891 { &hf_h225_terminalAliasPattern_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_AddressPattern
},
5895 dissect_h225_SEQUENCE_OF_AddressPattern(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5896 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
5897 ett_h225_SEQUENCE_OF_AddressPattern
, SEQUENCE_OF_AddressPattern_sequence_of
);
5903 static const per_sequence_t SEQUENCE_OF_H248PackagesDescriptor_sequence_of
[1] = {
5904 { &hf_h225_supportedH248Packages_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_H248PackagesDescriptor
},
5908 dissect_h225_SEQUENCE_OF_H248PackagesDescriptor(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5909 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
5910 ett_h225_SEQUENCE_OF_H248PackagesDescriptor
, SEQUENCE_OF_H248PackagesDescriptor_sequence_of
);
5916 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_QOSCapability_sequence_of
[1] = {
5917 { &hf_h225_qOSCapabilities_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h245_QOSCapability
},
5921 dissect_h225_SEQUENCE_SIZE_1_256_OF_QOSCapability(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5922 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
5923 ett_h225_SEQUENCE_SIZE_1_256_OF_QOSCapability
, SEQUENCE_SIZE_1_256_OF_QOSCapability_sequence_of
,
5930 const value_string h225_TransportQOS_vals
[] = {
5931 { 0, "endpointControlled" },
5932 { 1, "gatekeeperControlled" },
5934 { 3, "qOSCapabilities" },
5938 static const per_choice_t TransportQOS_choice
[] = {
5939 { 0, &hf_h225_endpointControlled
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
5940 { 1, &hf_h225_gatekeeperControlled
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
5941 { 2, &hf_h225_noControl
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
5942 { 3, &hf_h225_qOSCapabilities
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_SEQUENCE_SIZE_1_256_OF_QOSCapability
},
5943 { 0, NULL
, 0, NULL
}
5947 dissect_h225_TransportQOS(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5948 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
5949 ett_h225_TransportQOS
, TransportQOS_choice
,
5956 static const per_sequence_t RegistrationRequest_sequence
[] = {
5957 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
5958 { &hf_h225_protocolIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ProtocolIdentifier
},
5959 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
5960 { &hf_h225_discoveryComplete
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
5961 { &hf_h225_callSignalAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SEQUENCE_OF_TransportAddress
},
5962 { &hf_h225_rasAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SEQUENCE_OF_TransportAddress
},
5963 { &hf_h225_terminalType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_EndpointType
},
5964 { &hf_h225_terminalAlias
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
5965 { &hf_h225_gatekeeperIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_GatekeeperIdentifier
},
5966 { &hf_h225_endpointVendor
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_VendorIdentifier
},
5967 { &hf_h225_alternateEndpoints
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_Endpoint
},
5968 { &hf_h225_timeToLive
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TimeToLive
},
5969 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
5970 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
5971 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
5972 { &hf_h225_keepAlive
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
5973 { &hf_h225_endpointIdentifier
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_EndpointIdentifier
},
5974 { &hf_h225_willSupplyUUIEs
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
5975 { &hf_h225_maintainConnection
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
5976 { &hf_h225_alternateTransportAddresses
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AlternateTransportAddresses
},
5977 { &hf_h225_additiveRegistration
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
5978 { &hf_h225_terminalAliasPattern
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AddressPattern
},
5979 { &hf_h225_supportsAltGK
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
5980 { &hf_h225_usageReportingCapability
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_RasUsageInfoTypes
},
5981 { &hf_h225_multipleCalls
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_BOOLEAN
},
5982 { &hf_h225_supportedH248Packages
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_H248PackagesDescriptor
},
5983 { &hf_h225_callCreditCapability
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallCreditCapability
},
5984 { &hf_h225_capacityReportingCapability
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CapacityReportingCapability
},
5985 { &hf_h225_capacity
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallCapacity
},
5986 { &hf_h225_featureSet
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FeatureSet
},
5987 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
5988 { &hf_h225_restart
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
5989 { &hf_h225_supportsACFSequences
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
5990 { &hf_h225_supportsAssignedGK
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
5991 { &hf_h225_assignedGatekeeper
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AlternateGK
},
5992 { &hf_h225_transportQOS
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TransportQOS
},
5993 { &hf_h225_language
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_Language
},
5994 { NULL
, 0, 0, NULL
}
5998 dissect_h225_RegistrationRequest(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5999 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6000 ett_h225_RegistrationRequest
, RegistrationRequest_sequence
);
6008 dissect_h225_INTEGER_1_65535(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6009 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
6010 1U, 65535U, NULL
, false);
6016 static const per_sequence_t T_preGrantedARQ_sequence
[] = {
6017 { &hf_h225_makeCall
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6018 { &hf_h225_useGKCallSignalAddressToMakeCall
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6019 { &hf_h225_answerCall
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6020 { &hf_h225_useGKCallSignalAddressToAnswer
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6021 { &hf_h225_irrFrequencyInCall
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_INTEGER_1_65535
},
6022 { &hf_h225_totalBandwidthRestriction
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_BandWidth
},
6023 { &hf_h225_alternateTransportAddresses
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AlternateTransportAddresses
},
6024 { &hf_h225_useSpecifiedTransport
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_UseSpecifiedTransport
},
6025 { NULL
, 0, 0, NULL
}
6029 dissect_h225_T_preGrantedARQ(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6030 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6031 ett_h225_T_preGrantedARQ
, T_preGrantedARQ_sequence
);
6037 static const per_sequence_t SEQUENCE_OF_RasUsageSpecification_sequence_of
[1] = {
6038 { &hf_h225_usageSpec_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_RasUsageSpecification
},
6042 dissect_h225_SEQUENCE_OF_RasUsageSpecification(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6043 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
6044 ett_h225_SEQUENCE_OF_RasUsageSpecification
, SEQUENCE_OF_RasUsageSpecification_sequence_of
);
6050 static const per_sequence_t RegistrationConfirm_sequence
[] = {
6051 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
6052 { &hf_h225_protocolIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ProtocolIdentifier
},
6053 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
6054 { &hf_h225_callSignalAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SEQUENCE_OF_TransportAddress
},
6055 { &hf_h225_terminalAlias
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
6056 { &hf_h225_gatekeeperIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_GatekeeperIdentifier
},
6057 { &hf_h225_endpointIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_EndpointIdentifier
},
6058 { &hf_h225_alternateGatekeeper
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AlternateGK
},
6059 { &hf_h225_timeToLive
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TimeToLive
},
6060 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
6061 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
6062 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
6063 { &hf_h225_willRespondToIRR
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6064 { &hf_h225_preGrantedARQ
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_T_preGrantedARQ
},
6065 { &hf_h225_maintainConnection
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6066 { &hf_h225_serviceControl
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ServiceControlSession
},
6067 { &hf_h225_supportsAdditiveRegistration
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
6068 { &hf_h225_terminalAliasPattern
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AddressPattern
},
6069 { &hf_h225_supportedPrefixes
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_SupportedPrefix
},
6070 { &hf_h225_usageSpec
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_RasUsageSpecification
},
6071 { &hf_h225_featureServerAlias
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AliasAddress
},
6072 { &hf_h225_capacityReportingSpec
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CapacityReportingSpecification
},
6073 { &hf_h225_featureSet
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FeatureSet
},
6074 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
6075 { &hf_h225_assignedGatekeeper
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AlternateGK
},
6076 { &hf_h225_rehomingModel
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_RehomingModel
},
6077 { &hf_h225_transportQOS
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TransportQOS
},
6078 { NULL
, 0, 0, NULL
}
6082 dissect_h225_RegistrationConfirm(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6083 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6084 ett_h225_RegistrationConfirm
, RegistrationConfirm_sequence
);
6090 static const per_sequence_t T_invalidTerminalAliases_sequence
[] = {
6091 { &hf_h225_terminalAlias
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
6092 { &hf_h225_terminalAliasPattern
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AddressPattern
},
6093 { &hf_h225_supportedPrefixes
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_SupportedPrefix
},
6094 { NULL
, 0, 0, NULL
}
6098 dissect_h225_T_invalidTerminalAliases(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6099 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6100 ett_h225_T_invalidTerminalAliases
, T_invalidTerminalAliases_sequence
);
6106 const value_string RegistrationRejectReason_vals
[] = {
6107 { 0, "discoveryRequired" },
6108 { 1, "invalidRevision" },
6109 { 2, "invalidCallSignalAddress" },
6110 { 3, "invalidRASAddress" },
6111 { 4, "duplicateAlias" },
6112 { 5, "invalidTerminalType" },
6113 { 6, "undefinedReason" },
6114 { 7, "transportNotSupported" },
6115 { 8, "transportQOSNotSupported" },
6116 { 9, "resourceUnavailable" },
6117 { 10, "invalidAlias" },
6118 { 11, "securityDenial" },
6119 { 12, "fullRegistrationRequired" },
6120 { 13, "additiveRegistrationNotSupported" },
6121 { 14, "invalidTerminalAliases" },
6122 { 15, "genericDataReason" },
6123 { 16, "neededFeatureNotSupported" },
6124 { 17, "securityError" },
6125 { 18, "registerWithAssignedGK" },
6129 static const per_choice_t RegistrationRejectReason_choice
[] = {
6130 { 0, &hf_h225_discoveryRequired
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6131 { 1, &hf_h225_invalidRevision
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6132 { 2, &hf_h225_invalidCallSignalAddress
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6133 { 3, &hf_h225_invalidRASAddress
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6134 { 4, &hf_h225_duplicateAlias
, ASN1_EXTENSION_ROOT
, dissect_h225_SEQUENCE_OF_AliasAddress
},
6135 { 5, &hf_h225_invalidTerminalType
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6136 { 6, &hf_h225_undefinedReason
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6137 { 7, &hf_h225_transportNotSupported
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6138 { 8, &hf_h225_transportQOSNotSupported
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6139 { 9, &hf_h225_resourceUnavailable
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6140 { 10, &hf_h225_invalidAlias
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6141 { 11, &hf_h225_securityDenial
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6142 { 12, &hf_h225_fullRegistrationRequired
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6143 { 13, &hf_h225_additiveRegistrationNotSupported
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6144 { 14, &hf_h225_invalidTerminalAliases
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_T_invalidTerminalAliases
},
6145 { 15, &hf_h225_genericDataReason
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6146 { 16, &hf_h225_neededFeatureNotSupported
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6147 { 17, &hf_h225_reg_securityError
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_SecurityErrors
},
6148 { 18, &hf_h225_registerWithAssignedGK
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6149 { 0, NULL
, 0, NULL
}
6153 dissect_h225_RegistrationRejectReason(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6155 h225_packet_info
* h225_pi
;
6156 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
6158 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
6159 ett_h225_RegistrationRejectReason
, RegistrationRejectReason_choice
,
6162 if (h225_pi
!= NULL
) {
6163 h225_pi
->reason
= value
;
6170 static const per_sequence_t RegistrationReject_sequence
[] = {
6171 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
6172 { &hf_h225_protocolIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ProtocolIdentifier
},
6173 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
6174 { &hf_h225_registrationRejectReason
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RegistrationRejectReason
},
6175 { &hf_h225_gatekeeperIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_GatekeeperIdentifier
},
6176 { &hf_h225_altGKInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AltGKInfo
},
6177 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
6178 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
6179 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
6180 { &hf_h225_featureSet
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FeatureSet
},
6181 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
6182 { &hf_h225_assignedGatekeeper
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AlternateGK
},
6183 { NULL
, 0, 0, NULL
}
6187 dissect_h225_RegistrationReject(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6188 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6189 ett_h225_RegistrationReject
, RegistrationReject_sequence
);
6195 const value_string UnregRequestReason_vals
[] = {
6196 { 0, "reregistrationRequired" },
6197 { 1, "ttlExpired" },
6198 { 2, "securityDenial" },
6199 { 3, "undefinedReason" },
6200 { 4, "maintenance" },
6201 { 5, "securityError" },
6202 { 6, "registerWithAssignedGK" },
6206 static const per_choice_t UnregRequestReason_choice
[] = {
6207 { 0, &hf_h225_reregistrationRequired
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6208 { 1, &hf_h225_ttlExpired
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6209 { 2, &hf_h225_securityDenial
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6210 { 3, &hf_h225_undefinedReason
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6211 { 4, &hf_h225_maintenance
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6212 { 5, &hf_h225_securityError
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_SecurityErrors2
},
6213 { 6, &hf_h225_registerWithAssignedGK
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6214 { 0, NULL
, 0, NULL
}
6218 dissect_h225_UnregRequestReason(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6220 h225_packet_info
* h225_pi
;
6221 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
6223 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
6224 ett_h225_UnregRequestReason
, UnregRequestReason_choice
,
6227 if (h225_pi
!= NULL
) {
6228 h225_pi
->reason
= value
;
6235 static const per_sequence_t UnregistrationRequest_sequence
[] = {
6236 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
6237 { &hf_h225_callSignalAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SEQUENCE_OF_TransportAddress
},
6238 { &hf_h225_endpointAlias
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
6239 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
6240 { &hf_h225_endpointIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_EndpointIdentifier
},
6241 { &hf_h225_alternateEndpoints
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_Endpoint
},
6242 { &hf_h225_gatekeeperIdentifier
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_GatekeeperIdentifier
},
6243 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
6244 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
6245 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
6246 { &hf_h225_unregRequestReason
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_UnregRequestReason
},
6247 { &hf_h225_endpointAliasPattern
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AddressPattern
},
6248 { &hf_h225_supportedPrefixes
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_SupportedPrefix
},
6249 { &hf_h225_alternateGatekeeper
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AlternateGK
},
6250 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
6251 { &hf_h225_assignedGatekeeper
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AlternateGK
},
6252 { NULL
, 0, 0, NULL
}
6256 dissect_h225_UnregistrationRequest(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6257 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6258 ett_h225_UnregistrationRequest
, UnregistrationRequest_sequence
);
6264 static const per_sequence_t UnregistrationConfirm_sequence
[] = {
6265 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
6266 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
6267 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
6268 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
6269 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
6270 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
6271 { &hf_h225_assignedGatekeeper
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AlternateGK
},
6272 { NULL
, 0, 0, NULL
}
6276 dissect_h225_UnregistrationConfirm(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6277 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6278 ett_h225_UnregistrationConfirm
, UnregistrationConfirm_sequence
);
6284 const value_string UnregRejectReason_vals
[] = {
6285 { 0, "notCurrentlyRegistered" },
6286 { 1, "callInProgress" },
6287 { 2, "undefinedReason" },
6288 { 3, "permissionDenied" },
6289 { 4, "securityDenial" },
6290 { 5, "securityError" },
6294 static const per_choice_t UnregRejectReason_choice
[] = {
6295 { 0, &hf_h225_notCurrentlyRegistered
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6296 { 1, &hf_h225_callInProgress
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6297 { 2, &hf_h225_undefinedReason
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6298 { 3, &hf_h225_permissionDenied
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6299 { 4, &hf_h225_securityDenial
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6300 { 5, &hf_h225_securityError
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_SecurityErrors2
},
6301 { 0, NULL
, 0, NULL
}
6305 dissect_h225_UnregRejectReason(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6307 h225_packet_info
* h225_pi
;
6308 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
6310 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
6311 ett_h225_UnregRejectReason
, UnregRejectReason_choice
,
6314 if (h225_pi
!= NULL
) {
6315 h225_pi
->reason
= value
;
6322 static const per_sequence_t UnregistrationReject_sequence
[] = {
6323 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
6324 { &hf_h225_unregRejectReason
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_UnregRejectReason
},
6325 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
6326 { &hf_h225_altGKInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AltGKInfo
},
6327 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
6328 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
6329 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
6330 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
6331 { NULL
, 0, 0, NULL
}
6335 dissect_h225_UnregistrationReject(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6336 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6337 ett_h225_UnregistrationReject
, UnregistrationReject_sequence
);
6343 static const value_string h225_CallModel_vals
[] = {
6345 { 1, "gatekeeperRouted" },
6349 static const per_choice_t CallModel_choice
[] = {
6350 { 0, &hf_h225_direct
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6351 { 1, &hf_h225_gatekeeperRouted
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6352 { 0, NULL
, 0, NULL
}
6356 dissect_h225_CallModel(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6357 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
6358 ett_h225_CallModel
, CallModel_choice
,
6367 dissect_h225_DestinationInfo_item(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6368 h225_packet_info
* h225_pi
;
6370 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
6371 if (h225_pi
!= NULL
) {
6372 h225_pi
->is_destinationInfo
= true;
6374 offset
= dissect_h225_AliasAddress(tvb
, offset
, actx
, tree
, hf_index
);
6380 static const per_sequence_t DestinationInfo_sequence_of
[1] = {
6381 { &hf_h225_DestinationInfo_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_DestinationInfo_item
},
6385 dissect_h225_DestinationInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6386 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
6387 ett_h225_DestinationInfo
, DestinationInfo_sequence_of
);
6393 static const per_sequence_t AdmissionRequest_sequence
[] = {
6394 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
6395 { &hf_h225_callType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallType
},
6396 { &hf_h225_callModel
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallModel
},
6397 { &hf_h225_endpointIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_EndpointIdentifier
},
6398 { &hf_h225_destinationInfo_01
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_DestinationInfo
},
6399 { &hf_h225_destCallSignalAddress
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TransportAddress
},
6400 { &hf_h225_destExtraCallInfo
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
6401 { &hf_h225_srcInfo
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
6402 { &hf_h225_srcCallSignalAddress
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TransportAddress
},
6403 { &hf_h225_bandWidth
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BandWidth
},
6404 { &hf_h225_callReferenceValue
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallReferenceValue
},
6405 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
6406 { &hf_h225_callServices
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_QseriesOptions
},
6407 { &hf_h225_conferenceID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ConferenceIdentifier
},
6408 { &hf_h225_activeMC
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6409 { &hf_h225_answerCall
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6410 { &hf_h225_canMapAlias
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6411 { &hf_h225_callIdentifier
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallIdentifier
},
6412 { &hf_h225_srcAlternatives
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_Endpoint
},
6413 { &hf_h225_destAlternatives
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_Endpoint
},
6414 { &hf_h225_gatekeeperIdentifier
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_GatekeeperIdentifier
},
6415 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
6416 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
6417 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
6418 { &hf_h225_transportQOS
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TransportQOS
},
6419 { &hf_h225_willSupplyUUIEs
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6420 { &hf_h225_callLinkage
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallLinkage
},
6421 { &hf_h225_gatewayDataRate
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_DataRate
},
6422 { &hf_h225_capacity
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallCapacity
},
6423 { &hf_h225_circuitInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CircuitInfo
},
6424 { &hf_h225_desiredProtocols
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_SupportedProtocols
},
6425 { &hf_h225_desiredTunnelledProtocol
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TunnelledProtocol
},
6426 { &hf_h225_featureSet
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FeatureSet
},
6427 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
6428 { &hf_h225_canMapSrcAlias
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6429 { NULL
, 0, 0, NULL
}
6433 dissect_h225_AdmissionRequest(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6434 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6435 ett_h225_AdmissionRequest
, AdmissionRequest_sequence
);
6441 static const per_sequence_t UUIEsRequested_sequence
[] = {
6442 { &hf_h225_setup_bool
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6443 { &hf_h225_callProceeding_flg
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6444 { &hf_h225_connect_bool
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6445 { &hf_h225_alerting_bool
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6446 { &hf_h225_information_bool
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6447 { &hf_h225_releaseComplete_bool
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6448 { &hf_h225_facility_bool
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6449 { &hf_h225_progress_bool
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6450 { &hf_h225_empty
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6451 { &hf_h225_status_bool
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6452 { &hf_h225_statusInquiry_bool
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6453 { &hf_h225_setupAcknowledge_bool
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6454 { &hf_h225_notify_bool
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6455 { NULL
, 0, 0, NULL
}
6459 dissect_h225_UUIEsRequested(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6460 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6461 ett_h225_UUIEsRequested
, UUIEsRequested_sequence
);
6467 static const per_sequence_t AdmissionConfirm_sequence
[] = {
6468 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
6469 { &hf_h225_bandWidth
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BandWidth
},
6470 { &hf_h225_callModel
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallModel
},
6471 { &hf_h225_destCallSignalAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_TransportAddress
},
6472 { &hf_h225_irrFrequency
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_INTEGER_1_65535
},
6473 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
6474 { &hf_h225_destinationInfo_01
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_DestinationInfo
},
6475 { &hf_h225_destExtraCallInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
6476 { &hf_h225_destinationType
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_EndpointType
},
6477 { &hf_h225_remoteExtensionAddress
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
6478 { &hf_h225_alternateEndpoints
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_Endpoint
},
6479 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
6480 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
6481 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
6482 { &hf_h225_transportQOS
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TransportQOS
},
6483 { &hf_h225_willRespondToIRR
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6484 { &hf_h225_uuiesRequested
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_UUIEsRequested
},
6485 { &hf_h225_language
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_Language
},
6486 { &hf_h225_alternateTransportAddresses
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AlternateTransportAddresses
},
6487 { &hf_h225_useSpecifiedTransport
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_UseSpecifiedTransport
},
6488 { &hf_h225_circuitInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CircuitInfo
},
6489 { &hf_h225_usageSpec
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_RasUsageSpecification
},
6490 { &hf_h225_supportedProtocols
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_SupportedProtocols
},
6491 { &hf_h225_serviceControl
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ServiceControlSession
},
6492 { &hf_h225_multipleCalls
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_BOOLEAN
},
6493 { &hf_h225_featureSet
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FeatureSet
},
6494 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
6495 { &hf_h225_modifiedSrcInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
6496 { &hf_h225_assignedGatekeeper
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AlternateGK
},
6497 { NULL
, 0, 0, NULL
}
6501 dissect_h225_AdmissionConfirm(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6502 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6503 ett_h225_AdmissionConfirm
, AdmissionConfirm_sequence
);
6509 static const per_sequence_t SEQUENCE_OF_PartyNumber_sequence_of
[1] = {
6510 { &hf_h225_routeCallToSCN_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_PartyNumber
},
6514 dissect_h225_SEQUENCE_OF_PartyNumber(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6515 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
6516 ett_h225_SEQUENCE_OF_PartyNumber
, SEQUENCE_OF_PartyNumber_sequence_of
);
6522 const value_string AdmissionRejectReason_vals
[] = {
6523 { 0, "calledPartyNotRegistered" },
6524 { 1, "invalidPermission" },
6525 { 2, "requestDenied" },
6526 { 3, "undefinedReason" },
6527 { 4, "callerNotRegistered" },
6528 { 5, "routeCallToGatekeeper" },
6529 { 6, "invalidEndpointIdentifier" },
6530 { 7, "resourceUnavailable" },
6531 { 8, "securityDenial" },
6532 { 9, "qosControlNotSupported" },
6533 { 10, "incompleteAddress" },
6534 { 11, "aliasesInconsistent" },
6535 { 12, "routeCallToSCN" },
6536 { 13, "exceedsCallCapacity" },
6537 { 14, "collectDestination" },
6538 { 15, "collectPIN" },
6539 { 16, "genericDataReason" },
6540 { 17, "neededFeatureNotSupported" },
6541 { 18, "securityError" },
6542 { 19, "securityDHmismatch" },
6543 { 20, "noRouteToDestination" },
6544 { 21, "unallocatedNumber" },
6545 { 22, "registerWithAssignedGK" },
6549 static const per_choice_t AdmissionRejectReason_choice
[] = {
6550 { 0, &hf_h225_calledPartyNotRegistered
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6551 { 1, &hf_h225_invalidPermission
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6552 { 2, &hf_h225_requestDenied
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6553 { 3, &hf_h225_undefinedReason
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6554 { 4, &hf_h225_callerNotRegistered
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6555 { 5, &hf_h225_routeCallToGatekeeper
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6556 { 6, &hf_h225_invalidEndpointIdentifier
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6557 { 7, &hf_h225_resourceUnavailable
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6558 { 8, &hf_h225_securityDenial
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6559 { 9, &hf_h225_qosControlNotSupported
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6560 { 10, &hf_h225_incompleteAddress
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6561 { 11, &hf_h225_aliasesInconsistent
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6562 { 12, &hf_h225_routeCallToSCN
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_SEQUENCE_OF_PartyNumber
},
6563 { 13, &hf_h225_exceedsCallCapacity
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6564 { 14, &hf_h225_collectDestination
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6565 { 15, &hf_h225_collectPIN
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6566 { 16, &hf_h225_genericDataReason
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6567 { 17, &hf_h225_neededFeatureNotSupported
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6568 { 18, &hf_h225_securityError
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_SecurityErrors2
},
6569 { 19, &hf_h225_securityDHmismatch
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6570 { 20, &hf_h225_noRouteToDestination
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6571 { 21, &hf_h225_unallocatedNumber
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6572 { 22, &hf_h225_registerWithAssignedGK
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6573 { 0, NULL
, 0, NULL
}
6577 dissect_h225_AdmissionRejectReason(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6579 h225_packet_info
* h225_pi
;
6580 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
6582 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
6583 ett_h225_AdmissionRejectReason
, AdmissionRejectReason_choice
,
6586 if (h225_pi
!= NULL
) {
6587 h225_pi
->reason
= value
;
6594 static const per_sequence_t AdmissionReject_sequence
[] = {
6595 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
6596 { &hf_h225_rejectReason
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_AdmissionRejectReason
},
6597 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
6598 { &hf_h225_altGKInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AltGKInfo
},
6599 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
6600 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
6601 { &hf_h225_callSignalAddress
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_TransportAddress
},
6602 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
6603 { &hf_h225_serviceControl
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ServiceControlSession
},
6604 { &hf_h225_featureSet
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FeatureSet
},
6605 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
6606 { &hf_h225_assignedGatekeeper
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AlternateGK
},
6607 { NULL
, 0, 0, NULL
}
6611 dissect_h225_AdmissionReject(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6612 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6613 ett_h225_AdmissionReject
, AdmissionReject_sequence
);
6619 static const per_sequence_t SEQUENCE_OF_BandwidthDetails_sequence_of
[1] = {
6620 { &hf_h225_bandwidthDetails_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_BandwidthDetails
},
6624 dissect_h225_SEQUENCE_OF_BandwidthDetails(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6625 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
6626 ett_h225_SEQUENCE_OF_BandwidthDetails
, SEQUENCE_OF_BandwidthDetails_sequence_of
);
6632 static const per_sequence_t BandwidthRequest_sequence
[] = {
6633 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
6634 { &hf_h225_endpointIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_EndpointIdentifier
},
6635 { &hf_h225_conferenceID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ConferenceIdentifier
},
6636 { &hf_h225_callReferenceValue
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallReferenceValue
},
6637 { &hf_h225_callType
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallType
},
6638 { &hf_h225_bandWidth
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BandWidth
},
6639 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
6640 { &hf_h225_callIdentifier
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallIdentifier
},
6641 { &hf_h225_gatekeeperIdentifier
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_GatekeeperIdentifier
},
6642 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
6643 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
6644 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
6645 { &hf_h225_answeredCall
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6646 { &hf_h225_callLinkage
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallLinkage
},
6647 { &hf_h225_capacity
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallCapacity
},
6648 { &hf_h225_usageInformation
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_RasUsageInformation
},
6649 { &hf_h225_bandwidthDetails
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_BandwidthDetails
},
6650 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
6651 { &hf_h225_transportQOS
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TransportQOS
},
6652 { NULL
, 0, 0, NULL
}
6656 dissect_h225_BandwidthRequest(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6657 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6658 ett_h225_BandwidthRequest
, BandwidthRequest_sequence
);
6664 static const per_sequence_t BandwidthConfirm_sequence
[] = {
6665 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
6666 { &hf_h225_bandWidth
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BandWidth
},
6667 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
6668 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
6669 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
6670 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
6671 { &hf_h225_capacity
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallCapacity
},
6672 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
6673 { &hf_h225_transportQOS
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TransportQOS
},
6674 { NULL
, 0, 0, NULL
}
6678 dissect_h225_BandwidthConfirm(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6679 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6680 ett_h225_BandwidthConfirm
, BandwidthConfirm_sequence
);
6686 const value_string BandRejectReason_vals
[] = {
6688 { 1, "invalidConferenceID" },
6689 { 2, "invalidPermission" },
6690 { 3, "insufficientResources" },
6691 { 4, "invalidRevision" },
6692 { 5, "undefinedReason" },
6693 { 6, "securityDenial" },
6694 { 7, "securityError" },
6698 static const per_choice_t BandRejectReason_choice
[] = {
6699 { 0, &hf_h225_notBound
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6700 { 1, &hf_h225_invalidConferenceID
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6701 { 2, &hf_h225_invalidPermission
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6702 { 3, &hf_h225_insufficientResources
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6703 { 4, &hf_h225_invalidRevision
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6704 { 5, &hf_h225_undefinedReason
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6705 { 6, &hf_h225_securityDenial
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6706 { 7, &hf_h225_securityError
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_SecurityErrors2
},
6707 { 0, NULL
, 0, NULL
}
6711 dissect_h225_BandRejectReason(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6713 h225_packet_info
* h225_pi
;
6714 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
6716 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
6717 ett_h225_BandRejectReason
, BandRejectReason_choice
,
6720 if (h225_pi
!= NULL
) {
6721 h225_pi
->reason
= value
;
6728 static const per_sequence_t BandwidthReject_sequence
[] = {
6729 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
6730 { &hf_h225_bandRejectReason
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BandRejectReason
},
6731 { &hf_h225_allowedBandWidth
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BandWidth
},
6732 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
6733 { &hf_h225_altGKInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AltGKInfo
},
6734 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
6735 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
6736 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
6737 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
6738 { NULL
, 0, 0, NULL
}
6742 dissect_h225_BandwidthReject(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6743 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6744 ett_h225_BandwidthReject
, BandwidthReject_sequence
);
6750 const value_string DisengageReason_vals
[] = {
6751 { 0, "forcedDrop" },
6752 { 1, "normalDrop" },
6753 { 2, "undefinedReason" },
6757 static const per_choice_t DisengageReason_choice
[] = {
6758 { 0, &hf_h225_forcedDrop
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6759 { 1, &hf_h225_normalDrop
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6760 { 2, &hf_h225_undefinedReason
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6761 { 0, NULL
, 0, NULL
}
6765 dissect_h225_DisengageReason(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6767 h225_packet_info
* h225_pi
;
6768 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
6770 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
6771 ett_h225_DisengageReason
, DisengageReason_choice
,
6774 if (h225_pi
!= NULL
) {
6775 h225_pi
->reason
= value
;
6782 static const per_sequence_t DisengageRequest_sequence
[] = {
6783 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
6784 { &hf_h225_endpointIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_EndpointIdentifier
},
6785 { &hf_h225_conferenceID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ConferenceIdentifier
},
6786 { &hf_h225_callReferenceValue
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallReferenceValue
},
6787 { &hf_h225_disengageReason
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_DisengageReason
},
6788 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
6789 { &hf_h225_callIdentifier
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallIdentifier
},
6790 { &hf_h225_gatekeeperIdentifier
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_GatekeeperIdentifier
},
6791 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
6792 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
6793 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
6794 { &hf_h225_answeredCall
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6795 { &hf_h225_callLinkage
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallLinkage
},
6796 { &hf_h225_capacity
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallCapacity
},
6797 { &hf_h225_circuitInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CircuitInfo
},
6798 { &hf_h225_usageInformation
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_RasUsageInformation
},
6799 { &hf_h225_terminationCause
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallTerminationCause
},
6800 { &hf_h225_serviceControl
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ServiceControlSession
},
6801 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
6802 { NULL
, 0, 0, NULL
}
6806 dissect_h225_DisengageRequest(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6807 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6808 ett_h225_DisengageRequest
, DisengageRequest_sequence
);
6814 static const per_sequence_t DisengageConfirm_sequence
[] = {
6815 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
6816 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
6817 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
6818 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
6819 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
6820 { &hf_h225_capacity
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallCapacity
},
6821 { &hf_h225_circuitInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CircuitInfo
},
6822 { &hf_h225_usageInformation
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_RasUsageInformation
},
6823 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
6824 { &hf_h225_assignedGatekeeper
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AlternateGK
},
6825 { NULL
, 0, 0, NULL
}
6829 dissect_h225_DisengageConfirm(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6830 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6831 ett_h225_DisengageConfirm
, DisengageConfirm_sequence
);
6837 const value_string DisengageRejectReason_vals
[] = {
6838 { 0, "notRegistered" },
6839 { 1, "requestToDropOther" },
6840 { 2, "securityDenial" },
6841 { 3, "securityError" },
6845 static const per_choice_t DisengageRejectReason_choice
[] = {
6846 { 0, &hf_h225_notRegistered
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6847 { 1, &hf_h225_requestToDropOther
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6848 { 2, &hf_h225_securityDenial
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6849 { 3, &hf_h225_securityError
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_SecurityErrors2
},
6850 { 0, NULL
, 0, NULL
}
6854 dissect_h225_DisengageRejectReason(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6856 h225_packet_info
* h225_pi
;
6857 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
6859 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
6860 ett_h225_DisengageRejectReason
, DisengageRejectReason_choice
,
6863 if (h225_pi
!= NULL
) {
6864 h225_pi
->reason
= value
;
6871 static const per_sequence_t DisengageReject_sequence
[] = {
6872 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
6873 { &hf_h225_disengageRejectReason
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_DisengageRejectReason
},
6874 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
6875 { &hf_h225_altGKInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AltGKInfo
},
6876 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
6877 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
6878 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
6879 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
6880 { NULL
, 0, 0, NULL
}
6884 dissect_h225_DisengageReject(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6885 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6886 ett_h225_DisengageReject
, DisengageReject_sequence
);
6892 static const per_sequence_t LocationRequest_sequence
[] = {
6893 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
6894 { &hf_h225_endpointIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_EndpointIdentifier
},
6895 { &hf_h225_destinationInfo_01
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_DestinationInfo
},
6896 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
6897 { &hf_h225_replyAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_TransportAddress
},
6898 { &hf_h225_sourceInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
6899 { &hf_h225_canMapAlias
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6900 { &hf_h225_gatekeeperIdentifier
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_GatekeeperIdentifier
},
6901 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
6902 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
6903 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
6904 { &hf_h225_desiredProtocols
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_SupportedProtocols
},
6905 { &hf_h225_desiredTunnelledProtocol
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TunnelledProtocol
},
6906 { &hf_h225_featureSet
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FeatureSet
},
6907 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
6908 { &hf_h225_hopCount
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_INTEGER_1_255
},
6909 { &hf_h225_circuitInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CircuitInfo
},
6910 { &hf_h225_callIdentifier
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallIdentifier
},
6911 { &hf_h225_bandWidth
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_BandWidth
},
6912 { &hf_h225_sourceEndpointInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
6913 { &hf_h225_canMapSrcAlias
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
6914 { &hf_h225_language
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_Language
},
6915 { NULL
, 0, 0, NULL
}
6919 dissect_h225_LocationRequest(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6920 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6921 ett_h225_LocationRequest
, LocationRequest_sequence
);
6927 static const per_sequence_t LocationConfirm_sequence
[] = {
6928 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
6929 { &hf_h225_locationConfirm_callSignalAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_TransportAddress
},
6930 { &hf_h225_locationConfirm_rasAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_TransportAddress
},
6931 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
6932 { &hf_h225_destinationInfo_01
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_DestinationInfo
},
6933 { &hf_h225_destExtraCallInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
6934 { &hf_h225_destinationType
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_EndpointType
},
6935 { &hf_h225_remoteExtensionAddress
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
6936 { &hf_h225_alternateEndpoints
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_Endpoint
},
6937 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
6938 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
6939 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
6940 { &hf_h225_alternateTransportAddresses
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AlternateTransportAddresses
},
6941 { &hf_h225_supportedProtocols
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_SupportedProtocols
},
6942 { &hf_h225_multipleCalls
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_BOOLEAN
},
6943 { &hf_h225_featureSet
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FeatureSet
},
6944 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
6945 { &hf_h225_circuitInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CircuitInfo
},
6946 { &hf_h225_serviceControl
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ServiceControlSession
},
6947 { &hf_h225_modifiedSrcInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
6948 { &hf_h225_bandWidth
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_BandWidth
},
6949 { NULL
, 0, 0, NULL
}
6953 dissect_h225_LocationConfirm(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6954 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6955 ett_h225_LocationConfirm
, LocationConfirm_sequence
);
6961 const value_string LocationRejectReason_vals
[] = {
6962 { 0, "notRegistered" },
6963 { 1, "invalidPermission" },
6964 { 2, "requestDenied" },
6965 { 3, "undefinedReason" },
6966 { 4, "securityDenial" },
6967 { 5, "aliasesInconsistent" },
6968 { 6, "routeCalltoSCN" },
6969 { 7, "resourceUnavailable" },
6970 { 8, "genericDataReason" },
6971 { 9, "neededFeatureNotSupported" },
6972 { 10, "hopCountExceeded" },
6973 { 11, "incompleteAddress" },
6974 { 12, "securityError" },
6975 { 13, "securityDHmismatch" },
6976 { 14, "noRouteToDestination" },
6977 { 15, "unallocatedNumber" },
6981 static const per_choice_t LocationRejectReason_choice
[] = {
6982 { 0, &hf_h225_notRegistered
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6983 { 1, &hf_h225_invalidPermission
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6984 { 2, &hf_h225_requestDenied
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6985 { 3, &hf_h225_undefinedReason
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
6986 { 4, &hf_h225_securityDenial
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6987 { 5, &hf_h225_aliasesInconsistent
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6988 { 6, &hf_h225_routeCalltoSCN
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_SEQUENCE_OF_PartyNumber
},
6989 { 7, &hf_h225_resourceUnavailable
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6990 { 8, &hf_h225_genericDataReason
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6991 { 9, &hf_h225_neededFeatureNotSupported
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6992 { 10, &hf_h225_hopCountExceeded
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6993 { 11, &hf_h225_incompleteAddress
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6994 { 12, &hf_h225_securityError
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_SecurityErrors2
},
6995 { 13, &hf_h225_securityDHmismatch
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6996 { 14, &hf_h225_noRouteToDestination
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6997 { 15, &hf_h225_unallocatedNumber
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_NULL
},
6998 { 0, NULL
, 0, NULL
}
7002 dissect_h225_LocationRejectReason(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7004 h225_packet_info
* h225_pi
;
7005 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
7007 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
7008 ett_h225_LocationRejectReason
, LocationRejectReason_choice
,
7011 if (h225_pi
!= NULL
) {
7012 h225_pi
->reason
= value
;
7019 static const per_sequence_t LocationReject_sequence
[] = {
7020 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
7021 { &hf_h225_locationRejectReason
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_LocationRejectReason
},
7022 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
7023 { &hf_h225_altGKInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AltGKInfo
},
7024 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
7025 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
7026 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
7027 { &hf_h225_featureSet
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FeatureSet
},
7028 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
7029 { &hf_h225_serviceControl
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ServiceControlSession
},
7030 { NULL
, 0, 0, NULL
}
7034 dissect_h225_LocationReject(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7035 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7036 ett_h225_LocationReject
, LocationReject_sequence
);
7042 static const per_sequence_t InfoRequest_sequence
[] = {
7043 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
7044 { &hf_h225_callReferenceValue
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallReferenceValue
},
7045 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
7046 { &hf_h225_replyAddress
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TransportAddress
},
7047 { &hf_h225_callIdentifier
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallIdentifier
},
7048 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
7049 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
7050 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
7051 { &hf_h225_uuiesRequested
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_UUIEsRequested
},
7052 { &hf_h225_callLinkage
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallLinkage
},
7053 { &hf_h225_usageInfoRequested
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_RasUsageInfoTypes
},
7054 { &hf_h225_segmentedResponseSupported
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
7055 { &hf_h225_nextSegmentRequested
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_INTEGER_0_65535
},
7056 { &hf_h225_capacityInfoRequested
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NULL
},
7057 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
7058 { &hf_h225_assignedGatekeeper
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AlternateGK
},
7059 { NULL
, 0, 0, NULL
}
7063 dissect_h225_InfoRequest(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7064 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7065 ett_h225_InfoRequest
, InfoRequest_sequence
);
7071 static const per_sequence_t SEQUENCE_OF_RTPSession_sequence_of
[1] = {
7072 { &hf_h225_audio_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_RTPSession
},
7076 dissect_h225_SEQUENCE_OF_RTPSession(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7077 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
7078 ett_h225_SEQUENCE_OF_RTPSession
, SEQUENCE_OF_RTPSession_sequence_of
);
7084 static const per_sequence_t SEQUENCE_OF_TransportChannelInfo_sequence_of
[1] = {
7085 { &hf_h225_data_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_TransportChannelInfo
},
7089 dissect_h225_SEQUENCE_OF_TransportChannelInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7090 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
7091 ett_h225_SEQUENCE_OF_TransportChannelInfo
, SEQUENCE_OF_TransportChannelInfo_sequence_of
);
7097 static const per_sequence_t SEQUENCE_OF_ConferenceIdentifier_sequence_of
[1] = {
7098 { &hf_h225_substituteConfIDs_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_ConferenceIdentifier
},
7102 dissect_h225_SEQUENCE_OF_ConferenceIdentifier(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7103 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
7104 ett_h225_SEQUENCE_OF_ConferenceIdentifier
, SEQUENCE_OF_ConferenceIdentifier_sequence_of
);
7110 static const per_sequence_t T_pdu_item_sequence
[] = {
7111 { &hf_h225_h323pdu
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_H323_UU_PDU
},
7112 { &hf_h225_sent
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
7113 { NULL
, 0, 0, NULL
}
7117 dissect_h225_T_pdu_item(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7118 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7119 ett_h225_T_pdu_item
, T_pdu_item_sequence
);
7125 static const per_sequence_t T_pdu_sequence_of
[1] = {
7126 { &hf_h225_pdu_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_T_pdu_item
},
7130 dissect_h225_T_pdu(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7131 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
7132 ett_h225_T_pdu
, T_pdu_sequence_of
);
7138 static const per_sequence_t T_perCallInfo_item_sequence
[] = {
7139 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
7140 { &hf_h225_callReferenceValue
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallReferenceValue
},
7141 { &hf_h225_conferenceID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ConferenceIdentifier
},
7142 { &hf_h225_originator
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_BOOLEAN
},
7143 { &hf_h225_audio
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_RTPSession
},
7144 { &hf_h225_video
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_RTPSession
},
7145 { &hf_h225_data
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_TransportChannelInfo
},
7146 { &hf_h225_h245
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_TransportChannelInfo
},
7147 { &hf_h225_callSignalling
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_TransportChannelInfo
},
7148 { &hf_h225_callType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallType
},
7149 { &hf_h225_bandWidth
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BandWidth
},
7150 { &hf_h225_callModel
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallModel
},
7151 { &hf_h225_callIdentifier
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallIdentifier
},
7152 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
7153 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
7154 { &hf_h225_substituteConfIDs
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SEQUENCE_OF_ConferenceIdentifier
},
7155 { &hf_h225_pdu
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_T_pdu
},
7156 { &hf_h225_callLinkage
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallLinkage
},
7157 { &hf_h225_usageInformation
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_RasUsageInformation
},
7158 { &hf_h225_circuitInfo
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CircuitInfo
},
7159 { NULL
, 0, 0, NULL
}
7163 dissect_h225_T_perCallInfo_item(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7164 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7165 ett_h225_T_perCallInfo_item
, T_perCallInfo_item_sequence
);
7171 static const per_sequence_t T_perCallInfo_sequence_of
[1] = {
7172 { &hf_h225_perCallInfo_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_T_perCallInfo_item
},
7176 dissect_h225_T_perCallInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7177 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
7178 ett_h225_T_perCallInfo
, T_perCallInfo_sequence_of
);
7184 static const value_string h225_InfoRequestResponseStatus_vals
[] = {
7186 { 1, "incomplete" },
7188 { 3, "invalidCall" },
7192 static const per_choice_t InfoRequestResponseStatus_choice
[] = {
7193 { 0, &hf_h225_complete
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
7194 { 1, &hf_h225_incomplete
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
7195 { 2, &hf_h225_segment
, ASN1_EXTENSION_ROOT
, dissect_h225_INTEGER_0_65535
},
7196 { 3, &hf_h225_invalidCall
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
7197 { 0, NULL
, 0, NULL
}
7201 dissect_h225_InfoRequestResponseStatus(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7202 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
7203 ett_h225_InfoRequestResponseStatus
, InfoRequestResponseStatus_choice
,
7210 static const per_sequence_t InfoRequestResponse_sequence
[] = {
7211 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
7212 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
7213 { &hf_h225_endpointType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_EndpointType
},
7214 { &hf_h225_endpointIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_EndpointIdentifier
},
7215 { &hf_h225_infoRequestResponse_rasAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_TransportAddress
},
7216 { &hf_h225_callSignalAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SEQUENCE_OF_TransportAddress
},
7217 { &hf_h225_endpointAlias
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_AliasAddress
},
7218 { &hf_h225_perCallInfo
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_T_perCallInfo
},
7219 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
7220 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
7221 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
7222 { &hf_h225_needResponse
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
7223 { &hf_h225_capacity
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallCapacity
},
7224 { &hf_h225_irrStatus
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_InfoRequestResponseStatus
},
7225 { &hf_h225_unsolicited
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
7226 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
7227 { NULL
, 0, 0, NULL
}
7231 dissect_h225_InfoRequestResponse(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7232 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7233 ett_h225_InfoRequestResponse
, InfoRequestResponse_sequence
);
7239 static const per_sequence_t NonStandardMessage_sequence
[] = {
7240 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
7241 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_NonStandardParameter
},
7242 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
7243 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
7244 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
7245 { &hf_h225_featureSet
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FeatureSet
},
7246 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
7247 { NULL
, 0, 0, NULL
}
7251 dissect_h225_NonStandardMessage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7252 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7253 ett_h225_NonStandardMessage
, NonStandardMessage_sequence
);
7259 static const per_sequence_t UnknownMessageResponse_sequence
[] = {
7260 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
7261 { &hf_h225_tokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
7262 { &hf_h225_cryptoTokens
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
7263 { &hf_h225_integrityCheckValue
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
7264 { &hf_h225_messageNotUnderstood
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_OCTET_STRING
},
7265 { NULL
, 0, 0, NULL
}
7269 dissect_h225_UnknownMessageResponse(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7270 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7271 ett_h225_UnknownMessageResponse
, UnknownMessageResponse_sequence
);
7277 static const per_sequence_t RequestInProgress_sequence
[] = {
7278 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
7279 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
7280 { &hf_h225_tokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
7281 { &hf_h225_cryptoTokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
7282 { &hf_h225_integrityCheckValue
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
7283 { &hf_h225_delay
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_INTEGER_1_65535
},
7284 { NULL
, 0, 0, NULL
}
7288 dissect_h225_RequestInProgress(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7289 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7290 ett_h225_RequestInProgress
, RequestInProgress_sequence
);
7296 static const per_sequence_t ResourcesAvailableIndicate_sequence
[] = {
7297 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
7298 { &hf_h225_protocolIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ProtocolIdentifier
},
7299 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
7300 { &hf_h225_endpointIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_EndpointIdentifier
},
7301 { &hf_h225_protocols
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SEQUENCE_OF_SupportedProtocols
},
7302 { &hf_h225_almostOutOfResources
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
7303 { &hf_h225_tokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
7304 { &hf_h225_cryptoTokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
7305 { &hf_h225_integrityCheckValue
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
7306 { &hf_h225_capacity
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_CallCapacity
},
7307 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
7308 { NULL
, 0, 0, NULL
}
7312 dissect_h225_ResourcesAvailableIndicate(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7313 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7314 ett_h225_ResourcesAvailableIndicate
, ResourcesAvailableIndicate_sequence
);
7320 static const per_sequence_t ResourcesAvailableConfirm_sequence
[] = {
7321 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
7322 { &hf_h225_protocolIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ProtocolIdentifier
},
7323 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
7324 { &hf_h225_tokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
7325 { &hf_h225_cryptoTokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
7326 { &hf_h225_integrityCheckValue
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
7327 { &hf_h225_genericData
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
7328 { NULL
, 0, 0, NULL
}
7332 dissect_h225_ResourcesAvailableConfirm(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7333 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7334 ett_h225_ResourcesAvailableConfirm
, ResourcesAvailableConfirm_sequence
);
7340 static const per_sequence_t InfoRequestAck_sequence
[] = {
7341 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
7342 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
7343 { &hf_h225_tokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
7344 { &hf_h225_cryptoTokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
7345 { &hf_h225_integrityCheckValue
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
7346 { NULL
, 0, 0, NULL
}
7350 dissect_h225_InfoRequestAck(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7351 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7352 ett_h225_InfoRequestAck
, InfoRequestAck_sequence
);
7358 const value_string InfoRequestNakReason_vals
[] = {
7359 { 0, "notRegistered" },
7360 { 1, "securityDenial" },
7361 { 2, "undefinedReason" },
7362 { 3, "securityError" },
7366 static const per_choice_t InfoRequestNakReason_choice
[] = {
7367 { 0, &hf_h225_notRegistered
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
7368 { 1, &hf_h225_securityDenial
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
7369 { 2, &hf_h225_undefinedReason
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
7370 { 3, &hf_h225_securityError
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_SecurityErrors2
},
7371 { 0, NULL
, 0, NULL
}
7375 dissect_h225_InfoRequestNakReason(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7377 h225_packet_info
* h225_pi
;
7378 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
7380 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
7381 ett_h225_InfoRequestNakReason
, InfoRequestNakReason_choice
,
7384 if (h225_pi
!= NULL
) {
7385 h225_pi
->reason
= value
;
7392 static const per_sequence_t InfoRequestNak_sequence
[] = {
7393 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
7394 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
7395 { &hf_h225_nakReason
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_InfoRequestNakReason
},
7396 { &hf_h225_altGKInfo
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_AltGKInfo
},
7397 { &hf_h225_tokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
7398 { &hf_h225_cryptoTokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
7399 { &hf_h225_integrityCheckValue
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
7400 { NULL
, 0, 0, NULL
}
7404 dissect_h225_InfoRequestNak(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7405 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7406 ett_h225_InfoRequestNak
, InfoRequestNak_sequence
);
7412 static const per_sequence_t T_callSpecific_sequence
[] = {
7413 { &hf_h225_callIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallIdentifier
},
7414 { &hf_h225_conferenceID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ConferenceIdentifier
},
7415 { &hf_h225_answeredCall
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_BOOLEAN
},
7416 { NULL
, 0, 0, NULL
}
7420 dissect_h225_T_callSpecific(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7421 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7422 ett_h225_T_callSpecific
, T_callSpecific_sequence
);
7428 static const per_sequence_t ServiceControlIndication_sequence
[] = {
7429 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
7430 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
7431 { &hf_h225_serviceControl
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_SEQUENCE_OF_ServiceControlSession
},
7432 { &hf_h225_endpointIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_EndpointIdentifier
},
7433 { &hf_h225_callSpecific
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_T_callSpecific
},
7434 { &hf_h225_tokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
7435 { &hf_h225_cryptoTokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
7436 { &hf_h225_integrityCheckValue
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
7437 { &hf_h225_featureSet
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FeatureSet
},
7438 { &hf_h225_genericData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
7439 { NULL
, 0, 0, NULL
}
7443 dissect_h225_ServiceControlIndication(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7444 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7445 ett_h225_ServiceControlIndication
, ServiceControlIndication_sequence
);
7451 static const value_string h225_T_result_vals
[] = {
7455 { 3, "notAvailable" },
7456 { 4, "neededFeatureNotSupported" },
7460 static const per_choice_t T_result_choice
[] = {
7461 { 0, &hf_h225_started
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
7462 { 1, &hf_h225_failed
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
7463 { 2, &hf_h225_stopped
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
7464 { 3, &hf_h225_notAvailable
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
7465 { 4, &hf_h225_neededFeatureNotSupported
, ASN1_EXTENSION_ROOT
, dissect_h225_NULL
},
7466 { 0, NULL
, 0, NULL
}
7470 dissect_h225_T_result(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7471 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
7472 ett_h225_T_result
, T_result_choice
,
7479 static const per_sequence_t ServiceControlResponse_sequence
[] = {
7480 { &hf_h225_requestSeqNum
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_RequestSeqNum
},
7481 { &hf_h225_result
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_T_result
},
7482 { &hf_h225_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
7483 { &hf_h225_tokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_ClearToken
},
7484 { &hf_h225_cryptoTokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_CryptoH323Token
},
7485 { &hf_h225_integrityCheckValue
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_ICV
},
7486 { &hf_h225_featureSet
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_FeatureSet
},
7487 { &hf_h225_genericData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_SEQUENCE_OF_GenericData
},
7488 { NULL
, 0, 0, NULL
}
7492 dissect_h225_ServiceControlResponse(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7493 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7494 ett_h225_ServiceControlResponse
, ServiceControlResponse_sequence
);
7500 static const per_sequence_t SEQUENCE_OF_AdmissionConfirm_sequence_of
[1] = {
7501 { &hf_h225_admissionConfirmSequence_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_AdmissionConfirm
},
7505 dissect_h225_SEQUENCE_OF_AdmissionConfirm(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7506 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
7507 ett_h225_SEQUENCE_OF_AdmissionConfirm
, SEQUENCE_OF_AdmissionConfirm_sequence_of
);
7513 const value_string h225_RasMessage_vals
[] = {
7514 { 0, "gatekeeperRequest" },
7515 { 1, "gatekeeperConfirm" },
7516 { 2, "gatekeeperReject" },
7517 { 3, "registrationRequest" },
7518 { 4, "registrationConfirm" },
7519 { 5, "registrationReject" },
7520 { 6, "unregistrationRequest" },
7521 { 7, "unregistrationConfirm" },
7522 { 8, "unregistrationReject" },
7523 { 9, "admissionRequest" },
7524 { 10, "admissionConfirm" },
7525 { 11, "admissionReject" },
7526 { 12, "bandwidthRequest" },
7527 { 13, "bandwidthConfirm" },
7528 { 14, "bandwidthReject" },
7529 { 15, "disengageRequest" },
7530 { 16, "disengageConfirm" },
7531 { 17, "disengageReject" },
7532 { 18, "locationRequest" },
7533 { 19, "locationConfirm" },
7534 { 20, "locationReject" },
7535 { 21, "infoRequest" },
7536 { 22, "infoRequestResponse" },
7537 { 23, "nonStandardMessage" },
7538 { 24, "unknownMessageResponse" },
7539 { 25, "requestInProgress" },
7540 { 26, "resourcesAvailableIndicate" },
7541 { 27, "resourcesAvailableConfirm" },
7542 { 28, "infoRequestAck" },
7543 { 29, "infoRequestNak" },
7544 { 30, "serviceControlIndication" },
7545 { 31, "serviceControlResponse" },
7546 { 32, "admissionConfirmSequence" },
7550 static const per_choice_t RasMessage_choice
[] = {
7551 { 0, &hf_h225_gatekeeperRequest
, ASN1_EXTENSION_ROOT
, dissect_h225_GatekeeperRequest
},
7552 { 1, &hf_h225_gatekeeperConfirm
, ASN1_EXTENSION_ROOT
, dissect_h225_GatekeeperConfirm
},
7553 { 2, &hf_h225_gatekeeperReject
, ASN1_EXTENSION_ROOT
, dissect_h225_GatekeeperReject
},
7554 { 3, &hf_h225_registrationRequest
, ASN1_EXTENSION_ROOT
, dissect_h225_RegistrationRequest
},
7555 { 4, &hf_h225_registrationConfirm
, ASN1_EXTENSION_ROOT
, dissect_h225_RegistrationConfirm
},
7556 { 5, &hf_h225_registrationReject
, ASN1_EXTENSION_ROOT
, dissect_h225_RegistrationReject
},
7557 { 6, &hf_h225_unregistrationRequest
, ASN1_EXTENSION_ROOT
, dissect_h225_UnregistrationRequest
},
7558 { 7, &hf_h225_unregistrationConfirm
, ASN1_EXTENSION_ROOT
, dissect_h225_UnregistrationConfirm
},
7559 { 8, &hf_h225_unregistrationReject
, ASN1_EXTENSION_ROOT
, dissect_h225_UnregistrationReject
},
7560 { 9, &hf_h225_admissionRequest
, ASN1_EXTENSION_ROOT
, dissect_h225_AdmissionRequest
},
7561 { 10, &hf_h225_admissionConfirm
, ASN1_EXTENSION_ROOT
, dissect_h225_AdmissionConfirm
},
7562 { 11, &hf_h225_admissionReject
, ASN1_EXTENSION_ROOT
, dissect_h225_AdmissionReject
},
7563 { 12, &hf_h225_bandwidthRequest
, ASN1_EXTENSION_ROOT
, dissect_h225_BandwidthRequest
},
7564 { 13, &hf_h225_bandwidthConfirm
, ASN1_EXTENSION_ROOT
, dissect_h225_BandwidthConfirm
},
7565 { 14, &hf_h225_bandwidthReject
, ASN1_EXTENSION_ROOT
, dissect_h225_BandwidthReject
},
7566 { 15, &hf_h225_disengageRequest
, ASN1_EXTENSION_ROOT
, dissect_h225_DisengageRequest
},
7567 { 16, &hf_h225_disengageConfirm
, ASN1_EXTENSION_ROOT
, dissect_h225_DisengageConfirm
},
7568 { 17, &hf_h225_disengageReject
, ASN1_EXTENSION_ROOT
, dissect_h225_DisengageReject
},
7569 { 18, &hf_h225_locationRequest
, ASN1_EXTENSION_ROOT
, dissect_h225_LocationRequest
},
7570 { 19, &hf_h225_locationConfirm
, ASN1_EXTENSION_ROOT
, dissect_h225_LocationConfirm
},
7571 { 20, &hf_h225_locationReject
, ASN1_EXTENSION_ROOT
, dissect_h225_LocationReject
},
7572 { 21, &hf_h225_infoRequest
, ASN1_EXTENSION_ROOT
, dissect_h225_InfoRequest
},
7573 { 22, &hf_h225_infoRequestResponse
, ASN1_EXTENSION_ROOT
, dissect_h225_InfoRequestResponse
},
7574 { 23, &hf_h225_nonStandardMessage
, ASN1_EXTENSION_ROOT
, dissect_h225_NonStandardMessage
},
7575 { 24, &hf_h225_unknownMessageResponse
, ASN1_EXTENSION_ROOT
, dissect_h225_UnknownMessageResponse
},
7576 { 25, &hf_h225_requestInProgress
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_RequestInProgress
},
7577 { 26, &hf_h225_resourcesAvailableIndicate
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_ResourcesAvailableIndicate
},
7578 { 27, &hf_h225_resourcesAvailableConfirm
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_ResourcesAvailableConfirm
},
7579 { 28, &hf_h225_infoRequestAck
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_InfoRequestAck
},
7580 { 29, &hf_h225_infoRequestNak
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_InfoRequestNak
},
7581 { 30, &hf_h225_serviceControlIndication
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_ServiceControlIndication
},
7582 { 31, &hf_h225_serviceControlResponse
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_ServiceControlResponse
},
7583 { 32, &hf_h225_admissionConfirmSequence
, ASN1_NOT_EXTENSION_ROOT
, dissect_h225_SEQUENCE_OF_AdmissionConfirm
},
7584 { 0, NULL
, 0, NULL
}
7588 dissect_h225_RasMessage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7589 int32_t rasmessage_value
;
7590 h225_packet_info
* h225_pi
;
7592 call_id_guid
= NULL
;
7593 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
7594 ett_h225_RasMessage
, RasMessage_choice
,
7597 col_add_fstr(actx
->pinfo
->cinfo
, COL_INFO
, "RAS: %s ",
7598 val_to_str_const(rasmessage_value
, h225_RasMessage_vals
, "<unknown>"));
7600 h225_pi
= (h225_packet_info
*)p_get_proto_data(actx
->pinfo
->pool
, actx
->pinfo
, proto_h225
, 0);
7601 if (h225_pi
!= NULL
) {
7602 h225_pi
->msg_tag
= rasmessage_value
;
7604 h225_pi
->guid
= *call_id_guid
;
7613 static int dissect_H323_UserInformation_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
7615 asn1_ctx_t asn1_ctx
;
7616 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, true, pinfo
);
7617 offset
= dissect_h225_H323_UserInformation(tvb
, offset
, &asn1_ctx
, tree
, hf_h225_H323_UserInformation_PDU
);
7618 offset
+= 7; offset
>>= 3;
7621 int dissect_h225_ExtendedAliasAddress_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
7623 asn1_ctx_t asn1_ctx
;
7624 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, true, pinfo
);
7625 offset
= dissect_h225_ExtendedAliasAddress(tvb
, offset
, &asn1_ctx
, tree
, hf_h225_h225_ExtendedAliasAddress_PDU
);
7626 offset
+= 7; offset
>>= 3;
7629 static int dissect_RasMessage_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
7631 asn1_ctx_t asn1_ctx
;
7632 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, true, pinfo
);
7633 offset
= dissect_h225_RasMessage(tvb
, offset
, &asn1_ctx
, tree
, hf_h225_RasMessage_PDU
);
7634 offset
+= 7; offset
>>= 3;
7639 /* Forward declaration we need below */
7640 void proto_reg_handoff_h225(void);
7643 * Functions needed for Ras-Hash-Table
7646 /* compare 2 keys */
7647 static int h225ras_call_equal(const void *k1
, const void *k2
)
7649 const h225ras_call_info_key
* key1
= (const h225ras_call_info_key
*) k1
;
7650 const h225ras_call_info_key
* key2
= (const h225ras_call_info_key
*) k2
;
7652 return (key1
->reqSeqNum
== key2
->reqSeqNum
&&
7653 key1
->conversation
== key2
->conversation
);
7656 /* calculate a hash key */
7657 static unsigned h225ras_call_hash(const void *k
)
7659 const h225ras_call_info_key
* key
= (const h225ras_call_info_key
*) k
;
7661 return key
->reqSeqNum
+ GPOINTER_TO_UINT(key
->conversation
);
7665 h225ras_call_t
* find_h225ras_call(h225ras_call_info_key
*h225ras_call_key
,int category
)
7667 h225ras_call_t
*h225ras_call
= (h225ras_call_t
*)wmem_map_lookup(ras_calls
[category
], h225ras_call_key
);
7669 return h225ras_call
;
7672 h225ras_call_t
* new_h225ras_call(h225ras_call_info_key
*h225ras_call_key
, packet_info
*pinfo
, e_guid_t
*guid
, int category
)
7674 h225ras_call_info_key
*new_h225ras_call_key
;
7675 h225ras_call_t
*h225ras_call
= NULL
;
7678 /* Prepare the value data.
7679 "req_num" and "rsp_num" are frame numbers;
7680 frame numbers are 1-origin, so we use 0
7681 to mean "we don't yet know in which frame
7682 the reply for this call appears". */
7683 new_h225ras_call_key
= wmem_new(wmem_file_scope(), h225ras_call_info_key
);
7684 new_h225ras_call_key
->reqSeqNum
= h225ras_call_key
->reqSeqNum
;
7685 new_h225ras_call_key
->conversation
= h225ras_call_key
->conversation
;
7686 h225ras_call
= wmem_new(wmem_file_scope(), h225ras_call_t
);
7687 h225ras_call
->req_num
= pinfo
->num
;
7688 h225ras_call
->rsp_num
= 0;
7689 h225ras_call
->requestSeqNum
= h225ras_call_key
->reqSeqNum
;
7690 h225ras_call
->responded
= false;
7691 h225ras_call
->next_call
= NULL
;
7692 h225ras_call
->req_time
=pinfo
->abs_ts
;
7693 h225ras_call
->guid
=*guid
;
7695 wmem_map_insert(ras_calls
[category
], new_h225ras_call_key
, h225ras_call
);
7697 return h225ras_call
;
7700 h225ras_call_t
* append_h225ras_call(h225ras_call_t
*prev_call
, packet_info
*pinfo
, e_guid_t
*guid
, int category _U_
)
7702 h225ras_call_t
*h225ras_call
= NULL
;
7704 /* Prepare the value data.
7705 "req_num" and "rsp_num" are frame numbers;
7706 frame numbers are 1-origin, so we use 0
7707 to mean "we don't yet know in which frame
7708 the reply for this call appears". */
7709 h225ras_call
= wmem_new(wmem_file_scope(), h225ras_call_t
);
7710 h225ras_call
->req_num
= pinfo
->num
;
7711 h225ras_call
->rsp_num
= 0;
7712 h225ras_call
->requestSeqNum
= prev_call
->requestSeqNum
;
7713 h225ras_call
->responded
= false;
7714 h225ras_call
->next_call
= NULL
;
7715 h225ras_call
->req_time
=pinfo
->abs_ts
;
7716 h225ras_call
->guid
=*guid
;
7718 prev_call
->next_call
= h225ras_call
;
7719 return h225ras_call
;
7723 h225_frame_end(void)
7725 /* next_tvb pointers are allocated in packet scope, clear it. */
7731 dissect_h225_H323UserInformation(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data _U_
)
7736 h225_packet_info
* h225_pi
;
7738 /* Init struct for collecting h225_packet_info */
7739 h225_pi
= create_h225_packet_info(pinfo
);
7740 h225_pi
->msg_type
= H225_CS
;
7741 p_add_proto_data(pinfo
->pool
, pinfo
, proto_h225
, 0, h225_pi
);
7743 register_frame_end_routine(pinfo
, h225_frame_end
);
7744 h245_list
= next_tvb_list_new(pinfo
->pool
);
7745 tp_list
= next_tvb_list_new(pinfo
->pool
);
7747 col_set_str(pinfo
->cinfo
, COL_PROTOCOL
, PSNAME
);
7748 col_clear(pinfo
->cinfo
, COL_INFO
);
7750 it
=proto_tree_add_protocol_format(tree
, proto_h225
, tvb
, 0, -1, PSNAME
" CS");
7751 tr
=proto_item_add_subtree(it
, ett_h225
);
7753 offset
= dissect_H323_UserInformation_PDU(tvb
, pinfo
, tr
, NULL
);
7755 if (h245_list
->count
){
7756 col_append_str(pinfo
->cinfo
, COL_PROTOCOL
, "/");
7757 col_set_fence(pinfo
->cinfo
, COL_PROTOCOL
);
7760 next_tvb_call(h245_list
, pinfo
, tree
, h245dg_handle
, data_handle
);
7761 next_tvb_call(tp_list
, pinfo
, tree
, NULL
, data_handle
);
7763 tap_queue_packet(h225_tap
, pinfo
, h225_pi
);
7768 dissect_h225_h225_RasMessage(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data _U_
){
7772 h225_packet_info
* h225_pi
;
7774 /* Init struct for collecting h225_packet_info */
7775 h225_pi
= create_h225_packet_info(pinfo
);
7776 h225_pi
->msg_type
= H225_RAS
;
7777 p_add_proto_data(pinfo
->pool
, pinfo
, proto_h225
, 0, h225_pi
);
7779 register_frame_end_routine(pinfo
, h225_frame_end
);
7780 h245_list
= next_tvb_list_new(pinfo
->pool
);
7781 tp_list
= next_tvb_list_new(pinfo
->pool
);
7783 col_set_str(pinfo
->cinfo
, COL_PROTOCOL
, PSNAME
);
7785 it
=proto_tree_add_protocol_format(tree
, proto_h225
, tvb
, offset
, -1, PSNAME
" RAS");
7786 tr
=proto_item_add_subtree(it
, ett_h225
);
7788 offset
= dissect_RasMessage_PDU(tvb
, pinfo
, tr
, NULL
);
7790 ras_call_matching(tvb
, pinfo
, tr
, h225_pi
);
7792 next_tvb_call(h245_list
, pinfo
, tree
, h245dg_handle
, data_handle
);
7793 next_tvb_call(tp_list
, pinfo
, tree
, NULL
, data_handle
);
7795 tap_queue_packet(h225_tap
, pinfo
, h225_pi
);
7801 /* The following values represent the size of their valuestring arrays */
7803 #define RAS_MSG_TYPES array_length(h225_RasMessage_vals)
7804 #define CS_MSG_TYPES array_length(T_h323_message_body_vals)
7806 #define GRJ_REASONS array_length(GatekeeperRejectReason_vals)
7807 #define RRJ_REASONS array_length(RegistrationRejectReason_vals)
7808 #define URQ_REASONS array_length(UnregRequestReason_vals)
7809 #define URJ_REASONS array_length(UnregRejectReason_vals)
7810 #define ARJ_REASONS array_length(AdmissionRejectReason_vals)
7811 #define BRJ_REASONS array_length(BandRejectReason_vals)
7812 #define DRQ_REASONS array_length(DisengageReason_vals)
7813 #define DRJ_REASONS array_length(DisengageRejectReason_vals)
7814 #define LRJ_REASONS array_length(LocationRejectReason_vals)
7815 #define IRQNAK_REASONS array_length(InfoRequestNakReason_vals)
7816 #define REL_CMP_REASONS array_length(h225_ReleaseCompleteReason_vals)
7817 #define FACILITY_REASONS array_length(FacilityReason_vals)
7822 MESSAGE_TYPE_COLUMN
= 0,
7824 } h225_stat_columns
;
7826 typedef struct _h225_table_item
{
7827 unsigned count
; /* Message count */
7828 unsigned table_idx
; /* stat_table index */
7829 } h225_table_item_t
;
7831 static stat_tap_table_item h225_stat_fields
[] = {{TABLE_ITEM_STRING
, TAP_ALIGN_LEFT
, "Message Type or Reason", "%-25s"}, {TABLE_ITEM_UINT
, TAP_ALIGN_RIGHT
, "Count", "%d"}};
7833 static unsigned ras_msg_idx
[RAS_MSG_TYPES
];
7834 static unsigned cs_msg_idx
[CS_MSG_TYPES
];
7836 static unsigned grj_reason_idx
[GRJ_REASONS
];
7837 static unsigned rrj_reason_idx
[RRJ_REASONS
];
7838 static unsigned urq_reason_idx
[URQ_REASONS
];
7839 static unsigned urj_reason_idx
[URJ_REASONS
];
7840 static unsigned arj_reason_idx
[ARJ_REASONS
];
7841 static unsigned brj_reason_idx
[BRJ_REASONS
];
7842 static unsigned drq_reason_idx
[DRQ_REASONS
];
7843 static unsigned drj_reason_idx
[DRJ_REASONS
];
7844 static unsigned lrj_reason_idx
[LRJ_REASONS
];
7845 static unsigned irqnak_reason_idx
[IRQNAK_REASONS
];
7846 static unsigned rel_cmp_reason_idx
[REL_CMP_REASONS
];
7847 static unsigned facility_reason_idx
[FACILITY_REASONS
];
7849 static unsigned other_idx
;
7851 static void h225_stat_init(stat_tap_table_ui
* new_stat
)
7853 const char *table_name
= "H.225 Messages and Message Reasons";
7854 int num_fields
= array_length(h225_stat_fields
);
7855 stat_tap_table
*table
;
7856 int row_idx
= 0, msg_idx
;
7857 stat_tap_table_item_type items
[array_length(h225_stat_fields
)];
7859 table
= stat_tap_find_table(new_stat
, table_name
);
7861 if (new_stat
->stat_tap_reset_table_cb
) {
7862 new_stat
->stat_tap_reset_table_cb(table
);
7867 memset(items
, 0x0, sizeof(items
));
7868 table
= stat_tap_init_table(table_name
, num_fields
, 0, NULL
);
7869 stat_tap_add_table(new_stat
, table
);
7871 items
[MESSAGE_TYPE_COLUMN
].type
= TABLE_ITEM_STRING
;
7872 items
[COUNT_COLUMN
].type
= TABLE_ITEM_UINT
;
7873 items
[COUNT_COLUMN
].value
.uint_value
= 0;
7875 /* Add a row for each value type */
7880 items
[MESSAGE_TYPE_COLUMN
].value
.string_value
=
7881 h225_RasMessage_vals
[msg_idx
].strptr
7882 ? h225_RasMessage_vals
[msg_idx
].strptr
7883 : "Unknown RAS message";
7884 ras_msg_idx
[msg_idx
] = row_idx
;
7886 stat_tap_init_table_row(table
, row_idx
, num_fields
, items
);
7889 } while (h225_RasMessage_vals
[msg_idx
].strptr
);
7894 items
[MESSAGE_TYPE_COLUMN
].value
.string_value
=
7895 T_h323_message_body_vals
[msg_idx
].strptr
7896 ? T_h323_message_body_vals
[msg_idx
].strptr
7897 : "Unknown CS message";
7898 cs_msg_idx
[msg_idx
] = row_idx
;
7900 stat_tap_init_table_row(table
, row_idx
, num_fields
, items
);
7903 } while (T_h323_message_body_vals
[msg_idx
].strptr
);
7908 items
[MESSAGE_TYPE_COLUMN
].value
.string_value
=
7909 GatekeeperRejectReason_vals
[msg_idx
].strptr
7910 ? GatekeeperRejectReason_vals
[msg_idx
].strptr
7911 : "Unknown gatekeeper reject reason";
7912 grj_reason_idx
[msg_idx
] = row_idx
;
7914 stat_tap_init_table_row(table
, row_idx
, num_fields
, items
);
7917 } while (GatekeeperRejectReason_vals
[msg_idx
].strptr
);
7922 items
[MESSAGE_TYPE_COLUMN
].value
.string_value
=
7923 RegistrationRejectReason_vals
[msg_idx
].strptr
7924 ? RegistrationRejectReason_vals
[msg_idx
].strptr
7925 : "Unknown registration reject reason";
7926 rrj_reason_idx
[msg_idx
] = row_idx
;
7928 stat_tap_init_table_row(table
, row_idx
, num_fields
, items
);
7931 } while (RegistrationRejectReason_vals
[msg_idx
].strptr
);
7936 items
[MESSAGE_TYPE_COLUMN
].value
.string_value
=
7937 UnregRequestReason_vals
[msg_idx
].strptr
7938 ? UnregRequestReason_vals
[msg_idx
].strptr
7939 : "Unknown unregistration request reason";
7940 urq_reason_idx
[msg_idx
] = row_idx
;
7942 stat_tap_init_table_row(table
, row_idx
, num_fields
, items
);
7945 } while (UnregRequestReason_vals
[msg_idx
].strptr
);
7950 items
[MESSAGE_TYPE_COLUMN
].value
.string_value
=
7951 UnregRejectReason_vals
[msg_idx
].strptr
7952 ? UnregRejectReason_vals
[msg_idx
].strptr
7953 : "Unknown unregistration reject reason";
7954 urj_reason_idx
[msg_idx
] = row_idx
;
7956 stat_tap_init_table_row(table
, row_idx
, num_fields
, items
);
7959 } while (UnregRejectReason_vals
[msg_idx
].strptr
);
7964 items
[MESSAGE_TYPE_COLUMN
].value
.string_value
=
7965 AdmissionRejectReason_vals
[msg_idx
].strptr
7966 ? AdmissionRejectReason_vals
[msg_idx
].strptr
7967 : "Unknown admission reject reason";
7968 arj_reason_idx
[msg_idx
] = row_idx
;
7970 stat_tap_init_table_row(table
, row_idx
, num_fields
, items
);
7973 } while (AdmissionRejectReason_vals
[msg_idx
].strptr
);
7978 items
[MESSAGE_TYPE_COLUMN
].value
.string_value
=
7979 BandRejectReason_vals
[msg_idx
].strptr
7980 ? BandRejectReason_vals
[msg_idx
].strptr
7981 : "Unknown band reject reason";
7982 brj_reason_idx
[msg_idx
] = row_idx
;
7984 stat_tap_init_table_row(table
, row_idx
, num_fields
, items
);
7987 } while (BandRejectReason_vals
[msg_idx
].strptr
);
7992 items
[MESSAGE_TYPE_COLUMN
].value
.string_value
=
7993 DisengageReason_vals
[msg_idx
].strptr
7994 ? DisengageReason_vals
[msg_idx
].strptr
7995 : "Unknown disengage reason";
7996 drq_reason_idx
[msg_idx
] = row_idx
;
7998 stat_tap_init_table_row(table
, row_idx
, num_fields
, items
);
8001 } while (DisengageReason_vals
[msg_idx
].strptr
);
8006 items
[MESSAGE_TYPE_COLUMN
].value
.string_value
=
8007 DisengageRejectReason_vals
[msg_idx
].strptr
8008 ? DisengageRejectReason_vals
[msg_idx
].strptr
8009 : "Unknown disengage reject reason";
8010 drj_reason_idx
[msg_idx
] = row_idx
;
8012 stat_tap_init_table_row(table
, row_idx
, num_fields
, items
);
8015 } while (DisengageRejectReason_vals
[msg_idx
].strptr
);
8020 items
[MESSAGE_TYPE_COLUMN
].value
.string_value
=
8021 LocationRejectReason_vals
[msg_idx
].strptr
8022 ? LocationRejectReason_vals
[msg_idx
].strptr
8023 : "Unknown location reject reason";
8024 lrj_reason_idx
[msg_idx
] = row_idx
;
8026 stat_tap_init_table_row(table
, row_idx
, num_fields
, items
);
8029 } while (LocationRejectReason_vals
[msg_idx
].strptr
);
8034 items
[MESSAGE_TYPE_COLUMN
].value
.string_value
=
8035 InfoRequestNakReason_vals
[msg_idx
].strptr
8036 ? InfoRequestNakReason_vals
[msg_idx
].strptr
8037 : "Unknown info request nak reason";
8038 irqnak_reason_idx
[msg_idx
] = row_idx
;
8040 stat_tap_init_table_row(table
, row_idx
, num_fields
, items
);
8043 } while (InfoRequestNakReason_vals
[msg_idx
].strptr
);
8048 items
[MESSAGE_TYPE_COLUMN
].value
.string_value
=
8049 h225_ReleaseCompleteReason_vals
[msg_idx
].strptr
8050 ? h225_ReleaseCompleteReason_vals
[msg_idx
].strptr
8051 : "Unknown release complete reason";
8052 rel_cmp_reason_idx
[msg_idx
] = row_idx
;
8054 stat_tap_init_table_row(table
, row_idx
, num_fields
, items
);
8057 } while (h225_ReleaseCompleteReason_vals
[msg_idx
].strptr
);
8062 items
[MESSAGE_TYPE_COLUMN
].value
.string_value
=
8063 FacilityReason_vals
[msg_idx
].strptr
8064 ? FacilityReason_vals
[msg_idx
].strptr
8065 : "Unknown facility reason";
8066 facility_reason_idx
[msg_idx
] = row_idx
;
8068 stat_tap_init_table_row(table
, row_idx
, num_fields
, items
);
8071 } while (FacilityReason_vals
[msg_idx
].strptr
);
8074 items
[MESSAGE_TYPE_COLUMN
].value
.string_value
= "Unknown H.225 message";
8075 stat_tap_init_table_row(table
, row_idx
, num_fields
, items
);
8076 other_idx
= row_idx
;
8079 static tap_packet_status
8080 h225_stat_packet(void *tapdata
, packet_info
*pinfo _U_
, epan_dissect_t
*edt _U_
, const void *hpi_ptr
, tap_flags_t flags _U_
)
8082 stat_data_t
* stat_data
= (stat_data_t
*)tapdata
;
8083 const h225_packet_info
*hpi
= (const h225_packet_info
*)hpi_ptr
;
8085 int reason_idx
= -1;
8087 if(hpi
->msg_tag
< 0) { /* uninitialized */
8088 return TAP_PACKET_DONT_REDRAW
;
8091 switch (hpi
->msg_type
) {
8094 tag_idx
= ras_msg_idx
[MIN(hpi
->msg_tag
, (int)RAS_MSG_TYPES
-1)];
8096 /* Look for reason tag */
8097 if(hpi
->reason
< 0) { /* uninitialized */
8101 switch(hpi
->msg_tag
) {
8104 reason_idx
= grj_reason_idx
[MIN(hpi
->reason
, (int)GRJ_REASONS
-1)];
8107 reason_idx
= rrj_reason_idx
[MIN(hpi
->reason
, (int)RRJ_REASONS
-1)];
8110 reason_idx
= urq_reason_idx
[MIN(hpi
->reason
, (int)URQ_REASONS
-1)];
8113 reason_idx
= urj_reason_idx
[MIN(hpi
->reason
, (int)URJ_REASONS
-1)];
8116 reason_idx
= arj_reason_idx
[MIN(hpi
->reason
, (int)ARJ_REASONS
-1)];
8119 reason_idx
= brj_reason_idx
[MIN(hpi
->reason
, (int)BRJ_REASONS
-1)];
8122 reason_idx
= drq_reason_idx
[MIN(hpi
->reason
, (int)DRQ_REASONS
-1)];
8125 reason_idx
= drj_reason_idx
[MIN(hpi
->reason
, (int)DRJ_REASONS
-1)];
8128 reason_idx
= lrj_reason_idx
[MIN(hpi
->reason
, (int)LRJ_REASONS
-1)];
8130 case 29: /* IRQ Nak */
8131 reason_idx
= irqnak_reason_idx
[MIN(hpi
->reason
, (int)IRQNAK_REASONS
-1)];
8141 tag_idx
= cs_msg_idx
[MIN(hpi
->msg_tag
, (int)CS_MSG_TYPES
-1)];
8143 /* Look for reason tag */
8144 if(hpi
->reason
< 0) { /* uninitialized */
8148 switch(hpi
->msg_tag
) {
8150 case 5: /* ReleaseComplete */
8151 reason_idx
= rel_cmp_reason_idx
[MIN(hpi
->reason
, (int)REL_CMP_REASONS
-1)];
8153 case 6: /* Facility */
8154 reason_idx
= facility_reason_idx
[MIN(hpi
->reason
, (int)FACILITY_REASONS
-1)];
8165 tag_idx
= other_idx
;
8169 stat_tap_table
*table
= g_array_index(stat_data
->stat_tap_data
->tables
, stat_tap_table
*, 0);
8170 stat_tap_table_item_type
* msg_data
= stat_tap_get_field_data(table
, tag_idx
, COUNT_COLUMN
);
8171 msg_data
->value
.uint_value
++;
8172 stat_tap_set_field_data(table
, tag_idx
, COUNT_COLUMN
, msg_data
);
8174 if (reason_idx
>= 0) {
8175 msg_data
= stat_tap_get_field_data(table
, reason_idx
, COUNT_COLUMN
);
8176 msg_data
->value
.uint_value
++;
8177 stat_tap_set_field_data(table
, reason_idx
, COUNT_COLUMN
, msg_data
);
8180 return TAP_PACKET_REDRAW
;
8182 return TAP_PACKET_DONT_REDRAW
;
8186 h225_stat_reset(stat_tap_table
* table
)
8189 stat_tap_table_item_type
* item_data
;
8191 for (element
= 0; element
< table
->num_elements
; element
++)
8193 item_data
= stat_tap_get_field_data(table
, element
, COUNT_COLUMN
);
8194 item_data
->value
.uint_value
= 0;
8195 stat_tap_set_field_data(table
, element
, COUNT_COLUMN
, item_data
);
8199 /*--- proto_register_h225 -------------------------------------------*/
8200 void proto_register_h225(void) {
8202 /* List of fields */
8203 static hf_register_info hf
[] = {
8204 { &hf_h221Manufacturer
,
8205 { "H.225 Manufacturer", "h225.Manufacturer", FT_UINT32
, BASE_HEX
,
8206 VALS(H221ManufacturerCode_vals
), 0, "h225.H.221 Manufacturer", HFILL
}},
8208 { &hf_h225_ras_req_frame
,
8209 { "RAS Request Frame", "h225.ras.reqframe", FT_FRAMENUM
, BASE_NONE
,
8210 FRAMENUM_TYPE(FT_FRAMENUM_REQUEST
), 0, NULL
, HFILL
}},
8212 { &hf_h225_ras_rsp_frame
,
8213 { "RAS Response Frame", "h225.ras.rspframe", FT_FRAMENUM
, BASE_NONE
,
8214 FRAMENUM_TYPE(FT_FRAMENUM_RESPONSE
), 0, NULL
, HFILL
}},
8217 { "Duplicate RAS Message", "h225.ras.dup", FT_UINT32
, BASE_DEC
,
8218 NULL
, 0, NULL
, HFILL
}},
8220 { &hf_h225_ras_deltatime
,
8221 { "RAS Service Response Time", "h225.ras.timedelta", FT_RELATIVE_TIME
, BASE_NONE
,
8222 NULL
, 0, "Timedelta between RAS-Request and RAS-Response", HFILL
}},
8224 { &hf_h225_debug_dissector_try_string
,
8225 { "*** DEBUG dissector_try_string", "h225.debug.dissector_try_string", FT_STRING
, BASE_NONE
,
8226 NULL
, 0, NULL
, HFILL
}},
8228 { &hf_h225_H323_UserInformation_PDU
,
8229 { "H323-UserInformation", "h225.H323_UserInformation_element",
8230 FT_NONE
, BASE_NONE
, NULL
, 0,
8232 { &hf_h225_h225_ExtendedAliasAddress_PDU
,
8233 { "ExtendedAliasAddress", "h225.ExtendedAliasAddress_element",
8234 FT_NONE
, BASE_NONE
, NULL
, 0,
8236 { &hf_h225_RasMessage_PDU
,
8237 { "RasMessage", "h225.RasMessage",
8238 FT_UINT32
, BASE_DEC
, VALS(h225_RasMessage_vals
), 0,
8240 { &hf_h225_h323_uu_pdu
,
8241 { "h323-uu-pdu", "h225.h323_uu_pdu_element",
8242 FT_NONE
, BASE_NONE
, NULL
, 0,
8244 { &hf_h225_user_data
,
8245 { "user-data", "h225.user_data_element",
8246 FT_NONE
, BASE_NONE
, NULL
, 0,
8248 { &hf_h225_protocol_discriminator
,
8249 { "protocol-discriminator", "h225.protocol_discriminator",
8250 FT_UINT32
, BASE_DEC
|BASE_EXT_STRING
, &q931_protocol_discriminator_vals_ext
, 0,
8251 "INTEGER_0_255", HFILL
}},
8252 { &hf_h225_user_information
,
8253 { "user-information", "h225.user_information",
8254 FT_BYTES
, BASE_NONE
, NULL
, 0,
8255 "OCTET_STRING_SIZE_1_131", HFILL
}},
8256 { &hf_h225_h323_message_body
,
8257 { "h323-message-body", "h225.h323_message_body",
8258 FT_UINT32
, BASE_DEC
, VALS(T_h323_message_body_vals
), 0,
8261 { "setup", "h225.setup_element",
8262 FT_NONE
, BASE_NONE
, NULL
, 0,
8263 "Setup_UUIE", HFILL
}},
8264 { &hf_h225_callProceeding
,
8265 { "callProceeding", "h225.callProceeding_element",
8266 FT_NONE
, BASE_NONE
, NULL
, 0,
8267 "CallProceeding_UUIE", HFILL
}},
8269 { "connect", "h225.connect_element",
8270 FT_NONE
, BASE_NONE
, NULL
, 0,
8271 "Connect_UUIE", HFILL
}},
8272 { &hf_h225_alerting
,
8273 { "alerting", "h225.alerting_element",
8274 FT_NONE
, BASE_NONE
, NULL
, 0,
8275 "Alerting_UUIE", HFILL
}},
8276 { &hf_h225_information
,
8277 { "information", "h225.information_element",
8278 FT_NONE
, BASE_NONE
, NULL
, 0,
8279 "Information_UUIE", HFILL
}},
8280 { &hf_h225_releaseComplete
,
8281 { "releaseComplete", "h225.releaseComplete_element",
8282 FT_NONE
, BASE_NONE
, NULL
, 0,
8283 "ReleaseComplete_UUIE", HFILL
}},
8284 { &hf_h225_facility
,
8285 { "facility", "h225.facility_element",
8286 FT_NONE
, BASE_NONE
, NULL
, 0,
8287 "Facility_UUIE", HFILL
}},
8288 { &hf_h225_progress
,
8289 { "progress", "h225.progress_element",
8290 FT_NONE
, BASE_NONE
, NULL
, 0,
8291 "Progress_UUIE", HFILL
}},
8292 { &hf_h225_empty_flg
,
8293 { "empty", "h225.empty_element",
8294 FT_NONE
, BASE_NONE
, NULL
, 0,
8295 "T_empty_flg", HFILL
}},
8297 { "status", "h225.status_element",
8298 FT_NONE
, BASE_NONE
, NULL
, 0,
8299 "Status_UUIE", HFILL
}},
8300 { &hf_h225_statusInquiry
,
8301 { "statusInquiry", "h225.statusInquiry_element",
8302 FT_NONE
, BASE_NONE
, NULL
, 0,
8303 "StatusInquiry_UUIE", HFILL
}},
8304 { &hf_h225_setupAcknowledge
,
8305 { "setupAcknowledge", "h225.setupAcknowledge_element",
8306 FT_NONE
, BASE_NONE
, NULL
, 0,
8307 "SetupAcknowledge_UUIE", HFILL
}},
8309 { "notify", "h225.notify_element",
8310 FT_NONE
, BASE_NONE
, NULL
, 0,
8311 "Notify_UUIE", HFILL
}},
8312 { &hf_h225_nonStandardData
,
8313 { "nonStandardData", "h225.nonStandardData_element",
8314 FT_NONE
, BASE_NONE
, NULL
, 0,
8315 "NonStandardParameter", HFILL
}},
8316 { &hf_h225_h4501SupplementaryService
,
8317 { "h4501SupplementaryService", "h225.h4501SupplementaryService",
8318 FT_UINT32
, BASE_DEC
, NULL
, 0,
8320 { &hf_h225_h4501SupplementaryService_item
,
8321 { "h4501SupplementaryService item", "h225.h4501SupplementaryService_item",
8322 FT_UINT32
, BASE_DEC
, NULL
, 0,
8324 { &hf_h225_h245Tunnelling
,
8325 { "h245Tunnelling", "h225.h245Tunnelling",
8326 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
8328 { &hf_h225_H245Control_item
,
8329 { "H245Control item", "h225.H245Control_item",
8330 FT_UINT32
, BASE_DEC
, NULL
, 0,
8332 { &hf_h225_h245Control
,
8333 { "h245Control", "h225.h245Control",
8334 FT_UINT32
, BASE_DEC
, NULL
, 0,
8336 { &hf_h225_nonStandardControl
,
8337 { "nonStandardControl", "h225.nonStandardControl",
8338 FT_UINT32
, BASE_DEC
, NULL
, 0,
8339 "SEQUENCE_OF_NonStandardParameter", HFILL
}},
8340 { &hf_h225_nonStandardControl_item
,
8341 { "NonStandardParameter", "h225.NonStandardParameter_element",
8342 FT_NONE
, BASE_NONE
, NULL
, 0,
8344 { &hf_h225_callLinkage
,
8345 { "callLinkage", "h225.callLinkage_element",
8346 FT_NONE
, BASE_NONE
, NULL
, 0,
8348 { &hf_h225_tunnelledSignallingMessage
,
8349 { "tunnelledSignallingMessage", "h225.tunnelledSignallingMessage_element",
8350 FT_NONE
, BASE_NONE
, NULL
, 0,
8352 { &hf_h225_tunnelledProtocolID
,
8353 { "tunnelledProtocolID", "h225.tunnelledProtocolID_element",
8354 FT_NONE
, BASE_NONE
, NULL
, 0,
8355 "TunnelledProtocol", HFILL
}},
8356 { &hf_h225_messageContent
,
8357 { "messageContent", "h225.messageContent",
8358 FT_UINT32
, BASE_DEC
, NULL
, 0,
8360 { &hf_h225_messageContent_item
,
8361 { "messageContent item", "h225.messageContent_item",
8362 FT_UINT32
, BASE_DEC
, NULL
, 0,
8363 "T_messageContent_item", HFILL
}},
8364 { &hf_h225_tunnellingRequired
,
8365 { "tunnellingRequired", "h225.tunnellingRequired_element",
8366 FT_NONE
, BASE_NONE
, NULL
, 0,
8368 { &hf_h225_provisionalRespToH245Tunnelling
,
8369 { "provisionalRespToH245Tunnelling", "h225.provisionalRespToH245Tunnelling_element",
8370 FT_NONE
, BASE_NONE
, NULL
, 0,
8372 { &hf_h225_stimulusControl
,
8373 { "stimulusControl", "h225.stimulusControl_element",
8374 FT_NONE
, BASE_NONE
, NULL
, 0,
8376 { &hf_h225_genericData
,
8377 { "genericData", "h225.genericData",
8378 FT_UINT32
, BASE_DEC
, NULL
, 0,
8379 "SEQUENCE_OF_GenericData", HFILL
}},
8380 { &hf_h225_genericData_item
,
8381 { "GenericData", "h225.GenericData_element",
8382 FT_NONE
, BASE_NONE
, NULL
, 0,
8384 { &hf_h225_nonStandard
,
8385 { "nonStandard", "h225.nonStandard_element",
8386 FT_NONE
, BASE_NONE
, NULL
, 0,
8387 "NonStandardParameter", HFILL
}},
8389 { "isText", "h225.isText_element",
8390 FT_NONE
, BASE_NONE
, NULL
, 0,
8392 { &hf_h225_h248Message
,
8393 { "h248Message", "h225.h248Message",
8394 FT_BYTES
, BASE_NONE
, NULL
, 0,
8395 "OCTET_STRING", HFILL
}},
8396 { &hf_h225_protocolIdentifier
,
8397 { "protocolIdentifier", "h225.protocolIdentifier",
8398 FT_OID
, BASE_NONE
, NULL
, 0,
8400 { &hf_h225_uUIE_destinationInfo
,
8401 { "destinationInfo", "h225.destinationInfo_element",
8402 FT_NONE
, BASE_NONE
, NULL
, 0,
8403 "EndpointType", HFILL
}},
8404 { &hf_h225_h245Address
,
8405 { "h245Address", "h225.h245Address",
8406 FT_UINT32
, BASE_DEC
, VALS(h225_H245TransportAddress_vals
), 0,
8407 "H245TransportAddress", HFILL
}},
8408 { &hf_h225_callIdentifier
,
8409 { "callIdentifier", "h225.callIdentifier_element",
8410 FT_NONE
, BASE_NONE
, NULL
, 0,
8412 { &hf_h225_h245SecurityMode
,
8413 { "h245SecurityMode", "h225.h245SecurityMode",
8414 FT_UINT32
, BASE_DEC
, VALS(h225_H245Security_vals
), 0,
8415 "H245Security", HFILL
}},
8417 { "tokens", "h225.tokens",
8418 FT_UINT32
, BASE_DEC
, NULL
, 0,
8419 "SEQUENCE_OF_ClearToken", HFILL
}},
8420 { &hf_h225_tokens_item
,
8421 { "ClearToken", "h225.ClearToken_element",
8422 FT_NONE
, BASE_NONE
, NULL
, 0,
8424 { &hf_h225_cryptoTokens
,
8425 { "cryptoTokens", "h225.cryptoTokens",
8426 FT_UINT32
, BASE_DEC
, NULL
, 0,
8427 "SEQUENCE_OF_CryptoH323Token", HFILL
}},
8428 { &hf_h225_cryptoTokens_item
,
8429 { "CryptoH323Token", "h225.CryptoH323Token",
8430 FT_UINT32
, BASE_DEC
, VALS(h225_CryptoH323Token_vals
), 0,
8432 { &hf_h225_fastStart
,
8433 { "fastStart", "h225.fastStart",
8434 FT_UINT32
, BASE_DEC
, NULL
, 0,
8436 { &hf_h225_multipleCalls
,
8437 { "multipleCalls", "h225.multipleCalls",
8438 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
8439 "BOOLEAN", HFILL
}},
8440 { &hf_h225_maintainConnection
,
8441 { "maintainConnection", "h225.maintainConnection",
8442 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
8443 "BOOLEAN", HFILL
}},
8444 { &hf_h225_alertingAddress
,
8445 { "alertingAddress", "h225.alertingAddress",
8446 FT_UINT32
, BASE_DEC
, NULL
, 0,
8447 "SEQUENCE_OF_AliasAddress", HFILL
}},
8448 { &hf_h225_alertingAddress_item
,
8449 { "AliasAddress", "h225.AliasAddress",
8450 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
8452 { &hf_h225_presentationIndicator
,
8453 { "presentationIndicator", "h225.presentationIndicator",
8454 FT_UINT32
, BASE_DEC
, VALS(h225_PresentationIndicator_vals
), 0,
8456 { &hf_h225_screeningIndicator
,
8457 { "screeningIndicator", "h225.screeningIndicator",
8458 FT_UINT32
, BASE_DEC
, VALS(h225_ScreeningIndicator_vals
), 0,
8460 { &hf_h225_fastConnectRefused
,
8461 { "fastConnectRefused", "h225.fastConnectRefused_element",
8462 FT_NONE
, BASE_NONE
, NULL
, 0,
8464 { &hf_h225_serviceControl
,
8465 { "serviceControl", "h225.serviceControl",
8466 FT_UINT32
, BASE_DEC
, NULL
, 0,
8467 "SEQUENCE_OF_ServiceControlSession", HFILL
}},
8468 { &hf_h225_serviceControl_item
,
8469 { "ServiceControlSession", "h225.ServiceControlSession_element",
8470 FT_NONE
, BASE_NONE
, NULL
, 0,
8472 { &hf_h225_capacity
,
8473 { "capacity", "h225.capacity_element",
8474 FT_NONE
, BASE_NONE
, NULL
, 0,
8475 "CallCapacity", HFILL
}},
8476 { &hf_h225_featureSet
,
8477 { "featureSet", "h225.featureSet_element",
8478 FT_NONE
, BASE_NONE
, NULL
, 0,
8480 { &hf_h225_displayName
,
8481 { "displayName", "h225.displayName",
8482 FT_UINT32
, BASE_DEC
, NULL
, 0,
8483 "SEQUENCE_OF_DisplayName", HFILL
}},
8484 { &hf_h225_displayName_item
,
8485 { "DisplayName", "h225.DisplayName_element",
8486 FT_NONE
, BASE_NONE
, NULL
, 0,
8488 { &hf_h225_conferenceID
,
8489 { "conferenceID", "h225.conferenceID",
8490 FT_GUID
, BASE_NONE
, NULL
, 0,
8491 "ConferenceIdentifier", HFILL
}},
8492 { &hf_h225_language
,
8493 { "language", "h225.language",
8494 FT_UINT32
, BASE_DEC
, NULL
, 0,
8496 { &hf_h225_connectedAddress
,
8497 { "connectedAddress", "h225.connectedAddress",
8498 FT_UINT32
, BASE_DEC
, NULL
, 0,
8499 "SEQUENCE_OF_AliasAddress", HFILL
}},
8500 { &hf_h225_connectedAddress_item
,
8501 { "AliasAddress", "h225.AliasAddress",
8502 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
8504 { &hf_h225_circuitInfo
,
8505 { "circuitInfo", "h225.circuitInfo_element",
8506 FT_NONE
, BASE_NONE
, NULL
, 0,
8508 { &hf_h225_releaseCompleteReason
,
8509 { "reason", "h225.reason",
8510 FT_UINT32
, BASE_DEC
, VALS(h225_ReleaseCompleteReason_vals
), 0,
8511 "ReleaseCompleteReason", HFILL
}},
8512 { &hf_h225_busyAddress
,
8513 { "busyAddress", "h225.busyAddress",
8514 FT_UINT32
, BASE_DEC
, NULL
, 0,
8515 "SEQUENCE_OF_AliasAddress", HFILL
}},
8516 { &hf_h225_busyAddress_item
,
8517 { "AliasAddress", "h225.AliasAddress",
8518 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
8520 { &hf_h225_destinationInfo
,
8521 { "destinationInfo", "h225.destinationInfo_element",
8522 FT_NONE
, BASE_NONE
, NULL
, 0,
8523 "EndpointType", HFILL
}},
8524 { &hf_h225_noBandwidth
,
8525 { "noBandwidth", "h225.noBandwidth_element",
8526 FT_NONE
, BASE_NONE
, NULL
, 0,
8528 { &hf_h225_gatekeeperResources
,
8529 { "gatekeeperResources", "h225.gatekeeperResources_element",
8530 FT_NONE
, BASE_NONE
, NULL
, 0,
8532 { &hf_h225_unreachableDestination
,
8533 { "unreachableDestination", "h225.unreachableDestination_element",
8534 FT_NONE
, BASE_NONE
, NULL
, 0,
8536 { &hf_h225_destinationRejection
,
8537 { "destinationRejection", "h225.destinationRejection_element",
8538 FT_NONE
, BASE_NONE
, NULL
, 0,
8540 { &hf_h225_invalidRevision
,
8541 { "invalidRevision", "h225.invalidRevision_element",
8542 FT_NONE
, BASE_NONE
, NULL
, 0,
8544 { &hf_h225_noPermission
,
8545 { "noPermission", "h225.noPermission_element",
8546 FT_NONE
, BASE_NONE
, NULL
, 0,
8548 { &hf_h225_unreachableGatekeeper
,
8549 { "unreachableGatekeeper", "h225.unreachableGatekeeper_element",
8550 FT_NONE
, BASE_NONE
, NULL
, 0,
8552 { &hf_h225_gatewayResources
,
8553 { "gatewayResources", "h225.gatewayResources_element",
8554 FT_NONE
, BASE_NONE
, NULL
, 0,
8556 { &hf_h225_badFormatAddress
,
8557 { "badFormatAddress", "h225.badFormatAddress_element",
8558 FT_NONE
, BASE_NONE
, NULL
, 0,
8560 { &hf_h225_adaptiveBusy
,
8561 { "adaptiveBusy", "h225.adaptiveBusy_element",
8562 FT_NONE
, BASE_NONE
, NULL
, 0,
8565 { "inConf", "h225.inConf_element",
8566 FT_NONE
, BASE_NONE
, NULL
, 0,
8568 { &hf_h225_undefinedReason
,
8569 { "undefinedReason", "h225.undefinedReason_element",
8570 FT_NONE
, BASE_NONE
, NULL
, 0,
8572 { &hf_h225_facilityCallDeflection
,
8573 { "facilityCallDeflection", "h225.facilityCallDeflection_element",
8574 FT_NONE
, BASE_NONE
, NULL
, 0,
8576 { &hf_h225_securityDenied
,
8577 { "securityDenied", "h225.securityDenied_element",
8578 FT_NONE
, BASE_NONE
, NULL
, 0,
8580 { &hf_h225_calledPartyNotRegistered
,
8581 { "calledPartyNotRegistered", "h225.calledPartyNotRegistered_element",
8582 FT_NONE
, BASE_NONE
, NULL
, 0,
8584 { &hf_h225_callerNotRegistered
,
8585 { "callerNotRegistered", "h225.callerNotRegistered_element",
8586 FT_NONE
, BASE_NONE
, NULL
, 0,
8588 { &hf_h225_newConnectionNeeded
,
8589 { "newConnectionNeeded", "h225.newConnectionNeeded_element",
8590 FT_NONE
, BASE_NONE
, NULL
, 0,
8592 { &hf_h225_nonStandardReason
,
8593 { "nonStandardReason", "h225.nonStandardReason_element",
8594 FT_NONE
, BASE_NONE
, NULL
, 0,
8595 "NonStandardParameter", HFILL
}},
8596 { &hf_h225_replaceWithConferenceInvite
,
8597 { "replaceWithConferenceInvite", "h225.replaceWithConferenceInvite",
8598 FT_GUID
, BASE_NONE
, NULL
, 0,
8599 "ConferenceIdentifier", HFILL
}},
8600 { &hf_h225_genericDataReason
,
8601 { "genericDataReason", "h225.genericDataReason_element",
8602 FT_NONE
, BASE_NONE
, NULL
, 0,
8604 { &hf_h225_neededFeatureNotSupported
,
8605 { "neededFeatureNotSupported", "h225.neededFeatureNotSupported_element",
8606 FT_NONE
, BASE_NONE
, NULL
, 0,
8608 { &hf_h225_tunnelledSignallingRejected
,
8609 { "tunnelledSignallingRejected", "h225.tunnelledSignallingRejected_element",
8610 FT_NONE
, BASE_NONE
, NULL
, 0,
8612 { &hf_h225_invalidCID
,
8613 { "invalidCID", "h225.invalidCID_element",
8614 FT_NONE
, BASE_NONE
, NULL
, 0,
8616 { &hf_h225_rLC_securityError
,
8617 { "securityError", "h225.securityError",
8618 FT_UINT32
, BASE_DEC
, VALS(h225_SecurityErrors_vals
), 0,
8619 "SecurityErrors", HFILL
}},
8620 { &hf_h225_hopCountExceeded
,
8621 { "hopCountExceeded", "h225.hopCountExceeded_element",
8622 FT_NONE
, BASE_NONE
, NULL
, 0,
8624 { &hf_h225_sourceAddress
,
8625 { "sourceAddress", "h225.sourceAddress",
8626 FT_UINT32
, BASE_DEC
, NULL
, 0,
8627 "SEQUENCE_OF_AliasAddress", HFILL
}},
8628 { &hf_h225_sourceAddress_item
,
8629 { "AliasAddress", "h225.AliasAddress",
8630 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
8632 { &hf_h225_setup_UUIE_sourceInfo
,
8633 { "sourceInfo", "h225.sourceInfo_element",
8634 FT_NONE
, BASE_NONE
, NULL
, 0,
8635 "EndpointType", HFILL
}},
8636 { &hf_h225_destinationAddress
,
8637 { "destinationAddress", "h225.destinationAddress",
8638 FT_UINT32
, BASE_DEC
, NULL
, 0,
8639 "SEQUENCE_OF_AliasAddress", HFILL
}},
8640 { &hf_h225_destinationAddress_item
,
8641 { "AliasAddress", "h225.AliasAddress",
8642 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
8644 { &hf_h225_destCallSignalAddress
,
8645 { "destCallSignalAddress", "h225.destCallSignalAddress",
8646 FT_UINT32
, BASE_DEC
, VALS(h225_TransportAddress_vals
), 0,
8647 "TransportAddress", HFILL
}},
8648 { &hf_h225_destExtraCallInfo
,
8649 { "destExtraCallInfo", "h225.destExtraCallInfo",
8650 FT_UINT32
, BASE_DEC
, NULL
, 0,
8651 "SEQUENCE_OF_AliasAddress", HFILL
}},
8652 { &hf_h225_destExtraCallInfo_item
,
8653 { "AliasAddress", "h225.AliasAddress",
8654 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
8656 { &hf_h225_destExtraCRV
,
8657 { "destExtraCRV", "h225.destExtraCRV",
8658 FT_UINT32
, BASE_DEC
, NULL
, 0,
8659 "SEQUENCE_OF_CallReferenceValue", HFILL
}},
8660 { &hf_h225_destExtraCRV_item
,
8661 { "CallReferenceValue", "h225.CallReferenceValue",
8662 FT_UINT32
, BASE_DEC
, NULL
, 0,
8664 { &hf_h225_activeMC
,
8665 { "activeMC", "h225.activeMC",
8666 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
8667 "BOOLEAN", HFILL
}},
8668 { &hf_h225_conferenceGoal
,
8669 { "conferenceGoal", "h225.conferenceGoal",
8670 FT_UINT32
, BASE_DEC
, VALS(h225_T_conferenceGoal_vals
), 0,
8673 { "create", "h225.create_element",
8674 FT_NONE
, BASE_NONE
, NULL
, 0,
8677 { "join", "h225.join_element",
8678 FT_NONE
, BASE_NONE
, NULL
, 0,
8681 { "invite", "h225.invite_element",
8682 FT_NONE
, BASE_NONE
, NULL
, 0,
8684 { &hf_h225_capability_negotiation
,
8685 { "capability-negotiation", "h225.capability_negotiation_element",
8686 FT_NONE
, BASE_NONE
, NULL
, 0,
8688 { &hf_h225_callIndependentSupplementaryService
,
8689 { "callIndependentSupplementaryService", "h225.callIndependentSupplementaryService_element",
8690 FT_NONE
, BASE_NONE
, NULL
, 0,
8692 { &hf_h225_callServices
,
8693 { "callServices", "h225.callServices_element",
8694 FT_NONE
, BASE_NONE
, NULL
, 0,
8695 "QseriesOptions", HFILL
}},
8696 { &hf_h225_callType
,
8697 { "callType", "h225.callType",
8698 FT_UINT32
, BASE_DEC
, VALS(h225_CallType_vals
), 0,
8700 { &hf_h225_sourceCallSignalAddress
,
8701 { "sourceCallSignalAddress", "h225.sourceCallSignalAddress",
8702 FT_UINT32
, BASE_DEC
, VALS(h225_TransportAddress_vals
), 0,
8703 "TransportAddress", HFILL
}},
8704 { &hf_h225_uUIE_remoteExtensionAddress
,
8705 { "remoteExtensionAddress", "h225.remoteExtensionAddress",
8706 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
8707 "AliasAddress", HFILL
}},
8708 { &hf_h225_h245SecurityCapability
,
8709 { "h245SecurityCapability", "h225.h245SecurityCapability",
8710 FT_UINT32
, BASE_DEC
, NULL
, 0,
8711 "SEQUENCE_OF_H245Security", HFILL
}},
8712 { &hf_h225_h245SecurityCapability_item
,
8713 { "H245Security", "h225.H245Security",
8714 FT_UINT32
, BASE_DEC
, VALS(h225_H245Security_vals
), 0,
8716 { &hf_h225_FastStart_item
,
8717 { "FastStart item", "h225.FastStart_item",
8718 FT_UINT32
, BASE_DEC
, NULL
, 0,
8720 { &hf_h225_mediaWaitForConnect
,
8721 { "mediaWaitForConnect", "h225.mediaWaitForConnect",
8722 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
8723 "BOOLEAN", HFILL
}},
8724 { &hf_h225_canOverlapSend
,
8725 { "canOverlapSend", "h225.canOverlapSend",
8726 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
8727 "BOOLEAN", HFILL
}},
8728 { &hf_h225_endpointIdentifier
,
8729 { "endpointIdentifier", "h225.endpointIdentifier",
8730 FT_STRING
, BASE_NONE
, NULL
, 0,
8732 { &hf_h225_connectionParameters
,
8733 { "connectionParameters", "h225.connectionParameters_element",
8734 FT_NONE
, BASE_NONE
, NULL
, 0,
8736 { &hf_h225_connectionType
,
8737 { "connectionType", "h225.connectionType",
8738 FT_UINT32
, BASE_DEC
, VALS(h225_ScnConnectionType_vals
), 0,
8739 "ScnConnectionType", HFILL
}},
8740 { &hf_h225_numberOfScnConnections
,
8741 { "numberOfScnConnections", "h225.numberOfScnConnections",
8742 FT_UINT32
, BASE_DEC
, NULL
, 0,
8743 "INTEGER_0_65535", HFILL
}},
8744 { &hf_h225_connectionAggregation
,
8745 { "connectionAggregation", "h225.connectionAggregation",
8746 FT_UINT32
, BASE_DEC
, VALS(h225_ScnConnectionAggregation_vals
), 0,
8747 "ScnConnectionAggregation", HFILL
}},
8748 { &hf_h225_Language_item
,
8749 { "Language item", "h225.Language_item",
8750 FT_STRING
, BASE_NONE
, NULL
, 0,
8751 "IA5String_SIZE_1_32", HFILL
}},
8752 { &hf_h225_symmetricOperationRequired
,
8753 { "symmetricOperationRequired", "h225.symmetricOperationRequired_element",
8754 FT_NONE
, BASE_NONE
, NULL
, 0,
8756 { &hf_h225_desiredProtocols
,
8757 { "desiredProtocols", "h225.desiredProtocols",
8758 FT_UINT32
, BASE_DEC
, NULL
, 0,
8759 "SEQUENCE_OF_SupportedProtocols", HFILL
}},
8760 { &hf_h225_desiredProtocols_item
,
8761 { "SupportedProtocols", "h225.SupportedProtocols",
8762 FT_UINT32
, BASE_DEC
, VALS(h225_SupportedProtocols_vals
), 0,
8764 { &hf_h225_neededFeatures
,
8765 { "neededFeatures", "h225.neededFeatures",
8766 FT_UINT32
, BASE_DEC
, NULL
, 0,
8767 "SEQUENCE_OF_FeatureDescriptor", HFILL
}},
8768 { &hf_h225_neededFeatures_item
,
8769 { "FeatureDescriptor", "h225.FeatureDescriptor_element",
8770 FT_NONE
, BASE_NONE
, NULL
, 0,
8772 { &hf_h225_desiredFeatures
,
8773 { "desiredFeatures", "h225.desiredFeatures",
8774 FT_UINT32
, BASE_DEC
, NULL
, 0,
8775 "SEQUENCE_OF_FeatureDescriptor", HFILL
}},
8776 { &hf_h225_desiredFeatures_item
,
8777 { "FeatureDescriptor", "h225.FeatureDescriptor_element",
8778 FT_NONE
, BASE_NONE
, NULL
, 0,
8780 { &hf_h225_supportedFeatures
,
8781 { "supportedFeatures", "h225.supportedFeatures",
8782 FT_UINT32
, BASE_DEC
, NULL
, 0,
8783 "SEQUENCE_OF_FeatureDescriptor", HFILL
}},
8784 { &hf_h225_supportedFeatures_item
,
8785 { "FeatureDescriptor", "h225.FeatureDescriptor_element",
8786 FT_NONE
, BASE_NONE
, NULL
, 0,
8788 { &hf_h225_ParallelH245Control_item
,
8789 { "ParallelH245Control item", "h225.ParallelH245Control_item",
8790 FT_UINT32
, BASE_DEC
, NULL
, 0,
8792 { &hf_h225_parallelH245Control
,
8793 { "parallelH245Control", "h225.parallelH245Control",
8794 FT_UINT32
, BASE_DEC
, NULL
, 0,
8796 { &hf_h225_additionalSourceAddresses
,
8797 { "additionalSourceAddresses", "h225.additionalSourceAddresses",
8798 FT_UINT32
, BASE_DEC
, NULL
, 0,
8799 "SEQUENCE_OF_ExtendedAliasAddress", HFILL
}},
8800 { &hf_h225_additionalSourceAddresses_item
,
8801 { "ExtendedAliasAddress", "h225.ExtendedAliasAddress_element",
8802 FT_NONE
, BASE_NONE
, NULL
, 0,
8804 { &hf_h225_hopCount_1_31
,
8805 { "hopCount", "h225.hopCount",
8806 FT_UINT32
, BASE_DEC
, NULL
, 0,
8807 "INTEGER_1_31", HFILL
}},
8809 { "unknown", "h225.unknown_element",
8810 FT_NONE
, BASE_NONE
, NULL
, 0,
8812 { &hf_h225_bChannel
,
8813 { "bChannel", "h225.bChannel_element",
8814 FT_NONE
, BASE_NONE
, NULL
, 0,
8816 { &hf_h225_hybrid2x64
,
8817 { "hybrid2x64", "h225.hybrid2x64_element",
8818 FT_NONE
, BASE_NONE
, NULL
, 0,
8820 { &hf_h225_hybrid384
,
8821 { "hybrid384", "h225.hybrid384_element",
8822 FT_NONE
, BASE_NONE
, NULL
, 0,
8824 { &hf_h225_hybrid1536
,
8825 { "hybrid1536", "h225.hybrid1536_element",
8826 FT_NONE
, BASE_NONE
, NULL
, 0,
8828 { &hf_h225_hybrid1920
,
8829 { "hybrid1920", "h225.hybrid1920_element",
8830 FT_NONE
, BASE_NONE
, NULL
, 0,
8832 { &hf_h225_multirate
,
8833 { "multirate", "h225.multirate_element",
8834 FT_NONE
, BASE_NONE
, NULL
, 0,
8837 { "auto", "h225.auto_element",
8838 FT_NONE
, BASE_NONE
, NULL
, 0,
8841 { "none", "h225.none_element",
8842 FT_NONE
, BASE_NONE
, NULL
, 0,
8845 { "h221", "h225.h221_element",
8846 FT_NONE
, BASE_NONE
, NULL
, 0,
8848 { &hf_h225_bonded_mode1
,
8849 { "bonded-mode1", "h225.bonded_mode1_element",
8850 FT_NONE
, BASE_NONE
, NULL
, 0,
8852 { &hf_h225_bonded_mode2
,
8853 { "bonded-mode2", "h225.bonded_mode2_element",
8854 FT_NONE
, BASE_NONE
, NULL
, 0,
8856 { &hf_h225_bonded_mode3
,
8857 { "bonded-mode3", "h225.bonded_mode3_element",
8858 FT_NONE
, BASE_NONE
, NULL
, 0,
8860 { &hf_h225_presentationAllowed
,
8861 { "presentationAllowed", "h225.presentationAllowed_element",
8862 FT_NONE
, BASE_NONE
, NULL
, 0,
8864 { &hf_h225_presentationRestricted
,
8865 { "presentationRestricted", "h225.presentationRestricted_element",
8866 FT_NONE
, BASE_NONE
, NULL
, 0,
8868 { &hf_h225_addressNotAvailable
,
8869 { "addressNotAvailable", "h225.addressNotAvailable_element",
8870 FT_NONE
, BASE_NONE
, NULL
, 0,
8872 { &hf_h225_alternativeAddress
,
8873 { "alternativeAddress", "h225.alternativeAddress",
8874 FT_UINT32
, BASE_DEC
, VALS(h225_TransportAddress_vals
), 0,
8875 "TransportAddress", HFILL
}},
8876 { &hf_h225_alternativeAliasAddress
,
8877 { "alternativeAliasAddress", "h225.alternativeAliasAddress",
8878 FT_UINT32
, BASE_DEC
, NULL
, 0,
8879 "SEQUENCE_OF_AliasAddress", HFILL
}},
8880 { &hf_h225_alternativeAliasAddress_item
,
8881 { "AliasAddress", "h225.AliasAddress",
8882 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
8884 { &hf_h225_facilityReason
,
8885 { "reason", "h225.reason",
8886 FT_UINT32
, BASE_DEC
, VALS(FacilityReason_vals
), 0,
8887 "FacilityReason", HFILL
}},
8888 { &hf_h225_conferences
,
8889 { "conferences", "h225.conferences",
8890 FT_UINT32
, BASE_DEC
, NULL
, 0,
8891 "SEQUENCE_OF_ConferenceList", HFILL
}},
8892 { &hf_h225_conferences_item
,
8893 { "ConferenceList", "h225.ConferenceList_element",
8894 FT_NONE
, BASE_NONE
, NULL
, 0,
8896 { &hf_h225_conferenceAlias
,
8897 { "conferenceAlias", "h225.conferenceAlias",
8898 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
8899 "AliasAddress", HFILL
}},
8900 { &hf_h225_routeCallToGatekeeper
,
8901 { "routeCallToGatekeeper", "h225.routeCallToGatekeeper_element",
8902 FT_NONE
, BASE_NONE
, NULL
, 0,
8904 { &hf_h225_callForwarded
,
8905 { "callForwarded", "h225.callForwarded_element",
8906 FT_NONE
, BASE_NONE
, NULL
, 0,
8908 { &hf_h225_routeCallToMC
,
8909 { "routeCallToMC", "h225.routeCallToMC_element",
8910 FT_NONE
, BASE_NONE
, NULL
, 0,
8912 { &hf_h225_conferenceListChoice
,
8913 { "conferenceListChoice", "h225.conferenceListChoice_element",
8914 FT_NONE
, BASE_NONE
, NULL
, 0,
8916 { &hf_h225_startH245
,
8917 { "startH245", "h225.startH245_element",
8918 FT_NONE
, BASE_NONE
, NULL
, 0,
8921 { "noH245", "h225.noH245_element",
8922 FT_NONE
, BASE_NONE
, NULL
, 0,
8924 { &hf_h225_newTokens
,
8925 { "newTokens", "h225.newTokens_element",
8926 FT_NONE
, BASE_NONE
, NULL
, 0,
8928 { &hf_h225_featureSetUpdate
,
8929 { "featureSetUpdate", "h225.featureSetUpdate_element",
8930 FT_NONE
, BASE_NONE
, NULL
, 0,
8932 { &hf_h225_forwardedElements
,
8933 { "forwardedElements", "h225.forwardedElements_element",
8934 FT_NONE
, BASE_NONE
, NULL
, 0,
8936 { &hf_h225_transportedInformation
,
8937 { "transportedInformation", "h225.transportedInformation_element",
8938 FT_NONE
, BASE_NONE
, NULL
, 0,
8940 { &hf_h225_h245IpAddress
,
8941 { "ipAddress", "h225.ipAddress_element",
8942 FT_NONE
, BASE_NONE
, NULL
, 0,
8943 "T_h245IpAddress", HFILL
}},
8945 { "ip", "h225.h245Ip",
8946 FT_IPv4
, BASE_NONE
, NULL
, 0,
8947 "T_h245Ip", HFILL
}},
8948 { &hf_h225_h245IpPort
,
8949 { "port", "h225.h245IpPort",
8950 FT_UINT32
, BASE_DEC
, NULL
, 0,
8951 "T_h245IpPort", HFILL
}},
8952 { &hf_h225_h245IpSourceRoute
,
8953 { "ipSourceRoute", "h225.ipSourceRoute_element",
8954 FT_NONE
, BASE_NONE
, NULL
, 0,
8955 "T_h245IpSourceRoute", HFILL
}},
8958 FT_BYTES
, BASE_NONE
, NULL
, 0,
8959 "OCTET_STRING_SIZE_4", HFILL
}},
8961 { "port", "h225.port",
8962 FT_UINT32
, BASE_DEC
, NULL
, 0,
8963 "INTEGER_0_65535", HFILL
}},
8964 { &hf_h225_h245Route
,
8965 { "route", "h225.route",
8966 FT_UINT32
, BASE_DEC
, NULL
, 0,
8967 "T_h245Route", HFILL
}},
8968 { &hf_h225_h245Route_item
,
8969 { "route item", "h225.route_item",
8970 FT_BYTES
, BASE_NONE
, NULL
, 0,
8971 "OCTET_STRING_SIZE_4", HFILL
}},
8972 { &hf_h225_h245Routing
,
8973 { "routing", "h225.routing",
8974 FT_UINT32
, BASE_DEC
, VALS(h225_T_h245Routing_vals
), 0,
8975 "T_h245Routing", HFILL
}},
8977 { "strict", "h225.strict_element",
8978 FT_NONE
, BASE_NONE
, NULL
, 0,
8981 { "loose", "h225.loose_element",
8982 FT_NONE
, BASE_NONE
, NULL
, 0,
8984 { &hf_h225_h245IpxAddress
,
8985 { "ipxAddress", "h225.ipxAddress_element",
8986 FT_NONE
, BASE_NONE
, NULL
, 0,
8987 "T_h245IpxAddress", HFILL
}},
8989 { "node", "h225.node",
8990 FT_BYTES
, BASE_NONE
, NULL
, 0,
8991 "OCTET_STRING_SIZE_6", HFILL
}},
8993 { "netnum", "h225.netnum",
8994 FT_BYTES
, BASE_NONE
, NULL
, 0,
8995 "OCTET_STRING_SIZE_4", HFILL
}},
8996 { &hf_h225_h245IpxPort
,
8997 { "port", "h225.h245IpxPort",
8998 FT_BYTES
, BASE_NONE
, NULL
, 0,
8999 "OCTET_STRING_SIZE_2", HFILL
}},
9000 { &hf_h225_h245Ip6Address
,
9001 { "ip6Address", "h225.ip6Address_element",
9002 FT_NONE
, BASE_NONE
, NULL
, 0,
9003 "T_h245Ip6Address", HFILL
}},
9005 { "ip", "h225.h245Ip6",
9006 FT_IPv6
, BASE_NONE
, NULL
, 0,
9007 "T_h245Ip6", HFILL
}},
9008 { &hf_h225_h245Ip6port
,
9009 { "port", "h225.h245Ip6port",
9010 FT_UINT32
, BASE_DEC
, NULL
, 0,
9011 "T_h245Ip6port", HFILL
}},
9013 { "netBios", "h225.netBios",
9014 FT_BYTES
, BASE_NONE
, NULL
, 0,
9015 "OCTET_STRING_SIZE_16", HFILL
}},
9017 { "nsap", "h225.nsap",
9018 FT_BYTES
, BASE_NONE
, NULL
, 0,
9019 "OCTET_STRING_SIZE_1_20", HFILL
}},
9020 { &hf_h225_nonStandardAddress
,
9021 { "nonStandardAddress", "h225.nonStandardAddress_element",
9022 FT_NONE
, BASE_NONE
, NULL
, 0,
9023 "NonStandardParameter", HFILL
}},
9024 { &hf_h225_ipAddress
,
9025 { "ipAddress", "h225.ipAddress_element",
9026 FT_NONE
, BASE_NONE
, NULL
, 0,
9029 { "ip", "h225.ipV4",
9030 FT_IPv4
, BASE_NONE
, NULL
, 0,
9032 { &hf_h225_ipV4_port
,
9033 { "port", "h225.ipV4_port",
9034 FT_UINT32
, BASE_DEC
, NULL
, 0,
9035 "INTEGER_0_65535", HFILL
}},
9036 { &hf_h225_ipSourceRoute
,
9037 { "ipSourceRoute", "h225.ipSourceRoute_element",
9038 FT_NONE
, BASE_NONE
, NULL
, 0,
9040 { &hf_h225_src_route_ipV4
,
9041 { "ip", "h225.src_route_ipV4",
9042 FT_BYTES
, BASE_NONE
, NULL
, 0,
9043 "OCTET_STRING_SIZE_4", HFILL
}},
9044 { &hf_h225_ipV4_src_port
,
9045 { "port", "h225.ipV4_src_port",
9046 FT_UINT32
, BASE_DEC
, NULL
, 0,
9047 "INTEGER_0_65535", HFILL
}},
9049 { "route", "h225.route",
9050 FT_UINT32
, BASE_DEC
, NULL
, 0,
9052 { &hf_h225_route_item
,
9053 { "route item", "h225.route_item",
9054 FT_BYTES
, BASE_NONE
, NULL
, 0,
9055 "OCTET_STRING_SIZE_4", HFILL
}},
9057 { "routing", "h225.routing",
9058 FT_UINT32
, BASE_DEC
, VALS(h225_T_routing_vals
), 0,
9060 { &hf_h225_ipxAddress
,
9061 { "ipxAddress", "h225.ipxAddress_element",
9062 FT_NONE
, BASE_NONE
, NULL
, 0,
9064 { &hf_h225_ipx_port
,
9065 { "port", "h225.ipx_port",
9066 FT_BYTES
, BASE_NONE
, NULL
, 0,
9067 "OCTET_STRING_SIZE_2", HFILL
}},
9068 { &hf_h225_ip6Address
,
9069 { "ip6Address", "h225.ip6Address_element",
9070 FT_NONE
, BASE_NONE
, NULL
, 0,
9073 { "ip", "h225.ipV6",
9074 FT_IPv6
, BASE_NONE
, NULL
, 0,
9075 "OCTET_STRING_SIZE_16", HFILL
}},
9076 { &hf_h225_ipV6_port
,
9077 { "port", "h225.ipV6_port",
9078 FT_UINT32
, BASE_DEC
, NULL
, 0,
9079 "INTEGER_0_65535", HFILL
}},
9081 { "vendor", "h225.vendor_element",
9082 FT_NONE
, BASE_NONE
, NULL
, 0,
9083 "VendorIdentifier", HFILL
}},
9084 { &hf_h225_gatekeeper
,
9085 { "gatekeeper", "h225.gatekeeper_element",
9086 FT_NONE
, BASE_NONE
, NULL
, 0,
9087 "GatekeeperInfo", HFILL
}},
9089 { "gateway", "h225.gateway_element",
9090 FT_NONE
, BASE_NONE
, NULL
, 0,
9091 "GatewayInfo", HFILL
}},
9093 { "mcu", "h225.mcu_element",
9094 FT_NONE
, BASE_NONE
, NULL
, 0,
9095 "McuInfo", HFILL
}},
9096 { &hf_h225_terminal
,
9097 { "terminal", "h225.terminal_element",
9098 FT_NONE
, BASE_NONE
, NULL
, 0,
9099 "TerminalInfo", HFILL
}},
9102 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9103 "BOOLEAN", HFILL
}},
9104 { &hf_h225_undefinedNode
,
9105 { "undefinedNode", "h225.undefinedNode",
9106 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9107 "BOOLEAN", HFILL
}},
9109 { "set", "h225.set",
9110 FT_BYTES
, BASE_NONE
, NULL
, 0,
9111 "BIT_STRING_SIZE_32", HFILL
}},
9112 { &hf_h225_supportedTunnelledProtocols
,
9113 { "supportedTunnelledProtocols", "h225.supportedTunnelledProtocols",
9114 FT_UINT32
, BASE_DEC
, NULL
, 0,
9115 "SEQUENCE_OF_TunnelledProtocol", HFILL
}},
9116 { &hf_h225_supportedTunnelledProtocols_item
,
9117 { "TunnelledProtocol", "h225.TunnelledProtocol_element",
9118 FT_NONE
, BASE_NONE
, NULL
, 0,
9120 { &hf_h225_protocol
,
9121 { "protocol", "h225.protocol",
9122 FT_UINT32
, BASE_DEC
, NULL
, 0,
9123 "SEQUENCE_OF_SupportedProtocols", HFILL
}},
9124 { &hf_h225_protocol_item
,
9125 { "SupportedProtocols", "h225.SupportedProtocols",
9126 FT_UINT32
, BASE_DEC
, VALS(h225_SupportedProtocols_vals
), 0,
9129 { "h310", "h225.h310_element",
9130 FT_NONE
, BASE_NONE
, NULL
, 0,
9131 "H310Caps", HFILL
}},
9133 { "h320", "h225.h320_element",
9134 FT_NONE
, BASE_NONE
, NULL
, 0,
9135 "H320Caps", HFILL
}},
9137 { "h321", "h225.h321_element",
9138 FT_NONE
, BASE_NONE
, NULL
, 0,
9139 "H321Caps", HFILL
}},
9141 { "h322", "h225.h322_element",
9142 FT_NONE
, BASE_NONE
, NULL
, 0,
9143 "H322Caps", HFILL
}},
9145 { "h323", "h225.h323_element",
9146 FT_NONE
, BASE_NONE
, NULL
, 0,
9147 "H323Caps", HFILL
}},
9149 { "h324", "h225.h324_element",
9150 FT_NONE
, BASE_NONE
, NULL
, 0,
9151 "H324Caps", HFILL
}},
9153 { "voice", "h225.voice_element",
9154 FT_NONE
, BASE_NONE
, NULL
, 0,
9155 "VoiceCaps", HFILL
}},
9156 { &hf_h225_t120_only
,
9157 { "t120-only", "h225.t120_only_element",
9158 FT_NONE
, BASE_NONE
, NULL
, 0,
9159 "T120OnlyCaps", HFILL
}},
9160 { &hf_h225_nonStandardProtocol
,
9161 { "nonStandardProtocol", "h225.nonStandardProtocol_element",
9162 FT_NONE
, BASE_NONE
, NULL
, 0,
9164 { &hf_h225_t38FaxAnnexbOnly
,
9165 { "t38FaxAnnexbOnly", "h225.t38FaxAnnexbOnly_element",
9166 FT_NONE
, BASE_NONE
, NULL
, 0,
9167 "T38FaxAnnexbOnlyCaps", HFILL
}},
9169 { "sip", "h225.sip_element",
9170 FT_NONE
, BASE_NONE
, NULL
, 0,
9171 "SIPCaps", HFILL
}},
9172 { &hf_h225_dataRatesSupported
,
9173 { "dataRatesSupported", "h225.dataRatesSupported",
9174 FT_UINT32
, BASE_DEC
, NULL
, 0,
9175 "SEQUENCE_OF_DataRate", HFILL
}},
9176 { &hf_h225_dataRatesSupported_item
,
9177 { "DataRate", "h225.DataRate_element",
9178 FT_NONE
, BASE_NONE
, NULL
, 0,
9180 { &hf_h225_supportedPrefixes
,
9181 { "supportedPrefixes", "h225.supportedPrefixes",
9182 FT_UINT32
, BASE_DEC
, NULL
, 0,
9183 "SEQUENCE_OF_SupportedPrefix", HFILL
}},
9184 { &hf_h225_supportedPrefixes_item
,
9185 { "SupportedPrefix", "h225.SupportedPrefix_element",
9186 FT_NONE
, BASE_NONE
, NULL
, 0,
9188 { &hf_h225_t38FaxProtocol
,
9189 { "t38FaxProtocol", "h225.t38FaxProtocol",
9190 FT_UINT32
, BASE_DEC
, VALS(DataProtocolCapability_vals
), 0,
9191 "DataProtocolCapability", HFILL
}},
9192 { &hf_h225_t38FaxProfile
,
9193 { "t38FaxProfile", "h225.t38FaxProfile_element",
9194 FT_NONE
, BASE_NONE
, NULL
, 0,
9196 { &hf_h225_vendorIdentifier_vendor
,
9197 { "vendor", "h225.vendor_element",
9198 FT_NONE
, BASE_NONE
, NULL
, 0,
9199 "H221NonStandard", HFILL
}},
9200 { &hf_h225_productId
,
9201 { "productId", "h225.productId",
9202 FT_STRING
, BASE_NONE
, NULL
, 0,
9203 "OCTET_STRING_SIZE_1_256", HFILL
}},
9204 { &hf_h225_versionId
,
9205 { "versionId", "h225.versionId",
9206 FT_STRING
, BASE_NONE
, NULL
, 0,
9207 "OCTET_STRING_SIZE_1_256", HFILL
}},
9208 { &hf_h225_enterpriseNumber
,
9209 { "enterpriseNumber", "h225.enterpriseNumber",
9210 FT_OID
, BASE_NONE
, NULL
, 0,
9211 "OBJECT_IDENTIFIER", HFILL
}},
9212 { &hf_h225_t35CountryCode
,
9213 { "t35CountryCode", "h225.t35CountryCode",
9214 FT_UINT32
, BASE_DEC
, VALS(T35CountryCode_vals
), 0,
9216 { &hf_h225_t35Extension
,
9217 { "t35Extension", "h225.t35Extension",
9218 FT_UINT32
, BASE_DEC
, NULL
, 0,
9220 { &hf_h225_manufacturerCode
,
9221 { "manufacturerCode", "h225.manufacturerCode",
9222 FT_UINT32
, BASE_DEC
, NULL
, 0,
9224 { &hf_h225_tunnelledProtocol_id
,
9226 FT_UINT32
, BASE_DEC
, VALS(h225_TunnelledProtocol_id_vals
), 0,
9227 "TunnelledProtocol_id", HFILL
}},
9228 { &hf_h225_tunnelledProtocolObjectID
,
9229 { "tunnelledProtocolObjectID", "h225.tunnelledProtocolObjectID",
9230 FT_OID
, BASE_NONE
, NULL
, 0,
9232 { &hf_h225_tunnelledProtocolAlternateID
,
9233 { "tunnelledProtocolAlternateID", "h225.tunnelledProtocolAlternateID_element",
9234 FT_NONE
, BASE_NONE
, NULL
, 0,
9235 "TunnelledProtocolAlternateIdentifier", HFILL
}},
9236 { &hf_h225_subIdentifier
,
9237 { "subIdentifier", "h225.subIdentifier",
9238 FT_STRING
, BASE_NONE
, NULL
, 0,
9239 "IA5String_SIZE_1_64", HFILL
}},
9240 { &hf_h225_protocolType
,
9241 { "protocolType", "h225.protocolType",
9242 FT_STRING
, BASE_NONE
, NULL
, 0,
9243 "IA5String_SIZE_1_64", HFILL
}},
9244 { &hf_h225_protocolVariant
,
9245 { "protocolVariant", "h225.protocolVariant",
9246 FT_STRING
, BASE_NONE
, NULL
, 0,
9247 "IA5String_SIZE_1_64", HFILL
}},
9248 { &hf_h225_nonStandardIdentifier
,
9249 { "nonStandardIdentifier", "h225.nonStandardIdentifier",
9250 FT_UINT32
, BASE_DEC
, VALS(h225_NonStandardIdentifier_vals
), 0,
9252 { &hf_h225_nsp_data
,
9253 { "data", "h225.data",
9254 FT_UINT32
, BASE_DEC
, NULL
, 0,
9255 "T_nsp_data", HFILL
}},
9257 { "object", "h225.object",
9258 FT_OID
, BASE_NONE
, NULL
, 0,
9259 "T_nsiOID", HFILL
}},
9260 { &hf_h225_h221NonStandard
,
9261 { "h221NonStandard", "h225.h221NonStandard_element",
9262 FT_NONE
, BASE_NONE
, NULL
, 0,
9264 { &hf_h225_dialledDigits
,
9265 { "dialledDigits", "h225.dialledDigits",
9266 FT_STRING
, BASE_NONE
, NULL
, 0,
9267 "DialedDigits", HFILL
}},
9269 { "h323-ID", "h225.h323_ID",
9270 FT_STRING
, BASE_NONE
, NULL
, 0,
9271 "BMPString_SIZE_1_256", HFILL
}},
9273 { "url-ID", "h225.url_ID",
9274 FT_STRING
, BASE_NONE
, NULL
, 0,
9275 "IA5String_SIZE_1_512", HFILL
}},
9276 { &hf_h225_transportID
,
9277 { "transportID", "h225.transportID",
9278 FT_UINT32
, BASE_DEC
, VALS(h225_TransportAddress_vals
), 0,
9279 "TransportAddress", HFILL
}},
9280 { &hf_h225_email_ID
,
9281 { "email-ID", "h225.email_ID",
9282 FT_STRING
, BASE_NONE
, NULL
, 0,
9283 "IA5String_SIZE_1_512", HFILL
}},
9284 { &hf_h225_partyNumber
,
9285 { "partyNumber", "h225.partyNumber",
9286 FT_UINT32
, BASE_DEC
, VALS(h225_PartyNumber_vals
), 0,
9288 { &hf_h225_mobileUIM
,
9289 { "mobileUIM", "h225.mobileUIM",
9290 FT_UINT32
, BASE_DEC
, VALS(h225_MobileUIM_vals
), 0,
9292 { &hf_h225_isupNumber
,
9293 { "isupNumber", "h225.isupNumber",
9294 FT_UINT32
, BASE_DEC
, VALS(h225_IsupNumber_vals
), 0,
9296 { &hf_h225_wildcard
,
9297 { "wildcard", "h225.wildcard",
9298 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
9299 "AliasAddress", HFILL
}},
9301 { "range", "h225.range_element",
9302 FT_NONE
, BASE_NONE
, NULL
, 0,
9304 { &hf_h225_startOfRange
,
9305 { "startOfRange", "h225.startOfRange",
9306 FT_UINT32
, BASE_DEC
, VALS(h225_PartyNumber_vals
), 0,
9307 "PartyNumber", HFILL
}},
9308 { &hf_h225_endOfRange
,
9309 { "endOfRange", "h225.endOfRange",
9310 FT_UINT32
, BASE_DEC
, VALS(h225_PartyNumber_vals
), 0,
9311 "PartyNumber", HFILL
}},
9312 { &hf_h225_e164Number
,
9313 { "e164Number", "h225.e164Number_element",
9314 FT_NONE
, BASE_NONE
, NULL
, 0,
9315 "PublicPartyNumber", HFILL
}},
9316 { &hf_h225_dataPartyNumber
,
9317 { "dataPartyNumber", "h225.dataPartyNumber",
9318 FT_STRING
, BASE_NONE
, NULL
, 0,
9319 "NumberDigits", HFILL
}},
9320 { &hf_h225_telexPartyNumber
,
9321 { "telexPartyNumber", "h225.telexPartyNumber",
9322 FT_STRING
, BASE_NONE
, NULL
, 0,
9323 "NumberDigits", HFILL
}},
9324 { &hf_h225_privateNumber
,
9325 { "privateNumber", "h225.privateNumber_element",
9326 FT_NONE
, BASE_NONE
, NULL
, 0,
9327 "PrivatePartyNumber", HFILL
}},
9328 { &hf_h225_nationalStandardPartyNumber
,
9329 { "nationalStandardPartyNumber", "h225.nationalStandardPartyNumber",
9330 FT_STRING
, BASE_NONE
, NULL
, 0,
9331 "NumberDigits", HFILL
}},
9332 { &hf_h225_publicTypeOfNumber
,
9333 { "publicTypeOfNumber", "h225.publicTypeOfNumber",
9334 FT_UINT32
, BASE_DEC
, VALS(h225_PublicTypeOfNumber_vals
), 0,
9336 { &hf_h225_publicNumberDigits
,
9337 { "publicNumberDigits", "h225.publicNumberDigits",
9338 FT_STRING
, BASE_NONE
, NULL
, 0,
9339 "NumberDigits", HFILL
}},
9340 { &hf_h225_privateTypeOfNumber
,
9341 { "privateTypeOfNumber", "h225.privateTypeOfNumber",
9342 FT_UINT32
, BASE_DEC
, VALS(h225_PrivateTypeOfNumber_vals
), 0,
9344 { &hf_h225_privateNumberDigits
,
9345 { "privateNumberDigits", "h225.privateNumberDigits",
9346 FT_STRING
, BASE_NONE
, NULL
, 0,
9347 "NumberDigits", HFILL
}},
9348 { &hf_h225_displayName_language
,
9349 { "language", "h225.displayName_language",
9350 FT_STRING
, BASE_NONE
, NULL
, 0,
9351 "IA5String", HFILL
}},
9353 { "name", "h225.name",
9354 FT_STRING
, BASE_NONE
, NULL
, 0,
9355 "BMPString_SIZE_1_80", HFILL
}},
9356 { &hf_h225_internationalNumber
,
9357 { "internationalNumber", "h225.internationalNumber_element",
9358 FT_NONE
, BASE_NONE
, NULL
, 0,
9360 { &hf_h225_nationalNumber
,
9361 { "nationalNumber", "h225.nationalNumber_element",
9362 FT_NONE
, BASE_NONE
, NULL
, 0,
9364 { &hf_h225_networkSpecificNumber
,
9365 { "networkSpecificNumber", "h225.networkSpecificNumber_element",
9366 FT_NONE
, BASE_NONE
, NULL
, 0,
9368 { &hf_h225_subscriberNumber
,
9369 { "subscriberNumber", "h225.subscriberNumber_element",
9370 FT_NONE
, BASE_NONE
, NULL
, 0,
9372 { &hf_h225_abbreviatedNumber
,
9373 { "abbreviatedNumber", "h225.abbreviatedNumber_element",
9374 FT_NONE
, BASE_NONE
, NULL
, 0,
9376 { &hf_h225_level2RegionalNumber
,
9377 { "level2RegionalNumber", "h225.level2RegionalNumber_element",
9378 FT_NONE
, BASE_NONE
, NULL
, 0,
9380 { &hf_h225_level1RegionalNumber
,
9381 { "level1RegionalNumber", "h225.level1RegionalNumber_element",
9382 FT_NONE
, BASE_NONE
, NULL
, 0,
9384 { &hf_h225_pISNSpecificNumber
,
9385 { "pISNSpecificNumber", "h225.pISNSpecificNumber_element",
9386 FT_NONE
, BASE_NONE
, NULL
, 0,
9388 { &hf_h225_localNumber
,
9389 { "localNumber", "h225.localNumber_element",
9390 FT_NONE
, BASE_NONE
, NULL
, 0,
9392 { &hf_h225_ansi_41_uim
,
9393 { "ansi-41-uim", "h225.ansi_41_uim_element",
9394 FT_NONE
, BASE_NONE
, NULL
, 0,
9397 { "gsm-uim", "h225.gsm_uim_element",
9398 FT_NONE
, BASE_NONE
, NULL
, 0,
9401 { "imsi", "h225.imsi",
9402 FT_STRING
, BASE_NONE
, NULL
, 0,
9403 "TBCD_STRING_SIZE_3_16", HFILL
}},
9405 { "min", "h225.min",
9406 FT_STRING
, BASE_NONE
, NULL
, 0,
9407 "TBCD_STRING_SIZE_3_16", HFILL
}},
9409 { "mdn", "h225.mdn",
9410 FT_STRING
, BASE_NONE
, NULL
, 0,
9411 "TBCD_STRING_SIZE_3_16", HFILL
}},
9413 { "msisdn", "h225.msisdn",
9414 FT_STRING
, BASE_NONE
, NULL
, 0,
9415 "TBCD_STRING_SIZE_3_16", HFILL
}},
9417 { "esn", "h225.esn",
9418 FT_STRING
, BASE_NONE
, NULL
, 0,
9419 "TBCD_STRING_SIZE_16", HFILL
}},
9421 { "mscid", "h225.mscid",
9422 FT_STRING
, BASE_NONE
, NULL
, 0,
9423 "TBCD_STRING_SIZE_3_16", HFILL
}},
9424 { &hf_h225_system_id
,
9425 { "system-id", "h225.system_id",
9426 FT_UINT32
, BASE_DEC
, VALS(h225_T_system_id_vals
), 0,
9429 { "sid", "h225.sid",
9430 FT_STRING
, BASE_NONE
, NULL
, 0,
9431 "TBCD_STRING_SIZE_1_4", HFILL
}},
9433 { "mid", "h225.mid",
9434 FT_STRING
, BASE_NONE
, NULL
, 0,
9435 "TBCD_STRING_SIZE_1_4", HFILL
}},
9436 { &hf_h225_systemMyTypeCode
,
9437 { "systemMyTypeCode", "h225.systemMyTypeCode",
9438 FT_BYTES
, BASE_NONE
, NULL
, 0,
9439 "OCTET_STRING_SIZE_1", HFILL
}},
9440 { &hf_h225_systemAccessType
,
9441 { "systemAccessType", "h225.systemAccessType",
9442 FT_BYTES
, BASE_NONE
, NULL
, 0,
9443 "OCTET_STRING_SIZE_1", HFILL
}},
9444 { &hf_h225_qualificationInformationCode
,
9445 { "qualificationInformationCode", "h225.qualificationInformationCode",
9446 FT_BYTES
, BASE_NONE
, NULL
, 0,
9447 "OCTET_STRING_SIZE_1", HFILL
}},
9449 { "sesn", "h225.sesn",
9450 FT_STRING
, BASE_NONE
, NULL
, 0,
9451 "TBCD_STRING_SIZE_16", HFILL
}},
9453 { "soc", "h225.soc",
9454 FT_STRING
, BASE_NONE
, NULL
, 0,
9455 "TBCD_STRING_SIZE_3_16", HFILL
}},
9457 { "tmsi", "h225.tmsi",
9458 FT_BYTES
, BASE_NONE
, NULL
, 0,
9459 "OCTET_STRING_SIZE_1_4", HFILL
}},
9461 { "imei", "h225.imei",
9462 FT_STRING
, BASE_NONE
, NULL
, 0,
9463 "TBCD_STRING_SIZE_15_16", HFILL
}},
9465 { "hplmn", "h225.hplmn",
9466 FT_STRING
, BASE_NONE
, NULL
, 0,
9467 "TBCD_STRING_SIZE_1_4", HFILL
}},
9469 { "vplmn", "h225.vplmn",
9470 FT_STRING
, BASE_NONE
, NULL
, 0,
9471 "TBCD_STRING_SIZE_1_4", HFILL
}},
9472 { &hf_h225_isupE164Number
,
9473 { "e164Number", "h225.e164Number_element",
9474 FT_NONE
, BASE_NONE
, NULL
, 0,
9475 "IsupPublicPartyNumber", HFILL
}},
9476 { &hf_h225_isupDataPartyNumber
,
9477 { "dataPartyNumber", "h225.dataPartyNumber",
9478 FT_STRING
, BASE_NONE
, NULL
, 0,
9479 "IsupDigits", HFILL
}},
9480 { &hf_h225_isupTelexPartyNumber
,
9481 { "telexPartyNumber", "h225.telexPartyNumber",
9482 FT_STRING
, BASE_NONE
, NULL
, 0,
9483 "IsupDigits", HFILL
}},
9484 { &hf_h225_isupPrivateNumber
,
9485 { "privateNumber", "h225.privateNumber_element",
9486 FT_NONE
, BASE_NONE
, NULL
, 0,
9487 "IsupPrivatePartyNumber", HFILL
}},
9488 { &hf_h225_isupNationalStandardPartyNumber
,
9489 { "nationalStandardPartyNumber", "h225.nationalStandardPartyNumber",
9490 FT_STRING
, BASE_NONE
, NULL
, 0,
9491 "IsupDigits", HFILL
}},
9492 { &hf_h225_natureOfAddress
,
9493 { "natureOfAddress", "h225.natureOfAddress",
9494 FT_UINT32
, BASE_DEC
, VALS(h225_NatureOfAddress_vals
), 0,
9497 { "address", "h225.address",
9498 FT_STRING
, BASE_NONE
, NULL
, 0,
9499 "IsupDigits", HFILL
}},
9500 { &hf_h225_routingNumberNationalFormat
,
9501 { "routingNumberNationalFormat", "h225.routingNumberNationalFormat_element",
9502 FT_NONE
, BASE_NONE
, NULL
, 0,
9504 { &hf_h225_routingNumberNetworkSpecificFormat
,
9505 { "routingNumberNetworkSpecificFormat", "h225.routingNumberNetworkSpecificFormat_element",
9506 FT_NONE
, BASE_NONE
, NULL
, 0,
9508 { &hf_h225_routingNumberWithCalledDirectoryNumber
,
9509 { "routingNumberWithCalledDirectoryNumber", "h225.routingNumberWithCalledDirectoryNumber_element",
9510 FT_NONE
, BASE_NONE
, NULL
, 0,
9512 { &hf_h225_extAliasAddress
,
9513 { "address", "h225.extAliasAddress",
9514 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
9515 "AliasAddress", HFILL
}},
9516 { &hf_h225_aliasAddress
,
9517 { "aliasAddress", "h225.aliasAddress",
9518 FT_UINT32
, BASE_DEC
, NULL
, 0,
9519 "SEQUENCE_OF_AliasAddress", HFILL
}},
9520 { &hf_h225_aliasAddress_item
,
9521 { "AliasAddress", "h225.AliasAddress",
9522 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
9524 { &hf_h225_callSignalAddress
,
9525 { "callSignalAddress", "h225.callSignalAddress",
9526 FT_UINT32
, BASE_DEC
, NULL
, 0,
9527 "SEQUENCE_OF_TransportAddress", HFILL
}},
9528 { &hf_h225_callSignalAddress_item
,
9529 { "TransportAddress", "h225.TransportAddress",
9530 FT_UINT32
, BASE_DEC
, VALS(h225_TransportAddress_vals
), 0,
9532 { &hf_h225_rasAddress
,
9533 { "rasAddress", "h225.rasAddress",
9534 FT_UINT32
, BASE_DEC
, NULL
, 0,
9535 "SEQUENCE_OF_TransportAddress", HFILL
}},
9536 { &hf_h225_rasAddress_item
,
9537 { "TransportAddress", "h225.TransportAddress",
9538 FT_UINT32
, BASE_DEC
, VALS(h225_TransportAddress_vals
), 0,
9540 { &hf_h225_endpointType
,
9541 { "endpointType", "h225.endpointType_element",
9542 FT_NONE
, BASE_NONE
, NULL
, 0,
9544 { &hf_h225_priority
,
9545 { "priority", "h225.priority",
9546 FT_UINT32
, BASE_DEC
, NULL
, 0,
9547 "INTEGER_0_127", HFILL
}},
9548 { &hf_h225_remoteExtensionAddress
,
9549 { "remoteExtensionAddress", "h225.remoteExtensionAddress",
9550 FT_UINT32
, BASE_DEC
, NULL
, 0,
9551 "SEQUENCE_OF_AliasAddress", HFILL
}},
9552 { &hf_h225_ep_remoteExtensionAddress_item
,
9553 { "AliasAddress", "h225.remoteExtensionAddress.item",
9554 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
9556 { &hf_h225_alternateTransportAddresses
,
9557 { "alternateTransportAddresses", "h225.alternateTransportAddresses_element",
9558 FT_NONE
, BASE_NONE
, NULL
, 0,
9561 { "annexE", "h225.annexE",
9562 FT_UINT32
, BASE_DEC
, NULL
, 0,
9563 "SEQUENCE_OF_TransportAddress", HFILL
}},
9564 { &hf_h225_annexE_item
,
9565 { "TransportAddress", "h225.TransportAddress",
9566 FT_UINT32
, BASE_DEC
, VALS(h225_TransportAddress_vals
), 0,
9569 { "sctp", "h225.sctp",
9570 FT_UINT32
, BASE_DEC
, NULL
, 0,
9571 "SEQUENCE_OF_TransportAddress", HFILL
}},
9572 { &hf_h225_sctp_item
,
9573 { "TransportAddress", "h225.TransportAddress",
9574 FT_UINT32
, BASE_DEC
, VALS(h225_TransportAddress_vals
), 0,
9577 { "tcp", "h225.tcp_element",
9578 FT_NONE
, BASE_NONE
, NULL
, 0,
9580 { &hf_h225_annexE_flg
,
9581 { "annexE", "h225.annexE_element",
9582 FT_NONE
, BASE_NONE
, NULL
, 0,
9584 { &hf_h225_sctp_flg
,
9585 { "sctp", "h225.sctp_element",
9586 FT_NONE
, BASE_NONE
, NULL
, 0,
9588 { &hf_h225_alternateGK_rasAddress
,
9589 { "rasAddress", "h225.rasAddress",
9590 FT_UINT32
, BASE_DEC
, VALS(h225_TransportAddress_vals
), 0,
9591 "TransportAddress", HFILL
}},
9592 { &hf_h225_gatekeeperIdentifier
,
9593 { "gatekeeperIdentifier", "h225.gatekeeperIdentifier",
9594 FT_STRING
, BASE_NONE
, NULL
, 0,
9596 { &hf_h225_needToRegister
,
9597 { "needToRegister", "h225.needToRegister",
9598 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9599 "BOOLEAN", HFILL
}},
9600 { &hf_h225_alternateGatekeeper
,
9601 { "alternateGatekeeper", "h225.alternateGatekeeper",
9602 FT_UINT32
, BASE_DEC
, NULL
, 0,
9603 "SEQUENCE_OF_AlternateGK", HFILL
}},
9604 { &hf_h225_alternateGatekeeper_item
,
9605 { "AlternateGK", "h225.AlternateGK_element",
9606 FT_NONE
, BASE_NONE
, NULL
, 0,
9608 { &hf_h225_altGKisPermanent
,
9609 { "altGKisPermanent", "h225.altGKisPermanent",
9610 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9611 "BOOLEAN", HFILL
}},
9613 { "default", "h225.default_element",
9614 FT_NONE
, BASE_NONE
, NULL
, 0,
9616 { &hf_h225_encryption
,
9617 { "encryption", "h225.encryption",
9618 FT_UINT32
, BASE_DEC
, VALS(h225_SecurityServiceMode_vals
), 0,
9619 "SecurityServiceMode", HFILL
}},
9620 { &hf_h225_authenticaton
,
9621 { "authenticaton", "h225.authenticaton",
9622 FT_UINT32
, BASE_DEC
, VALS(h225_SecurityServiceMode_vals
), 0,
9623 "SecurityServiceMode", HFILL
}},
9624 { &hf_h225_securityCapabilities_integrity
,
9625 { "integrity", "h225.integrity",
9626 FT_UINT32
, BASE_DEC
, VALS(h225_SecurityServiceMode_vals
), 0,
9627 "SecurityServiceMode", HFILL
}},
9628 { &hf_h225_securityWrongSyncTime
,
9629 { "securityWrongSyncTime", "h225.securityWrongSyncTime_element",
9630 FT_NONE
, BASE_NONE
, NULL
, 0,
9632 { &hf_h225_securityReplay
,
9633 { "securityReplay", "h225.securityReplay_element",
9634 FT_NONE
, BASE_NONE
, NULL
, 0,
9636 { &hf_h225_securityWrongGeneralID
,
9637 { "securityWrongGeneralID", "h225.securityWrongGeneralID_element",
9638 FT_NONE
, BASE_NONE
, NULL
, 0,
9640 { &hf_h225_securityWrongSendersID
,
9641 { "securityWrongSendersID", "h225.securityWrongSendersID_element",
9642 FT_NONE
, BASE_NONE
, NULL
, 0,
9644 { &hf_h225_securityIntegrityFailed
,
9645 { "securityIntegrityFailed", "h225.securityIntegrityFailed_element",
9646 FT_NONE
, BASE_NONE
, NULL
, 0,
9648 { &hf_h225_securityWrongOID
,
9649 { "securityWrongOID", "h225.securityWrongOID_element",
9650 FT_NONE
, BASE_NONE
, NULL
, 0,
9652 { &hf_h225_securityDHmismatch
,
9653 { "securityDHmismatch", "h225.securityDHmismatch_element",
9654 FT_NONE
, BASE_NONE
, NULL
, 0,
9656 { &hf_h225_securityCertificateExpired
,
9657 { "securityCertificateExpired", "h225.securityCertificateExpired_element",
9658 FT_NONE
, BASE_NONE
, NULL
, 0,
9660 { &hf_h225_securityCertificateDateInvalid
,
9661 { "securityCertificateDateInvalid", "h225.securityCertificateDateInvalid_element",
9662 FT_NONE
, BASE_NONE
, NULL
, 0,
9664 { &hf_h225_securityCertificateRevoked
,
9665 { "securityCertificateRevoked", "h225.securityCertificateRevoked_element",
9666 FT_NONE
, BASE_NONE
, NULL
, 0,
9668 { &hf_h225_securityCertificateNotReadable
,
9669 { "securityCertificateNotReadable", "h225.securityCertificateNotReadable_element",
9670 FT_NONE
, BASE_NONE
, NULL
, 0,
9672 { &hf_h225_securityCertificateSignatureInvalid
,
9673 { "securityCertificateSignatureInvalid", "h225.securityCertificateSignatureInvalid_element",
9674 FT_NONE
, BASE_NONE
, NULL
, 0,
9676 { &hf_h225_securityCertificateMissing
,
9677 { "securityCertificateMissing", "h225.securityCertificateMissing_element",
9678 FT_NONE
, BASE_NONE
, NULL
, 0,
9680 { &hf_h225_securityCertificateIncomplete
,
9681 { "securityCertificateIncomplete", "h225.securityCertificateIncomplete_element",
9682 FT_NONE
, BASE_NONE
, NULL
, 0,
9684 { &hf_h225_securityUnsupportedCertificateAlgOID
,
9685 { "securityUnsupportedCertificateAlgOID", "h225.securityUnsupportedCertificateAlgOID_element",
9686 FT_NONE
, BASE_NONE
, NULL
, 0,
9688 { &hf_h225_securityUnknownCA
,
9689 { "securityUnknownCA", "h225.securityUnknownCA_element",
9690 FT_NONE
, BASE_NONE
, NULL
, 0,
9692 { &hf_h225_noSecurity
,
9693 { "noSecurity", "h225.noSecurity_element",
9694 FT_NONE
, BASE_NONE
, NULL
, 0,
9697 { "tls", "h225.tls_element",
9698 FT_NONE
, BASE_NONE
, NULL
, 0,
9699 "SecurityCapabilities", HFILL
}},
9701 { "ipsec", "h225.ipsec_element",
9702 FT_NONE
, BASE_NONE
, NULL
, 0,
9703 "SecurityCapabilities", HFILL
}},
9704 { &hf_h225_q932Full
,
9705 { "q932Full", "h225.q932Full",
9706 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9707 "BOOLEAN", HFILL
}},
9708 { &hf_h225_q951Full
,
9709 { "q951Full", "h225.q951Full",
9710 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9711 "BOOLEAN", HFILL
}},
9712 { &hf_h225_q952Full
,
9713 { "q952Full", "h225.q952Full",
9714 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9715 "BOOLEAN", HFILL
}},
9716 { &hf_h225_q953Full
,
9717 { "q953Full", "h225.q953Full",
9718 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9719 "BOOLEAN", HFILL
}},
9720 { &hf_h225_q955Full
,
9721 { "q955Full", "h225.q955Full",
9722 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9723 "BOOLEAN", HFILL
}},
9724 { &hf_h225_q956Full
,
9725 { "q956Full", "h225.q956Full",
9726 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9727 "BOOLEAN", HFILL
}},
9728 { &hf_h225_q957Full
,
9729 { "q957Full", "h225.q957Full",
9730 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9731 "BOOLEAN", HFILL
}},
9732 { &hf_h225_q954Info
,
9733 { "q954Info", "h225.q954Info_element",
9734 FT_NONE
, BASE_NONE
, NULL
, 0,
9735 "Q954Details", HFILL
}},
9736 { &hf_h225_conferenceCalling
,
9737 { "conferenceCalling", "h225.conferenceCalling",
9738 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9739 "BOOLEAN", HFILL
}},
9740 { &hf_h225_threePartyService
,
9741 { "threePartyService", "h225.threePartyService",
9742 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9743 "BOOLEAN", HFILL
}},
9745 { "guid", "h225.guid",
9746 FT_GUID
, BASE_NONE
, NULL
, 0,
9748 { &hf_h225_isoAlgorithm
,
9749 { "isoAlgorithm", "h225.isoAlgorithm",
9750 FT_OID
, BASE_NONE
, NULL
, 0,
9751 "OBJECT_IDENTIFIER", HFILL
}},
9752 { &hf_h225_hMAC_MD5
,
9753 { "hMAC-MD5", "h225.hMAC_MD5_element",
9754 FT_NONE
, BASE_NONE
, NULL
, 0,
9756 { &hf_h225_hMAC_iso10118_2_s
,
9757 { "hMAC-iso10118-2-s", "h225.hMAC_iso10118_2_s",
9758 FT_UINT32
, BASE_DEC
, VALS(h225_EncryptIntAlg_vals
), 0,
9759 "EncryptIntAlg", HFILL
}},
9760 { &hf_h225_hMAC_iso10118_2_l
,
9761 { "hMAC-iso10118-2-l", "h225.hMAC_iso10118_2_l",
9762 FT_UINT32
, BASE_DEC
, VALS(h225_EncryptIntAlg_vals
), 0,
9763 "EncryptIntAlg", HFILL
}},
9764 { &hf_h225_hMAC_iso10118_3
,
9765 { "hMAC-iso10118-3", "h225.hMAC_iso10118_3",
9766 FT_OID
, BASE_NONE
, NULL
, 0,
9767 "OBJECT_IDENTIFIER", HFILL
}},
9769 { "digSig", "h225.digSig_element",
9770 FT_NONE
, BASE_NONE
, NULL
, 0,
9773 { "iso9797", "h225.iso9797",
9774 FT_OID
, BASE_NONE
, NULL
, 0,
9775 "OBJECT_IDENTIFIER", HFILL
}},
9776 { &hf_h225_nonIsoIM
,
9777 { "nonIsoIM", "h225.nonIsoIM",
9778 FT_UINT32
, BASE_DEC
, VALS(h225_NonIsoIntegrityMechanism_vals
), 0,
9779 "NonIsoIntegrityMechanism", HFILL
}},
9780 { &hf_h225_algorithmOID
,
9781 { "algorithmOID", "h225.algorithmOID",
9782 FT_OID
, BASE_NONE
, NULL
, 0,
9783 "OBJECT_IDENTIFIER", HFILL
}},
9785 { "icv", "h225.icv",
9786 FT_BYTES
, BASE_NONE
, NULL
, 0,
9787 "BIT_STRING", HFILL
}},
9788 { &hf_h225_cryptoEPPwdHash
,
9789 { "cryptoEPPwdHash", "h225.cryptoEPPwdHash_element",
9790 FT_NONE
, BASE_NONE
, NULL
, 0,
9793 { "alias", "h225.alias",
9794 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
9795 "AliasAddress", HFILL
}},
9796 { &hf_h225_timeStamp
,
9797 { "timeStamp", "h225.timeStamp",
9798 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
9801 { "token", "h225.token_element",
9802 FT_NONE
, BASE_NONE
, NULL
, 0,
9804 { &hf_h225_cryptoGKPwdHash
,
9805 { "cryptoGKPwdHash", "h225.cryptoGKPwdHash_element",
9806 FT_NONE
, BASE_NONE
, NULL
, 0,
9808 { &hf_h225_gatekeeperId
,
9809 { "gatekeeperId", "h225.gatekeeperId",
9810 FT_STRING
, BASE_NONE
, NULL
, 0,
9811 "GatekeeperIdentifier", HFILL
}},
9812 { &hf_h225_cryptoEPPwdEncr
,
9813 { "cryptoEPPwdEncr", "h225.cryptoEPPwdEncr_element",
9814 FT_NONE
, BASE_NONE
, NULL
, 0,
9815 "ENCRYPTED", HFILL
}},
9816 { &hf_h225_cryptoGKPwdEncr
,
9817 { "cryptoGKPwdEncr", "h225.cryptoGKPwdEncr_element",
9818 FT_NONE
, BASE_NONE
, NULL
, 0,
9819 "ENCRYPTED", HFILL
}},
9820 { &hf_h225_cryptoEPCert
,
9821 { "cryptoEPCert", "h225.cryptoEPCert_element",
9822 FT_NONE
, BASE_NONE
, NULL
, 0,
9824 { &hf_h225_cryptoGKCert
,
9825 { "cryptoGKCert", "h225.cryptoGKCert_element",
9826 FT_NONE
, BASE_NONE
, NULL
, 0,
9828 { &hf_h225_cryptoFastStart
,
9829 { "cryptoFastStart", "h225.cryptoFastStart_element",
9830 FT_NONE
, BASE_NONE
, NULL
, 0,
9832 { &hf_h225_nestedcryptoToken
,
9833 { "nestedcryptoToken", "h225.nestedcryptoToken",
9834 FT_UINT32
, BASE_DEC
, VALS(h235_CryptoToken_vals
), 0,
9835 "CryptoToken", HFILL
}},
9836 { &hf_h225_channelRate
,
9837 { "channelRate", "h225.channelRate",
9838 FT_UINT32
, BASE_DEC
, NULL
, 0,
9839 "BandWidth", HFILL
}},
9840 { &hf_h225_channelMultiplier
,
9841 { "channelMultiplier", "h225.channelMultiplier",
9842 FT_UINT32
, BASE_DEC
, NULL
, 0,
9843 "INTEGER_1_256", HFILL
}},
9844 { &hf_h225_globalCallId
,
9845 { "globalCallId", "h225.globalCallId",
9846 FT_GUID
, BASE_NONE
, NULL
, 0,
9847 "GloballyUniqueID", HFILL
}},
9848 { &hf_h225_threadId
,
9849 { "threadId", "h225.threadId",
9850 FT_GUID
, BASE_NONE
, NULL
, 0,
9851 "GloballyUniqueID", HFILL
}},
9853 { "prefix", "h225.prefix",
9854 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
9855 "AliasAddress", HFILL
}},
9856 { &hf_h225_canReportCallCapacity
,
9857 { "canReportCallCapacity", "h225.canReportCallCapacity",
9858 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9859 "BOOLEAN", HFILL
}},
9860 { &hf_h225_capacityReportingSpecification_when
,
9861 { "when", "h225.when_element",
9862 FT_NONE
, BASE_NONE
, NULL
, 0,
9863 "CapacityReportingSpecification_when", HFILL
}},
9864 { &hf_h225_callStart
,
9865 { "callStart", "h225.callStart_element",
9866 FT_NONE
, BASE_NONE
, NULL
, 0,
9869 { "callEnd", "h225.callEnd_element",
9870 FT_NONE
, BASE_NONE
, NULL
, 0,
9872 { &hf_h225_maximumCallCapacity
,
9873 { "maximumCallCapacity", "h225.maximumCallCapacity_element",
9874 FT_NONE
, BASE_NONE
, NULL
, 0,
9875 "CallCapacityInfo", HFILL
}},
9876 { &hf_h225_currentCallCapacity
,
9877 { "currentCallCapacity", "h225.currentCallCapacity_element",
9878 FT_NONE
, BASE_NONE
, NULL
, 0,
9879 "CallCapacityInfo", HFILL
}},
9880 { &hf_h225_voiceGwCallsAvailable
,
9881 { "voiceGwCallsAvailable", "h225.voiceGwCallsAvailable",
9882 FT_UINT32
, BASE_DEC
, NULL
, 0,
9883 "SEQUENCE_OF_CallsAvailable", HFILL
}},
9884 { &hf_h225_voiceGwCallsAvailable_item
,
9885 { "CallsAvailable", "h225.CallsAvailable_element",
9886 FT_NONE
, BASE_NONE
, NULL
, 0,
9888 { &hf_h225_h310GwCallsAvailable
,
9889 { "h310GwCallsAvailable", "h225.h310GwCallsAvailable",
9890 FT_UINT32
, BASE_DEC
, NULL
, 0,
9891 "SEQUENCE_OF_CallsAvailable", HFILL
}},
9892 { &hf_h225_h310GwCallsAvailable_item
,
9893 { "CallsAvailable", "h225.CallsAvailable_element",
9894 FT_NONE
, BASE_NONE
, NULL
, 0,
9896 { &hf_h225_h320GwCallsAvailable
,
9897 { "h320GwCallsAvailable", "h225.h320GwCallsAvailable",
9898 FT_UINT32
, BASE_DEC
, NULL
, 0,
9899 "SEQUENCE_OF_CallsAvailable", HFILL
}},
9900 { &hf_h225_h320GwCallsAvailable_item
,
9901 { "CallsAvailable", "h225.CallsAvailable_element",
9902 FT_NONE
, BASE_NONE
, NULL
, 0,
9904 { &hf_h225_h321GwCallsAvailable
,
9905 { "h321GwCallsAvailable", "h225.h321GwCallsAvailable",
9906 FT_UINT32
, BASE_DEC
, NULL
, 0,
9907 "SEQUENCE_OF_CallsAvailable", HFILL
}},
9908 { &hf_h225_h321GwCallsAvailable_item
,
9909 { "CallsAvailable", "h225.CallsAvailable_element",
9910 FT_NONE
, BASE_NONE
, NULL
, 0,
9912 { &hf_h225_h322GwCallsAvailable
,
9913 { "h322GwCallsAvailable", "h225.h322GwCallsAvailable",
9914 FT_UINT32
, BASE_DEC
, NULL
, 0,
9915 "SEQUENCE_OF_CallsAvailable", HFILL
}},
9916 { &hf_h225_h322GwCallsAvailable_item
,
9917 { "CallsAvailable", "h225.CallsAvailable_element",
9918 FT_NONE
, BASE_NONE
, NULL
, 0,
9920 { &hf_h225_h323GwCallsAvailable
,
9921 { "h323GwCallsAvailable", "h225.h323GwCallsAvailable",
9922 FT_UINT32
, BASE_DEC
, NULL
, 0,
9923 "SEQUENCE_OF_CallsAvailable", HFILL
}},
9924 { &hf_h225_h323GwCallsAvailable_item
,
9925 { "CallsAvailable", "h225.CallsAvailable_element",
9926 FT_NONE
, BASE_NONE
, NULL
, 0,
9928 { &hf_h225_h324GwCallsAvailable
,
9929 { "h324GwCallsAvailable", "h225.h324GwCallsAvailable",
9930 FT_UINT32
, BASE_DEC
, NULL
, 0,
9931 "SEQUENCE_OF_CallsAvailable", HFILL
}},
9932 { &hf_h225_h324GwCallsAvailable_item
,
9933 { "CallsAvailable", "h225.CallsAvailable_element",
9934 FT_NONE
, BASE_NONE
, NULL
, 0,
9936 { &hf_h225_t120OnlyGwCallsAvailable
,
9937 { "t120OnlyGwCallsAvailable", "h225.t120OnlyGwCallsAvailable",
9938 FT_UINT32
, BASE_DEC
, NULL
, 0,
9939 "SEQUENCE_OF_CallsAvailable", HFILL
}},
9940 { &hf_h225_t120OnlyGwCallsAvailable_item
,
9941 { "CallsAvailable", "h225.CallsAvailable_element",
9942 FT_NONE
, BASE_NONE
, NULL
, 0,
9944 { &hf_h225_t38FaxAnnexbOnlyGwCallsAvailable
,
9945 { "t38FaxAnnexbOnlyGwCallsAvailable", "h225.t38FaxAnnexbOnlyGwCallsAvailable",
9946 FT_UINT32
, BASE_DEC
, NULL
, 0,
9947 "SEQUENCE_OF_CallsAvailable", HFILL
}},
9948 { &hf_h225_t38FaxAnnexbOnlyGwCallsAvailable_item
,
9949 { "CallsAvailable", "h225.CallsAvailable_element",
9950 FT_NONE
, BASE_NONE
, NULL
, 0,
9952 { &hf_h225_terminalCallsAvailable
,
9953 { "terminalCallsAvailable", "h225.terminalCallsAvailable",
9954 FT_UINT32
, BASE_DEC
, NULL
, 0,
9955 "SEQUENCE_OF_CallsAvailable", HFILL
}},
9956 { &hf_h225_terminalCallsAvailable_item
,
9957 { "CallsAvailable", "h225.CallsAvailable_element",
9958 FT_NONE
, BASE_NONE
, NULL
, 0,
9960 { &hf_h225_mcuCallsAvailable
,
9961 { "mcuCallsAvailable", "h225.mcuCallsAvailable",
9962 FT_UINT32
, BASE_DEC
, NULL
, 0,
9963 "SEQUENCE_OF_CallsAvailable", HFILL
}},
9964 { &hf_h225_mcuCallsAvailable_item
,
9965 { "CallsAvailable", "h225.CallsAvailable_element",
9966 FT_NONE
, BASE_NONE
, NULL
, 0,
9968 { &hf_h225_sipGwCallsAvailable
,
9969 { "sipGwCallsAvailable", "h225.sipGwCallsAvailable",
9970 FT_UINT32
, BASE_DEC
, NULL
, 0,
9971 "SEQUENCE_OF_CallsAvailable", HFILL
}},
9972 { &hf_h225_sipGwCallsAvailable_item
,
9973 { "CallsAvailable", "h225.CallsAvailable_element",
9974 FT_NONE
, BASE_NONE
, NULL
, 0,
9977 { "calls", "h225.calls",
9978 FT_UINT32
, BASE_DEC
, NULL
, 0,
9979 "INTEGER_0_4294967295", HFILL
}},
9980 { &hf_h225_group_IA5String
,
9981 { "group", "h225.group",
9982 FT_STRING
, BASE_NONE
, NULL
, 0,
9983 "IA5String_SIZE_1_128", HFILL
}},
9985 { "carrier", "h225.carrier_element",
9986 FT_NONE
, BASE_NONE
, NULL
, 0,
9987 "CarrierInfo", HFILL
}},
9988 { &hf_h225_sourceCircuitID
,
9989 { "sourceCircuitID", "h225.sourceCircuitID_element",
9990 FT_NONE
, BASE_NONE
, NULL
, 0,
9991 "CircuitIdentifier", HFILL
}},
9992 { &hf_h225_destinationCircuitID
,
9993 { "destinationCircuitID", "h225.destinationCircuitID_element",
9994 FT_NONE
, BASE_NONE
, NULL
, 0,
9995 "CircuitIdentifier", HFILL
}},
9997 { "cic", "h225.cic_element",
9998 FT_NONE
, BASE_NONE
, NULL
, 0,
9999 "CicInfo", HFILL
}},
10001 { "group", "h225.group_element",
10002 FT_NONE
, BASE_NONE
, NULL
, 0,
10003 "GroupID", HFILL
}},
10004 { &hf_h225_cic_2_4
,
10005 { "cic", "h225.cic",
10006 FT_UINT32
, BASE_DEC
, NULL
, 0,
10007 "T_cic_2_4", HFILL
}},
10008 { &hf_h225_cic_2_4_item
,
10009 { "cic item", "h225.cic_item",
10010 FT_BYTES
, BASE_NONE
, NULL
, 0,
10011 "OCTET_STRING_SIZE_2_4", HFILL
}},
10012 { &hf_h225_pointCode
,
10013 { "pointCode", "h225.pointCode",
10014 FT_BYTES
, BASE_NONE
, NULL
, 0,
10015 "OCTET_STRING_SIZE_2_5", HFILL
}},
10017 { "member", "h225.member",
10018 FT_UINT32
, BASE_DEC
, NULL
, 0,
10020 { &hf_h225_member_item
,
10021 { "member item", "h225.member_item",
10022 FT_UINT32
, BASE_DEC
, NULL
, 0,
10023 "INTEGER_0_65535", HFILL
}},
10024 { &hf_h225_carrierIdentificationCode
,
10025 { "carrierIdentificationCode", "h225.carrierIdentificationCode",
10026 FT_BYTES
, BASE_NONE
, NULL
, 0,
10027 "OCTET_STRING_SIZE_3_4", HFILL
}},
10028 { &hf_h225_carrierName
,
10029 { "carrierName", "h225.carrierName",
10030 FT_STRING
, BASE_NONE
, NULL
, 0,
10031 "IA5String_SIZE_1_128", HFILL
}},
10033 { "url", "h225.url",
10034 FT_STRING
, BASE_NONE
, NULL
, 0,
10035 "IA5String_SIZE_0_512", HFILL
}},
10037 { "signal", "h225.signal",
10038 FT_BYTES
, BASE_NONE
, NULL
, 0,
10039 "H248SignalsDescriptor", HFILL
}},
10040 { &hf_h225_callCreditServiceControl
,
10041 { "callCreditServiceControl", "h225.callCreditServiceControl_element",
10042 FT_NONE
, BASE_NONE
, NULL
, 0,
10044 { &hf_h225_sessionId_0_255
,
10045 { "sessionId", "h225.sessionId",
10046 FT_UINT32
, BASE_DEC
, NULL
, 0,
10047 "INTEGER_0_255", HFILL
}},
10048 { &hf_h225_contents
,
10049 { "contents", "h225.contents",
10050 FT_UINT32
, BASE_DEC
, VALS(h225_ServiceControlDescriptor_vals
), 0,
10051 "ServiceControlDescriptor", HFILL
}},
10053 { "reason", "h225.reason",
10054 FT_UINT32
, BASE_DEC
, VALS(h225_ServiceControlSession_reason_vals
), 0,
10055 "ServiceControlSession_reason", HFILL
}},
10057 { "open", "h225.open_element",
10058 FT_NONE
, BASE_NONE
, NULL
, 0,
10060 { &hf_h225_refresh
,
10061 { "refresh", "h225.refresh_element",
10062 FT_NONE
, BASE_NONE
, NULL
, 0,
10065 { "close", "h225.close_element",
10066 FT_NONE
, BASE_NONE
, NULL
, 0,
10068 { &hf_h225_nonStandardUsageTypes
,
10069 { "nonStandardUsageTypes", "h225.nonStandardUsageTypes",
10070 FT_UINT32
, BASE_DEC
, NULL
, 0,
10071 "SEQUENCE_OF_NonStandardParameter", HFILL
}},
10072 { &hf_h225_nonStandardUsageTypes_item
,
10073 { "NonStandardParameter", "h225.NonStandardParameter_element",
10074 FT_NONE
, BASE_NONE
, NULL
, 0,
10076 { &hf_h225_startTime
,
10077 { "startTime", "h225.startTime_element",
10078 FT_NONE
, BASE_NONE
, NULL
, 0,
10080 { &hf_h225_endTime_flg
,
10081 { "endTime", "h225.endTime_element",
10082 FT_NONE
, BASE_NONE
, NULL
, 0,
10084 { &hf_h225_terminationCause_flg
,
10085 { "terminationCause", "h225.terminationCause_element",
10086 FT_NONE
, BASE_NONE
, NULL
, 0,
10089 { "when", "h225.when_element",
10090 FT_NONE
, BASE_NONE
, NULL
, 0,
10091 "RasUsageSpecification_when", HFILL
}},
10093 { "start", "h225.start_element",
10094 FT_NONE
, BASE_NONE
, NULL
, 0,
10097 { "end", "h225.end_element",
10098 FT_NONE
, BASE_NONE
, NULL
, 0,
10101 { "inIrr", "h225.inIrr_element",
10102 FT_NONE
, BASE_NONE
, NULL
, 0,
10104 { &hf_h225_ras_callStartingPoint
,
10105 { "callStartingPoint", "h225.callStartingPoint_element",
10106 FT_NONE
, BASE_NONE
, NULL
, 0,
10107 "RasUsageSpecificationcallStartingPoint", HFILL
}},
10108 { &hf_h225_alerting_flg
,
10109 { "alerting", "h225.alerting_element",
10110 FT_NONE
, BASE_NONE
, NULL
, 0,
10112 { &hf_h225_connect_flg
,
10113 { "connect", "h225.connect_element",
10114 FT_NONE
, BASE_NONE
, NULL
, 0,
10116 { &hf_h225_required
,
10117 { "required", "h225.required_element",
10118 FT_NONE
, BASE_NONE
, NULL
, 0,
10119 "RasUsageInfoTypes", HFILL
}},
10120 { &hf_h225_nonStandardUsageFields
,
10121 { "nonStandardUsageFields", "h225.nonStandardUsageFields",
10122 FT_UINT32
, BASE_DEC
, NULL
, 0,
10123 "SEQUENCE_OF_NonStandardParameter", HFILL
}},
10124 { &hf_h225_nonStandardUsageFields_item
,
10125 { "NonStandardParameter", "h225.NonStandardParameter_element",
10126 FT_NONE
, BASE_NONE
, NULL
, 0,
10128 { &hf_h225_alertingTime
,
10129 { "alertingTime", "h225.alertingTime",
10130 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
10131 "TimeStamp", HFILL
}},
10132 { &hf_h225_connectTime
,
10133 { "connectTime", "h225.connectTime",
10134 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
10135 "TimeStamp", HFILL
}},
10136 { &hf_h225_endTime
,
10137 { "endTime", "h225.endTime",
10138 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
10139 "TimeStamp", HFILL
}},
10140 { &hf_h225_releaseCompleteCauseIE
,
10141 { "releaseCompleteCauseIE", "h225.releaseCompleteCauseIE",
10142 FT_BYTES
, BASE_NONE
, NULL
, 0,
10143 "OCTET_STRING_SIZE_2_32", HFILL
}},
10145 { "sender", "h225.sender",
10146 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10147 "BOOLEAN", HFILL
}},
10148 { &hf_h225_multicast
,
10149 { "multicast", "h225.multicast",
10150 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10151 "BOOLEAN", HFILL
}},
10152 { &hf_h225_bandwidth
,
10153 { "bandwidth", "h225.bandwidth",
10154 FT_UINT32
, BASE_DEC
, NULL
, 0,
10156 { &hf_h225_rtcpAddresses
,
10157 { "rtcpAddresses", "h225.rtcpAddresses_element",
10158 FT_NONE
, BASE_NONE
, NULL
, 0,
10159 "TransportChannelInfo", HFILL
}},
10160 { &hf_h225_canDisplayAmountString
,
10161 { "canDisplayAmountString", "h225.canDisplayAmountString",
10162 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10163 "BOOLEAN", HFILL
}},
10164 { &hf_h225_canEnforceDurationLimit
,
10165 { "canEnforceDurationLimit", "h225.canEnforceDurationLimit",
10166 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10167 "BOOLEAN", HFILL
}},
10168 { &hf_h225_amountString
,
10169 { "amountString", "h225.amountString",
10170 FT_STRING
, BASE_NONE
, NULL
, 0,
10171 "BMPString_SIZE_1_512", HFILL
}},
10172 { &hf_h225_billingMode
,
10173 { "billingMode", "h225.billingMode",
10174 FT_UINT32
, BASE_DEC
, VALS(h225_T_billingMode_vals
), 0,
10177 { "credit", "h225.credit_element",
10178 FT_NONE
, BASE_NONE
, NULL
, 0,
10181 { "debit", "h225.debit_element",
10182 FT_NONE
, BASE_NONE
, NULL
, 0,
10184 { &hf_h225_callDurationLimit
,
10185 { "callDurationLimit", "h225.callDurationLimit",
10186 FT_UINT32
, BASE_DEC
, NULL
, 0,
10187 "INTEGER_1_4294967295", HFILL
}},
10188 { &hf_h225_enforceCallDurationLimit
,
10189 { "enforceCallDurationLimit", "h225.enforceCallDurationLimit",
10190 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10191 "BOOLEAN", HFILL
}},
10192 { &hf_h225_callStartingPoint
,
10193 { "callStartingPoint", "h225.callStartingPoint",
10194 FT_UINT32
, BASE_DEC
, VALS(h225_CallCreditServiceControl_callStartingPoint_vals
), 0,
10195 "CallCreditServiceControl_callStartingPoint", HFILL
}},
10198 FT_UINT32
, BASE_DEC
, VALS(h225_GenericIdentifier_vals
), 0,
10199 "GenericIdentifier", HFILL
}},
10200 { &hf_h225_parameters
,
10201 { "parameters", "h225.parameters",
10202 FT_UINT32
, BASE_DEC
, NULL
, 0,
10203 "SEQUENCE_SIZE_1_512_OF_EnumeratedParameter", HFILL
}},
10204 { &hf_h225_parameters_item
,
10205 { "EnumeratedParameter", "h225.EnumeratedParameter_element",
10206 FT_NONE
, BASE_NONE
, NULL
, 0,
10208 { &hf_h225_standard
,
10209 { "standard", "h225.standard",
10210 FT_UINT32
, BASE_DEC
, NULL
, 0,
10213 { "oid", "h225.oid",
10214 FT_OID
, BASE_NONE
, NULL
, 0,
10216 { &hf_h225_genericIdentifier_nonStandard
,
10217 { "nonStandard", "h225.nonStandard",
10218 FT_GUID
, BASE_NONE
, NULL
, 0,
10219 "GloballyUniqueID", HFILL
}},
10220 { &hf_h225_content
,
10221 { "content", "h225.content",
10222 FT_UINT32
, BASE_DEC
, VALS(h225_Content_vals
), 0,
10225 { "raw", "h225.raw",
10226 FT_BYTES
, BASE_NONE
, NULL
, 0,
10229 { "text", "h225.text",
10230 FT_STRING
, BASE_NONE
, NULL
, 0,
10231 "IA5String", HFILL
}},
10232 { &hf_h225_unicode
,
10233 { "unicode", "h225.unicode",
10234 FT_STRING
, BASE_NONE
, NULL
, 0,
10235 "BMPString", HFILL
}},
10237 { "bool", "h225.bool",
10238 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10239 "BOOLEAN", HFILL
}},
10240 { &hf_h225_number8
,
10241 { "number8", "h225.number8",
10242 FT_UINT32
, BASE_DEC
, NULL
, 0,
10243 "INTEGER_0_255", HFILL
}},
10244 { &hf_h225_number16
,
10245 { "number16", "h225.number16",
10246 FT_UINT32
, BASE_DEC
, NULL
, 0,
10247 "INTEGER_0_65535", HFILL
}},
10248 { &hf_h225_number32
,
10249 { "number32", "h225.number32",
10250 FT_UINT32
, BASE_DEC
, NULL
, 0,
10251 "INTEGER_0_4294967295", HFILL
}},
10252 { &hf_h225_transport
,
10253 { "transport", "h225.transport",
10254 FT_UINT32
, BASE_DEC
, VALS(h225_TransportAddress_vals
), 0,
10255 "TransportAddress", HFILL
}},
10256 { &hf_h225_compound
,
10257 { "compound", "h225.compound",
10258 FT_UINT32
, BASE_DEC
, NULL
, 0,
10259 "SEQUENCE_SIZE_1_512_OF_EnumeratedParameter", HFILL
}},
10260 { &hf_h225_compound_item
,
10261 { "EnumeratedParameter", "h225.EnumeratedParameter_element",
10262 FT_NONE
, BASE_NONE
, NULL
, 0,
10265 { "nested", "h225.nested",
10266 FT_UINT32
, BASE_DEC
, NULL
, 0,
10267 "SEQUENCE_SIZE_1_16_OF_GenericData", HFILL
}},
10268 { &hf_h225_nested_item
,
10269 { "GenericData", "h225.GenericData_element",
10270 FT_NONE
, BASE_NONE
, NULL
, 0,
10272 { &hf_h225_replacementFeatureSet
,
10273 { "replacementFeatureSet", "h225.replacementFeatureSet",
10274 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10275 "BOOLEAN", HFILL
}},
10276 { &hf_h225_sendAddress
,
10277 { "sendAddress", "h225.sendAddress",
10278 FT_UINT32
, BASE_DEC
, VALS(h225_TransportAddress_vals
), 0,
10279 "TransportAddress", HFILL
}},
10280 { &hf_h225_recvAddress
,
10281 { "recvAddress", "h225.recvAddress",
10282 FT_UINT32
, BASE_DEC
, VALS(h225_TransportAddress_vals
), 0,
10283 "TransportAddress", HFILL
}},
10284 { &hf_h225_rtpAddress
,
10285 { "rtpAddress", "h225.rtpAddress_element",
10286 FT_NONE
, BASE_NONE
, NULL
, 0,
10287 "TransportChannelInfo", HFILL
}},
10288 { &hf_h225_rtcpAddress
,
10289 { "rtcpAddress", "h225.rtcpAddress_element",
10290 FT_NONE
, BASE_NONE
, NULL
, 0,
10291 "TransportChannelInfo", HFILL
}},
10293 { "cname", "h225.cname",
10294 FT_STRING
, BASE_NONE
, NULL
, 0,
10295 "PrintableString", HFILL
}},
10297 { "ssrc", "h225.ssrc",
10298 FT_UINT32
, BASE_DEC
, NULL
, 0,
10299 "INTEGER_1_4294967295", HFILL
}},
10300 { &hf_h225_sessionId
,
10301 { "sessionId", "h225.sessionId",
10302 FT_UINT32
, BASE_DEC
, NULL
, 0,
10303 "INTEGER_1_255", HFILL
}},
10304 { &hf_h225_associatedSessionIds
,
10305 { "associatedSessionIds", "h225.associatedSessionIds",
10306 FT_UINT32
, BASE_DEC
, NULL
, 0,
10308 { &hf_h225_associatedSessionIds_item
,
10309 { "associatedSessionIds item", "h225.associatedSessionIds_item",
10310 FT_UINT32
, BASE_DEC
, NULL
, 0,
10311 "INTEGER_1_255", HFILL
}},
10312 { &hf_h225_multicast_flg
,
10313 { "multicast", "h225.multicast_element",
10314 FT_NONE
, BASE_NONE
, NULL
, 0,
10316 { &hf_h225_gatekeeperBased
,
10317 { "gatekeeperBased", "h225.gatekeeperBased_element",
10318 FT_NONE
, BASE_NONE
, NULL
, 0,
10320 { &hf_h225_endpointBased
,
10321 { "endpointBased", "h225.endpointBased_element",
10322 FT_NONE
, BASE_NONE
, NULL
, 0,
10324 { &hf_h225_gatekeeperRequest
,
10325 { "gatekeeperRequest", "h225.gatekeeperRequest_element",
10326 FT_NONE
, BASE_NONE
, NULL
, 0,
10328 { &hf_h225_gatekeeperConfirm
,
10329 { "gatekeeperConfirm", "h225.gatekeeperConfirm_element",
10330 FT_NONE
, BASE_NONE
, NULL
, 0,
10332 { &hf_h225_gatekeeperReject
,
10333 { "gatekeeperReject", "h225.gatekeeperReject_element",
10334 FT_NONE
, BASE_NONE
, NULL
, 0,
10336 { &hf_h225_registrationRequest
,
10337 { "registrationRequest", "h225.registrationRequest_element",
10338 FT_NONE
, BASE_NONE
, NULL
, 0,
10340 { &hf_h225_registrationConfirm
,
10341 { "registrationConfirm", "h225.registrationConfirm_element",
10342 FT_NONE
, BASE_NONE
, NULL
, 0,
10344 { &hf_h225_registrationReject
,
10345 { "registrationReject", "h225.registrationReject_element",
10346 FT_NONE
, BASE_NONE
, NULL
, 0,
10348 { &hf_h225_unregistrationRequest
,
10349 { "unregistrationRequest", "h225.unregistrationRequest_element",
10350 FT_NONE
, BASE_NONE
, NULL
, 0,
10352 { &hf_h225_unregistrationConfirm
,
10353 { "unregistrationConfirm", "h225.unregistrationConfirm_element",
10354 FT_NONE
, BASE_NONE
, NULL
, 0,
10356 { &hf_h225_unregistrationReject
,
10357 { "unregistrationReject", "h225.unregistrationReject_element",
10358 FT_NONE
, BASE_NONE
, NULL
, 0,
10360 { &hf_h225_admissionRequest
,
10361 { "admissionRequest", "h225.admissionRequest_element",
10362 FT_NONE
, BASE_NONE
, NULL
, 0,
10364 { &hf_h225_admissionConfirm
,
10365 { "admissionConfirm", "h225.admissionConfirm_element",
10366 FT_NONE
, BASE_NONE
, NULL
, 0,
10368 { &hf_h225_admissionReject
,
10369 { "admissionReject", "h225.admissionReject_element",
10370 FT_NONE
, BASE_NONE
, NULL
, 0,
10372 { &hf_h225_bandwidthRequest
,
10373 { "bandwidthRequest", "h225.bandwidthRequest_element",
10374 FT_NONE
, BASE_NONE
, NULL
, 0,
10376 { &hf_h225_bandwidthConfirm
,
10377 { "bandwidthConfirm", "h225.bandwidthConfirm_element",
10378 FT_NONE
, BASE_NONE
, NULL
, 0,
10380 { &hf_h225_bandwidthReject
,
10381 { "bandwidthReject", "h225.bandwidthReject_element",
10382 FT_NONE
, BASE_NONE
, NULL
, 0,
10384 { &hf_h225_disengageRequest
,
10385 { "disengageRequest", "h225.disengageRequest_element",
10386 FT_NONE
, BASE_NONE
, NULL
, 0,
10388 { &hf_h225_disengageConfirm
,
10389 { "disengageConfirm", "h225.disengageConfirm_element",
10390 FT_NONE
, BASE_NONE
, NULL
, 0,
10392 { &hf_h225_disengageReject
,
10393 { "disengageReject", "h225.disengageReject_element",
10394 FT_NONE
, BASE_NONE
, NULL
, 0,
10396 { &hf_h225_locationRequest
,
10397 { "locationRequest", "h225.locationRequest_element",
10398 FT_NONE
, BASE_NONE
, NULL
, 0,
10400 { &hf_h225_locationConfirm
,
10401 { "locationConfirm", "h225.locationConfirm_element",
10402 FT_NONE
, BASE_NONE
, NULL
, 0,
10404 { &hf_h225_locationReject
,
10405 { "locationReject", "h225.locationReject_element",
10406 FT_NONE
, BASE_NONE
, NULL
, 0,
10408 { &hf_h225_infoRequest
,
10409 { "infoRequest", "h225.infoRequest_element",
10410 FT_NONE
, BASE_NONE
, NULL
, 0,
10412 { &hf_h225_infoRequestResponse
,
10413 { "infoRequestResponse", "h225.infoRequestResponse_element",
10414 FT_NONE
, BASE_NONE
, NULL
, 0,
10416 { &hf_h225_nonStandardMessage
,
10417 { "nonStandardMessage", "h225.nonStandardMessage_element",
10418 FT_NONE
, BASE_NONE
, NULL
, 0,
10420 { &hf_h225_unknownMessageResponse
,
10421 { "unknownMessageResponse", "h225.unknownMessageResponse_element",
10422 FT_NONE
, BASE_NONE
, NULL
, 0,
10424 { &hf_h225_requestInProgress
,
10425 { "requestInProgress", "h225.requestInProgress_element",
10426 FT_NONE
, BASE_NONE
, NULL
, 0,
10428 { &hf_h225_resourcesAvailableIndicate
,
10429 { "resourcesAvailableIndicate", "h225.resourcesAvailableIndicate_element",
10430 FT_NONE
, BASE_NONE
, NULL
, 0,
10432 { &hf_h225_resourcesAvailableConfirm
,
10433 { "resourcesAvailableConfirm", "h225.resourcesAvailableConfirm_element",
10434 FT_NONE
, BASE_NONE
, NULL
, 0,
10436 { &hf_h225_infoRequestAck
,
10437 { "infoRequestAck", "h225.infoRequestAck_element",
10438 FT_NONE
, BASE_NONE
, NULL
, 0,
10440 { &hf_h225_infoRequestNak
,
10441 { "infoRequestNak", "h225.infoRequestNak_element",
10442 FT_NONE
, BASE_NONE
, NULL
, 0,
10444 { &hf_h225_serviceControlIndication
,
10445 { "serviceControlIndication", "h225.serviceControlIndication_element",
10446 FT_NONE
, BASE_NONE
, NULL
, 0,
10448 { &hf_h225_serviceControlResponse
,
10449 { "serviceControlResponse", "h225.serviceControlResponse_element",
10450 FT_NONE
, BASE_NONE
, NULL
, 0,
10452 { &hf_h225_admissionConfirmSequence
,
10453 { "admissionConfirmSequence", "h225.admissionConfirmSequence",
10454 FT_UINT32
, BASE_DEC
, NULL
, 0,
10455 "SEQUENCE_OF_AdmissionConfirm", HFILL
}},
10456 { &hf_h225_admissionConfirmSequence_item
,
10457 { "AdmissionConfirm", "h225.AdmissionConfirm_element",
10458 FT_NONE
, BASE_NONE
, NULL
, 0,
10460 { &hf_h225_requestSeqNum
,
10461 { "requestSeqNum", "h225.requestSeqNum",
10462 FT_UINT32
, BASE_DEC
, NULL
, 0,
10464 { &hf_h225_gatekeeperRequest_rasAddress
,
10465 { "rasAddress", "h225.rasAddress",
10466 FT_UINT32
, BASE_DEC
, VALS(h225_TransportAddress_vals
), 0,
10467 "TransportAddress", HFILL
}},
10468 { &hf_h225_endpointAlias
,
10469 { "endpointAlias", "h225.endpointAlias",
10470 FT_UINT32
, BASE_DEC
, NULL
, 0,
10471 "SEQUENCE_OF_AliasAddress", HFILL
}},
10472 { &hf_h225_endpointAlias_item
,
10473 { "AliasAddress", "h225.AliasAddress",
10474 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
10476 { &hf_h225_alternateEndpoints
,
10477 { "alternateEndpoints", "h225.alternateEndpoints",
10478 FT_UINT32
, BASE_DEC
, NULL
, 0,
10479 "SEQUENCE_OF_Endpoint", HFILL
}},
10480 { &hf_h225_alternateEndpoints_item
,
10481 { "Endpoint", "h225.Endpoint_element",
10482 FT_NONE
, BASE_NONE
, NULL
, 0,
10484 { &hf_h225_authenticationCapability
,
10485 { "authenticationCapability", "h225.authenticationCapability",
10486 FT_UINT32
, BASE_DEC
, NULL
, 0,
10487 "SEQUENCE_OF_AuthenticationMechanism", HFILL
}},
10488 { &hf_h225_authenticationCapability_item
,
10489 { "AuthenticationMechanism", "h225.AuthenticationMechanism",
10490 FT_UINT32
, BASE_DEC
, VALS(h235_AuthenticationMechanism_vals
), 0,
10492 { &hf_h225_algorithmOIDs
,
10493 { "algorithmOIDs", "h225.algorithmOIDs",
10494 FT_UINT32
, BASE_DEC
, NULL
, 0,
10496 { &hf_h225_algorithmOIDs_item
,
10497 { "algorithmOIDs item", "h225.algorithmOIDs_item",
10498 FT_OID
, BASE_NONE
, NULL
, 0,
10499 "OBJECT_IDENTIFIER", HFILL
}},
10500 { &hf_h225_integrity
,
10501 { "integrity", "h225.integrity",
10502 FT_UINT32
, BASE_DEC
, NULL
, 0,
10503 "SEQUENCE_OF_IntegrityMechanism", HFILL
}},
10504 { &hf_h225_integrity_item
,
10505 { "IntegrityMechanism", "h225.IntegrityMechanism",
10506 FT_UINT32
, BASE_DEC
, VALS(h225_IntegrityMechanism_vals
), 0,
10508 { &hf_h225_integrityCheckValue
,
10509 { "integrityCheckValue", "h225.integrityCheckValue_element",
10510 FT_NONE
, BASE_NONE
, NULL
, 0,
10512 { &hf_h225_supportsAltGK
,
10513 { "supportsAltGK", "h225.supportsAltGK_element",
10514 FT_NONE
, BASE_NONE
, NULL
, 0,
10516 { &hf_h225_supportsAssignedGK
,
10517 { "supportsAssignedGK", "h225.supportsAssignedGK",
10518 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10519 "BOOLEAN", HFILL
}},
10520 { &hf_h225_assignedGatekeeper
,
10521 { "assignedGatekeeper", "h225.assignedGatekeeper_element",
10522 FT_NONE
, BASE_NONE
, NULL
, 0,
10523 "AlternateGK", HFILL
}},
10524 { &hf_h225_gatekeeperConfirm_rasAddress
,
10525 { "rasAddress", "h225.rasAddress",
10526 FT_UINT32
, BASE_DEC
, VALS(h225_TransportAddress_vals
), 0,
10527 "TransportAddress", HFILL
}},
10528 { &hf_h225_authenticationMode
,
10529 { "authenticationMode", "h225.authenticationMode",
10530 FT_UINT32
, BASE_DEC
, VALS(h235_AuthenticationMechanism_vals
), 0,
10531 "AuthenticationMechanism", HFILL
}},
10532 { &hf_h225_rehomingModel
,
10533 { "rehomingModel", "h225.rehomingModel",
10534 FT_UINT32
, BASE_DEC
, VALS(h225_RehomingModel_vals
), 0,
10536 { &hf_h225_gatekeeperRejectReason
,
10537 { "rejectReason", "h225.rejectReason",
10538 FT_UINT32
, BASE_DEC
, VALS(GatekeeperRejectReason_vals
), 0,
10539 "GatekeeperRejectReason", HFILL
}},
10540 { &hf_h225_altGKInfo
,
10541 { "altGKInfo", "h225.altGKInfo_element",
10542 FT_NONE
, BASE_NONE
, NULL
, 0,
10544 { &hf_h225_resourceUnavailable
,
10545 { "resourceUnavailable", "h225.resourceUnavailable_element",
10546 FT_NONE
, BASE_NONE
, NULL
, 0,
10548 { &hf_h225_terminalExcluded
,
10549 { "terminalExcluded", "h225.terminalExcluded_element",
10550 FT_NONE
, BASE_NONE
, NULL
, 0,
10552 { &hf_h225_securityDenial
,
10553 { "securityDenial", "h225.securityDenial_element",
10554 FT_NONE
, BASE_NONE
, NULL
, 0,
10556 { &hf_h225_gkRej_securityError
,
10557 { "securityError", "h225.securityError",
10558 FT_UINT32
, BASE_DEC
, VALS(h225_SecurityErrors_vals
), 0,
10559 "SecurityErrors", HFILL
}},
10560 { &hf_h225_discoveryComplete
,
10561 { "discoveryComplete", "h225.discoveryComplete",
10562 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10563 "BOOLEAN", HFILL
}},
10564 { &hf_h225_terminalType
,
10565 { "terminalType", "h225.terminalType_element",
10566 FT_NONE
, BASE_NONE
, NULL
, 0,
10567 "EndpointType", HFILL
}},
10568 { &hf_h225_terminalAlias
,
10569 { "terminalAlias", "h225.terminalAlias",
10570 FT_UINT32
, BASE_DEC
, NULL
, 0,
10571 "SEQUENCE_OF_AliasAddress", HFILL
}},
10572 { &hf_h225_terminalAlias_item
,
10573 { "AliasAddress", "h225.AliasAddress",
10574 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
10576 { &hf_h225_endpointVendor
,
10577 { "endpointVendor", "h225.endpointVendor_element",
10578 FT_NONE
, BASE_NONE
, NULL
, 0,
10579 "VendorIdentifier", HFILL
}},
10580 { &hf_h225_timeToLive
,
10581 { "timeToLive", "h225.timeToLive",
10582 FT_UINT32
, BASE_DEC
, NULL
, 0,
10584 { &hf_h225_keepAlive
,
10585 { "keepAlive", "h225.keepAlive",
10586 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10587 "BOOLEAN", HFILL
}},
10588 { &hf_h225_willSupplyUUIEs
,
10589 { "willSupplyUUIEs", "h225.willSupplyUUIEs",
10590 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10591 "BOOLEAN", HFILL
}},
10592 { &hf_h225_additiveRegistration
,
10593 { "additiveRegistration", "h225.additiveRegistration_element",
10594 FT_NONE
, BASE_NONE
, NULL
, 0,
10596 { &hf_h225_terminalAliasPattern
,
10597 { "terminalAliasPattern", "h225.terminalAliasPattern",
10598 FT_UINT32
, BASE_DEC
, NULL
, 0,
10599 "SEQUENCE_OF_AddressPattern", HFILL
}},
10600 { &hf_h225_terminalAliasPattern_item
,
10601 { "AddressPattern", "h225.AddressPattern",
10602 FT_UINT32
, BASE_DEC
, VALS(h225_AddressPattern_vals
), 0,
10604 { &hf_h225_usageReportingCapability
,
10605 { "usageReportingCapability", "h225.usageReportingCapability_element",
10606 FT_NONE
, BASE_NONE
, NULL
, 0,
10607 "RasUsageInfoTypes", HFILL
}},
10608 { &hf_h225_supportedH248Packages
,
10609 { "supportedH248Packages", "h225.supportedH248Packages",
10610 FT_UINT32
, BASE_DEC
, NULL
, 0,
10611 "SEQUENCE_OF_H248PackagesDescriptor", HFILL
}},
10612 { &hf_h225_supportedH248Packages_item
,
10613 { "H248PackagesDescriptor", "h225.H248PackagesDescriptor",
10614 FT_BYTES
, BASE_NONE
, NULL
, 0,
10616 { &hf_h225_callCreditCapability
,
10617 { "callCreditCapability", "h225.callCreditCapability_element",
10618 FT_NONE
, BASE_NONE
, NULL
, 0,
10620 { &hf_h225_capacityReportingCapability
,
10621 { "capacityReportingCapability", "h225.capacityReportingCapability_element",
10622 FT_NONE
, BASE_NONE
, NULL
, 0,
10624 { &hf_h225_restart
,
10625 { "restart", "h225.restart_element",
10626 FT_NONE
, BASE_NONE
, NULL
, 0,
10628 { &hf_h225_supportsACFSequences
,
10629 { "supportsACFSequences", "h225.supportsACFSequences_element",
10630 FT_NONE
, BASE_NONE
, NULL
, 0,
10632 { &hf_h225_transportQOS
,
10633 { "transportQOS", "h225.transportQOS",
10634 FT_UINT32
, BASE_DEC
, VALS(h225_TransportQOS_vals
), 0,
10636 { &hf_h225_willRespondToIRR
,
10637 { "willRespondToIRR", "h225.willRespondToIRR",
10638 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10639 "BOOLEAN", HFILL
}},
10640 { &hf_h225_preGrantedARQ
,
10641 { "preGrantedARQ", "h225.preGrantedARQ_element",
10642 FT_NONE
, BASE_NONE
, NULL
, 0,
10644 { &hf_h225_makeCall
,
10645 { "makeCall", "h225.makeCall",
10646 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10647 "BOOLEAN", HFILL
}},
10648 { &hf_h225_useGKCallSignalAddressToMakeCall
,
10649 { "useGKCallSignalAddressToMakeCall", "h225.useGKCallSignalAddressToMakeCall",
10650 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10651 "BOOLEAN", HFILL
}},
10652 { &hf_h225_answerCall
,
10653 { "answerCall", "h225.answerCall",
10654 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10655 "BOOLEAN", HFILL
}},
10656 { &hf_h225_useGKCallSignalAddressToAnswer
,
10657 { "useGKCallSignalAddressToAnswer", "h225.useGKCallSignalAddressToAnswer",
10658 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10659 "BOOLEAN", HFILL
}},
10660 { &hf_h225_irrFrequencyInCall
,
10661 { "irrFrequencyInCall", "h225.irrFrequencyInCall",
10662 FT_UINT32
, BASE_DEC
, NULL
, 0,
10663 "INTEGER_1_65535", HFILL
}},
10664 { &hf_h225_totalBandwidthRestriction
,
10665 { "totalBandwidthRestriction", "h225.totalBandwidthRestriction",
10666 FT_UINT32
, BASE_DEC
, NULL
, 0,
10667 "BandWidth", HFILL
}},
10668 { &hf_h225_useSpecifiedTransport
,
10669 { "useSpecifiedTransport", "h225.useSpecifiedTransport",
10670 FT_UINT32
, BASE_DEC
, VALS(h225_UseSpecifiedTransport_vals
), 0,
10672 { &hf_h225_supportsAdditiveRegistration
,
10673 { "supportsAdditiveRegistration", "h225.supportsAdditiveRegistration_element",
10674 FT_NONE
, BASE_NONE
, NULL
, 0,
10676 { &hf_h225_usageSpec
,
10677 { "usageSpec", "h225.usageSpec",
10678 FT_UINT32
, BASE_DEC
, NULL
, 0,
10679 "SEQUENCE_OF_RasUsageSpecification", HFILL
}},
10680 { &hf_h225_usageSpec_item
,
10681 { "RasUsageSpecification", "h225.RasUsageSpecification_element",
10682 FT_NONE
, BASE_NONE
, NULL
, 0,
10684 { &hf_h225_featureServerAlias
,
10685 { "featureServerAlias", "h225.featureServerAlias",
10686 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
10687 "AliasAddress", HFILL
}},
10688 { &hf_h225_capacityReportingSpec
,
10689 { "capacityReportingSpec", "h225.capacityReportingSpec_element",
10690 FT_NONE
, BASE_NONE
, NULL
, 0,
10691 "CapacityReportingSpecification", HFILL
}},
10692 { &hf_h225_registrationRejectReason
,
10693 { "rejectReason", "h225.rejectReason",
10694 FT_UINT32
, BASE_DEC
, VALS(RegistrationRejectReason_vals
), 0,
10695 "RegistrationRejectReason", HFILL
}},
10696 { &hf_h225_discoveryRequired
,
10697 { "discoveryRequired", "h225.discoveryRequired_element",
10698 FT_NONE
, BASE_NONE
, NULL
, 0,
10700 { &hf_h225_invalidCallSignalAddress
,
10701 { "invalidCallSignalAddress", "h225.invalidCallSignalAddress_element",
10702 FT_NONE
, BASE_NONE
, NULL
, 0,
10704 { &hf_h225_invalidRASAddress
,
10705 { "invalidRASAddress", "h225.invalidRASAddress_element",
10706 FT_NONE
, BASE_NONE
, NULL
, 0,
10708 { &hf_h225_duplicateAlias
,
10709 { "duplicateAlias", "h225.duplicateAlias",
10710 FT_UINT32
, BASE_DEC
, NULL
, 0,
10711 "SEQUENCE_OF_AliasAddress", HFILL
}},
10712 { &hf_h225_duplicateAlias_item
,
10713 { "AliasAddress", "h225.AliasAddress",
10714 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
10716 { &hf_h225_invalidTerminalType
,
10717 { "invalidTerminalType", "h225.invalidTerminalType_element",
10718 FT_NONE
, BASE_NONE
, NULL
, 0,
10720 { &hf_h225_transportNotSupported
,
10721 { "transportNotSupported", "h225.transportNotSupported_element",
10722 FT_NONE
, BASE_NONE
, NULL
, 0,
10724 { &hf_h225_transportQOSNotSupported
,
10725 { "transportQOSNotSupported", "h225.transportQOSNotSupported_element",
10726 FT_NONE
, BASE_NONE
, NULL
, 0,
10728 { &hf_h225_invalidAlias
,
10729 { "invalidAlias", "h225.invalidAlias_element",
10730 FT_NONE
, BASE_NONE
, NULL
, 0,
10732 { &hf_h225_fullRegistrationRequired
,
10733 { "fullRegistrationRequired", "h225.fullRegistrationRequired_element",
10734 FT_NONE
, BASE_NONE
, NULL
, 0,
10736 { &hf_h225_additiveRegistrationNotSupported
,
10737 { "additiveRegistrationNotSupported", "h225.additiveRegistrationNotSupported_element",
10738 FT_NONE
, BASE_NONE
, NULL
, 0,
10740 { &hf_h225_invalidTerminalAliases
,
10741 { "invalidTerminalAliases", "h225.invalidTerminalAliases_element",
10742 FT_NONE
, BASE_NONE
, NULL
, 0,
10744 { &hf_h225_reg_securityError
,
10745 { "securityError", "h225.securityError",
10746 FT_UINT32
, BASE_DEC
, VALS(h225_SecurityErrors_vals
), 0,
10747 "SecurityErrors", HFILL
}},
10748 { &hf_h225_registerWithAssignedGK
,
10749 { "registerWithAssignedGK", "h225.registerWithAssignedGK_element",
10750 FT_NONE
, BASE_NONE
, NULL
, 0,
10752 { &hf_h225_unregRequestReason
,
10753 { "reason", "h225.reason",
10754 FT_UINT32
, BASE_DEC
, VALS(UnregRequestReason_vals
), 0,
10755 "UnregRequestReason", HFILL
}},
10756 { &hf_h225_endpointAliasPattern
,
10757 { "endpointAliasPattern", "h225.endpointAliasPattern",
10758 FT_UINT32
, BASE_DEC
, NULL
, 0,
10759 "SEQUENCE_OF_AddressPattern", HFILL
}},
10760 { &hf_h225_endpointAliasPattern_item
,
10761 { "AddressPattern", "h225.AddressPattern",
10762 FT_UINT32
, BASE_DEC
, VALS(h225_AddressPattern_vals
), 0,
10764 { &hf_h225_reregistrationRequired
,
10765 { "reregistrationRequired", "h225.reregistrationRequired_element",
10766 FT_NONE
, BASE_NONE
, NULL
, 0,
10768 { &hf_h225_ttlExpired
,
10769 { "ttlExpired", "h225.ttlExpired_element",
10770 FT_NONE
, BASE_NONE
, NULL
, 0,
10772 { &hf_h225_maintenance
,
10773 { "maintenance", "h225.maintenance_element",
10774 FT_NONE
, BASE_NONE
, NULL
, 0,
10776 { &hf_h225_securityError
,
10777 { "securityError", "h225.securityError",
10778 FT_UINT32
, BASE_DEC
, VALS(h225_SecurityErrors2_vals
), 0,
10779 "SecurityErrors2", HFILL
}},
10780 { &hf_h225_unregRejectReason
,
10781 { "rejectReason", "h225.rejectReason",
10782 FT_UINT32
, BASE_DEC
, VALS(UnregRejectReason_vals
), 0,
10783 "UnregRejectReason", HFILL
}},
10784 { &hf_h225_notCurrentlyRegistered
,
10785 { "notCurrentlyRegistered", "h225.notCurrentlyRegistered_element",
10786 FT_NONE
, BASE_NONE
, NULL
, 0,
10788 { &hf_h225_callInProgress
,
10789 { "callInProgress", "h225.callInProgress_element",
10790 FT_NONE
, BASE_NONE
, NULL
, 0,
10792 { &hf_h225_permissionDenied
,
10793 { "permissionDenied", "h225.permissionDenied_element",
10794 FT_NONE
, BASE_NONE
, NULL
, 0,
10796 { &hf_h225_callModel
,
10797 { "callModel", "h225.callModel",
10798 FT_UINT32
, BASE_DEC
, VALS(h225_CallModel_vals
), 0,
10800 { &hf_h225_DestinationInfo_item
,
10801 { "DestinationInfo item", "h225.DestinationInfo_item",
10802 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
10804 { &hf_h225_destinationInfo_01
,
10805 { "destinationInfo", "h225.destinationInfo",
10806 FT_UINT32
, BASE_DEC
, NULL
, 0,
10808 { &hf_h225_srcInfo
,
10809 { "srcInfo", "h225.srcInfo",
10810 FT_UINT32
, BASE_DEC
, NULL
, 0,
10811 "SEQUENCE_OF_AliasAddress", HFILL
}},
10812 { &hf_h225_srcInfo_item
,
10813 { "AliasAddress", "h225.AliasAddress",
10814 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
10816 { &hf_h225_srcCallSignalAddress
,
10817 { "srcCallSignalAddress", "h225.srcCallSignalAddress",
10818 FT_UINT32
, BASE_DEC
, VALS(h225_TransportAddress_vals
), 0,
10819 "TransportAddress", HFILL
}},
10820 { &hf_h225_bandWidth
,
10821 { "bandWidth", "h225.bandWidth",
10822 FT_UINT32
, BASE_DEC
, NULL
, 0,
10824 { &hf_h225_callReferenceValue
,
10825 { "callReferenceValue", "h225.callReferenceValue",
10826 FT_UINT32
, BASE_DEC
, NULL
, 0,
10828 { &hf_h225_canMapAlias
,
10829 { "canMapAlias", "h225.canMapAlias",
10830 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10831 "BOOLEAN", HFILL
}},
10832 { &hf_h225_srcAlternatives
,
10833 { "srcAlternatives", "h225.srcAlternatives",
10834 FT_UINT32
, BASE_DEC
, NULL
, 0,
10835 "SEQUENCE_OF_Endpoint", HFILL
}},
10836 { &hf_h225_srcAlternatives_item
,
10837 { "Endpoint", "h225.Endpoint_element",
10838 FT_NONE
, BASE_NONE
, NULL
, 0,
10840 { &hf_h225_destAlternatives
,
10841 { "destAlternatives", "h225.destAlternatives",
10842 FT_UINT32
, BASE_DEC
, NULL
, 0,
10843 "SEQUENCE_OF_Endpoint", HFILL
}},
10844 { &hf_h225_destAlternatives_item
,
10845 { "Endpoint", "h225.Endpoint_element",
10846 FT_NONE
, BASE_NONE
, NULL
, 0,
10848 { &hf_h225_gatewayDataRate
,
10849 { "gatewayDataRate", "h225.gatewayDataRate_element",
10850 FT_NONE
, BASE_NONE
, NULL
, 0,
10851 "DataRate", HFILL
}},
10852 { &hf_h225_desiredTunnelledProtocol
,
10853 { "desiredTunnelledProtocol", "h225.desiredTunnelledProtocol_element",
10854 FT_NONE
, BASE_NONE
, NULL
, 0,
10855 "TunnelledProtocol", HFILL
}},
10856 { &hf_h225_canMapSrcAlias
,
10857 { "canMapSrcAlias", "h225.canMapSrcAlias",
10858 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10859 "BOOLEAN", HFILL
}},
10860 { &hf_h225_pointToPoint
,
10861 { "pointToPoint", "h225.pointToPoint_element",
10862 FT_NONE
, BASE_NONE
, NULL
, 0,
10865 { "oneToN", "h225.oneToN_element",
10866 FT_NONE
, BASE_NONE
, NULL
, 0,
10869 { "nToOne", "h225.nToOne_element",
10870 FT_NONE
, BASE_NONE
, NULL
, 0,
10873 { "nToN", "h225.nToN_element",
10874 FT_NONE
, BASE_NONE
, NULL
, 0,
10877 { "direct", "h225.direct_element",
10878 FT_NONE
, BASE_NONE
, NULL
, 0,
10880 { &hf_h225_gatekeeperRouted
,
10881 { "gatekeeperRouted", "h225.gatekeeperRouted_element",
10882 FT_NONE
, BASE_NONE
, NULL
, 0,
10884 { &hf_h225_endpointControlled
,
10885 { "endpointControlled", "h225.endpointControlled_element",
10886 FT_NONE
, BASE_NONE
, NULL
, 0,
10888 { &hf_h225_gatekeeperControlled
,
10889 { "gatekeeperControlled", "h225.gatekeeperControlled_element",
10890 FT_NONE
, BASE_NONE
, NULL
, 0,
10892 { &hf_h225_noControl
,
10893 { "noControl", "h225.noControl_element",
10894 FT_NONE
, BASE_NONE
, NULL
, 0,
10896 { &hf_h225_qOSCapabilities
,
10897 { "qOSCapabilities", "h225.qOSCapabilities",
10898 FT_UINT32
, BASE_DEC
, NULL
, 0,
10899 "SEQUENCE_SIZE_1_256_OF_QOSCapability", HFILL
}},
10900 { &hf_h225_qOSCapabilities_item
,
10901 { "QOSCapability", "h225.QOSCapability_element",
10902 FT_NONE
, BASE_NONE
, NULL
, 0,
10904 { &hf_h225_irrFrequency
,
10905 { "irrFrequency", "h225.irrFrequency",
10906 FT_UINT32
, BASE_DEC
, NULL
, 0,
10907 "INTEGER_1_65535", HFILL
}},
10908 { &hf_h225_destinationType
,
10909 { "destinationType", "h225.destinationType_element",
10910 FT_NONE
, BASE_NONE
, NULL
, 0,
10911 "EndpointType", HFILL
}},
10912 { &hf_h225_ac_remoteExtensionAddress_item
,
10913 { "AliasAddress", "h225.ac_remoteExtensionAddress_item",
10914 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
10916 { &hf_h225_uuiesRequested
,
10917 { "uuiesRequested", "h225.uuiesRequested_element",
10918 FT_NONE
, BASE_NONE
, NULL
, 0,
10920 { &hf_h225_supportedProtocols
,
10921 { "supportedProtocols", "h225.supportedProtocols",
10922 FT_UINT32
, BASE_DEC
, NULL
, 0,
10923 "SEQUENCE_OF_SupportedProtocols", HFILL
}},
10924 { &hf_h225_supportedProtocols_item
,
10925 { "SupportedProtocols", "h225.SupportedProtocols",
10926 FT_UINT32
, BASE_DEC
, VALS(h225_SupportedProtocols_vals
), 0,
10928 { &hf_h225_modifiedSrcInfo
,
10929 { "modifiedSrcInfo", "h225.modifiedSrcInfo",
10930 FT_UINT32
, BASE_DEC
, NULL
, 0,
10931 "SEQUENCE_OF_AliasAddress", HFILL
}},
10932 { &hf_h225_modifiedSrcInfo_item
,
10933 { "AliasAddress", "h225.AliasAddress",
10934 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
10936 { &hf_h225_setup_bool
,
10937 { "setup", "h225.setup",
10938 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10939 "BOOLEAN", HFILL
}},
10940 { &hf_h225_callProceeding_flg
,
10941 { "callProceeding", "h225.callProceeding",
10942 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10943 "BOOLEAN", HFILL
}},
10944 { &hf_h225_connect_bool
,
10945 { "connect", "h225.connect",
10946 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10947 "BOOLEAN", HFILL
}},
10948 { &hf_h225_alerting_bool
,
10949 { "alerting", "h225.alerting",
10950 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10951 "BOOLEAN", HFILL
}},
10952 { &hf_h225_information_bool
,
10953 { "information", "h225.information",
10954 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10955 "BOOLEAN", HFILL
}},
10956 { &hf_h225_releaseComplete_bool
,
10957 { "releaseComplete", "h225.releaseComplete",
10958 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10959 "BOOLEAN", HFILL
}},
10960 { &hf_h225_facility_bool
,
10961 { "facility", "h225.facility",
10962 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10963 "BOOLEAN", HFILL
}},
10964 { &hf_h225_progress_bool
,
10965 { "progress", "h225.progress",
10966 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10967 "BOOLEAN", HFILL
}},
10969 { "empty", "h225.empty",
10970 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10971 "BOOLEAN", HFILL
}},
10972 { &hf_h225_status_bool
,
10973 { "status", "h225.status",
10974 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10975 "BOOLEAN", HFILL
}},
10976 { &hf_h225_statusInquiry_bool
,
10977 { "statusInquiry", "h225.statusInquiry",
10978 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10979 "BOOLEAN", HFILL
}},
10980 { &hf_h225_setupAcknowledge_bool
,
10981 { "setupAcknowledge", "h225.setupAcknowledge",
10982 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10983 "BOOLEAN", HFILL
}},
10984 { &hf_h225_notify_bool
,
10985 { "notify", "h225.notify",
10986 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10987 "BOOLEAN", HFILL
}},
10988 { &hf_h225_rejectReason
,
10989 { "rejectReason", "h225.rejectReason",
10990 FT_UINT32
, BASE_DEC
, VALS(AdmissionRejectReason_vals
), 0,
10991 "AdmissionRejectReason", HFILL
}},
10992 { &hf_h225_invalidPermission
,
10993 { "invalidPermission", "h225.invalidPermission_element",
10994 FT_NONE
, BASE_NONE
, NULL
, 0,
10996 { &hf_h225_requestDenied
,
10997 { "requestDenied", "h225.requestDenied_element",
10998 FT_NONE
, BASE_NONE
, NULL
, 0,
11000 { &hf_h225_invalidEndpointIdentifier
,
11001 { "invalidEndpointIdentifier", "h225.invalidEndpointIdentifier_element",
11002 FT_NONE
, BASE_NONE
, NULL
, 0,
11004 { &hf_h225_qosControlNotSupported
,
11005 { "qosControlNotSupported", "h225.qosControlNotSupported_element",
11006 FT_NONE
, BASE_NONE
, NULL
, 0,
11008 { &hf_h225_incompleteAddress
,
11009 { "incompleteAddress", "h225.incompleteAddress_element",
11010 FT_NONE
, BASE_NONE
, NULL
, 0,
11012 { &hf_h225_aliasesInconsistent
,
11013 { "aliasesInconsistent", "h225.aliasesInconsistent_element",
11014 FT_NONE
, BASE_NONE
, NULL
, 0,
11016 { &hf_h225_routeCallToSCN
,
11017 { "routeCallToSCN", "h225.routeCallToSCN",
11018 FT_UINT32
, BASE_DEC
, NULL
, 0,
11019 "SEQUENCE_OF_PartyNumber", HFILL
}},
11020 { &hf_h225_routeCallToSCN_item
,
11021 { "PartyNumber", "h225.PartyNumber",
11022 FT_UINT32
, BASE_DEC
, VALS(h225_PartyNumber_vals
), 0,
11024 { &hf_h225_exceedsCallCapacity
,
11025 { "exceedsCallCapacity", "h225.exceedsCallCapacity_element",
11026 FT_NONE
, BASE_NONE
, NULL
, 0,
11028 { &hf_h225_collectDestination
,
11029 { "collectDestination", "h225.collectDestination_element",
11030 FT_NONE
, BASE_NONE
, NULL
, 0,
11032 { &hf_h225_collectPIN
,
11033 { "collectPIN", "h225.collectPIN_element",
11034 FT_NONE
, BASE_NONE
, NULL
, 0,
11036 { &hf_h225_noRouteToDestination
,
11037 { "noRouteToDestination", "h225.noRouteToDestination_element",
11038 FT_NONE
, BASE_NONE
, NULL
, 0,
11040 { &hf_h225_unallocatedNumber
,
11041 { "unallocatedNumber", "h225.unallocatedNumber_element",
11042 FT_NONE
, BASE_NONE
, NULL
, 0,
11044 { &hf_h225_answeredCall
,
11045 { "answeredCall", "h225.answeredCall",
11046 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
11047 "BOOLEAN", HFILL
}},
11048 { &hf_h225_usageInformation
,
11049 { "usageInformation", "h225.usageInformation_element",
11050 FT_NONE
, BASE_NONE
, NULL
, 0,
11051 "RasUsageInformation", HFILL
}},
11052 { &hf_h225_bandwidthDetails
,
11053 { "bandwidthDetails", "h225.bandwidthDetails",
11054 FT_UINT32
, BASE_DEC
, NULL
, 0,
11055 "SEQUENCE_OF_BandwidthDetails", HFILL
}},
11056 { &hf_h225_bandwidthDetails_item
,
11057 { "BandwidthDetails", "h225.BandwidthDetails_element",
11058 FT_NONE
, BASE_NONE
, NULL
, 0,
11060 { &hf_h225_bandRejectReason
,
11061 { "rejectReason", "h225.rejectReason",
11062 FT_UINT32
, BASE_DEC
, VALS(BandRejectReason_vals
), 0,
11063 "BandRejectReason", HFILL
}},
11064 { &hf_h225_allowedBandWidth
,
11065 { "allowedBandWidth", "h225.allowedBandWidth",
11066 FT_UINT32
, BASE_DEC
, NULL
, 0,
11067 "BandWidth", HFILL
}},
11068 { &hf_h225_notBound
,
11069 { "notBound", "h225.notBound_element",
11070 FT_NONE
, BASE_NONE
, NULL
, 0,
11072 { &hf_h225_invalidConferenceID
,
11073 { "invalidConferenceID", "h225.invalidConferenceID_element",
11074 FT_NONE
, BASE_NONE
, NULL
, 0,
11076 { &hf_h225_insufficientResources
,
11077 { "insufficientResources", "h225.insufficientResources_element",
11078 FT_NONE
, BASE_NONE
, NULL
, 0,
11080 { &hf_h225_replyAddress
,
11081 { "replyAddress", "h225.replyAddress",
11082 FT_UINT32
, BASE_DEC
, VALS(h225_TransportAddress_vals
), 0,
11083 "TransportAddress", HFILL
}},
11084 { &hf_h225_sourceInfo
,
11085 { "sourceInfo", "h225.sourceInfo",
11086 FT_UINT32
, BASE_DEC
, NULL
, 0,
11087 "SEQUENCE_OF_AliasAddress", HFILL
}},
11088 { &hf_h225_sourceInfo_item
,
11089 { "AliasAddress", "h225.AliasAddress",
11090 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
11092 { &hf_h225_hopCount
,
11093 { "hopCount", "h225.hopCount",
11094 FT_UINT32
, BASE_DEC
, NULL
, 0,
11095 "INTEGER_1_255", HFILL
}},
11096 { &hf_h225_sourceEndpointInfo
,
11097 { "sourceEndpointInfo", "h225.sourceEndpointInfo",
11098 FT_UINT32
, BASE_DEC
, NULL
, 0,
11099 "SEQUENCE_OF_AliasAddress", HFILL
}},
11100 { &hf_h225_sourceEndpointInfo_item
,
11101 { "AliasAddress", "h225.AliasAddress",
11102 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
11104 { &hf_h225_locationConfirm_callSignalAddress
,
11105 { "callSignalAddress", "h225.callSignalAddress",
11106 FT_UINT32
, BASE_DEC
, VALS(h225_TransportAddress_vals
), 0,
11107 "TransportAddress", HFILL
}},
11108 { &hf_h225_locationConfirm_rasAddress
,
11109 { "rasAddress", "h225.rasAddress",
11110 FT_UINT32
, BASE_DEC
, VALS(h225_TransportAddress_vals
), 0,
11111 "TransportAddress", HFILL
}},
11112 { &hf_h225_remoteExtensionAddress_item
,
11113 { "AliasAddress", "h225.AliasAddress",
11114 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
11116 { &hf_h225_locationRejectReason
,
11117 { "rejectReason", "h225.rejectReason",
11118 FT_UINT32
, BASE_DEC
, VALS(LocationRejectReason_vals
), 0,
11119 "LocationRejectReason", HFILL
}},
11120 { &hf_h225_notRegistered
,
11121 { "notRegistered", "h225.notRegistered_element",
11122 FT_NONE
, BASE_NONE
, NULL
, 0,
11124 { &hf_h225_routeCalltoSCN
,
11125 { "routeCalltoSCN", "h225.routeCalltoSCN",
11126 FT_UINT32
, BASE_DEC
, NULL
, 0,
11127 "SEQUENCE_OF_PartyNumber", HFILL
}},
11128 { &hf_h225_routeCalltoSCN_item
,
11129 { "PartyNumber", "h225.PartyNumber",
11130 FT_UINT32
, BASE_DEC
, VALS(h225_PartyNumber_vals
), 0,
11132 { &hf_h225_disengageReason
,
11133 { "disengageReason", "h225.disengageReason",
11134 FT_UINT32
, BASE_DEC
, VALS(DisengageReason_vals
), 0,
11136 { &hf_h225_terminationCause
,
11137 { "terminationCause", "h225.terminationCause",
11138 FT_UINT32
, BASE_DEC
, VALS(h225_CallTerminationCause_vals
), 0,
11139 "CallTerminationCause", HFILL
}},
11140 { &hf_h225_forcedDrop
,
11141 { "forcedDrop", "h225.forcedDrop_element",
11142 FT_NONE
, BASE_NONE
, NULL
, 0,
11144 { &hf_h225_normalDrop
,
11145 { "normalDrop", "h225.normalDrop_element",
11146 FT_NONE
, BASE_NONE
, NULL
, 0,
11148 { &hf_h225_disengageRejectReason
,
11149 { "rejectReason", "h225.rejectReason",
11150 FT_UINT32
, BASE_DEC
, VALS(DisengageRejectReason_vals
), 0,
11151 "DisengageRejectReason", HFILL
}},
11152 { &hf_h225_requestToDropOther
,
11153 { "requestToDropOther", "h225.requestToDropOther_element",
11154 FT_NONE
, BASE_NONE
, NULL
, 0,
11156 { &hf_h225_usageInfoRequested
,
11157 { "usageInfoRequested", "h225.usageInfoRequested_element",
11158 FT_NONE
, BASE_NONE
, NULL
, 0,
11159 "RasUsageInfoTypes", HFILL
}},
11160 { &hf_h225_segmentedResponseSupported
,
11161 { "segmentedResponseSupported", "h225.segmentedResponseSupported_element",
11162 FT_NONE
, BASE_NONE
, NULL
, 0,
11164 { &hf_h225_nextSegmentRequested
,
11165 { "nextSegmentRequested", "h225.nextSegmentRequested",
11166 FT_UINT32
, BASE_DEC
, NULL
, 0,
11167 "INTEGER_0_65535", HFILL
}},
11168 { &hf_h225_capacityInfoRequested
,
11169 { "capacityInfoRequested", "h225.capacityInfoRequested_element",
11170 FT_NONE
, BASE_NONE
, NULL
, 0,
11172 { &hf_h225_infoRequestResponse_rasAddress
,
11173 { "rasAddress", "h225.rasAddress",
11174 FT_UINT32
, BASE_DEC
, VALS(h225_TransportAddress_vals
), 0,
11175 "TransportAddress", HFILL
}},
11176 { &hf_h225_perCallInfo
,
11177 { "perCallInfo", "h225.perCallInfo",
11178 FT_UINT32
, BASE_DEC
, NULL
, 0,
11180 { &hf_h225_perCallInfo_item
,
11181 { "perCallInfo item", "h225.perCallInfo_item_element",
11182 FT_NONE
, BASE_NONE
, NULL
, 0,
11184 { &hf_h225_originator
,
11185 { "originator", "h225.originator",
11186 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
11187 "BOOLEAN", HFILL
}},
11189 { "audio", "h225.audio",
11190 FT_UINT32
, BASE_DEC
, NULL
, 0,
11191 "SEQUENCE_OF_RTPSession", HFILL
}},
11192 { &hf_h225_audio_item
,
11193 { "RTPSession", "h225.RTPSession_element",
11194 FT_NONE
, BASE_NONE
, NULL
, 0,
11197 { "video", "h225.video",
11198 FT_UINT32
, BASE_DEC
, NULL
, 0,
11199 "SEQUENCE_OF_RTPSession", HFILL
}},
11200 { &hf_h225_video_item
,
11201 { "RTPSession", "h225.RTPSession_element",
11202 FT_NONE
, BASE_NONE
, NULL
, 0,
11205 { "data", "h225.data",
11206 FT_UINT32
, BASE_DEC
, NULL
, 0,
11207 "SEQUENCE_OF_TransportChannelInfo", HFILL
}},
11208 { &hf_h225_data_item
,
11209 { "TransportChannelInfo", "h225.TransportChannelInfo_element",
11210 FT_NONE
, BASE_NONE
, NULL
, 0,
11213 { "h245", "h225.h245_element",
11214 FT_NONE
, BASE_NONE
, NULL
, 0,
11215 "TransportChannelInfo", HFILL
}},
11216 { &hf_h225_callSignalling
,
11217 { "callSignalling", "h225.callSignalling_element",
11218 FT_NONE
, BASE_NONE
, NULL
, 0,
11219 "TransportChannelInfo", HFILL
}},
11220 { &hf_h225_substituteConfIDs
,
11221 { "substituteConfIDs", "h225.substituteConfIDs",
11222 FT_UINT32
, BASE_DEC
, NULL
, 0,
11223 "SEQUENCE_OF_ConferenceIdentifier", HFILL
}},
11224 { &hf_h225_substituteConfIDs_item
,
11225 { "ConferenceIdentifier", "h225.ConferenceIdentifier",
11226 FT_GUID
, BASE_NONE
, NULL
, 0,
11229 { "pdu", "h225.pdu",
11230 FT_UINT32
, BASE_DEC
, NULL
, 0,
11232 { &hf_h225_pdu_item
,
11233 { "pdu item", "h225.pdu_item_element",
11234 FT_NONE
, BASE_NONE
, NULL
, 0,
11236 { &hf_h225_h323pdu
,
11237 { "h323pdu", "h225.h323pdu_element",
11238 FT_NONE
, BASE_NONE
, NULL
, 0,
11239 "H323_UU_PDU", HFILL
}},
11241 { "sent", "h225.sent",
11242 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
11243 "BOOLEAN", HFILL
}},
11244 { &hf_h225_needResponse
,
11245 { "needResponse", "h225.needResponse",
11246 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
11247 "BOOLEAN", HFILL
}},
11248 { &hf_h225_irrStatus
,
11249 { "irrStatus", "h225.irrStatus",
11250 FT_UINT32
, BASE_DEC
, VALS(h225_InfoRequestResponseStatus_vals
), 0,
11251 "InfoRequestResponseStatus", HFILL
}},
11252 { &hf_h225_unsolicited
,
11253 { "unsolicited", "h225.unsolicited",
11254 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
11255 "BOOLEAN", HFILL
}},
11256 { &hf_h225_complete
,
11257 { "complete", "h225.complete_element",
11258 FT_NONE
, BASE_NONE
, NULL
, 0,
11260 { &hf_h225_incomplete
,
11261 { "incomplete", "h225.incomplete_element",
11262 FT_NONE
, BASE_NONE
, NULL
, 0,
11264 { &hf_h225_segment
,
11265 { "segment", "h225.segment",
11266 FT_UINT32
, BASE_DEC
, NULL
, 0,
11267 "INTEGER_0_65535", HFILL
}},
11268 { &hf_h225_invalidCall
,
11269 { "invalidCall", "h225.invalidCall_element",
11270 FT_NONE
, BASE_NONE
, NULL
, 0,
11272 { &hf_h225_nakReason
,
11273 { "nakReason", "h225.nakReason",
11274 FT_UINT32
, BASE_DEC
, VALS(InfoRequestNakReason_vals
), 0,
11275 "InfoRequestNakReason", HFILL
}},
11276 { &hf_h225_messageNotUnderstood
,
11277 { "messageNotUnderstood", "h225.messageNotUnderstood",
11278 FT_BYTES
, BASE_NONE
, NULL
, 0,
11279 "OCTET_STRING", HFILL
}},
11281 { "delay", "h225.delay",
11282 FT_UINT32
, BASE_DEC
, NULL
, 0,
11283 "INTEGER_1_65535", HFILL
}},
11284 { &hf_h225_protocols
,
11285 { "protocols", "h225.protocols",
11286 FT_UINT32
, BASE_DEC
, NULL
, 0,
11287 "SEQUENCE_OF_SupportedProtocols", HFILL
}},
11288 { &hf_h225_protocols_item
,
11289 { "SupportedProtocols", "h225.SupportedProtocols",
11290 FT_UINT32
, BASE_DEC
, VALS(h225_SupportedProtocols_vals
), 0,
11292 { &hf_h225_almostOutOfResources
,
11293 { "almostOutOfResources", "h225.almostOutOfResources",
11294 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
11295 "BOOLEAN", HFILL
}},
11296 { &hf_h225_callSpecific
,
11297 { "callSpecific", "h225.callSpecific_element",
11298 FT_NONE
, BASE_NONE
, NULL
, 0,
11301 { "result", "h225.result",
11302 FT_UINT32
, BASE_DEC
, VALS(h225_T_result_vals
), 0,
11304 { &hf_h225_started
,
11305 { "started", "h225.started_element",
11306 FT_NONE
, BASE_NONE
, NULL
, 0,
11309 { "failed", "h225.failed_element",
11310 FT_NONE
, BASE_NONE
, NULL
, 0,
11312 { &hf_h225_stopped
,
11313 { "stopped", "h225.stopped_element",
11314 FT_NONE
, BASE_NONE
, NULL
, 0,
11316 { &hf_h225_notAvailable
,
11317 { "notAvailable", "h225.notAvailable_element",
11318 FT_NONE
, BASE_NONE
, NULL
, 0,
11322 /* List of subtrees */
11323 static int *ett
[] = {
11325 &ett_h225_H323_UserInformation
,
11326 &ett_h225_T_user_data
,
11327 &ett_h225_H323_UU_PDU
,
11328 &ett_h225_T_h323_message_body
,
11329 &ett_h225_T_h4501SupplementaryService
,
11330 &ett_h225_H245Control
,
11331 &ett_h225_SEQUENCE_OF_NonStandardParameter
,
11332 &ett_h225_T_tunnelledSignallingMessage
,
11333 &ett_h225_T_messageContent
,
11334 &ett_h225_SEQUENCE_OF_GenericData
,
11335 &ett_h225_StimulusControl
,
11336 &ett_h225_Alerting_UUIE
,
11337 &ett_h225_SEQUENCE_OF_ClearToken
,
11338 &ett_h225_SEQUENCE_OF_CryptoH323Token
,
11339 &ett_h225_SEQUENCE_OF_AliasAddress
,
11340 &ett_h225_SEQUENCE_OF_ServiceControlSession
,
11341 &ett_h225_SEQUENCE_OF_DisplayName
,
11342 &ett_h225_CallProceeding_UUIE
,
11343 &ett_h225_Connect_UUIE
,
11344 &ett_h225_Information_UUIE
,
11345 &ett_h225_ReleaseComplete_UUIE
,
11346 &ett_h225_ReleaseCompleteReason
,
11347 &ett_h225_Setup_UUIE
,
11348 &ett_h225_SEQUENCE_OF_CallReferenceValue
,
11349 &ett_h225_T_conferenceGoal
,
11350 &ett_h225_SEQUENCE_OF_H245Security
,
11351 &ett_h225_FastStart
,
11352 &ett_h225_T_connectionParameters
,
11353 &ett_h225_Language
,
11354 &ett_h225_SEQUENCE_OF_SupportedProtocols
,
11355 &ett_h225_SEQUENCE_OF_FeatureDescriptor
,
11356 &ett_h225_ParallelH245Control
,
11357 &ett_h225_SEQUENCE_OF_ExtendedAliasAddress
,
11358 &ett_h225_ScnConnectionType
,
11359 &ett_h225_ScnConnectionAggregation
,
11360 &ett_h225_PresentationIndicator
,
11361 &ett_h225_Facility_UUIE
,
11362 &ett_h225_SEQUENCE_OF_ConferenceList
,
11363 &ett_h225_ConferenceList
,
11364 &ett_h225_FacilityReason
,
11365 &ett_h225_Progress_UUIE
,
11366 &ett_h225_TransportAddress
,
11367 &ett_h225_H245TransportAddress
,
11368 &ett_h225_T_h245IpAddress
,
11369 &ett_h225_T_h245IpSourceRoute
,
11370 &ett_h225_T_h245Route
,
11371 &ett_h225_T_h245Routing
,
11372 &ett_h225_T_h245IpxAddress
,
11373 &ett_h225_T_h245Ip6Address
,
11374 &ett_h225_T_ipAddress
,
11375 &ett_h225_T_ipSourceRoute
,
11377 &ett_h225_T_routing
,
11378 &ett_h225_T_ipxAddress
,
11379 &ett_h225_T_ip6Address
,
11380 &ett_h225_Status_UUIE
,
11381 &ett_h225_StatusInquiry_UUIE
,
11382 &ett_h225_SetupAcknowledge_UUIE
,
11383 &ett_h225_Notify_UUIE
,
11384 &ett_h225_EndpointType
,
11385 &ett_h225_SEQUENCE_OF_TunnelledProtocol
,
11386 &ett_h225_GatewayInfo
,
11387 &ett_h225_SupportedProtocols
,
11388 &ett_h225_H310Caps
,
11389 &ett_h225_SEQUENCE_OF_DataRate
,
11390 &ett_h225_SEQUENCE_OF_SupportedPrefix
,
11391 &ett_h225_H320Caps
,
11392 &ett_h225_H321Caps
,
11393 &ett_h225_H322Caps
,
11394 &ett_h225_H323Caps
,
11395 &ett_h225_H324Caps
,
11396 &ett_h225_VoiceCaps
,
11397 &ett_h225_T120OnlyCaps
,
11398 &ett_h225_NonStandardProtocol
,
11399 &ett_h225_T38FaxAnnexbOnlyCaps
,
11402 &ett_h225_TerminalInfo
,
11403 &ett_h225_GatekeeperInfo
,
11404 &ett_h225_VendorIdentifier
,
11405 &ett_h225_H221NonStandard
,
11406 &ett_h225_TunnelledProtocol
,
11407 &ett_h225_TunnelledProtocol_id
,
11408 &ett_h225_TunnelledProtocolAlternateIdentifier
,
11409 &ett_h225_NonStandardParameter
,
11410 &ett_h225_NonStandardIdentifier
,
11411 &ett_h225_AliasAddress
,
11412 &ett_h225_AddressPattern
,
11414 &ett_h225_PartyNumber
,
11415 &ett_h225_PublicPartyNumber
,
11416 &ett_h225_PrivatePartyNumber
,
11417 &ett_h225_DisplayName
,
11418 &ett_h225_PublicTypeOfNumber
,
11419 &ett_h225_PrivateTypeOfNumber
,
11420 &ett_h225_MobileUIM
,
11421 &ett_h225_ANSI_41_UIM
,
11422 &ett_h225_T_system_id
,
11424 &ett_h225_IsupNumber
,
11425 &ett_h225_IsupPublicPartyNumber
,
11426 &ett_h225_IsupPrivatePartyNumber
,
11427 &ett_h225_NatureOfAddress
,
11428 &ett_h225_ExtendedAliasAddress
,
11429 &ett_h225_Endpoint
,
11430 &ett_h225_SEQUENCE_OF_TransportAddress
,
11431 &ett_h225_AlternateTransportAddresses
,
11432 &ett_h225_UseSpecifiedTransport
,
11433 &ett_h225_AlternateGK
,
11434 &ett_h225_AltGKInfo
,
11435 &ett_h225_SEQUENCE_OF_AlternateGK
,
11436 &ett_h225_SecurityServiceMode
,
11437 &ett_h225_SecurityCapabilities
,
11438 &ett_h225_SecurityErrors
,
11439 &ett_h225_SecurityErrors2
,
11440 &ett_h225_H245Security
,
11441 &ett_h225_QseriesOptions
,
11442 &ett_h225_Q954Details
,
11443 &ett_h225_CallIdentifier
,
11444 &ett_h225_EncryptIntAlg
,
11445 &ett_h225_NonIsoIntegrityMechanism
,
11446 &ett_h225_IntegrityMechanism
,
11448 &ett_h225_CryptoH323Token
,
11449 &ett_h225_T_cryptoEPPwdHash
,
11450 &ett_h225_T_cryptoGKPwdHash
,
11451 &ett_h225_DataRate
,
11452 &ett_h225_CallLinkage
,
11453 &ett_h225_SupportedPrefix
,
11454 &ett_h225_CapacityReportingCapability
,
11455 &ett_h225_CapacityReportingSpecification
,
11456 &ett_h225_CapacityReportingSpecification_when
,
11457 &ett_h225_CallCapacity
,
11458 &ett_h225_CallCapacityInfo
,
11459 &ett_h225_SEQUENCE_OF_CallsAvailable
,
11460 &ett_h225_CallsAvailable
,
11461 &ett_h225_CircuitInfo
,
11462 &ett_h225_CircuitIdentifier
,
11464 &ett_h225_T_cic_2_4
,
11466 &ett_h225_T_member
,
11467 &ett_h225_CarrierInfo
,
11468 &ett_h225_ServiceControlDescriptor
,
11469 &ett_h225_ServiceControlSession
,
11470 &ett_h225_ServiceControlSession_reason
,
11471 &ett_h225_RasUsageInfoTypes
,
11472 &ett_h225_RasUsageSpecification
,
11473 &ett_h225_RasUsageSpecification_when
,
11474 &ett_h225_RasUsageSpecificationcallStartingPoint
,
11475 &ett_h225_RasUsageInformation
,
11476 &ett_h225_CallTerminationCause
,
11477 &ett_h225_BandwidthDetails
,
11478 &ett_h225_CallCreditCapability
,
11479 &ett_h225_CallCreditServiceControl
,
11480 &ett_h225_T_billingMode
,
11481 &ett_h225_CallCreditServiceControl_callStartingPoint
,
11482 &ett_h225_GenericData
,
11483 &ett_h225_SEQUENCE_SIZE_1_512_OF_EnumeratedParameter
,
11484 &ett_h225_GenericIdentifier
,
11485 &ett_h225_EnumeratedParameter
,
11487 &ett_h225_SEQUENCE_SIZE_1_16_OF_GenericData
,
11488 &ett_h225_FeatureSet
,
11489 &ett_h225_TransportChannelInfo
,
11490 &ett_h225_RTPSession
,
11491 &ett_h225_T_associatedSessionIds
,
11492 &ett_h225_RehomingModel
,
11493 &ett_h225_RasMessage
,
11494 &ett_h225_SEQUENCE_OF_AdmissionConfirm
,
11495 &ett_h225_GatekeeperRequest
,
11496 &ett_h225_SEQUENCE_OF_Endpoint
,
11497 &ett_h225_SEQUENCE_OF_AuthenticationMechanism
,
11498 &ett_h225_T_algorithmOIDs
,
11499 &ett_h225_SEQUENCE_OF_IntegrityMechanism
,
11500 &ett_h225_GatekeeperConfirm
,
11501 &ett_h225_GatekeeperReject
,
11502 &ett_h225_GatekeeperRejectReason
,
11503 &ett_h225_RegistrationRequest
,
11504 &ett_h225_SEQUENCE_OF_AddressPattern
,
11505 &ett_h225_SEQUENCE_OF_H248PackagesDescriptor
,
11506 &ett_h225_RegistrationConfirm
,
11507 &ett_h225_T_preGrantedARQ
,
11508 &ett_h225_SEQUENCE_OF_RasUsageSpecification
,
11509 &ett_h225_RegistrationReject
,
11510 &ett_h225_RegistrationRejectReason
,
11511 &ett_h225_T_invalidTerminalAliases
,
11512 &ett_h225_UnregistrationRequest
,
11513 &ett_h225_UnregRequestReason
,
11514 &ett_h225_UnregistrationConfirm
,
11515 &ett_h225_UnregistrationReject
,
11516 &ett_h225_UnregRejectReason
,
11517 &ett_h225_AdmissionRequest
,
11518 &ett_h225_DestinationInfo
,
11519 &ett_h225_CallType
,
11520 &ett_h225_CallModel
,
11521 &ett_h225_TransportQOS
,
11522 &ett_h225_SEQUENCE_SIZE_1_256_OF_QOSCapability
,
11523 &ett_h225_AdmissionConfirm
,
11524 &ett_h225_UUIEsRequested
,
11525 &ett_h225_AdmissionReject
,
11526 &ett_h225_AdmissionRejectReason
,
11527 &ett_h225_SEQUENCE_OF_PartyNumber
,
11528 &ett_h225_BandwidthRequest
,
11529 &ett_h225_SEQUENCE_OF_BandwidthDetails
,
11530 &ett_h225_BandwidthConfirm
,
11531 &ett_h225_BandwidthReject
,
11532 &ett_h225_BandRejectReason
,
11533 &ett_h225_LocationRequest
,
11534 &ett_h225_LocationConfirm
,
11535 &ett_h225_LocationReject
,
11536 &ett_h225_LocationRejectReason
,
11537 &ett_h225_DisengageRequest
,
11538 &ett_h225_DisengageReason
,
11539 &ett_h225_DisengageConfirm
,
11540 &ett_h225_DisengageReject
,
11541 &ett_h225_DisengageRejectReason
,
11542 &ett_h225_InfoRequest
,
11543 &ett_h225_InfoRequestResponse
,
11544 &ett_h225_T_perCallInfo
,
11545 &ett_h225_T_perCallInfo_item
,
11546 &ett_h225_SEQUENCE_OF_RTPSession
,
11547 &ett_h225_SEQUENCE_OF_TransportChannelInfo
,
11548 &ett_h225_SEQUENCE_OF_ConferenceIdentifier
,
11550 &ett_h225_T_pdu_item
,
11551 &ett_h225_InfoRequestResponseStatus
,
11552 &ett_h225_InfoRequestAck
,
11553 &ett_h225_InfoRequestNak
,
11554 &ett_h225_InfoRequestNakReason
,
11555 &ett_h225_NonStandardMessage
,
11556 &ett_h225_UnknownMessageResponse
,
11557 &ett_h225_RequestInProgress
,
11558 &ett_h225_ResourcesAvailableIndicate
,
11559 &ett_h225_ResourcesAvailableConfirm
,
11560 &ett_h225_ServiceControlIndication
,
11561 &ett_h225_T_callSpecific
,
11562 &ett_h225_ServiceControlResponse
,
11563 &ett_h225_T_result
,
11566 static tap_param h225_stat_params
[] = {
11567 { PARAM_FILTER
, "filter", "Filter", NULL
, true }
11570 static stat_tap_table_ui h225_stat_table
= {
11571 REGISTER_TELEPHONY_GROUP_UNSORTED
,
11580 array_length(h225_stat_fields
), h225_stat_fields
,
11581 array_length(h225_stat_params
), h225_stat_params
,
11586 module_t
*h225_module
;
11587 int i
, proto_h225_ras
;
11589 /* Register protocol */
11590 proto_h225
= proto_register_protocol(PNAME
, PSNAME
, PFNAME
);
11592 /* Create a "fake" protocol to get proper display strings for SRT dialogs */
11593 proto_h225_ras
= proto_register_protocol("H.225 RAS", "H.225 RAS", "h225_ras");
11595 /* Register fields and subtrees */
11596 proto_register_field_array(proto_h225
, hf
, array_length(hf
));
11597 proto_register_subtree_array(ett
, array_length(ett
));
11599 h225_module
= prefs_register_protocol(proto_h225
, proto_reg_handoff_h225
);
11600 prefs_register_uint_preference(h225_module
, "tls.port",
11602 "H.225 Server TLS Port",
11603 10, &h225_tls_port
);
11604 prefs_register_bool_preference(h225_module
, "reassembly",
11605 "Reassemble H.225 messages spanning multiple TCP segments",
11606 "Whether the H.225 dissector should reassemble messages spanning multiple TCP segments."
11607 " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
11609 prefs_register_bool_preference(h225_module
, "h245_in_tree",
11610 "Display tunnelled H.245 inside H.225.0 tree",
11611 "ON - display tunnelled H.245 inside H.225.0 tree, OFF - display tunnelled H.245 in root tree after H.225.0",
11612 &h225_h245_in_tree
);
11613 prefs_register_bool_preference(h225_module
, "tp_in_tree",
11614 "Display tunnelled protocols inside H.225.0 tree",
11615 "ON - display tunnelled protocols inside H.225.0 tree, OFF - display tunnelled protocols in root tree after H.225.0",
11618 register_dissector(PFNAME
, dissect_h225_H323UserInformation
, proto_h225
);
11619 register_dissector("h323ui",dissect_h225_H323UserInformation
, proto_h225
);
11620 h225ras_handle
= register_dissector("h225.ras", dissect_h225_h225_RasMessage
, proto_h225
);
11622 nsp_object_dissector_table
= register_dissector_table("h225.nsp.object", "H.225 NonStandardParameter Object", proto_h225
, FT_STRING
, STRING_CASE_SENSITIVE
);
11623 nsp_h221_dissector_table
= register_dissector_table("h225.nsp.h221", "H.225 NonStandardParameter h221", proto_h225
, FT_UINT32
, BASE_HEX
);
11624 tp_dissector_table
= register_dissector_table("h225.tp", "H.225 Tunnelled Protocol", proto_h225
, FT_STRING
, STRING_CASE_SENSITIVE
);
11625 gef_name_dissector_table
= register_dissector_table("h225.gef.name", "H.225 Generic Extensible Framework Name", proto_h225
, FT_STRING
, STRING_CASE_SENSITIVE
);
11626 gef_content_dissector_table
= register_dissector_table("h225.gef.content", "H.225 Generic Extensible Framework Content", proto_h225
, FT_STRING
, STRING_CASE_SENSITIVE
);
11629 ras_calls
[i
] = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), h225ras_call_hash
, h225ras_call_equal
);
11632 h225_tap
= register_tap(PFNAME
);
11634 register_rtd_table(proto_h225_ras
, PFNAME
, NUM_RAS_STATS
, 1, ras_message_category
, h225rassrt_packet
, NULL
);
11636 register_stat_tap_table_ui(&h225_stat_table
);
11638 oid_add_from_string("Version 1","0.0.8.2250.0.1");
11639 oid_add_from_string("Version 2","0.0.8.2250.0.2");
11640 oid_add_from_string("Version 3","0.0.8.2250.0.3");
11641 oid_add_from_string("Version 4","0.0.8.2250.0.4");
11642 oid_add_from_string("Version 5","0.0.8.2250.0.5");
11643 oid_add_from_string("Version 6","0.0.8.2250.0.6");
11647 /*--- proto_reg_handoff_h225 ---------------------------------------*/
11649 proto_reg_handoff_h225(void)
11651 static bool h225_prefs_initialized
= false;
11652 static dissector_handle_t q931_tpkt_handle
;
11653 static unsigned saved_h225_tls_port
;
11655 if (!h225_prefs_initialized
) {
11656 dissector_add_uint_range_with_preference("udp.port", UDP_PORT_RAS_RANGE
, h225ras_handle
);
11658 h245_handle
= find_dissector("h245");
11659 h245dg_handle
= find_dissector("h245dg");
11660 h4501_handle
= find_dissector_add_dependency("h4501", proto_h225
);
11661 data_handle
= find_dissector("data");
11662 h225_prefs_initialized
= true;
11663 q931_tpkt_handle
= find_dissector("q931.tpkt");
11665 ssl_dissector_delete(saved_h225_tls_port
, q931_tpkt_handle
);
11668 saved_h225_tls_port
= h225_tls_port
;
11669 ssl_dissector_add(saved_h225_tls_port
, q931_tpkt_handle
);
11672 static h225_packet_info
* create_h225_packet_info(packet_info
*pinfo
)
11674 h225_packet_info
* pi
= wmem_new0(pinfo
->pool
, h225_packet_info
);
11676 pi
->msg_type
= H225_OTHERS
;
11677 pi
->cs_type
= H225_OTHER
;
11685 The following function contains the routines for RAS request/response matching.
11686 A RAS response matches with a request, if both messages have the same
11687 RequestSequenceNumber, belong to the same IP conversation and belong to the same
11688 RAS "category" (e.g. Admission, Registration).
11690 We use hashtables to access the lists of RAS calls (request/response pairs).
11691 We have one hashtable for each RAS category. The hashkeys consist of the
11692 non-unique 16-bit RequestSequenceNumber and values representing the conversation.
11694 In big capture files, we might get different requests with identical keys.
11695 These requests aren't necessarily duplicates. They might be valid new requests.
11696 At the moment we just use the timedelta between the last valid and the new request
11697 to decide if the new request is a duplicate or not. There might be better ways.
11698 Two thresholds are defined below.
11700 However the decision is made, another problem arises. We can't just add those
11701 requests to our hashtables. Instead we create lists of RAS calls with identical keys.
11702 The hashtables for RAS calls contain now pointers to the first RAS call in a list of
11703 RAS calls with identical keys.
11704 These lists aren't expected to contain more than 3 items and are usually single item
11705 lists. So we don't need an expensive but intelligent way to access these lists
11706 (e.g. hashtables). Just walk through such a list.
11709 #define THRESHOLD_REPEATED_RESPONDED_CALL 300
11710 #define THRESHOLD_REPEATED_NOT_RESPONDED_CALL 1800
11712 static void ras_call_matching(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, h225_packet_info
*pi
)
11714 proto_item
*hidden_item
;
11715 conversation_t
* conversation
= NULL
;
11716 h225ras_call_info_key h225ras_call_key
;
11717 h225ras_call_t
*h225ras_call
= NULL
;
11719 unsigned msg_category
;
11721 if(pi
->msg_type
== H225_RAS
&& pi
->msg_tag
< 21) {
11722 /* make RAS request/response matching only for tags from 0 to 20 for now */
11724 msg_category
= pi
->msg_tag
/ 3;
11725 if(pi
->msg_tag
% 3 == 0) { /* Request Message */
11726 conversation
= find_or_create_conversation(pinfo
);
11728 /* prepare the key data */
11729 h225ras_call_key
.reqSeqNum
= pi
->requestSeqNum
;
11730 h225ras_call_key
.conversation
= conversation
;
11732 /* look up the request */
11733 h225ras_call
= find_h225ras_call(&h225ras_call_key
,msg_category
);
11735 if (h225ras_call
!= NULL
) {
11736 /* We've seen requests with this reqSeqNum, with the same
11737 source and destination, before - do we have
11738 *this* request already? */
11739 /* Walk through list of ras requests with identical keys */
11741 if (pinfo
->num
== h225ras_call
->req_num
) {
11742 /* We have seen this request before -> do nothing */
11746 /* if end of list is reached, exit loop and decide if request is duplicate or not. */
11747 if (h225ras_call
->next_call
== NULL
) {
11748 if ( (pinfo
->num
> h225ras_call
->rsp_num
&& h225ras_call
->rsp_num
!= 0
11749 && pinfo
->abs_ts
.secs
> (h225ras_call
->req_time
.secs
+ THRESHOLD_REPEATED_RESPONDED_CALL
) )
11750 ||(pinfo
->num
> h225ras_call
->req_num
&& h225ras_call
->rsp_num
== 0
11751 && pinfo
->abs_ts
.secs
> (h225ras_call
->req_time
.secs
+ THRESHOLD_REPEATED_NOT_RESPONDED_CALL
) ) )
11753 /* if last request has been responded
11754 and this request appears after last response (has bigger frame number)
11755 and last request occurred more than 300 seconds ago,
11756 or if last request hasn't been responded
11757 and this request appears after last request (has bigger frame number)
11758 and last request occurred more than 1800 seconds ago,
11759 we decide that we have a new request */
11760 /* Append new ras call to list */
11761 h225ras_call
= append_h225ras_call(h225ras_call
, pinfo
, &pi
->guid
, msg_category
);
11763 /* No, so it's a duplicate request.
11764 Mark it as such. */
11765 pi
->is_duplicate
= true;
11766 hidden_item
= proto_tree_add_uint(tree
, hf_h225_ras_dup
, tvb
, 0,0, pi
->requestSeqNum
);
11767 proto_item_set_hidden(hidden_item
);
11771 h225ras_call
= h225ras_call
->next_call
;
11772 } while (h225ras_call
!= NULL
);
11775 h225ras_call
= new_h225ras_call(&h225ras_call_key
, pinfo
, &pi
->guid
, msg_category
);
11778 /* add link to response frame, if available */
11779 if(h225ras_call
&& h225ras_call
->rsp_num
!= 0){
11781 proto_tree_add_uint_format(tree
, hf_h225_ras_rsp_frame
, tvb
, 0, 0, h225ras_call
->rsp_num
,
11782 "The response to this request is in frame %u",
11783 h225ras_call
->rsp_num
);
11784 proto_item_set_generated(ti
);
11787 /* end of request message handling*/
11789 else { /* Confirm or Reject Message */
11790 conversation
= find_conversation_pinfo(pinfo
, 0);
11791 if (conversation
!= NULL
) {
11792 /* look only for matching request, if
11793 matching conversation is available. */
11794 h225ras_call_key
.reqSeqNum
= pi
->requestSeqNum
;
11795 h225ras_call_key
.conversation
= conversation
;
11796 h225ras_call
= find_h225ras_call(&h225ras_call_key
,msg_category
);
11798 /* find matching ras_call in list of ras calls with identical keys */
11800 if (pinfo
->num
== h225ras_call
->rsp_num
) {
11801 /* We have seen this response before -> stop now with matching ras call */
11805 /* Break when list end is reached */
11806 if(h225ras_call
->next_call
== NULL
) {
11809 h225ras_call
= h225ras_call
->next_call
;
11810 } while (h225ras_call
!= NULL
) ;
11812 if (!h225ras_call
) {
11816 /* if this is an ACF, ARJ or DCF, DRJ, give guid to tap and make it filterable */
11817 if (msg_category
== 3 || msg_category
== 5) {
11818 pi
->guid
= h225ras_call
->guid
;
11819 hidden_item
= proto_tree_add_guid(tree
, hf_h225_guid
, tvb
, 0, GUID_LEN
, &pi
->guid
);
11820 proto_item_set_hidden(hidden_item
);
11823 if (h225ras_call
->rsp_num
== 0) {
11824 /* We have not yet seen a response to that call, so
11825 this must be the first response; remember its
11827 h225ras_call
->rsp_num
= pinfo
->num
;
11830 /* We have seen a response to this call - but was it
11831 *this* response? */
11832 if (h225ras_call
->rsp_num
!= pinfo
->num
) {
11833 /* No, so it's a duplicate response.
11834 Mark it as such. */
11835 pi
->is_duplicate
= true;
11836 hidden_item
= proto_tree_add_uint(tree
, hf_h225_ras_dup
, tvb
, 0,0, pi
->requestSeqNum
);
11837 proto_item_set_hidden(hidden_item
);
11841 if(h225ras_call
->req_num
!= 0){
11843 h225ras_call
->responded
= true;
11844 pi
->request_available
= true;
11846 /* Indicate the frame to which this is a reply. */
11847 ti
= proto_tree_add_uint_format(tree
, hf_h225_ras_req_frame
, tvb
, 0, 0, h225ras_call
->req_num
,
11848 "This is a response to a request in frame %u", h225ras_call
->req_num
);
11849 proto_item_set_generated(ti
);
11851 /* Calculate RAS Service Response Time */
11852 nstime_delta(&delta
, &pinfo
->abs_ts
, &h225ras_call
->req_time
);
11853 pi
->delta_time
= delta
; /* give it to tap */
11855 /* display Ras Service Response Time and make it filterable */
11856 ti
= proto_tree_add_time(tree
, hf_h225_ras_deltatime
, tvb
, 0, 0, &(pi
->delta_time
));
11857 proto_item_set_generated(ti
);
11866 * Editor modelines - https://www.wireshark.org/tools/modelines.html
11869 * c-basic-offset: 2
11871 * indent-tabs-mode: nil
11874 * vi: set shiftwidth=2 tabstop=8 expandtab:
11875 * :indentSize=2:tabSize=8:noTabs=true: