HACK: pinfo->private_data points to smb_info again
[wireshark-wip.git] / epan / dissectors / packet-h225.c
bloba990942bf25f14a49a181cfc0f59332624f8512c
1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
3 /* packet-h225.c */
4 /* ../../tools/asn2wrs.py -p h225 -c ./h225.cnf -s ./packet-h225-template -D . -O ../../epan/dissectors H323-MESSAGES.asn */
6 /* Input file: packet-h225-template.c */
8 #line 1 "../../asn1/h225/packet-h225-template.c"
9 /* packet-h225.c
10 * Routines for h225 packet dissection
11 * Copyright 2005, Anders Broman <anders.broman@ericsson.com>
13 * $Id$
15 * Wireshark - Network traffic analyzer
16 * By Gerald Combs <gerald@wireshark.org>
17 * Copyright 1998 Gerald Combs
19 * This program is free software; you can redistribute it and/or
20 * modify it under the terms of the GNU General Public License
21 * as published by the Free Software Foundation; either version 2
22 * of the License, or (at your option) any later version.
24 * This program is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 * GNU General Public License for more details.
29 * You should have received a copy of the GNU General Public License
30 * along with this program; if not, write to the Free Software
31 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
33 * To quote the author of the previous H323/H225/H245 dissector:
34 * "This is a complete replacement of the previous limitied dissector
35 * that Ronnie was crazy enough to write by hand. It was a lot of time
36 * to hack it by hand, but it is incomplete and buggy and it is good when
37 * it will go away."
38 * Ronnie did a great job and all the VoIP users had made good use of it!
39 * Credit to Tomas Kukosa for developing the asn2wrs compiler.
43 #include "config.h"
45 #include <glib.h>
46 #include <epan/packet.h>
47 #include <epan/conversation.h>
48 #include <epan/wmem/wmem.h>
50 #include <string.h>
52 #include <epan/prefs.h>
53 #include <epan/oids.h>
54 #include <epan/next_tvb.h>
55 #include <epan/asn1.h>
56 #include <epan/tap.h>
57 #include "packet-tpkt.h"
58 #include "packet-per.h"
59 #include "packet-h225.h"
60 #include <epan/t35.h>
61 #include <epan/h225-persistentdata.h>
62 #include "packet-h235.h"
63 #include "packet-h245.h"
64 #include "packet-h323.h"
65 #include "packet-q931.h"
66 #include "packet-ssl.h"
69 #define PNAME "H323-MESSAGES"
70 #define PSNAME "H.225.0"
71 #define PFNAME "h225"
73 #define UDP_PORT_RAS1 1718
74 #define UDP_PORT_RAS2 1719
75 #define TCP_PORT_CS 1720
76 #define TLS_PORT_CS 1300
78 static void reset_h225_packet_info(h225_packet_info *pi);
79 static void ras_call_matching(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, h225_packet_info *pi);
81 static h225_packet_info pi_arr[5]; /* We assuming a maximum of 5 H225 messaages per packet */
82 static int pi_current=0;
83 h225_packet_info *h225_pi=&pi_arr[0];
85 static dissector_handle_t data_handle;
86 /* Subdissector tables */
87 static dissector_table_t nsp_object_dissector_table;
88 static dissector_table_t nsp_h221_dissector_table;
89 static dissector_table_t tp_dissector_table;
90 static dissector_table_t gef_name_dissector_table;
91 static dissector_table_t gef_content_dissector_table;
94 static dissector_handle_t h245_handle=NULL;
95 static dissector_handle_t h245dg_handle=NULL;
96 static dissector_handle_t h4501_handle=NULL;
98 static dissector_handle_t nsp_handle;
99 static dissector_handle_t tp_handle;
101 static next_tvb_list_t h245_list;
102 static next_tvb_list_t tp_list;
104 /* Initialize the protocol and registered fields */
105 static int h225_tap = -1;
106 static int proto_h225 = -1;
108 static int hf_h221Manufacturer = -1;
109 static int hf_h225_ras_req_frame = -1;
110 static int hf_h225_ras_rsp_frame = -1;
111 static int hf_h225_ras_dup = -1;
112 static int hf_h225_ras_deltatime = -1;
115 /*--- Included file: packet-h225-hf.c ---*/
116 #line 1 "../../asn1/h225/packet-h225-hf.c"
117 static int hf_h225_H323_UserInformation_PDU = -1; /* H323_UserInformation */
118 static int hf_h225_h225_ExtendedAliasAddress_PDU = -1; /* ExtendedAliasAddress */
119 static int hf_h225_RasMessage_PDU = -1; /* RasMessage */
120 static int hf_h225_h323_uu_pdu = -1; /* H323_UU_PDU */
121 static int hf_h225_user_data = -1; /* T_user_data */
122 static int hf_h225_protocol_discriminator = -1; /* INTEGER_0_255 */
123 static int hf_h225_user_information = -1; /* OCTET_STRING_SIZE_1_131 */
124 static int hf_h225_h323_message_body = -1; /* T_h323_message_body */
125 static int hf_h225_setup = -1; /* Setup_UUIE */
126 static int hf_h225_callProceeding = -1; /* CallProceeding_UUIE */
127 static int hf_h225_connect = -1; /* Connect_UUIE */
128 static int hf_h225_alerting = -1; /* Alerting_UUIE */
129 static int hf_h225_information = -1; /* Information_UUIE */
130 static int hf_h225_releaseComplete = -1; /* ReleaseComplete_UUIE */
131 static int hf_h225_facility = -1; /* Facility_UUIE */
132 static int hf_h225_progress = -1; /* Progress_UUIE */
133 static int hf_h225_empty_flg = -1; /* T_empty_flg */
134 static int hf_h225_status = -1; /* Status_UUIE */
135 static int hf_h225_statusInquiry = -1; /* StatusInquiry_UUIE */
136 static int hf_h225_setupAcknowledge = -1; /* SetupAcknowledge_UUIE */
137 static int hf_h225_notify = -1; /* Notify_UUIE */
138 static int hf_h225_nonStandardData = -1; /* NonStandardParameter */
139 static int hf_h225_h4501SupplementaryService = -1; /* T_h4501SupplementaryService */
140 static int hf_h225_h4501SupplementaryService_item = -1; /* T_h4501SupplementaryService_item */
141 static int hf_h225_h245Tunnelling = -1; /* T_h245Tunnelling */
142 static int hf_h225_H245Control_item = -1; /* H245Control_item */
143 static int hf_h225_h245Control = -1; /* H245Control */
144 static int hf_h225_nonStandardControl = -1; /* SEQUENCE_OF_NonStandardParameter */
145 static int hf_h225_nonStandardControl_item = -1; /* NonStandardParameter */
146 static int hf_h225_callLinkage = -1; /* CallLinkage */
147 static int hf_h225_tunnelledSignallingMessage = -1; /* T_tunnelledSignallingMessage */
148 static int hf_h225_tunnelledProtocolID = -1; /* TunnelledProtocol */
149 static int hf_h225_messageContent = -1; /* T_messageContent */
150 static int hf_h225_messageContent_item = -1; /* T_messageContent_item */
151 static int hf_h225_tunnellingRequired = -1; /* NULL */
152 static int hf_h225_provisionalRespToH245Tunnelling = -1; /* NULL */
153 static int hf_h225_stimulusControl = -1; /* StimulusControl */
154 static int hf_h225_genericData = -1; /* SEQUENCE_OF_GenericData */
155 static int hf_h225_genericData_item = -1; /* GenericData */
156 static int hf_h225_nonStandard = -1; /* NonStandardParameter */
157 static int hf_h225_isText = -1; /* NULL */
158 static int hf_h225_h248Message = -1; /* OCTET_STRING */
159 static int hf_h225_protocolIdentifier = -1; /* ProtocolIdentifier */
160 static int hf_h225_uUIE_destinationInfo = -1; /* EndpointType */
161 static int hf_h225_h245Address = -1; /* H245TransportAddress */
162 static int hf_h225_callIdentifier = -1; /* CallIdentifier */
163 static int hf_h225_h245SecurityMode = -1; /* H245Security */
164 static int hf_h225_tokens = -1; /* SEQUENCE_OF_ClearToken */
165 static int hf_h225_tokens_item = -1; /* ClearToken */
166 static int hf_h225_cryptoTokens = -1; /* SEQUENCE_OF_CryptoH323Token */
167 static int hf_h225_cryptoTokens_item = -1; /* CryptoH323Token */
168 static int hf_h225_fastStart = -1; /* FastStart */
169 static int hf_h225_multipleCalls = -1; /* BOOLEAN */
170 static int hf_h225_maintainConnection = -1; /* BOOLEAN */
171 static int hf_h225_alertingAddress = -1; /* SEQUENCE_OF_AliasAddress */
172 static int hf_h225_alertingAddress_item = -1; /* AliasAddress */
173 static int hf_h225_presentationIndicator = -1; /* PresentationIndicator */
174 static int hf_h225_screeningIndicator = -1; /* ScreeningIndicator */
175 static int hf_h225_fastConnectRefused = -1; /* NULL */
176 static int hf_h225_serviceControl = -1; /* SEQUENCE_OF_ServiceControlSession */
177 static int hf_h225_serviceControl_item = -1; /* ServiceControlSession */
178 static int hf_h225_capacity = -1; /* CallCapacity */
179 static int hf_h225_featureSet = -1; /* FeatureSet */
180 static int hf_h225_displayName = -1; /* SEQUENCE_OF_DisplayName */
181 static int hf_h225_displayName_item = -1; /* DisplayName */
182 static int hf_h225_conferenceID = -1; /* ConferenceIdentifier */
183 static int hf_h225_language = -1; /* Language */
184 static int hf_h225_connectedAddress = -1; /* SEQUENCE_OF_AliasAddress */
185 static int hf_h225_connectedAddress_item = -1; /* AliasAddress */
186 static int hf_h225_circuitInfo = -1; /* CircuitInfo */
187 static int hf_h225_releaseCompleteReason = -1; /* ReleaseCompleteReason */
188 static int hf_h225_busyAddress = -1; /* SEQUENCE_OF_AliasAddress */
189 static int hf_h225_busyAddress_item = -1; /* AliasAddress */
190 static int hf_h225_destinationInfo = -1; /* EndpointType */
191 static int hf_h225_noBandwidth = -1; /* NULL */
192 static int hf_h225_gatekeeperResources = -1; /* NULL */
193 static int hf_h225_unreachableDestination = -1; /* NULL */
194 static int hf_h225_destinationRejection = -1; /* NULL */
195 static int hf_h225_invalidRevision = -1; /* NULL */
196 static int hf_h225_noPermission = -1; /* NULL */
197 static int hf_h225_unreachableGatekeeper = -1; /* NULL */
198 static int hf_h225_gatewayResources = -1; /* NULL */
199 static int hf_h225_badFormatAddress = -1; /* NULL */
200 static int hf_h225_adaptiveBusy = -1; /* NULL */
201 static int hf_h225_inConf = -1; /* NULL */
202 static int hf_h225_undefinedReason = -1; /* NULL */
203 static int hf_h225_facilityCallDeflection = -1; /* NULL */
204 static int hf_h225_securityDenied = -1; /* NULL */
205 static int hf_h225_calledPartyNotRegistered = -1; /* NULL */
206 static int hf_h225_callerNotRegistered = -1; /* NULL */
207 static int hf_h225_newConnectionNeeded = -1; /* NULL */
208 static int hf_h225_nonStandardReason = -1; /* NonStandardParameter */
209 static int hf_h225_replaceWithConferenceInvite = -1; /* ConferenceIdentifier */
210 static int hf_h225_genericDataReason = -1; /* NULL */
211 static int hf_h225_neededFeatureNotSupported = -1; /* NULL */
212 static int hf_h225_tunnelledSignallingRejected = -1; /* NULL */
213 static int hf_h225_invalidCID = -1; /* NULL */
214 static int hf_h225_rLC_securityError = -1; /* SecurityErrors */
215 static int hf_h225_hopCountExceeded = -1; /* NULL */
216 static int hf_h225_sourceAddress = -1; /* SEQUENCE_OF_AliasAddress */
217 static int hf_h225_sourceAddress_item = -1; /* AliasAddress */
218 static int hf_h225_setup_UUIE_sourceInfo = -1; /* EndpointType */
219 static int hf_h225_destinationAddress = -1; /* SEQUENCE_OF_AliasAddress */
220 static int hf_h225_destinationAddress_item = -1; /* AliasAddress */
221 static int hf_h225_destCallSignalAddress = -1; /* TransportAddress */
222 static int hf_h225_destExtraCallInfo = -1; /* SEQUENCE_OF_AliasAddress */
223 static int hf_h225_destExtraCallInfo_item = -1; /* AliasAddress */
224 static int hf_h225_destExtraCRV = -1; /* SEQUENCE_OF_CallReferenceValue */
225 static int hf_h225_destExtraCRV_item = -1; /* CallReferenceValue */
226 static int hf_h225_activeMC = -1; /* BOOLEAN */
227 static int hf_h225_conferenceGoal = -1; /* T_conferenceGoal */
228 static int hf_h225_create = -1; /* NULL */
229 static int hf_h225_join = -1; /* NULL */
230 static int hf_h225_invite = -1; /* NULL */
231 static int hf_h225_capability_negotiation = -1; /* NULL */
232 static int hf_h225_callIndependentSupplementaryService = -1; /* NULL */
233 static int hf_h225_callServices = -1; /* QseriesOptions */
234 static int hf_h225_callType = -1; /* CallType */
235 static int hf_h225_sourceCallSignalAddress = -1; /* TransportAddress */
236 static int hf_h225_uUIE_remoteExtensionAddress = -1; /* AliasAddress */
237 static int hf_h225_h245SecurityCapability = -1; /* SEQUENCE_OF_H245Security */
238 static int hf_h225_h245SecurityCapability_item = -1; /* H245Security */
239 static int hf_h225_FastStart_item = -1; /* FastStart_item */
240 static int hf_h225_mediaWaitForConnect = -1; /* BOOLEAN */
241 static int hf_h225_canOverlapSend = -1; /* BOOLEAN */
242 static int hf_h225_endpointIdentifier = -1; /* EndpointIdentifier */
243 static int hf_h225_connectionParameters = -1; /* T_connectionParameters */
244 static int hf_h225_connectionType = -1; /* ScnConnectionType */
245 static int hf_h225_numberOfScnConnections = -1; /* INTEGER_0_65535 */
246 static int hf_h225_connectionAggregation = -1; /* ScnConnectionAggregation */
247 static int hf_h225_Language_item = -1; /* IA5String_SIZE_1_32 */
248 static int hf_h225_symmetricOperationRequired = -1; /* NULL */
249 static int hf_h225_desiredProtocols = -1; /* SEQUENCE_OF_SupportedProtocols */
250 static int hf_h225_desiredProtocols_item = -1; /* SupportedProtocols */
251 static int hf_h225_neededFeatures = -1; /* SEQUENCE_OF_FeatureDescriptor */
252 static int hf_h225_neededFeatures_item = -1; /* FeatureDescriptor */
253 static int hf_h225_desiredFeatures = -1; /* SEQUENCE_OF_FeatureDescriptor */
254 static int hf_h225_desiredFeatures_item = -1; /* FeatureDescriptor */
255 static int hf_h225_supportedFeatures = -1; /* SEQUENCE_OF_FeatureDescriptor */
256 static int hf_h225_supportedFeatures_item = -1; /* FeatureDescriptor */
257 static int hf_h225_ParallelH245Control_item = -1; /* ParallelH245Control_item */
258 static int hf_h225_parallelH245Control = -1; /* ParallelH245Control */
259 static int hf_h225_additionalSourceAddresses = -1; /* SEQUENCE_OF_ExtendedAliasAddress */
260 static int hf_h225_additionalSourceAddresses_item = -1; /* ExtendedAliasAddress */
261 static int hf_h225_hopCount_1_31 = -1; /* INTEGER_1_31 */
262 static int hf_h225_unknown = -1; /* NULL */
263 static int hf_h225_bChannel = -1; /* NULL */
264 static int hf_h225_hybrid2x64 = -1; /* NULL */
265 static int hf_h225_hybrid384 = -1; /* NULL */
266 static int hf_h225_hybrid1536 = -1; /* NULL */
267 static int hf_h225_hybrid1920 = -1; /* NULL */
268 static int hf_h225_multirate = -1; /* NULL */
269 static int hf_h225_auto = -1; /* NULL */
270 static int hf_h225_none = -1; /* NULL */
271 static int hf_h225_h221 = -1; /* NULL */
272 static int hf_h225_bonded_mode1 = -1; /* NULL */
273 static int hf_h225_bonded_mode2 = -1; /* NULL */
274 static int hf_h225_bonded_mode3 = -1; /* NULL */
275 static int hf_h225_presentationAllowed = -1; /* NULL */
276 static int hf_h225_presentationRestricted = -1; /* NULL */
277 static int hf_h225_addressNotAvailable = -1; /* NULL */
278 static int hf_h225_alternativeAddress = -1; /* TransportAddress */
279 static int hf_h225_alternativeAliasAddress = -1; /* SEQUENCE_OF_AliasAddress */
280 static int hf_h225_alternativeAliasAddress_item = -1; /* AliasAddress */
281 static int hf_h225_facilityReason = -1; /* FacilityReason */
282 static int hf_h225_conferences = -1; /* SEQUENCE_OF_ConferenceList */
283 static int hf_h225_conferences_item = -1; /* ConferenceList */
284 static int hf_h225_conferenceAlias = -1; /* AliasAddress */
285 static int hf_h225_routeCallToGatekeeper = -1; /* NULL */
286 static int hf_h225_callForwarded = -1; /* NULL */
287 static int hf_h225_routeCallToMC = -1; /* NULL */
288 static int hf_h225_conferenceListChoice = -1; /* NULL */
289 static int hf_h225_startH245 = -1; /* NULL */
290 static int hf_h225_noH245 = -1; /* NULL */
291 static int hf_h225_newTokens = -1; /* NULL */
292 static int hf_h225_featureSetUpdate = -1; /* NULL */
293 static int hf_h225_forwardedElements = -1; /* NULL */
294 static int hf_h225_transportedInformation = -1; /* NULL */
295 static int hf_h225_h245IpAddress = -1; /* T_h245IpAddress */
296 static int hf_h225_h245Ip = -1; /* T_h245Ip */
297 static int hf_h225_h245IpPort = -1; /* T_h245IpPort */
298 static int hf_h225_h245IpSourceRoute = -1; /* T_h245IpSourceRoute */
299 static int hf_h225_ip = -1; /* OCTET_STRING_SIZE_4 */
300 static int hf_h225_port = -1; /* INTEGER_0_65535 */
301 static int hf_h225_h245Route = -1; /* T_h245Route */
302 static int hf_h225_h245Route_item = -1; /* OCTET_STRING_SIZE_4 */
303 static int hf_h225_h245Routing = -1; /* T_h245Routing */
304 static int hf_h225_strict = -1; /* NULL */
305 static int hf_h225_loose = -1; /* NULL */
306 static int hf_h225_h245IpxAddress = -1; /* T_h245IpxAddress */
307 static int hf_h225_node = -1; /* OCTET_STRING_SIZE_6 */
308 static int hf_h225_netnum = -1; /* OCTET_STRING_SIZE_4 */
309 static int hf_h225_h245IpxPort = -1; /* OCTET_STRING_SIZE_2 */
310 static int hf_h225_h245Ip6Address = -1; /* T_h245Ip6Address */
311 static int hf_h225_h245Ip6 = -1; /* OCTET_STRING_SIZE_16 */
312 static int hf_h225_netBios = -1; /* OCTET_STRING_SIZE_16 */
313 static int hf_h225_nsap = -1; /* OCTET_STRING_SIZE_1_20 */
314 static int hf_h225_nonStandardAddress = -1; /* NonStandardParameter */
315 static int hf_h225_ipAddress = -1; /* T_ipAddress */
316 static int hf_h225_ipV4 = -1; /* IpV4 */
317 static int hf_h225_ipV4_port = -1; /* INTEGER_0_65535 */
318 static int hf_h225_ipSourceRoute = -1; /* T_ipSourceRoute */
319 static int hf_h225_src_route_ipV4 = -1; /* OCTET_STRING_SIZE_4 */
320 static int hf_h225_ipV4_src_port = -1; /* INTEGER_0_65535 */
321 static int hf_h225_route = -1; /* T_route */
322 static int hf_h225_route_item = -1; /* OCTET_STRING_SIZE_4 */
323 static int hf_h225_routing = -1; /* T_routing */
324 static int hf_h225_ipxAddress = -1; /* T_ipxAddress */
325 static int hf_h225_ipx_port = -1; /* OCTET_STRING_SIZE_2 */
326 static int hf_h225_ip6Address = -1; /* T_ip6Address */
327 static int hf_h225_ipV6 = -1; /* OCTET_STRING_SIZE_16 */
328 static int hf_h225_ipV6_port = -1; /* INTEGER_0_65535 */
329 static int hf_h225_vendor = -1; /* VendorIdentifier */
330 static int hf_h225_gatekeeper = -1; /* GatekeeperInfo */
331 static int hf_h225_gateway = -1; /* GatewayInfo */
332 static int hf_h225_mcu = -1; /* McuInfo */
333 static int hf_h225_terminal = -1; /* TerminalInfo */
334 static int hf_h225_mc = -1; /* BOOLEAN */
335 static int hf_h225_undefinedNode = -1; /* BOOLEAN */
336 static int hf_h225_set = -1; /* BIT_STRING_SIZE_32 */
337 static int hf_h225_supportedTunnelledProtocols = -1; /* SEQUENCE_OF_TunnelledProtocol */
338 static int hf_h225_supportedTunnelledProtocols_item = -1; /* TunnelledProtocol */
339 static int hf_h225_protocol = -1; /* SEQUENCE_OF_SupportedProtocols */
340 static int hf_h225_protocol_item = -1; /* SupportedProtocols */
341 static int hf_h225_h310 = -1; /* H310Caps */
342 static int hf_h225_h320 = -1; /* H320Caps */
343 static int hf_h225_h321 = -1; /* H321Caps */
344 static int hf_h225_h322 = -1; /* H322Caps */
345 static int hf_h225_h323 = -1; /* H323Caps */
346 static int hf_h225_h324 = -1; /* H324Caps */
347 static int hf_h225_voice = -1; /* VoiceCaps */
348 static int hf_h225_t120_only = -1; /* T120OnlyCaps */
349 static int hf_h225_nonStandardProtocol = -1; /* NonStandardProtocol */
350 static int hf_h225_t38FaxAnnexbOnly = -1; /* T38FaxAnnexbOnlyCaps */
351 static int hf_h225_sip = -1; /* SIPCaps */
352 static int hf_h225_dataRatesSupported = -1; /* SEQUENCE_OF_DataRate */
353 static int hf_h225_dataRatesSupported_item = -1; /* DataRate */
354 static int hf_h225_supportedPrefixes = -1; /* SEQUENCE_OF_SupportedPrefix */
355 static int hf_h225_supportedPrefixes_item = -1; /* SupportedPrefix */
356 static int hf_h225_t38FaxProtocol = -1; /* DataProtocolCapability */
357 static int hf_h225_t38FaxProfile = -1; /* T38FaxProfile */
358 static int hf_h225_vendorIdentifier_vendor = -1; /* H221NonStandard */
359 static int hf_h225_productId = -1; /* OCTET_STRING_SIZE_1_256 */
360 static int hf_h225_versionId = -1; /* OCTET_STRING_SIZE_1_256 */
361 static int hf_h225_enterpriseNumber = -1; /* OBJECT_IDENTIFIER */
362 static int hf_h225_t35CountryCode = -1; /* T_t35CountryCode */
363 static int hf_h225_t35Extension = -1; /* T_t35Extension */
364 static int hf_h225_manufacturerCode = -1; /* T_manufacturerCode */
365 static int hf_h225_tunnelledProtocol_id = -1; /* TunnelledProtocol_id */
366 static int hf_h225_tunnelledProtocolObjectID = -1; /* T_tunnelledProtocolObjectID */
367 static int hf_h225_tunnelledProtocolAlternateID = -1; /* TunnelledProtocolAlternateIdentifier */
368 static int hf_h225_subIdentifier = -1; /* IA5String_SIZE_1_64 */
369 static int hf_h225_protocolType = -1; /* IA5String_SIZE_1_64 */
370 static int hf_h225_protocolVariant = -1; /* IA5String_SIZE_1_64 */
371 static int hf_h225_nonStandardIdentifier = -1; /* NonStandardIdentifier */
372 static int hf_h225_nsp_data = -1; /* T_nsp_data */
373 static int hf_h225_nsiOID = -1; /* T_nsiOID */
374 static int hf_h225_h221NonStandard = -1; /* H221NonStandard */
375 static int hf_h225_dialledDigits = -1; /* DialedDigits */
376 static int hf_h225_h323_ID = -1; /* BMPString_SIZE_1_256 */
377 static int hf_h225_url_ID = -1; /* IA5String_SIZE_1_512 */
378 static int hf_h225_transportID = -1; /* TransportAddress */
379 static int hf_h225_email_ID = -1; /* IA5String_SIZE_1_512 */
380 static int hf_h225_partyNumber = -1; /* PartyNumber */
381 static int hf_h225_mobileUIM = -1; /* MobileUIM */
382 static int hf_h225_isupNumber = -1; /* IsupNumber */
383 static int hf_h225_wildcard = -1; /* AliasAddress */
384 static int hf_h225_range = -1; /* T_range */
385 static int hf_h225_startOfRange = -1; /* PartyNumber */
386 static int hf_h225_endOfRange = -1; /* PartyNumber */
387 static int hf_h225_e164Number = -1; /* PublicPartyNumber */
388 static int hf_h225_dataPartyNumber = -1; /* NumberDigits */
389 static int hf_h225_telexPartyNumber = -1; /* NumberDigits */
390 static int hf_h225_privateNumber = -1; /* PrivatePartyNumber */
391 static int hf_h225_nationalStandardPartyNumber = -1; /* NumberDigits */
392 static int hf_h225_publicTypeOfNumber = -1; /* PublicTypeOfNumber */
393 static int hf_h225_publicNumberDigits = -1; /* NumberDigits */
394 static int hf_h225_privateTypeOfNumber = -1; /* PrivateTypeOfNumber */
395 static int hf_h225_privateNumberDigits = -1; /* NumberDigits */
396 static int hf_h225_language_01 = -1; /* IA5String */
397 static int hf_h225_name = -1; /* BMPString_SIZE_1_80 */
398 static int hf_h225_internationalNumber = -1; /* NULL */
399 static int hf_h225_nationalNumber = -1; /* NULL */
400 static int hf_h225_networkSpecificNumber = -1; /* NULL */
401 static int hf_h225_subscriberNumber = -1; /* NULL */
402 static int hf_h225_abbreviatedNumber = -1; /* NULL */
403 static int hf_h225_level2RegionalNumber = -1; /* NULL */
404 static int hf_h225_level1RegionalNumber = -1; /* NULL */
405 static int hf_h225_pISNSpecificNumber = -1; /* NULL */
406 static int hf_h225_localNumber = -1; /* NULL */
407 static int hf_h225_ansi_41_uim = -1; /* ANSI_41_UIM */
408 static int hf_h225_gsm_uim = -1; /* GSM_UIM */
409 static int hf_h225_imsi = -1; /* TBCD_STRING_SIZE_3_16 */
410 static int hf_h225_min = -1; /* TBCD_STRING_SIZE_3_16 */
411 static int hf_h225_mdn = -1; /* TBCD_STRING_SIZE_3_16 */
412 static int hf_h225_msisdn = -1; /* TBCD_STRING_SIZE_3_16 */
413 static int hf_h225_esn = -1; /* TBCD_STRING_SIZE_16 */
414 static int hf_h225_mscid = -1; /* TBCD_STRING_SIZE_3_16 */
415 static int hf_h225_system_id = -1; /* T_system_id */
416 static int hf_h225_sid = -1; /* TBCD_STRING_SIZE_1_4 */
417 static int hf_h225_mid = -1; /* TBCD_STRING_SIZE_1_4 */
418 static int hf_h225_systemMyTypeCode = -1; /* OCTET_STRING_SIZE_1 */
419 static int hf_h225_systemAccessType = -1; /* OCTET_STRING_SIZE_1 */
420 static int hf_h225_qualificationInformationCode = -1; /* OCTET_STRING_SIZE_1 */
421 static int hf_h225_sesn = -1; /* TBCD_STRING_SIZE_16 */
422 static int hf_h225_soc = -1; /* TBCD_STRING_SIZE_3_16 */
423 static int hf_h225_tmsi = -1; /* OCTET_STRING_SIZE_1_4 */
424 static int hf_h225_imei = -1; /* TBCD_STRING_SIZE_15_16 */
425 static int hf_h225_hplmn = -1; /* TBCD_STRING_SIZE_1_4 */
426 static int hf_h225_vplmn = -1; /* TBCD_STRING_SIZE_1_4 */
427 static int hf_h225_isupE164Number = -1; /* IsupPublicPartyNumber */
428 static int hf_h225_isupDataPartyNumber = -1; /* IsupDigits */
429 static int hf_h225_isupTelexPartyNumber = -1; /* IsupDigits */
430 static int hf_h225_isupPrivateNumber = -1; /* IsupPrivatePartyNumber */
431 static int hf_h225_isupNationalStandardPartyNumber = -1; /* IsupDigits */
432 static int hf_h225_natureOfAddress = -1; /* NatureOfAddress */
433 static int hf_h225_address = -1; /* IsupDigits */
434 static int hf_h225_routingNumberNationalFormat = -1; /* NULL */
435 static int hf_h225_routingNumberNetworkSpecificFormat = -1; /* NULL */
436 static int hf_h225_routingNumberWithCalledDirectoryNumber = -1; /* NULL */
437 static int hf_h225_extAliasAddress = -1; /* AliasAddress */
438 static int hf_h225_aliasAddress = -1; /* SEQUENCE_OF_AliasAddress */
439 static int hf_h225_aliasAddress_item = -1; /* AliasAddress */
440 static int hf_h225_callSignalAddress = -1; /* SEQUENCE_OF_TransportAddress */
441 static int hf_h225_callSignalAddress_item = -1; /* TransportAddress */
442 static int hf_h225_rasAddress = -1; /* SEQUENCE_OF_TransportAddress */
443 static int hf_h225_rasAddress_item = -1; /* TransportAddress */
444 static int hf_h225_endpointType = -1; /* EndpointType */
445 static int hf_h225_priority = -1; /* INTEGER_0_127 */
446 static int hf_h225_remoteExtensionAddress = -1; /* SEQUENCE_OF_AliasAddress */
447 static int hf_h225_remoteExtensionAddress_item = -1; /* AliasAddress */
448 static int hf_h225_alternateTransportAddresses = -1; /* AlternateTransportAddresses */
449 static int hf_h225_annexE = -1; /* SEQUENCE_OF_TransportAddress */
450 static int hf_h225_annexE_item = -1; /* TransportAddress */
451 static int hf_h225_sctp = -1; /* SEQUENCE_OF_TransportAddress */
452 static int hf_h225_sctp_item = -1; /* TransportAddress */
453 static int hf_h225_tcp = -1; /* NULL */
454 static int hf_h225_annexE_flg = -1; /* NULL */
455 static int hf_h225_sctp_flg = -1; /* NULL */
456 static int hf_h225_alternateGK_rasAddress = -1; /* TransportAddress */
457 static int hf_h225_gatekeeperIdentifier = -1; /* GatekeeperIdentifier */
458 static int hf_h225_needToRegister = -1; /* BOOLEAN */
459 static int hf_h225_alternateGatekeeper = -1; /* SEQUENCE_OF_AlternateGK */
460 static int hf_h225_alternateGatekeeper_item = -1; /* AlternateGK */
461 static int hf_h225_altGKisPermanent = -1; /* BOOLEAN */
462 static int hf_h225_default = -1; /* NULL */
463 static int hf_h225_encryption = -1; /* SecurityServiceMode */
464 static int hf_h225_authenticaton = -1; /* SecurityServiceMode */
465 static int hf_h225_securityCapabilities_integrity = -1; /* SecurityServiceMode */
466 static int hf_h225_securityWrongSyncTime = -1; /* NULL */
467 static int hf_h225_securityReplay = -1; /* NULL */
468 static int hf_h225_securityWrongGeneralID = -1; /* NULL */
469 static int hf_h225_securityWrongSendersID = -1; /* NULL */
470 static int hf_h225_securityIntegrityFailed = -1; /* NULL */
471 static int hf_h225_securityWrongOID = -1; /* NULL */
472 static int hf_h225_securityDHmismatch = -1; /* NULL */
473 static int hf_h225_securityCertificateExpired = -1; /* NULL */
474 static int hf_h225_securityCertificateDateInvalid = -1; /* NULL */
475 static int hf_h225_securityCertificateRevoked = -1; /* NULL */
476 static int hf_h225_securityCertificateNotReadable = -1; /* NULL */
477 static int hf_h225_securityCertificateSignatureInvalid = -1; /* NULL */
478 static int hf_h225_securityCertificateMissing = -1; /* NULL */
479 static int hf_h225_securityCertificateIncomplete = -1; /* NULL */
480 static int hf_h225_securityUnsupportedCertificateAlgOID = -1; /* NULL */
481 static int hf_h225_securityUnknownCA = -1; /* NULL */
482 static int hf_h225_noSecurity = -1; /* NULL */
483 static int hf_h225_tls = -1; /* SecurityCapabilities */
484 static int hf_h225_ipsec = -1; /* SecurityCapabilities */
485 static int hf_h225_q932Full = -1; /* BOOLEAN */
486 static int hf_h225_q951Full = -1; /* BOOLEAN */
487 static int hf_h225_q952Full = -1; /* BOOLEAN */
488 static int hf_h225_q953Full = -1; /* BOOLEAN */
489 static int hf_h225_q955Full = -1; /* BOOLEAN */
490 static int hf_h225_q956Full = -1; /* BOOLEAN */
491 static int hf_h225_q957Full = -1; /* BOOLEAN */
492 static int hf_h225_q954Info = -1; /* Q954Details */
493 static int hf_h225_conferenceCalling = -1; /* BOOLEAN */
494 static int hf_h225_threePartyService = -1; /* BOOLEAN */
495 static int hf_h225_guid = -1; /* T_guid */
496 static int hf_h225_isoAlgorithm = -1; /* OBJECT_IDENTIFIER */
497 static int hf_h225_hMAC_MD5 = -1; /* NULL */
498 static int hf_h225_hMAC_iso10118_2_s = -1; /* EncryptIntAlg */
499 static int hf_h225_hMAC_iso10118_2_l = -1; /* EncryptIntAlg */
500 static int hf_h225_hMAC_iso10118_3 = -1; /* OBJECT_IDENTIFIER */
501 static int hf_h225_digSig = -1; /* NULL */
502 static int hf_h225_iso9797 = -1; /* OBJECT_IDENTIFIER */
503 static int hf_h225_nonIsoIM = -1; /* NonIsoIntegrityMechanism */
504 static int hf_h225_algorithmOID = -1; /* OBJECT_IDENTIFIER */
505 static int hf_h225_icv = -1; /* BIT_STRING */
506 static int hf_h225_cryptoEPPwdHash = -1; /* T_cryptoEPPwdHash */
507 static int hf_h225_alias = -1; /* AliasAddress */
508 static int hf_h225_timeStamp = -1; /* TimeStamp */
509 static int hf_h225_token = -1; /* HASHED */
510 static int hf_h225_cryptoGKPwdHash = -1; /* T_cryptoGKPwdHash */
511 static int hf_h225_gatekeeperId = -1; /* GatekeeperIdentifier */
512 static int hf_h225_cryptoEPPwdEncr = -1; /* ENCRYPTED */
513 static int hf_h225_cryptoGKPwdEncr = -1; /* ENCRYPTED */
514 static int hf_h225_cryptoEPCert = -1; /* SIGNED */
515 static int hf_h225_cryptoGKCert = -1; /* SIGNED */
516 static int hf_h225_cryptoFastStart = -1; /* SIGNED */
517 static int hf_h225_nestedcryptoToken = -1; /* CryptoToken */
518 static int hf_h225_channelRate = -1; /* BandWidth */
519 static int hf_h225_channelMultiplier = -1; /* INTEGER_1_256 */
520 static int hf_h225_globalCallId = -1; /* GloballyUniqueID */
521 static int hf_h225_threadId = -1; /* GloballyUniqueID */
522 static int hf_h225_prefix = -1; /* AliasAddress */
523 static int hf_h225_canReportCallCapacity = -1; /* BOOLEAN */
524 static int hf_h225_capacityReportingSpecification_when = -1; /* CapacityReportingSpecification_when */
525 static int hf_h225_callStart = -1; /* NULL */
526 static int hf_h225_callEnd = -1; /* NULL */
527 static int hf_h225_maximumCallCapacity = -1; /* CallCapacityInfo */
528 static int hf_h225_currentCallCapacity = -1; /* CallCapacityInfo */
529 static int hf_h225_voiceGwCallsAvailable = -1; /* SEQUENCE_OF_CallsAvailable */
530 static int hf_h225_voiceGwCallsAvailable_item = -1; /* CallsAvailable */
531 static int hf_h225_h310GwCallsAvailable = -1; /* SEQUENCE_OF_CallsAvailable */
532 static int hf_h225_h310GwCallsAvailable_item = -1; /* CallsAvailable */
533 static int hf_h225_h320GwCallsAvailable = -1; /* SEQUENCE_OF_CallsAvailable */
534 static int hf_h225_h320GwCallsAvailable_item = -1; /* CallsAvailable */
535 static int hf_h225_h321GwCallsAvailable = -1; /* SEQUENCE_OF_CallsAvailable */
536 static int hf_h225_h321GwCallsAvailable_item = -1; /* CallsAvailable */
537 static int hf_h225_h322GwCallsAvailable = -1; /* SEQUENCE_OF_CallsAvailable */
538 static int hf_h225_h322GwCallsAvailable_item = -1; /* CallsAvailable */
539 static int hf_h225_h323GwCallsAvailable = -1; /* SEQUENCE_OF_CallsAvailable */
540 static int hf_h225_h323GwCallsAvailable_item = -1; /* CallsAvailable */
541 static int hf_h225_h324GwCallsAvailable = -1; /* SEQUENCE_OF_CallsAvailable */
542 static int hf_h225_h324GwCallsAvailable_item = -1; /* CallsAvailable */
543 static int hf_h225_t120OnlyGwCallsAvailable = -1; /* SEQUENCE_OF_CallsAvailable */
544 static int hf_h225_t120OnlyGwCallsAvailable_item = -1; /* CallsAvailable */
545 static int hf_h225_t38FaxAnnexbOnlyGwCallsAvailable = -1; /* SEQUENCE_OF_CallsAvailable */
546 static int hf_h225_t38FaxAnnexbOnlyGwCallsAvailable_item = -1; /* CallsAvailable */
547 static int hf_h225_terminalCallsAvailable = -1; /* SEQUENCE_OF_CallsAvailable */
548 static int hf_h225_terminalCallsAvailable_item = -1; /* CallsAvailable */
549 static int hf_h225_mcuCallsAvailable = -1; /* SEQUENCE_OF_CallsAvailable */
550 static int hf_h225_mcuCallsAvailable_item = -1; /* CallsAvailable */
551 static int hf_h225_sipGwCallsAvailable = -1; /* SEQUENCE_OF_CallsAvailable */
552 static int hf_h225_sipGwCallsAvailable_item = -1; /* CallsAvailable */
553 static int hf_h225_calls = -1; /* INTEGER_0_4294967295 */
554 static int hf_h225_group_IA5String = -1; /* IA5String_SIZE_1_128 */
555 static int hf_h225_carrier = -1; /* CarrierInfo */
556 static int hf_h225_sourceCircuitID = -1; /* CircuitIdentifier */
557 static int hf_h225_destinationCircuitID = -1; /* CircuitIdentifier */
558 static int hf_h225_cic = -1; /* CicInfo */
559 static int hf_h225_group = -1; /* GroupID */
560 static int hf_h225_cic_2_4 = -1; /* T_cic_2_4 */
561 static int hf_h225_cic_2_4_item = -1; /* OCTET_STRING_SIZE_2_4 */
562 static int hf_h225_pointCode = -1; /* OCTET_STRING_SIZE_2_5 */
563 static int hf_h225_member = -1; /* T_member */
564 static int hf_h225_member_item = -1; /* INTEGER_0_65535 */
565 static int hf_h225_carrierIdentificationCode = -1; /* OCTET_STRING_SIZE_3_4 */
566 static int hf_h225_carrierName = -1; /* IA5String_SIZE_1_128 */
567 static int hf_h225_url = -1; /* IA5String_SIZE_0_512 */
568 static int hf_h225_signal = -1; /* H248SignalsDescriptor */
569 static int hf_h225_callCreditServiceControl = -1; /* CallCreditServiceControl */
570 static int hf_h225_sessionId_0_255 = -1; /* INTEGER_0_255 */
571 static int hf_h225_contents = -1; /* ServiceControlDescriptor */
572 static int hf_h225_reason = -1; /* ServiceControlSession_reason */
573 static int hf_h225_open = -1; /* NULL */
574 static int hf_h225_refresh = -1; /* NULL */
575 static int hf_h225_close = -1; /* NULL */
576 static int hf_h225_nonStandardUsageTypes = -1; /* SEQUENCE_OF_NonStandardParameter */
577 static int hf_h225_nonStandardUsageTypes_item = -1; /* NonStandardParameter */
578 static int hf_h225_startTime = -1; /* NULL */
579 static int hf_h225_endTime_flg = -1; /* NULL */
580 static int hf_h225_terminationCause_flg = -1; /* NULL */
581 static int hf_h225_when = -1; /* RasUsageSpecification_when */
582 static int hf_h225_start = -1; /* NULL */
583 static int hf_h225_end = -1; /* NULL */
584 static int hf_h225_inIrr = -1; /* NULL */
585 static int hf_h225_ras_callStartingPoint = -1; /* RasUsageSpecificationcallStartingPoint */
586 static int hf_h225_alerting_flg = -1; /* NULL */
587 static int hf_h225_connect_flg = -1; /* NULL */
588 static int hf_h225_required = -1; /* RasUsageInfoTypes */
589 static int hf_h225_nonStandardUsageFields = -1; /* SEQUENCE_OF_NonStandardParameter */
590 static int hf_h225_nonStandardUsageFields_item = -1; /* NonStandardParameter */
591 static int hf_h225_alertingTime = -1; /* TimeStamp */
592 static int hf_h225_connectTime = -1; /* TimeStamp */
593 static int hf_h225_endTime = -1; /* TimeStamp */
594 static int hf_h225_releaseCompleteCauseIE = -1; /* OCTET_STRING_SIZE_2_32 */
595 static int hf_h225_sender = -1; /* BOOLEAN */
596 static int hf_h225_multicast = -1; /* BOOLEAN */
597 static int hf_h225_bandwidth = -1; /* BandWidth */
598 static int hf_h225_rtcpAddresses = -1; /* TransportChannelInfo */
599 static int hf_h225_canDisplayAmountString = -1; /* BOOLEAN */
600 static int hf_h225_canEnforceDurationLimit = -1; /* BOOLEAN */
601 static int hf_h225_amountString = -1; /* BMPString_SIZE_1_512 */
602 static int hf_h225_billingMode = -1; /* T_billingMode */
603 static int hf_h225_credit = -1; /* NULL */
604 static int hf_h225_debit = -1; /* NULL */
605 static int hf_h225_callDurationLimit = -1; /* INTEGER_1_4294967295 */
606 static int hf_h225_enforceCallDurationLimit = -1; /* BOOLEAN */
607 static int hf_h225_callStartingPoint = -1; /* CallCreditServiceControl_callStartingPoint */
608 static int hf_h225_id = -1; /* GenericIdentifier */
609 static int hf_h225_parameters = -1; /* SEQUENCE_SIZE_1_512_OF_EnumeratedParameter */
610 static int hf_h225_parameters_item = -1; /* EnumeratedParameter */
611 static int hf_h225_standard = -1; /* T_standard */
612 static int hf_h225_oid = -1; /* T_oid */
613 static int hf_h225_genericIdentifier_nonStandard = -1; /* GloballyUniqueID */
614 static int hf_h225_content = -1; /* Content */
615 static int hf_h225_raw = -1; /* T_raw */
616 static int hf_h225_text = -1; /* IA5String */
617 static int hf_h225_unicode = -1; /* BMPString */
618 static int hf_h225_bool = -1; /* BOOLEAN */
619 static int hf_h225_number8 = -1; /* INTEGER_0_255 */
620 static int hf_h225_number16 = -1; /* INTEGER_0_65535 */
621 static int hf_h225_number32 = -1; /* INTEGER_0_4294967295 */
622 static int hf_h225_transport = -1; /* TransportAddress */
623 static int hf_h225_compound = -1; /* SEQUENCE_SIZE_1_512_OF_EnumeratedParameter */
624 static int hf_h225_compound_item = -1; /* EnumeratedParameter */
625 static int hf_h225_nested = -1; /* SEQUENCE_SIZE_1_16_OF_GenericData */
626 static int hf_h225_nested_item = -1; /* GenericData */
627 static int hf_h225_replacementFeatureSet = -1; /* BOOLEAN */
628 static int hf_h225_sendAddress = -1; /* TransportAddress */
629 static int hf_h225_recvAddress = -1; /* TransportAddress */
630 static int hf_h225_rtpAddress = -1; /* TransportChannelInfo */
631 static int hf_h225_rtcpAddress = -1; /* TransportChannelInfo */
632 static int hf_h225_cname = -1; /* PrintableString */
633 static int hf_h225_ssrc = -1; /* INTEGER_1_4294967295 */
634 static int hf_h225_sessionId = -1; /* INTEGER_1_255 */
635 static int hf_h225_associatedSessionIds = -1; /* T_associatedSessionIds */
636 static int hf_h225_associatedSessionIds_item = -1; /* INTEGER_1_255 */
637 static int hf_h225_multicast_flg = -1; /* NULL */
638 static int hf_h225_gatekeeperBased = -1; /* NULL */
639 static int hf_h225_endpointBased = -1; /* NULL */
640 static int hf_h225_gatekeeperRequest = -1; /* GatekeeperRequest */
641 static int hf_h225_gatekeeperConfirm = -1; /* GatekeeperConfirm */
642 static int hf_h225_gatekeeperReject = -1; /* GatekeeperReject */
643 static int hf_h225_registrationRequest = -1; /* RegistrationRequest */
644 static int hf_h225_registrationConfirm = -1; /* RegistrationConfirm */
645 static int hf_h225_registrationReject = -1; /* RegistrationReject */
646 static int hf_h225_unregistrationRequest = -1; /* UnregistrationRequest */
647 static int hf_h225_unregistrationConfirm = -1; /* UnregistrationConfirm */
648 static int hf_h225_unregistrationReject = -1; /* UnregistrationReject */
649 static int hf_h225_admissionRequest = -1; /* AdmissionRequest */
650 static int hf_h225_admissionConfirm = -1; /* AdmissionConfirm */
651 static int hf_h225_admissionReject = -1; /* AdmissionReject */
652 static int hf_h225_bandwidthRequest = -1; /* BandwidthRequest */
653 static int hf_h225_bandwidthConfirm = -1; /* BandwidthConfirm */
654 static int hf_h225_bandwidthReject = -1; /* BandwidthReject */
655 static int hf_h225_disengageRequest = -1; /* DisengageRequest */
656 static int hf_h225_disengageConfirm = -1; /* DisengageConfirm */
657 static int hf_h225_disengageReject = -1; /* DisengageReject */
658 static int hf_h225_locationRequest = -1; /* LocationRequest */
659 static int hf_h225_locationConfirm = -1; /* LocationConfirm */
660 static int hf_h225_locationReject = -1; /* LocationReject */
661 static int hf_h225_infoRequest = -1; /* InfoRequest */
662 static int hf_h225_infoRequestResponse = -1; /* InfoRequestResponse */
663 static int hf_h225_nonStandardMessage = -1; /* NonStandardMessage */
664 static int hf_h225_unknownMessageResponse = -1; /* UnknownMessageResponse */
665 static int hf_h225_requestInProgress = -1; /* RequestInProgress */
666 static int hf_h225_resourcesAvailableIndicate = -1; /* ResourcesAvailableIndicate */
667 static int hf_h225_resourcesAvailableConfirm = -1; /* ResourcesAvailableConfirm */
668 static int hf_h225_infoRequestAck = -1; /* InfoRequestAck */
669 static int hf_h225_infoRequestNak = -1; /* InfoRequestNak */
670 static int hf_h225_serviceControlIndication = -1; /* ServiceControlIndication */
671 static int hf_h225_serviceControlResponse = -1; /* ServiceControlResponse */
672 static int hf_h225_admissionConfirmSequence = -1; /* SEQUENCE_OF_AdmissionConfirm */
673 static int hf_h225_admissionConfirmSequence_item = -1; /* AdmissionConfirm */
674 static int hf_h225_requestSeqNum = -1; /* RequestSeqNum */
675 static int hf_h225_gatekeeperRequest_rasAddress = -1; /* TransportAddress */
676 static int hf_h225_endpointAlias = -1; /* SEQUENCE_OF_AliasAddress */
677 static int hf_h225_endpointAlias_item = -1; /* AliasAddress */
678 static int hf_h225_alternateEndpoints = -1; /* SEQUENCE_OF_Endpoint */
679 static int hf_h225_alternateEndpoints_item = -1; /* Endpoint */
680 static int hf_h225_authenticationCapability = -1; /* SEQUENCE_OF_AuthenticationMechanism */
681 static int hf_h225_authenticationCapability_item = -1; /* AuthenticationMechanism */
682 static int hf_h225_algorithmOIDs = -1; /* T_algorithmOIDs */
683 static int hf_h225_algorithmOIDs_item = -1; /* OBJECT_IDENTIFIER */
684 static int hf_h225_integrity = -1; /* SEQUENCE_OF_IntegrityMechanism */
685 static int hf_h225_integrity_item = -1; /* IntegrityMechanism */
686 static int hf_h225_integrityCheckValue = -1; /* ICV */
687 static int hf_h225_supportsAltGK = -1; /* NULL */
688 static int hf_h225_supportsAssignedGK = -1; /* BOOLEAN */
689 static int hf_h225_assignedGatekeeper = -1; /* AlternateGK */
690 static int hf_h225_gatekeeperConfirm_rasAddress = -1; /* TransportAddress */
691 static int hf_h225_authenticationMode = -1; /* AuthenticationMechanism */
692 static int hf_h225_rehomingModel = -1; /* RehomingModel */
693 static int hf_h225_gatekeeperRejectReason = -1; /* GatekeeperRejectReason */
694 static int hf_h225_altGKInfo = -1; /* AltGKInfo */
695 static int hf_h225_resourceUnavailable = -1; /* NULL */
696 static int hf_h225_terminalExcluded = -1; /* NULL */
697 static int hf_h225_securityDenial = -1; /* NULL */
698 static int hf_h225_gkRej_securityError = -1; /* SecurityErrors */
699 static int hf_h225_discoveryComplete = -1; /* BOOLEAN */
700 static int hf_h225_terminalType = -1; /* EndpointType */
701 static int hf_h225_terminalAlias = -1; /* SEQUENCE_OF_AliasAddress */
702 static int hf_h225_terminalAlias_item = -1; /* AliasAddress */
703 static int hf_h225_endpointVendor = -1; /* VendorIdentifier */
704 static int hf_h225_timeToLive = -1; /* TimeToLive */
705 static int hf_h225_keepAlive = -1; /* BOOLEAN */
706 static int hf_h225_willSupplyUUIEs = -1; /* BOOLEAN */
707 static int hf_h225_additiveRegistration = -1; /* NULL */
708 static int hf_h225_terminalAliasPattern = -1; /* SEQUENCE_OF_AddressPattern */
709 static int hf_h225_terminalAliasPattern_item = -1; /* AddressPattern */
710 static int hf_h225_usageReportingCapability = -1; /* RasUsageInfoTypes */
711 static int hf_h225_supportedH248Packages = -1; /* SEQUENCE_OF_H248PackagesDescriptor */
712 static int hf_h225_supportedH248Packages_item = -1; /* H248PackagesDescriptor */
713 static int hf_h225_callCreditCapability = -1; /* CallCreditCapability */
714 static int hf_h225_capacityReportingCapability = -1; /* CapacityReportingCapability */
715 static int hf_h225_restart = -1; /* NULL */
716 static int hf_h225_supportsACFSequences = -1; /* NULL */
717 static int hf_h225_transportQOS = -1; /* TransportQOS */
718 static int hf_h225_willRespondToIRR = -1; /* BOOLEAN */
719 static int hf_h225_preGrantedARQ = -1; /* T_preGrantedARQ */
720 static int hf_h225_makeCall = -1; /* BOOLEAN */
721 static int hf_h225_useGKCallSignalAddressToMakeCall = -1; /* BOOLEAN */
722 static int hf_h225_answerCall = -1; /* BOOLEAN */
723 static int hf_h225_useGKCallSignalAddressToAnswer = -1; /* BOOLEAN */
724 static int hf_h225_irrFrequencyInCall = -1; /* INTEGER_1_65535 */
725 static int hf_h225_totalBandwidthRestriction = -1; /* BandWidth */
726 static int hf_h225_useSpecifiedTransport = -1; /* UseSpecifiedTransport */
727 static int hf_h225_supportsAdditiveRegistration = -1; /* NULL */
728 static int hf_h225_usageSpec = -1; /* SEQUENCE_OF_RasUsageSpecification */
729 static int hf_h225_usageSpec_item = -1; /* RasUsageSpecification */
730 static int hf_h225_featureServerAlias = -1; /* AliasAddress */
731 static int hf_h225_capacityReportingSpec = -1; /* CapacityReportingSpecification */
732 static int hf_h225_registrationRejectReason = -1; /* RegistrationRejectReason */
733 static int hf_h225_discoveryRequired = -1; /* NULL */
734 static int hf_h225_invalidCallSignalAddress = -1; /* NULL */
735 static int hf_h225_invalidRASAddress = -1; /* NULL */
736 static int hf_h225_duplicateAlias = -1; /* SEQUENCE_OF_AliasAddress */
737 static int hf_h225_duplicateAlias_item = -1; /* AliasAddress */
738 static int hf_h225_invalidTerminalType = -1; /* NULL */
739 static int hf_h225_transportNotSupported = -1; /* NULL */
740 static int hf_h225_transportQOSNotSupported = -1; /* NULL */
741 static int hf_h225_invalidAlias = -1; /* NULL */
742 static int hf_h225_fullRegistrationRequired = -1; /* NULL */
743 static int hf_h225_additiveRegistrationNotSupported = -1; /* NULL */
744 static int hf_h225_invalidTerminalAliases = -1; /* T_invalidTerminalAliases */
745 static int hf_h225_reg_securityError = -1; /* SecurityErrors */
746 static int hf_h225_registerWithAssignedGK = -1; /* NULL */
747 static int hf_h225_unregRequestReason = -1; /* UnregRequestReason */
748 static int hf_h225_endpointAliasPattern = -1; /* SEQUENCE_OF_AddressPattern */
749 static int hf_h225_endpointAliasPattern_item = -1; /* AddressPattern */
750 static int hf_h225_reregistrationRequired = -1; /* NULL */
751 static int hf_h225_ttlExpired = -1; /* NULL */
752 static int hf_h225_maintenance = -1; /* NULL */
753 static int hf_h225_securityError = -1; /* SecurityErrors2 */
754 static int hf_h225_unregRejectReason = -1; /* UnregRejectReason */
755 static int hf_h225_notCurrentlyRegistered = -1; /* NULL */
756 static int hf_h225_callInProgress = -1; /* NULL */
757 static int hf_h225_permissionDenied = -1; /* NULL */
758 static int hf_h225_callModel = -1; /* CallModel */
759 static int hf_h225_DestinationInfo_item = -1; /* DestinationInfo_item */
760 static int hf_h225_destinationInfo_01 = -1; /* DestinationInfo */
761 static int hf_h225_srcInfo = -1; /* SEQUENCE_OF_AliasAddress */
762 static int hf_h225_srcInfo_item = -1; /* AliasAddress */
763 static int hf_h225_srcCallSignalAddress = -1; /* TransportAddress */
764 static int hf_h225_bandWidth = -1; /* BandWidth */
765 static int hf_h225_callReferenceValue = -1; /* CallReferenceValue */
766 static int hf_h225_canMapAlias = -1; /* BOOLEAN */
767 static int hf_h225_srcAlternatives = -1; /* SEQUENCE_OF_Endpoint */
768 static int hf_h225_srcAlternatives_item = -1; /* Endpoint */
769 static int hf_h225_destAlternatives = -1; /* SEQUENCE_OF_Endpoint */
770 static int hf_h225_destAlternatives_item = -1; /* Endpoint */
771 static int hf_h225_gatewayDataRate = -1; /* DataRate */
772 static int hf_h225_desiredTunnelledProtocol = -1; /* TunnelledProtocol */
773 static int hf_h225_canMapSrcAlias = -1; /* BOOLEAN */
774 static int hf_h225_pointToPoint = -1; /* NULL */
775 static int hf_h225_oneToN = -1; /* NULL */
776 static int hf_h225_nToOne = -1; /* NULL */
777 static int hf_h225_nToN = -1; /* NULL */
778 static int hf_h225_direct = -1; /* NULL */
779 static int hf_h225_gatekeeperRouted = -1; /* NULL */
780 static int hf_h225_endpointControlled = -1; /* NULL */
781 static int hf_h225_gatekeeperControlled = -1; /* NULL */
782 static int hf_h225_noControl = -1; /* NULL */
783 static int hf_h225_qOSCapabilities = -1; /* SEQUENCE_SIZE_1_256_OF_QOSCapability */
784 static int hf_h225_qOSCapabilities_item = -1; /* QOSCapability */
785 static int hf_h225_irrFrequency = -1; /* INTEGER_1_65535 */
786 static int hf_h225_destinationType = -1; /* EndpointType */
787 static int hf_h225_uuiesRequested = -1; /* UUIEsRequested */
788 static int hf_h225_supportedProtocols = -1; /* SEQUENCE_OF_SupportedProtocols */
789 static int hf_h225_supportedProtocols_item = -1; /* SupportedProtocols */
790 static int hf_h225_modifiedSrcInfo = -1; /* SEQUENCE_OF_AliasAddress */
791 static int hf_h225_modifiedSrcInfo_item = -1; /* AliasAddress */
792 static int hf_h225_setup_bool = -1; /* BOOLEAN */
793 static int hf_h225_callProceeding_flg = -1; /* BOOLEAN */
794 static int hf_h225_connect_bool = -1; /* BOOLEAN */
795 static int hf_h225_alerting_bool = -1; /* BOOLEAN */
796 static int hf_h225_information_bool = -1; /* BOOLEAN */
797 static int hf_h225_releaseComplete_bool = -1; /* BOOLEAN */
798 static int hf_h225_facility_bool = -1; /* BOOLEAN */
799 static int hf_h225_progress_bool = -1; /* BOOLEAN */
800 static int hf_h225_empty = -1; /* BOOLEAN */
801 static int hf_h225_status_bool = -1; /* BOOLEAN */
802 static int hf_h225_statusInquiry_bool = -1; /* BOOLEAN */
803 static int hf_h225_setupAcknowledge_bool = -1; /* BOOLEAN */
804 static int hf_h225_notify_bool = -1; /* BOOLEAN */
805 static int hf_h225_rejectReason = -1; /* AdmissionRejectReason */
806 static int hf_h225_invalidPermission = -1; /* NULL */
807 static int hf_h225_requestDenied = -1; /* NULL */
808 static int hf_h225_invalidEndpointIdentifier = -1; /* NULL */
809 static int hf_h225_qosControlNotSupported = -1; /* NULL */
810 static int hf_h225_incompleteAddress = -1; /* NULL */
811 static int hf_h225_aliasesInconsistent = -1; /* NULL */
812 static int hf_h225_routeCallToSCN = -1; /* SEQUENCE_OF_PartyNumber */
813 static int hf_h225_routeCallToSCN_item = -1; /* PartyNumber */
814 static int hf_h225_exceedsCallCapacity = -1; /* NULL */
815 static int hf_h225_collectDestination = -1; /* NULL */
816 static int hf_h225_collectPIN = -1; /* NULL */
817 static int hf_h225_noRouteToDestination = -1; /* NULL */
818 static int hf_h225_unallocatedNumber = -1; /* NULL */
819 static int hf_h225_answeredCall = -1; /* BOOLEAN */
820 static int hf_h225_usageInformation = -1; /* RasUsageInformation */
821 static int hf_h225_bandwidthDetails = -1; /* SEQUENCE_OF_BandwidthDetails */
822 static int hf_h225_bandwidthDetails_item = -1; /* BandwidthDetails */
823 static int hf_h225_bandRejectReason = -1; /* BandRejectReason */
824 static int hf_h225_allowedBandWidth = -1; /* BandWidth */
825 static int hf_h225_notBound = -1; /* NULL */
826 static int hf_h225_invalidConferenceID = -1; /* NULL */
827 static int hf_h225_insufficientResources = -1; /* NULL */
828 static int hf_h225_replyAddress = -1; /* TransportAddress */
829 static int hf_h225_sourceInfo = -1; /* SEQUENCE_OF_AliasAddress */
830 static int hf_h225_sourceInfo_item = -1; /* AliasAddress */
831 static int hf_h225_hopCount = -1; /* INTEGER_1_255 */
832 static int hf_h225_sourceEndpointInfo = -1; /* SEQUENCE_OF_AliasAddress */
833 static int hf_h225_sourceEndpointInfo_item = -1; /* AliasAddress */
834 static int hf_h225_locationConfirm_callSignalAddress = -1; /* TransportAddress */
835 static int hf_h225_locationConfirm_rasAddress = -1; /* TransportAddress */
836 static int hf_h225_locationRejectReason = -1; /* LocationRejectReason */
837 static int hf_h225_notRegistered = -1; /* NULL */
838 static int hf_h225_routeCalltoSCN = -1; /* SEQUENCE_OF_PartyNumber */
839 static int hf_h225_routeCalltoSCN_item = -1; /* PartyNumber */
840 static int hf_h225_disengageReason = -1; /* DisengageReason */
841 static int hf_h225_terminationCause = -1; /* CallTerminationCause */
842 static int hf_h225_forcedDrop = -1; /* NULL */
843 static int hf_h225_normalDrop = -1; /* NULL */
844 static int hf_h225_disengageRejectReason = -1; /* DisengageRejectReason */
845 static int hf_h225_requestToDropOther = -1; /* NULL */
846 static int hf_h225_usageInfoRequested = -1; /* RasUsageInfoTypes */
847 static int hf_h225_segmentedResponseSupported = -1; /* NULL */
848 static int hf_h225_nextSegmentRequested = -1; /* INTEGER_0_65535 */
849 static int hf_h225_capacityInfoRequested = -1; /* NULL */
850 static int hf_h225_infoRequestResponse_rasAddress = -1; /* TransportAddress */
851 static int hf_h225_perCallInfo = -1; /* T_perCallInfo */
852 static int hf_h225_perCallInfo_item = -1; /* T_perCallInfo_item */
853 static int hf_h225_originator = -1; /* BOOLEAN */
854 static int hf_h225_audio = -1; /* SEQUENCE_OF_RTPSession */
855 static int hf_h225_audio_item = -1; /* RTPSession */
856 static int hf_h225_video = -1; /* SEQUENCE_OF_RTPSession */
857 static int hf_h225_video_item = -1; /* RTPSession */
858 static int hf_h225_data = -1; /* SEQUENCE_OF_TransportChannelInfo */
859 static int hf_h225_data_item = -1; /* TransportChannelInfo */
860 static int hf_h225_h245 = -1; /* TransportChannelInfo */
861 static int hf_h225_callSignalling = -1; /* TransportChannelInfo */
862 static int hf_h225_substituteConfIDs = -1; /* SEQUENCE_OF_ConferenceIdentifier */
863 static int hf_h225_substituteConfIDs_item = -1; /* ConferenceIdentifier */
864 static int hf_h225_pdu = -1; /* T_pdu */
865 static int hf_h225_pdu_item = -1; /* T_pdu_item */
866 static int hf_h225_h323pdu = -1; /* H323_UU_PDU */
867 static int hf_h225_sent = -1; /* BOOLEAN */
868 static int hf_h225_needResponse = -1; /* BOOLEAN */
869 static int hf_h225_irrStatus = -1; /* InfoRequestResponseStatus */
870 static int hf_h225_unsolicited = -1; /* BOOLEAN */
871 static int hf_h225_complete = -1; /* NULL */
872 static int hf_h225_incomplete = -1; /* NULL */
873 static int hf_h225_segment = -1; /* INTEGER_0_65535 */
874 static int hf_h225_invalidCall = -1; /* NULL */
875 static int hf_h225_nakReason = -1; /* InfoRequestNakReason */
876 static int hf_h225_messageNotUnderstood = -1; /* OCTET_STRING */
877 static int hf_h225_delay = -1; /* INTEGER_1_65535 */
878 static int hf_h225_protocols = -1; /* SEQUENCE_OF_SupportedProtocols */
879 static int hf_h225_protocols_item = -1; /* SupportedProtocols */
880 static int hf_h225_almostOutOfResources = -1; /* BOOLEAN */
881 static int hf_h225_callSpecific = -1; /* T_callSpecific */
882 static int hf_h225_result = -1; /* T_result */
883 static int hf_h225_started = -1; /* NULL */
884 static int hf_h225_failed = -1; /* NULL */
885 static int hf_h225_stopped = -1; /* NULL */
886 static int hf_h225_notAvailable = -1; /* NULL */
888 /*--- End of included file: packet-h225-hf.c ---*/
889 #line 107 "../../asn1/h225/packet-h225-template.c"
891 /* Initialize the subtree pointers */
892 static gint ett_h225 = -1;
894 /*--- Included file: packet-h225-ett.c ---*/
895 #line 1 "../../asn1/h225/packet-h225-ett.c"
896 static gint ett_h225_H323_UserInformation = -1;
897 static gint ett_h225_T_user_data = -1;
898 static gint ett_h225_H323_UU_PDU = -1;
899 static gint ett_h225_T_h323_message_body = -1;
900 static gint ett_h225_T_h4501SupplementaryService = -1;
901 static gint ett_h225_H245Control = -1;
902 static gint ett_h225_SEQUENCE_OF_NonStandardParameter = -1;
903 static gint ett_h225_T_tunnelledSignallingMessage = -1;
904 static gint ett_h225_T_messageContent = -1;
905 static gint ett_h225_SEQUENCE_OF_GenericData = -1;
906 static gint ett_h225_StimulusControl = -1;
907 static gint ett_h225_Alerting_UUIE = -1;
908 static gint ett_h225_SEQUENCE_OF_ClearToken = -1;
909 static gint ett_h225_SEQUENCE_OF_CryptoH323Token = -1;
910 static gint ett_h225_SEQUENCE_OF_AliasAddress = -1;
911 static gint ett_h225_SEQUENCE_OF_ServiceControlSession = -1;
912 static gint ett_h225_SEQUENCE_OF_DisplayName = -1;
913 static gint ett_h225_CallProceeding_UUIE = -1;
914 static gint ett_h225_Connect_UUIE = -1;
915 static gint ett_h225_Information_UUIE = -1;
916 static gint ett_h225_ReleaseComplete_UUIE = -1;
917 static gint ett_h225_ReleaseCompleteReason = -1;
918 static gint ett_h225_Setup_UUIE = -1;
919 static gint ett_h225_SEQUENCE_OF_CallReferenceValue = -1;
920 static gint ett_h225_T_conferenceGoal = -1;
921 static gint ett_h225_SEQUENCE_OF_H245Security = -1;
922 static gint ett_h225_FastStart = -1;
923 static gint ett_h225_T_connectionParameters = -1;
924 static gint ett_h225_Language = -1;
925 static gint ett_h225_SEQUENCE_OF_SupportedProtocols = -1;
926 static gint ett_h225_SEQUENCE_OF_FeatureDescriptor = -1;
927 static gint ett_h225_ParallelH245Control = -1;
928 static gint ett_h225_SEQUENCE_OF_ExtendedAliasAddress = -1;
929 static gint ett_h225_ScnConnectionType = -1;
930 static gint ett_h225_ScnConnectionAggregation = -1;
931 static gint ett_h225_PresentationIndicator = -1;
932 static gint ett_h225_Facility_UUIE = -1;
933 static gint ett_h225_SEQUENCE_OF_ConferenceList = -1;
934 static gint ett_h225_ConferenceList = -1;
935 static gint ett_h225_FacilityReason = -1;
936 static gint ett_h225_Progress_UUIE = -1;
937 static gint ett_h225_TransportAddress = -1;
938 static gint ett_h225_H245TransportAddress = -1;
939 static gint ett_h225_T_h245IpAddress = -1;
940 static gint ett_h225_T_h245IpSourceRoute = -1;
941 static gint ett_h225_T_h245Route = -1;
942 static gint ett_h225_T_h245Routing = -1;
943 static gint ett_h225_T_h245IpxAddress = -1;
944 static gint ett_h225_T_h245Ip6Address = -1;
945 static gint ett_h225_T_ipAddress = -1;
946 static gint ett_h225_T_ipSourceRoute = -1;
947 static gint ett_h225_T_route = -1;
948 static gint ett_h225_T_routing = -1;
949 static gint ett_h225_T_ipxAddress = -1;
950 static gint ett_h225_T_ip6Address = -1;
951 static gint ett_h225_Status_UUIE = -1;
952 static gint ett_h225_StatusInquiry_UUIE = -1;
953 static gint ett_h225_SetupAcknowledge_UUIE = -1;
954 static gint ett_h225_Notify_UUIE = -1;
955 static gint ett_h225_EndpointType = -1;
956 static gint ett_h225_SEQUENCE_OF_TunnelledProtocol = -1;
957 static gint ett_h225_GatewayInfo = -1;
958 static gint ett_h225_SupportedProtocols = -1;
959 static gint ett_h225_H310Caps = -1;
960 static gint ett_h225_SEQUENCE_OF_DataRate = -1;
961 static gint ett_h225_SEQUENCE_OF_SupportedPrefix = -1;
962 static gint ett_h225_H320Caps = -1;
963 static gint ett_h225_H321Caps = -1;
964 static gint ett_h225_H322Caps = -1;
965 static gint ett_h225_H323Caps = -1;
966 static gint ett_h225_H324Caps = -1;
967 static gint ett_h225_VoiceCaps = -1;
968 static gint ett_h225_T120OnlyCaps = -1;
969 static gint ett_h225_NonStandardProtocol = -1;
970 static gint ett_h225_T38FaxAnnexbOnlyCaps = -1;
971 static gint ett_h225_SIPCaps = -1;
972 static gint ett_h225_McuInfo = -1;
973 static gint ett_h225_TerminalInfo = -1;
974 static gint ett_h225_GatekeeperInfo = -1;
975 static gint ett_h225_VendorIdentifier = -1;
976 static gint ett_h225_H221NonStandard = -1;
977 static gint ett_h225_TunnelledProtocol = -1;
978 static gint ett_h225_TunnelledProtocol_id = -1;
979 static gint ett_h225_TunnelledProtocolAlternateIdentifier = -1;
980 static gint ett_h225_NonStandardParameter = -1;
981 static gint ett_h225_NonStandardIdentifier = -1;
982 static gint ett_h225_AliasAddress = -1;
983 static gint ett_h225_AddressPattern = -1;
984 static gint ett_h225_T_range = -1;
985 static gint ett_h225_PartyNumber = -1;
986 static gint ett_h225_PublicPartyNumber = -1;
987 static gint ett_h225_PrivatePartyNumber = -1;
988 static gint ett_h225_DisplayName = -1;
989 static gint ett_h225_PublicTypeOfNumber = -1;
990 static gint ett_h225_PrivateTypeOfNumber = -1;
991 static gint ett_h225_MobileUIM = -1;
992 static gint ett_h225_ANSI_41_UIM = -1;
993 static gint ett_h225_T_system_id = -1;
994 static gint ett_h225_GSM_UIM = -1;
995 static gint ett_h225_IsupNumber = -1;
996 static gint ett_h225_IsupPublicPartyNumber = -1;
997 static gint ett_h225_IsupPrivatePartyNumber = -1;
998 static gint ett_h225_NatureOfAddress = -1;
999 static gint ett_h225_ExtendedAliasAddress = -1;
1000 static gint ett_h225_Endpoint = -1;
1001 static gint ett_h225_SEQUENCE_OF_TransportAddress = -1;
1002 static gint ett_h225_AlternateTransportAddresses = -1;
1003 static gint ett_h225_UseSpecifiedTransport = -1;
1004 static gint ett_h225_AlternateGK = -1;
1005 static gint ett_h225_AltGKInfo = -1;
1006 static gint ett_h225_SEQUENCE_OF_AlternateGK = -1;
1007 static gint ett_h225_SecurityServiceMode = -1;
1008 static gint ett_h225_SecurityCapabilities = -1;
1009 static gint ett_h225_SecurityErrors = -1;
1010 static gint ett_h225_SecurityErrors2 = -1;
1011 static gint ett_h225_H245Security = -1;
1012 static gint ett_h225_QseriesOptions = -1;
1013 static gint ett_h225_Q954Details = -1;
1014 static gint ett_h225_CallIdentifier = -1;
1015 static gint ett_h225_EncryptIntAlg = -1;
1016 static gint ett_h225_NonIsoIntegrityMechanism = -1;
1017 static gint ett_h225_IntegrityMechanism = -1;
1018 static gint ett_h225_ICV = -1;
1019 static gint ett_h225_CryptoH323Token = -1;
1020 static gint ett_h225_T_cryptoEPPwdHash = -1;
1021 static gint ett_h225_T_cryptoGKPwdHash = -1;
1022 static gint ett_h225_DataRate = -1;
1023 static gint ett_h225_CallLinkage = -1;
1024 static gint ett_h225_SupportedPrefix = -1;
1025 static gint ett_h225_CapacityReportingCapability = -1;
1026 static gint ett_h225_CapacityReportingSpecification = -1;
1027 static gint ett_h225_CapacityReportingSpecification_when = -1;
1028 static gint ett_h225_CallCapacity = -1;
1029 static gint ett_h225_CallCapacityInfo = -1;
1030 static gint ett_h225_SEQUENCE_OF_CallsAvailable = -1;
1031 static gint ett_h225_CallsAvailable = -1;
1032 static gint ett_h225_CircuitInfo = -1;
1033 static gint ett_h225_CircuitIdentifier = -1;
1034 static gint ett_h225_CicInfo = -1;
1035 static gint ett_h225_T_cic_2_4 = -1;
1036 static gint ett_h225_GroupID = -1;
1037 static gint ett_h225_T_member = -1;
1038 static gint ett_h225_CarrierInfo = -1;
1039 static gint ett_h225_ServiceControlDescriptor = -1;
1040 static gint ett_h225_ServiceControlSession = -1;
1041 static gint ett_h225_ServiceControlSession_reason = -1;
1042 static gint ett_h225_RasUsageInfoTypes = -1;
1043 static gint ett_h225_RasUsageSpecification = -1;
1044 static gint ett_h225_RasUsageSpecification_when = -1;
1045 static gint ett_h225_RasUsageSpecificationcallStartingPoint = -1;
1046 static gint ett_h225_RasUsageInformation = -1;
1047 static gint ett_h225_CallTerminationCause = -1;
1048 static gint ett_h225_BandwidthDetails = -1;
1049 static gint ett_h225_CallCreditCapability = -1;
1050 static gint ett_h225_CallCreditServiceControl = -1;
1051 static gint ett_h225_T_billingMode = -1;
1052 static gint ett_h225_CallCreditServiceControl_callStartingPoint = -1;
1053 static gint ett_h225_GenericData = -1;
1054 static gint ett_h225_SEQUENCE_SIZE_1_512_OF_EnumeratedParameter = -1;
1055 static gint ett_h225_GenericIdentifier = -1;
1056 static gint ett_h225_EnumeratedParameter = -1;
1057 static gint ett_h225_Content = -1;
1058 static gint ett_h225_SEQUENCE_SIZE_1_16_OF_GenericData = -1;
1059 static gint ett_h225_FeatureSet = -1;
1060 static gint ett_h225_TransportChannelInfo = -1;
1061 static gint ett_h225_RTPSession = -1;
1062 static gint ett_h225_T_associatedSessionIds = -1;
1063 static gint ett_h225_RehomingModel = -1;
1064 static gint ett_h225_RasMessage = -1;
1065 static gint ett_h225_SEQUENCE_OF_AdmissionConfirm = -1;
1066 static gint ett_h225_GatekeeperRequest = -1;
1067 static gint ett_h225_SEQUENCE_OF_Endpoint = -1;
1068 static gint ett_h225_SEQUENCE_OF_AuthenticationMechanism = -1;
1069 static gint ett_h225_T_algorithmOIDs = -1;
1070 static gint ett_h225_SEQUENCE_OF_IntegrityMechanism = -1;
1071 static gint ett_h225_GatekeeperConfirm = -1;
1072 static gint ett_h225_GatekeeperReject = -1;
1073 static gint ett_h225_GatekeeperRejectReason = -1;
1074 static gint ett_h225_RegistrationRequest = -1;
1075 static gint ett_h225_SEQUENCE_OF_AddressPattern = -1;
1076 static gint ett_h225_SEQUENCE_OF_H248PackagesDescriptor = -1;
1077 static gint ett_h225_RegistrationConfirm = -1;
1078 static gint ett_h225_T_preGrantedARQ = -1;
1079 static gint ett_h225_SEQUENCE_OF_RasUsageSpecification = -1;
1080 static gint ett_h225_RegistrationReject = -1;
1081 static gint ett_h225_RegistrationRejectReason = -1;
1082 static gint ett_h225_T_invalidTerminalAliases = -1;
1083 static gint ett_h225_UnregistrationRequest = -1;
1084 static gint ett_h225_UnregRequestReason = -1;
1085 static gint ett_h225_UnregistrationConfirm = -1;
1086 static gint ett_h225_UnregistrationReject = -1;
1087 static gint ett_h225_UnregRejectReason = -1;
1088 static gint ett_h225_AdmissionRequest = -1;
1089 static gint ett_h225_DestinationInfo = -1;
1090 static gint ett_h225_CallType = -1;
1091 static gint ett_h225_CallModel = -1;
1092 static gint ett_h225_TransportQOS = -1;
1093 static gint ett_h225_SEQUENCE_SIZE_1_256_OF_QOSCapability = -1;
1094 static gint ett_h225_AdmissionConfirm = -1;
1095 static gint ett_h225_UUIEsRequested = -1;
1096 static gint ett_h225_AdmissionReject = -1;
1097 static gint ett_h225_AdmissionRejectReason = -1;
1098 static gint ett_h225_SEQUENCE_OF_PartyNumber = -1;
1099 static gint ett_h225_BandwidthRequest = -1;
1100 static gint ett_h225_SEQUENCE_OF_BandwidthDetails = -1;
1101 static gint ett_h225_BandwidthConfirm = -1;
1102 static gint ett_h225_BandwidthReject = -1;
1103 static gint ett_h225_BandRejectReason = -1;
1104 static gint ett_h225_LocationRequest = -1;
1105 static gint ett_h225_LocationConfirm = -1;
1106 static gint ett_h225_LocationReject = -1;
1107 static gint ett_h225_LocationRejectReason = -1;
1108 static gint ett_h225_DisengageRequest = -1;
1109 static gint ett_h225_DisengageReason = -1;
1110 static gint ett_h225_DisengageConfirm = -1;
1111 static gint ett_h225_DisengageReject = -1;
1112 static gint ett_h225_DisengageRejectReason = -1;
1113 static gint ett_h225_InfoRequest = -1;
1114 static gint ett_h225_InfoRequestResponse = -1;
1115 static gint ett_h225_T_perCallInfo = -1;
1116 static gint ett_h225_T_perCallInfo_item = -1;
1117 static gint ett_h225_SEQUENCE_OF_RTPSession = -1;
1118 static gint ett_h225_SEQUENCE_OF_TransportChannelInfo = -1;
1119 static gint ett_h225_SEQUENCE_OF_ConferenceIdentifier = -1;
1120 static gint ett_h225_T_pdu = -1;
1121 static gint ett_h225_T_pdu_item = -1;
1122 static gint ett_h225_InfoRequestResponseStatus = -1;
1123 static gint ett_h225_InfoRequestAck = -1;
1124 static gint ett_h225_InfoRequestNak = -1;
1125 static gint ett_h225_InfoRequestNakReason = -1;
1126 static gint ett_h225_NonStandardMessage = -1;
1127 static gint ett_h225_UnknownMessageResponse = -1;
1128 static gint ett_h225_RequestInProgress = -1;
1129 static gint ett_h225_ResourcesAvailableIndicate = -1;
1130 static gint ett_h225_ResourcesAvailableConfirm = -1;
1131 static gint ett_h225_ServiceControlIndication = -1;
1132 static gint ett_h225_T_callSpecific = -1;
1133 static gint ett_h225_ServiceControlResponse = -1;
1134 static gint ett_h225_T_result = -1;
1136 /*--- End of included file: packet-h225-ett.c ---*/
1137 #line 111 "../../asn1/h225/packet-h225-template.c"
1139 /* Preferences */
1140 static guint h225_tls_port = TLS_PORT_CS;
1141 static gboolean h225_reassembly = TRUE;
1142 static gboolean h225_h245_in_tree = TRUE;
1143 static gboolean h225_tp_in_tree = TRUE;
1145 /* Global variables */
1146 static guint32 ipv4_address;
1147 static guint32 ipv4_port;
1148 static gboolean contains_faststart = FALSE;
1149 static e_guid_t *call_id_guid;
1151 /* NonStandardParameter */
1152 static const char *nsiOID;
1153 static guint32 h221NonStandard;
1154 static guint32 t35CountryCode;
1155 static guint32 t35Extension;
1156 static guint32 manufacturerCode;
1158 /* TunnelledProtocol */
1159 static const char *tpOID;
1162 /*--- Included file: packet-h225-fn.c ---*/
1163 #line 1 "../../asn1/h225/packet-h225-fn.c"
1164 /*--- Cyclic dependencies ---*/
1166 /* EnumeratedParameter -> Content -> Content/compound -> EnumeratedParameter */
1167 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_);
1169 /* GenericData -> GenericData/parameters -> EnumeratedParameter -> Content -> Content/nested -> GenericData */
1170 int dissect_h225_GenericData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
1175 static int
1176 dissect_h225_ProtocolIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1177 offset = dissect_per_object_identifier(tvb, offset, actx, tree, hf_index, NULL);
1179 return offset;
1184 static int
1185 dissect_h225_T_h245Ip(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1186 #line 323 "../../asn1/h225/h225.cnf"
1187 tvbuff_t *value_tvb;
1189 ipv4_address = 0;
1190 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1191 4, 4, FALSE, &value_tvb);
1193 if (value_tvb)
1194 ipv4_address = tvb_get_ipv4(value_tvb, 0);
1197 return offset;
1202 static int
1203 dissect_h225_T_h245IpPort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1204 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1205 0U, 65535U, &ipv4_port, FALSE);
1207 return offset;
1211 static const per_sequence_t T_h245IpAddress_sequence[] = {
1212 { &hf_h225_h245Ip , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_T_h245Ip },
1213 { &hf_h225_h245IpPort , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_T_h245IpPort },
1214 { NULL, 0, 0, NULL }
1217 static int
1218 dissect_h225_T_h245IpAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1219 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1220 ett_h225_T_h245IpAddress, T_h245IpAddress_sequence);
1222 return offset;
1227 static int
1228 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_) {
1229 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1230 4, 4, FALSE, NULL);
1232 return offset;
1237 static int
1238 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_) {
1239 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1240 0U, 65535U, NULL, FALSE);
1242 return offset;
1246 static const per_sequence_t T_h245Route_sequence_of[1] = {
1247 { &hf_h225_h245Route_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_4 },
1250 static int
1251 dissect_h225_T_h245Route(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1252 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
1253 ett_h225_T_h245Route, T_h245Route_sequence_of);
1255 return offset;
1260 static int
1261 dissect_h225_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1262 offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
1264 return offset;
1268 static const value_string h225_T_h245Routing_vals[] = {
1269 { 0, "strict" },
1270 { 1, "loose" },
1271 { 0, NULL }
1274 static const per_choice_t T_h245Routing_choice[] = {
1275 { 0, &hf_h225_strict , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
1276 { 1, &hf_h225_loose , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
1277 { 0, NULL, 0, NULL }
1280 static int
1281 dissect_h225_T_h245Routing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1282 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1283 ett_h225_T_h245Routing, T_h245Routing_choice,
1284 NULL);
1286 return offset;
1290 static const per_sequence_t T_h245IpSourceRoute_sequence[] = {
1291 { &hf_h225_ip , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_4 },
1292 { &hf_h225_port , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_0_65535 },
1293 { &hf_h225_h245Route , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_T_h245Route },
1294 { &hf_h225_h245Routing , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_T_h245Routing },
1295 { NULL, 0, 0, NULL }
1298 static int
1299 dissect_h225_T_h245IpSourceRoute(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1300 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1301 ett_h225_T_h245IpSourceRoute, T_h245IpSourceRoute_sequence);
1303 return offset;
1308 static int
1309 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_) {
1310 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1311 6, 6, FALSE, NULL);
1313 return offset;
1318 static int
1319 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_) {
1320 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1321 2, 2, FALSE, NULL);
1323 return offset;
1327 static const per_sequence_t T_h245IpxAddress_sequence[] = {
1328 { &hf_h225_node , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_6 },
1329 { &hf_h225_netnum , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_4 },
1330 { &hf_h225_h245IpxPort , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_2 },
1331 { NULL, 0, 0, NULL }
1334 static int
1335 dissect_h225_T_h245IpxAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1336 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1337 ett_h225_T_h245IpxAddress, T_h245IpxAddress_sequence);
1339 return offset;
1344 static int
1345 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_) {
1346 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1347 16, 16, FALSE, NULL);
1349 return offset;
1353 static const per_sequence_t T_h245Ip6Address_sequence[] = {
1354 { &hf_h225_h245Ip6 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_16 },
1355 { &hf_h225_port , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_0_65535 },
1356 { NULL, 0, 0, NULL }
1359 static int
1360 dissect_h225_T_h245Ip6Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1361 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1362 ett_h225_T_h245Ip6Address, T_h245Ip6Address_sequence);
1364 return offset;
1369 static int
1370 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_) {
1371 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1372 1, 20, FALSE, NULL);
1374 return offset;
1379 static int
1380 dissect_h225_T_nsiOID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1381 offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &nsiOID);
1383 return offset;
1388 static int
1389 dissect_h225_T_t35CountryCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1390 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1391 0U, 255U, &t35CountryCode, FALSE);
1393 return offset;
1398 static int
1399 dissect_h225_T_t35Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1400 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1401 0U, 255U, &t35Extension, FALSE);
1403 return offset;
1408 static int
1409 dissect_h225_T_manufacturerCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1410 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1411 0U, 65535U, &manufacturerCode, FALSE);
1413 return offset;
1417 static const per_sequence_t H221NonStandard_sequence[] = {
1418 { &hf_h225_t35CountryCode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_T_t35CountryCode },
1419 { &hf_h225_t35Extension , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_T_t35Extension },
1420 { &hf_h225_manufacturerCode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_T_manufacturerCode },
1421 { NULL, 0, 0, NULL }
1424 static int
1425 dissect_h225_H221NonStandard(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1426 #line 611 "../../asn1/h225/h225.cnf"
1427 t35CountryCode = 0;
1428 t35Extension = 0;
1429 manufacturerCode = 0;
1431 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1432 ett_h225_H221NonStandard, H221NonStandard_sequence);
1434 #line 615 "../../asn1/h225/h225.cnf"
1435 h221NonStandard = ((t35CountryCode * 256) + t35Extension) * 65536 + manufacturerCode;
1436 proto_tree_add_uint(tree, hf_h221Manufacturer, tvb, (offset>>3)-4, 4, h221NonStandard);
1438 return offset;
1442 static const value_string h225_NonStandardIdentifier_vals[] = {
1443 { 0, "object" },
1444 { 1, "h221NonStandard" },
1445 { 0, NULL }
1448 static const per_choice_t NonStandardIdentifier_choice[] = {
1449 { 0, &hf_h225_nsiOID , ASN1_EXTENSION_ROOT , dissect_h225_T_nsiOID },
1450 { 1, &hf_h225_h221NonStandard, ASN1_EXTENSION_ROOT , dissect_h225_H221NonStandard },
1451 { 0, NULL, 0, NULL }
1454 static int
1455 dissect_h225_NonStandardIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1456 #line 592 "../../asn1/h225/h225.cnf"
1457 gint32 value;
1459 nsiOID = "";
1460 h221NonStandard = 0;
1462 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1463 ett_h225_NonStandardIdentifier, NonStandardIdentifier_choice,
1464 &value);
1466 switch (value) {
1467 case 0 : /* object */
1468 nsp_handle = dissector_get_string_handle(nsp_object_dissector_table, nsiOID);
1469 break;
1470 case 1 : /* h221NonStandard */
1471 nsp_handle = dissector_get_uint_handle(nsp_h221_dissector_table, h221NonStandard);
1472 break;
1473 default :
1474 nsp_handle = NULL;
1478 return offset;
1483 static int
1484 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_) {
1485 #line 626 "../../asn1/h225/h225.cnf"
1486 tvbuff_t *next_tvb = NULL;
1488 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1489 NO_BOUND, NO_BOUND, FALSE, &next_tvb);
1491 if (next_tvb && tvb_length(next_tvb)) {
1492 call_dissector((nsp_handle)?nsp_handle:data_handle, next_tvb, actx->pinfo, tree);
1496 return offset;
1500 static const per_sequence_t NonStandardParameter_sequence[] = {
1501 { &hf_h225_nonStandardIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_NonStandardIdentifier },
1502 { &hf_h225_nsp_data , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_T_nsp_data },
1503 { NULL, 0, 0, NULL }
1507 dissect_h225_NonStandardParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1508 #line 624 "../../asn1/h225/h225.cnf"
1509 nsp_handle = NULL;
1511 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1512 ett_h225_NonStandardParameter, NonStandardParameter_sequence);
1514 return offset;
1518 static const value_string h225_H245TransportAddress_vals[] = {
1519 { 0, "ipAddress" },
1520 { 1, "ipSourceRoute" },
1521 { 2, "ipxAddress" },
1522 { 3, "ip6Address" },
1523 { 4, "netBios" },
1524 { 5, "nsap" },
1525 { 6, "nonStandardAddress" },
1526 { 0, NULL }
1529 static const per_choice_t H245TransportAddress_choice[] = {
1530 { 0, &hf_h225_h245IpAddress , ASN1_EXTENSION_ROOT , dissect_h225_T_h245IpAddress },
1531 { 1, &hf_h225_h245IpSourceRoute, ASN1_EXTENSION_ROOT , dissect_h225_T_h245IpSourceRoute },
1532 { 2, &hf_h225_h245IpxAddress , ASN1_EXTENSION_ROOT , dissect_h225_T_h245IpxAddress },
1533 { 3, &hf_h225_h245Ip6Address , ASN1_EXTENSION_ROOT , dissect_h225_T_h245Ip6Address },
1534 { 4, &hf_h225_netBios , ASN1_EXTENSION_ROOT , dissect_h225_OCTET_STRING_SIZE_16 },
1535 { 5, &hf_h225_nsap , ASN1_EXTENSION_ROOT , dissect_h225_OCTET_STRING_SIZE_1_20 },
1536 { 6, &hf_h225_nonStandardAddress, ASN1_EXTENSION_ROOT , dissect_h225_NonStandardParameter },
1537 { 0, NULL, 0, NULL }
1540 static int
1541 dissect_h225_H245TransportAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1542 #line 433 "../../asn1/h225/h225.cnf"
1543 ipv4_address=0;
1544 ipv4_port=0;
1547 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1548 ett_h225_H245TransportAddress, H245TransportAddress_choice,
1549 NULL);
1551 #line 439 "../../asn1/h225/h225.cnf"
1552 /* we need this info for TAPing */
1553 h225_pi->is_h245 = TRUE;
1554 h225_pi->h245_address = ipv4_address;
1555 h225_pi->h245_port = ipv4_port;
1557 if((!actx->pinfo->fd->flags.visited) && ipv4_address!=0 && ipv4_port!=0 && h245_handle){
1558 address src_addr;
1559 conversation_t *conv=NULL;
1561 SET_ADDRESS(&src_addr, AT_IPv4, 4, &ipv4_address);
1563 conv=find_conversation(actx->pinfo->fd->num, &src_addr, &src_addr, PT_TCP, ipv4_port, ipv4_port, NO_ADDR_B|NO_PORT_B);
1564 if(!conv){
1565 conv=conversation_new(actx->pinfo->fd->num, &src_addr, &src_addr, PT_TCP, ipv4_port, ipv4_port, NO_ADDR2|NO_PORT2);
1566 conversation_set_dissector(conv, h245_handle);
1571 return offset;
1576 static int
1577 dissect_h225_DialedDigits(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1578 #line 305 "../../asn1/h225/h225.cnf"
1579 tvbuff_t *value_tvb = NULL;
1580 guint len = 0;
1582 offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
1583 1, 128, FALSE, "0123456789#*,", 13,
1584 &value_tvb);
1586 if (h225_pi && h225_pi->is_destinationInfo == TRUE) {
1587 if (value_tvb) {
1588 len = tvb_length(value_tvb);
1589 /* XXX - should this be allocated as an ephemeral string? */
1590 if (len > sizeof h225_pi->dialedDigits - 1)
1591 len = sizeof h225_pi->dialedDigits - 1;
1592 tvb_memcpy(value_tvb, (guint8*)h225_pi->dialedDigits, 0, len);
1594 h225_pi->dialedDigits[len] = '\0';
1595 h225_pi->is_destinationInfo = FALSE;
1599 return offset;
1604 static int
1605 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_) {
1606 offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
1607 1, 256, FALSE);
1609 return offset;
1614 static int
1615 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_) {
1616 offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
1617 1, 512, FALSE);
1619 return offset;
1624 static int
1625 dissect_h225_IpV4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1626 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1627 4, 4, FALSE, NULL);
1629 return offset;
1633 static const per_sequence_t T_ipAddress_sequence[] = {
1634 { &hf_h225_ipV4 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_IpV4 },
1635 { &hf_h225_ipV4_port , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_0_65535 },
1636 { NULL, 0, 0, NULL }
1639 static int
1640 dissect_h225_T_ipAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1641 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1642 ett_h225_T_ipAddress, T_ipAddress_sequence);
1644 return offset;
1648 static const per_sequence_t T_route_sequence_of[1] = {
1649 { &hf_h225_route_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_4 },
1652 static int
1653 dissect_h225_T_route(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1654 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
1655 ett_h225_T_route, T_route_sequence_of);
1657 return offset;
1661 static const value_string h225_T_routing_vals[] = {
1662 { 0, "strict" },
1663 { 1, "loose" },
1664 { 0, NULL }
1667 static const per_choice_t T_routing_choice[] = {
1668 { 0, &hf_h225_strict , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
1669 { 1, &hf_h225_loose , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
1670 { 0, NULL, 0, NULL }
1673 static int
1674 dissect_h225_T_routing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1675 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1676 ett_h225_T_routing, T_routing_choice,
1677 NULL);
1679 return offset;
1683 static const per_sequence_t T_ipSourceRoute_sequence[] = {
1684 { &hf_h225_src_route_ipV4 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_4 },
1685 { &hf_h225_ipV4_src_port , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_0_65535 },
1686 { &hf_h225_route , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_T_route },
1687 { &hf_h225_routing , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_T_routing },
1688 { NULL, 0, 0, NULL }
1691 static int
1692 dissect_h225_T_ipSourceRoute(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1693 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1694 ett_h225_T_ipSourceRoute, T_ipSourceRoute_sequence);
1696 return offset;
1700 static const per_sequence_t T_ipxAddress_sequence[] = {
1701 { &hf_h225_node , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_6 },
1702 { &hf_h225_netnum , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_4 },
1703 { &hf_h225_ipx_port , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_2 },
1704 { NULL, 0, 0, NULL }
1707 static int
1708 dissect_h225_T_ipxAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1709 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1710 ett_h225_T_ipxAddress, T_ipxAddress_sequence);
1712 return offset;
1716 static const per_sequence_t T_ip6Address_sequence[] = {
1717 { &hf_h225_ipV6 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_16 },
1718 { &hf_h225_ipV6_port , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_0_65535 },
1719 { NULL, 0, 0, NULL }
1722 static int
1723 dissect_h225_T_ip6Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1724 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1725 ett_h225_T_ip6Address, T_ip6Address_sequence);
1727 return offset;
1731 const value_string h225_TransportAddress_vals[] = {
1732 { 0, "ipAddress" },
1733 { 1, "ipSourceRoute" },
1734 { 2, "ipxAddress" },
1735 { 3, "ip6Address" },
1736 { 4, "netBios" },
1737 { 5, "nsap" },
1738 { 6, "nonStandardAddress" },
1739 { 0, NULL }
1742 static const per_choice_t TransportAddress_choice[] = {
1743 { 0, &hf_h225_ipAddress , ASN1_EXTENSION_ROOT , dissect_h225_T_ipAddress },
1744 { 1, &hf_h225_ipSourceRoute , ASN1_EXTENSION_ROOT , dissect_h225_T_ipSourceRoute },
1745 { 2, &hf_h225_ipxAddress , ASN1_EXTENSION_ROOT , dissect_h225_T_ipxAddress },
1746 { 3, &hf_h225_ip6Address , ASN1_EXTENSION_ROOT , dissect_h225_T_ip6Address },
1747 { 4, &hf_h225_netBios , ASN1_EXTENSION_ROOT , dissect_h225_OCTET_STRING_SIZE_16 },
1748 { 5, &hf_h225_nsap , ASN1_EXTENSION_ROOT , dissect_h225_OCTET_STRING_SIZE_1_20 },
1749 { 6, &hf_h225_nonStandardAddress, ASN1_EXTENSION_ROOT , dissect_h225_NonStandardParameter },
1750 { 0, NULL, 0, NULL }
1754 dissect_h225_TransportAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1755 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1756 ett_h225_TransportAddress, TransportAddress_choice,
1757 NULL);
1759 return offset;
1763 const value_string h225_PublicTypeOfNumber_vals[] = {
1764 { 0, "unknown" },
1765 { 1, "internationalNumber" },
1766 { 2, "nationalNumber" },
1767 { 3, "networkSpecificNumber" },
1768 { 4, "subscriberNumber" },
1769 { 5, "abbreviatedNumber" },
1770 { 0, NULL }
1773 static const per_choice_t PublicTypeOfNumber_choice[] = {
1774 { 0, &hf_h225_unknown , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
1775 { 1, &hf_h225_internationalNumber, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
1776 { 2, &hf_h225_nationalNumber , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
1777 { 3, &hf_h225_networkSpecificNumber, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
1778 { 4, &hf_h225_subscriberNumber, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
1779 { 5, &hf_h225_abbreviatedNumber, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
1780 { 0, NULL, 0, NULL }
1784 dissect_h225_PublicTypeOfNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1785 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1786 ett_h225_PublicTypeOfNumber, PublicTypeOfNumber_choice,
1787 NULL);
1789 return offset;
1794 static int
1795 dissect_h225_NumberDigits(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1796 offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
1797 1, 128, FALSE, "0123456789#*,", 13,
1798 NULL);
1800 return offset;
1804 static const per_sequence_t PublicPartyNumber_sequence[] = {
1805 { &hf_h225_publicTypeOfNumber, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_PublicTypeOfNumber },
1806 { &hf_h225_publicNumberDigits, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_NumberDigits },
1807 { NULL, 0, 0, NULL }
1810 static int
1811 dissect_h225_PublicPartyNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1812 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1813 ett_h225_PublicPartyNumber, PublicPartyNumber_sequence);
1815 return offset;
1819 const value_string h225_PrivateTypeOfNumber_vals[] = {
1820 { 0, "unknown" },
1821 { 1, "level2RegionalNumber" },
1822 { 2, "level1RegionalNumber" },
1823 { 3, "pISNSpecificNumber" },
1824 { 4, "localNumber" },
1825 { 5, "abbreviatedNumber" },
1826 { 0, NULL }
1829 static const per_choice_t PrivateTypeOfNumber_choice[] = {
1830 { 0, &hf_h225_unknown , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
1831 { 1, &hf_h225_level2RegionalNumber, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
1832 { 2, &hf_h225_level1RegionalNumber, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
1833 { 3, &hf_h225_pISNSpecificNumber, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
1834 { 4, &hf_h225_localNumber , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
1835 { 5, &hf_h225_abbreviatedNumber, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
1836 { 0, NULL, 0, NULL }
1840 dissect_h225_PrivateTypeOfNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1841 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1842 ett_h225_PrivateTypeOfNumber, PrivateTypeOfNumber_choice,
1843 NULL);
1845 return offset;
1849 static const per_sequence_t PrivatePartyNumber_sequence[] = {
1850 { &hf_h225_privateTypeOfNumber, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_PrivateTypeOfNumber },
1851 { &hf_h225_privateNumberDigits, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_NumberDigits },
1852 { NULL, 0, 0, NULL }
1855 static int
1856 dissect_h225_PrivatePartyNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1857 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1858 ett_h225_PrivatePartyNumber, PrivatePartyNumber_sequence);
1860 return offset;
1864 const value_string h225_PartyNumber_vals[] = {
1865 { 0, "e164Number" },
1866 { 1, "dataPartyNumber" },
1867 { 2, "telexPartyNumber" },
1868 { 3, "privateNumber" },
1869 { 4, "nationalStandardPartyNumber" },
1870 { 0, NULL }
1873 static const per_choice_t PartyNumber_choice[] = {
1874 { 0, &hf_h225_e164Number , ASN1_EXTENSION_ROOT , dissect_h225_PublicPartyNumber },
1875 { 1, &hf_h225_dataPartyNumber, ASN1_EXTENSION_ROOT , dissect_h225_NumberDigits },
1876 { 2, &hf_h225_telexPartyNumber, ASN1_EXTENSION_ROOT , dissect_h225_NumberDigits },
1877 { 3, &hf_h225_privateNumber , ASN1_EXTENSION_ROOT , dissect_h225_PrivatePartyNumber },
1878 { 4, &hf_h225_nationalStandardPartyNumber, ASN1_EXTENSION_ROOT , dissect_h225_NumberDigits },
1879 { 0, NULL, 0, NULL }
1883 dissect_h225_PartyNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1884 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1885 ett_h225_PartyNumber, PartyNumber_choice,
1886 NULL);
1888 return offset;
1893 static int
1894 dissect_h225_TBCD_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1895 #line 718 "../../asn1/h225/h225.cnf"
1896 int min_len, max_len;
1897 gboolean has_extension;
1899 get_size_constraint_from_stack(actx, "TBCD_STRING", &min_len, &max_len, &has_extension);
1901 offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
1902 min_len, max_len, has_extension, "0123456789#*abc", 15,
1903 NULL);
1905 return offset;
1910 static int
1911 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_) {
1912 offset = dissect_per_size_constrained_type(tvb, offset, actx, tree, hf_index, dissect_h225_TBCD_STRING,
1913 "TBCD_STRING", 3, 16, FALSE);
1915 return offset;
1920 static int
1921 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_) {
1922 offset = dissect_per_size_constrained_type(tvb, offset, actx, tree, hf_index, dissect_h225_TBCD_STRING,
1923 "TBCD_STRING", 16, 16, FALSE);
1925 return offset;
1930 static int
1931 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_) {
1932 offset = dissect_per_size_constrained_type(tvb, offset, actx, tree, hf_index, dissect_h225_TBCD_STRING,
1933 "TBCD_STRING", 1, 4, FALSE);
1935 return offset;
1939 static const value_string h225_T_system_id_vals[] = {
1940 { 0, "sid" },
1941 { 1, "mid" },
1942 { 0, NULL }
1945 static const per_choice_t T_system_id_choice[] = {
1946 { 0, &hf_h225_sid , ASN1_EXTENSION_ROOT , dissect_h225_TBCD_STRING_SIZE_1_4 },
1947 { 1, &hf_h225_mid , ASN1_EXTENSION_ROOT , dissect_h225_TBCD_STRING_SIZE_1_4 },
1948 { 0, NULL, 0, NULL }
1951 static int
1952 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_) {
1953 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1954 ett_h225_T_system_id, T_system_id_choice,
1955 NULL);
1957 return offset;
1962 static int
1963 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_) {
1964 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1965 1, 1, FALSE, NULL);
1967 return offset;
1971 static const per_sequence_t ANSI_41_UIM_sequence[] = {
1972 { &hf_h225_imsi , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TBCD_STRING_SIZE_3_16 },
1973 { &hf_h225_min , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TBCD_STRING_SIZE_3_16 },
1974 { &hf_h225_mdn , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TBCD_STRING_SIZE_3_16 },
1975 { &hf_h225_msisdn , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TBCD_STRING_SIZE_3_16 },
1976 { &hf_h225_esn , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TBCD_STRING_SIZE_16 },
1977 { &hf_h225_mscid , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TBCD_STRING_SIZE_3_16 },
1978 { &hf_h225_system_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_T_system_id },
1979 { &hf_h225_systemMyTypeCode, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_OCTET_STRING_SIZE_1 },
1980 { &hf_h225_systemAccessType, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_OCTET_STRING_SIZE_1 },
1981 { &hf_h225_qualificationInformationCode, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_OCTET_STRING_SIZE_1 },
1982 { &hf_h225_sesn , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TBCD_STRING_SIZE_16 },
1983 { &hf_h225_soc , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TBCD_STRING_SIZE_3_16 },
1984 { NULL, 0, 0, NULL }
1987 static int
1988 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_) {
1989 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1990 ett_h225_ANSI_41_UIM, ANSI_41_UIM_sequence);
1992 return offset;
1997 static int
1998 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_) {
1999 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2000 1, 4, FALSE, NULL);
2002 return offset;
2007 static int
2008 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_) {
2009 offset = dissect_per_size_constrained_type(tvb, offset, actx, tree, hf_index, dissect_h225_TBCD_STRING,
2010 "TBCD_STRING", 15, 16, FALSE);
2012 return offset;
2016 static const per_sequence_t GSM_UIM_sequence[] = {
2017 { &hf_h225_imsi , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TBCD_STRING_SIZE_3_16 },
2018 { &hf_h225_tmsi , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_OCTET_STRING_SIZE_1_4 },
2019 { &hf_h225_msisdn , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TBCD_STRING_SIZE_3_16 },
2020 { &hf_h225_imei , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TBCD_STRING_SIZE_15_16 },
2021 { &hf_h225_hplmn , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TBCD_STRING_SIZE_1_4 },
2022 { &hf_h225_vplmn , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TBCD_STRING_SIZE_1_4 },
2023 { NULL, 0, 0, NULL }
2026 static int
2027 dissect_h225_GSM_UIM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2028 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2029 ett_h225_GSM_UIM, GSM_UIM_sequence);
2031 return offset;
2035 static const value_string h225_MobileUIM_vals[] = {
2036 { 0, "ansi-41-uim" },
2037 { 1, "gsm-uim" },
2038 { 0, NULL }
2041 static const per_choice_t MobileUIM_choice[] = {
2042 { 0, &hf_h225_ansi_41_uim , ASN1_EXTENSION_ROOT , dissect_h225_ANSI_41_UIM },
2043 { 1, &hf_h225_gsm_uim , ASN1_EXTENSION_ROOT , dissect_h225_GSM_UIM },
2044 { 0, NULL, 0, NULL }
2047 static int
2048 dissect_h225_MobileUIM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2049 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2050 ett_h225_MobileUIM, MobileUIM_choice,
2051 NULL);
2053 return offset;
2057 static const value_string h225_NatureOfAddress_vals[] = {
2058 { 0, "unknown" },
2059 { 1, "subscriberNumber" },
2060 { 2, "nationalNumber" },
2061 { 3, "internationalNumber" },
2062 { 4, "networkSpecificNumber" },
2063 { 5, "routingNumberNationalFormat" },
2064 { 6, "routingNumberNetworkSpecificFormat" },
2065 { 7, "routingNumberWithCalledDirectoryNumber" },
2066 { 0, NULL }
2069 static const per_choice_t NatureOfAddress_choice[] = {
2070 { 0, &hf_h225_unknown , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
2071 { 1, &hf_h225_subscriberNumber, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
2072 { 2, &hf_h225_nationalNumber , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
2073 { 3, &hf_h225_internationalNumber, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
2074 { 4, &hf_h225_networkSpecificNumber, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
2075 { 5, &hf_h225_routingNumberNationalFormat, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
2076 { 6, &hf_h225_routingNumberNetworkSpecificFormat, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
2077 { 7, &hf_h225_routingNumberWithCalledDirectoryNumber, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
2078 { 0, NULL, 0, NULL }
2081 static int
2082 dissect_h225_NatureOfAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2083 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2084 ett_h225_NatureOfAddress, NatureOfAddress_choice,
2085 NULL);
2087 return offset;
2092 static int
2093 dissect_h225_IsupDigits(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2094 offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
2095 1, 128, FALSE, "0123456789ABCDE", 15,
2096 NULL);
2098 return offset;
2102 static const per_sequence_t IsupPublicPartyNumber_sequence[] = {
2103 { &hf_h225_natureOfAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_NatureOfAddress },
2104 { &hf_h225_address , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_IsupDigits },
2105 { NULL, 0, 0, NULL }
2108 static int
2109 dissect_h225_IsupPublicPartyNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2110 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2111 ett_h225_IsupPublicPartyNumber, IsupPublicPartyNumber_sequence);
2113 return offset;
2117 static const per_sequence_t IsupPrivatePartyNumber_sequence[] = {
2118 { &hf_h225_privateTypeOfNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_PrivateTypeOfNumber },
2119 { &hf_h225_address , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_IsupDigits },
2120 { NULL, 0, 0, NULL }
2123 static int
2124 dissect_h225_IsupPrivatePartyNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2125 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2126 ett_h225_IsupPrivatePartyNumber, IsupPrivatePartyNumber_sequence);
2128 return offset;
2132 static const value_string h225_IsupNumber_vals[] = {
2133 { 0, "e164Number" },
2134 { 1, "dataPartyNumber" },
2135 { 2, "telexPartyNumber" },
2136 { 3, "privateNumber" },
2137 { 4, "nationalStandardPartyNumber" },
2138 { 0, NULL }
2141 static const per_choice_t IsupNumber_choice[] = {
2142 { 0, &hf_h225_isupE164Number , ASN1_EXTENSION_ROOT , dissect_h225_IsupPublicPartyNumber },
2143 { 1, &hf_h225_isupDataPartyNumber, ASN1_EXTENSION_ROOT , dissect_h225_IsupDigits },
2144 { 2, &hf_h225_isupTelexPartyNumber, ASN1_EXTENSION_ROOT , dissect_h225_IsupDigits },
2145 { 3, &hf_h225_isupPrivateNumber, ASN1_EXTENSION_ROOT , dissect_h225_IsupPrivatePartyNumber },
2146 { 4, &hf_h225_isupNationalStandardPartyNumber, ASN1_EXTENSION_ROOT , dissect_h225_IsupDigits },
2147 { 0, NULL, 0, NULL }
2150 static int
2151 dissect_h225_IsupNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2152 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2153 ett_h225_IsupNumber, IsupNumber_choice,
2154 NULL);
2156 return offset;
2160 const value_string AliasAddress_vals[] = {
2161 { 0, "dialledDigits" },
2162 { 1, "h323-ID" },
2163 { 2, "url-ID" },
2164 { 3, "transportID" },
2165 { 4, "email-ID" },
2166 { 5, "partyNumber" },
2167 { 6, "mobileUIM" },
2168 { 7, "isupNumber" },
2169 { 0, NULL }
2172 static const per_choice_t AliasAddress_choice[] = {
2173 { 0, &hf_h225_dialledDigits , ASN1_EXTENSION_ROOT , dissect_h225_DialedDigits },
2174 { 1, &hf_h225_h323_ID , ASN1_EXTENSION_ROOT , dissect_h225_BMPString_SIZE_1_256 },
2175 { 2, &hf_h225_url_ID , ASN1_NOT_EXTENSION_ROOT, dissect_h225_IA5String_SIZE_1_512 },
2176 { 3, &hf_h225_transportID , ASN1_NOT_EXTENSION_ROOT, dissect_h225_TransportAddress },
2177 { 4, &hf_h225_email_ID , ASN1_NOT_EXTENSION_ROOT, dissect_h225_IA5String_SIZE_1_512 },
2178 { 5, &hf_h225_partyNumber , ASN1_NOT_EXTENSION_ROOT, dissect_h225_PartyNumber },
2179 { 6, &hf_h225_mobileUIM , ASN1_NOT_EXTENSION_ROOT, dissect_h225_MobileUIM },
2180 { 7, &hf_h225_isupNumber , ASN1_NOT_EXTENSION_ROOT, dissect_h225_IsupNumber },
2181 { 0, NULL, 0, NULL }
2185 dissect_h225_AliasAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2186 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2187 ett_h225_AliasAddress, AliasAddress_choice,
2188 NULL);
2190 return offset;
2194 static const per_sequence_t SEQUENCE_OF_AliasAddress_sequence_of[1] = {
2195 { &hf_h225_alertingAddress_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_AliasAddress },
2198 static int
2199 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_) {
2200 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
2201 ett_h225_SEQUENCE_OF_AliasAddress, SEQUENCE_OF_AliasAddress_sequence_of);
2203 return offset;
2208 static int
2209 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_) {
2210 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2211 1, 256, FALSE, NULL);
2213 return offset;
2218 static int
2219 dissect_h225_OBJECT_IDENTIFIER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2220 offset = dissect_per_object_identifier(tvb, offset, actx, tree, hf_index, NULL);
2222 return offset;
2226 static const per_sequence_t VendorIdentifier_sequence[] = {
2227 { &hf_h225_vendorIdentifier_vendor, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_H221NonStandard },
2228 { &hf_h225_productId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_OCTET_STRING_SIZE_1_256 },
2229 { &hf_h225_versionId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_OCTET_STRING_SIZE_1_256 },
2230 { &hf_h225_enterpriseNumber, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_OBJECT_IDENTIFIER },
2231 { NULL, 0, 0, NULL }
2234 static int
2235 dissect_h225_VendorIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2236 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2237 ett_h225_VendorIdentifier, VendorIdentifier_sequence);
2239 return offset;
2243 static const per_sequence_t GatekeeperInfo_sequence[] = {
2244 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
2245 { NULL, 0, 0, NULL }
2248 static int
2249 dissect_h225_GatekeeperInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2250 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2251 ett_h225_GatekeeperInfo, GatekeeperInfo_sequence);
2253 return offset;
2259 dissect_h225_BandWidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2260 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2261 0U, 4294967295U, NULL, FALSE);
2263 return offset;
2268 static int
2269 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_) {
2270 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2271 1U, 256U, NULL, FALSE);
2273 return offset;
2277 static const per_sequence_t DataRate_sequence[] = {
2278 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
2279 { &hf_h225_channelRate , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BandWidth },
2280 { &hf_h225_channelMultiplier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_INTEGER_1_256 },
2281 { NULL, 0, 0, NULL }
2284 static int
2285 dissect_h225_DataRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2286 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2287 ett_h225_DataRate, DataRate_sequence);
2289 return offset;
2293 static const per_sequence_t SEQUENCE_OF_DataRate_sequence_of[1] = {
2294 { &hf_h225_dataRatesSupported_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_DataRate },
2297 static int
2298 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_) {
2299 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
2300 ett_h225_SEQUENCE_OF_DataRate, SEQUENCE_OF_DataRate_sequence_of);
2302 return offset;
2306 static const per_sequence_t SupportedPrefix_sequence[] = {
2307 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
2308 { &hf_h225_prefix , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_AliasAddress },
2309 { NULL, 0, 0, NULL }
2312 static int
2313 dissect_h225_SupportedPrefix(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2314 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2315 ett_h225_SupportedPrefix, SupportedPrefix_sequence);
2317 return offset;
2321 static const per_sequence_t SEQUENCE_OF_SupportedPrefix_sequence_of[1] = {
2322 { &hf_h225_supportedPrefixes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_SupportedPrefix },
2325 static int
2326 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_) {
2327 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
2328 ett_h225_SEQUENCE_OF_SupportedPrefix, SEQUENCE_OF_SupportedPrefix_sequence_of);
2330 return offset;
2334 static const per_sequence_t H310Caps_sequence[] = {
2335 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
2336 { &hf_h225_dataRatesSupported, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_DataRate },
2337 { &hf_h225_supportedPrefixes, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_SupportedPrefix },
2338 { NULL, 0, 0, NULL }
2341 static int
2342 dissect_h225_H310Caps(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2343 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2344 ett_h225_H310Caps, H310Caps_sequence);
2346 return offset;
2350 static const per_sequence_t H320Caps_sequence[] = {
2351 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
2352 { &hf_h225_dataRatesSupported, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_DataRate },
2353 { &hf_h225_supportedPrefixes, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_SupportedPrefix },
2354 { NULL, 0, 0, NULL }
2357 static int
2358 dissect_h225_H320Caps(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2359 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2360 ett_h225_H320Caps, H320Caps_sequence);
2362 return offset;
2366 static const per_sequence_t H321Caps_sequence[] = {
2367 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
2368 { &hf_h225_dataRatesSupported, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_DataRate },
2369 { &hf_h225_supportedPrefixes, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_SupportedPrefix },
2370 { NULL, 0, 0, NULL }
2373 static int
2374 dissect_h225_H321Caps(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2375 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2376 ett_h225_H321Caps, H321Caps_sequence);
2378 return offset;
2382 static const per_sequence_t H322Caps_sequence[] = {
2383 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
2384 { &hf_h225_dataRatesSupported, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_DataRate },
2385 { &hf_h225_supportedPrefixes, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_SupportedPrefix },
2386 { NULL, 0, 0, NULL }
2389 static int
2390 dissect_h225_H322Caps(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2391 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2392 ett_h225_H322Caps, H322Caps_sequence);
2394 return offset;
2398 static const per_sequence_t H323Caps_sequence[] = {
2399 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
2400 { &hf_h225_dataRatesSupported, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_DataRate },
2401 { &hf_h225_supportedPrefixes, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_SupportedPrefix },
2402 { NULL, 0, 0, NULL }
2405 static int
2406 dissect_h225_H323Caps(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2407 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2408 ett_h225_H323Caps, H323Caps_sequence);
2410 return offset;
2414 static const per_sequence_t H324Caps_sequence[] = {
2415 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
2416 { &hf_h225_dataRatesSupported, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_DataRate },
2417 { &hf_h225_supportedPrefixes, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_SupportedPrefix },
2418 { NULL, 0, 0, NULL }
2421 static int
2422 dissect_h225_H324Caps(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2423 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2424 ett_h225_H324Caps, H324Caps_sequence);
2426 return offset;
2430 static const per_sequence_t VoiceCaps_sequence[] = {
2431 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
2432 { &hf_h225_dataRatesSupported, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_DataRate },
2433 { &hf_h225_supportedPrefixes, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_SupportedPrefix },
2434 { NULL, 0, 0, NULL }
2437 static int
2438 dissect_h225_VoiceCaps(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2439 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2440 ett_h225_VoiceCaps, VoiceCaps_sequence);
2442 return offset;
2446 static const per_sequence_t T120OnlyCaps_sequence[] = {
2447 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
2448 { &hf_h225_dataRatesSupported, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_DataRate },
2449 { &hf_h225_supportedPrefixes, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_SupportedPrefix },
2450 { NULL, 0, 0, NULL }
2453 static int
2454 dissect_h225_T120OnlyCaps(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2455 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2456 ett_h225_T120OnlyCaps, T120OnlyCaps_sequence);
2458 return offset;
2462 static const per_sequence_t NonStandardProtocol_sequence[] = {
2463 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
2464 { &hf_h225_dataRatesSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_DataRate },
2465 { &hf_h225_supportedPrefixes, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_SupportedPrefix },
2466 { NULL, 0, 0, NULL }
2469 static int
2470 dissect_h225_NonStandardProtocol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2471 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2472 ett_h225_NonStandardProtocol, NonStandardProtocol_sequence);
2474 return offset;
2478 static const per_sequence_t T38FaxAnnexbOnlyCaps_sequence[] = {
2479 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
2480 { &hf_h225_dataRatesSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_DataRate },
2481 { &hf_h225_supportedPrefixes, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_SupportedPrefix },
2482 { &hf_h225_t38FaxProtocol , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
2483 { &hf_h225_t38FaxProfile , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T38FaxProfile },
2484 { NULL, 0, 0, NULL }
2487 static int
2488 dissect_h225_T38FaxAnnexbOnlyCaps(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2489 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2490 ett_h225_T38FaxAnnexbOnlyCaps, T38FaxAnnexbOnlyCaps_sequence);
2492 return offset;
2496 static const per_sequence_t SIPCaps_sequence[] = {
2497 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
2498 { &hf_h225_dataRatesSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_DataRate },
2499 { &hf_h225_supportedPrefixes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_SupportedPrefix },
2500 { NULL, 0, 0, NULL }
2503 static int
2504 dissect_h225_SIPCaps(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2505 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2506 ett_h225_SIPCaps, SIPCaps_sequence);
2508 return offset;
2512 const value_string h225_SupportedProtocols_vals[] = {
2513 { 0, "nonStandardData" },
2514 { 1, "h310" },
2515 { 2, "h320" },
2516 { 3, "h321" },
2517 { 4, "h322" },
2518 { 5, "h323" },
2519 { 6, "h324" },
2520 { 7, "voice" },
2521 { 8, "t120-only" },
2522 { 9, "nonStandardProtocol" },
2523 { 10, "t38FaxAnnexbOnly" },
2524 { 11, "sip" },
2525 { 0, NULL }
2528 static const per_choice_t SupportedProtocols_choice[] = {
2529 { 0, &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , dissect_h225_NonStandardParameter },
2530 { 1, &hf_h225_h310 , ASN1_EXTENSION_ROOT , dissect_h225_H310Caps },
2531 { 2, &hf_h225_h320 , ASN1_EXTENSION_ROOT , dissect_h225_H320Caps },
2532 { 3, &hf_h225_h321 , ASN1_EXTENSION_ROOT , dissect_h225_H321Caps },
2533 { 4, &hf_h225_h322 , ASN1_EXTENSION_ROOT , dissect_h225_H322Caps },
2534 { 5, &hf_h225_h323 , ASN1_EXTENSION_ROOT , dissect_h225_H323Caps },
2535 { 6, &hf_h225_h324 , ASN1_EXTENSION_ROOT , dissect_h225_H324Caps },
2536 { 7, &hf_h225_voice , ASN1_EXTENSION_ROOT , dissect_h225_VoiceCaps },
2537 { 8, &hf_h225_t120_only , ASN1_EXTENSION_ROOT , dissect_h225_T120OnlyCaps },
2538 { 9, &hf_h225_nonStandardProtocol, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NonStandardProtocol },
2539 { 10, &hf_h225_t38FaxAnnexbOnly, ASN1_NOT_EXTENSION_ROOT, dissect_h225_T38FaxAnnexbOnlyCaps },
2540 { 11, &hf_h225_sip , ASN1_NOT_EXTENSION_ROOT, dissect_h225_SIPCaps },
2541 { 0, NULL, 0, NULL }
2545 dissect_h225_SupportedProtocols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2546 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2547 ett_h225_SupportedProtocols, SupportedProtocols_choice,
2548 NULL);
2550 return offset;
2554 static const per_sequence_t SEQUENCE_OF_SupportedProtocols_sequence_of[1] = {
2555 { &hf_h225_desiredProtocols_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_SupportedProtocols },
2558 static int
2559 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_) {
2560 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
2561 ett_h225_SEQUENCE_OF_SupportedProtocols, SEQUENCE_OF_SupportedProtocols_sequence_of);
2563 return offset;
2567 static const per_sequence_t GatewayInfo_sequence[] = {
2568 { &hf_h225_protocol , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_SupportedProtocols },
2569 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
2570 { NULL, 0, 0, NULL }
2573 static int
2574 dissect_h225_GatewayInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2575 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2576 ett_h225_GatewayInfo, GatewayInfo_sequence);
2578 return offset;
2582 static const per_sequence_t McuInfo_sequence[] = {
2583 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
2584 { &hf_h225_protocol , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_SupportedProtocols },
2585 { NULL, 0, 0, NULL }
2588 static int
2589 dissect_h225_McuInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2590 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2591 ett_h225_McuInfo, McuInfo_sequence);
2593 return offset;
2597 static const per_sequence_t TerminalInfo_sequence[] = {
2598 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
2599 { NULL, 0, 0, NULL }
2602 static int
2603 dissect_h225_TerminalInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2604 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2605 ett_h225_TerminalInfo, TerminalInfo_sequence);
2607 return offset;
2612 static int
2613 dissect_h225_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2614 offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
2616 return offset;
2621 static int
2622 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_) {
2623 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2624 32, 32, FALSE, NULL);
2626 return offset;
2631 static int
2632 dissect_h225_T_tunnelledProtocolObjectID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2633 offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &tpOID);
2635 return offset;
2640 static int
2641 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_) {
2642 offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
2643 1, 64, FALSE);
2645 return offset;
2649 static const per_sequence_t TunnelledProtocolAlternateIdentifier_sequence[] = {
2650 { &hf_h225_protocolType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_IA5String_SIZE_1_64 },
2651 { &hf_h225_protocolVariant, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_IA5String_SIZE_1_64 },
2652 { NULL, 0, 0, NULL }
2655 static int
2656 dissect_h225_TunnelledProtocolAlternateIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2657 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2658 ett_h225_TunnelledProtocolAlternateIdentifier, TunnelledProtocolAlternateIdentifier_sequence);
2660 return offset;
2664 static const value_string h225_TunnelledProtocol_id_vals[] = {
2665 { 0, "tunnelledProtocolObjectID" },
2666 { 1, "tunnelledProtocolAlternateID" },
2667 { 0, NULL }
2670 static const per_choice_t TunnelledProtocol_id_choice[] = {
2671 { 0, &hf_h225_tunnelledProtocolObjectID, ASN1_EXTENSION_ROOT , dissect_h225_T_tunnelledProtocolObjectID },
2672 { 1, &hf_h225_tunnelledProtocolAlternateID, ASN1_EXTENSION_ROOT , dissect_h225_TunnelledProtocolAlternateIdentifier },
2673 { 0, NULL, 0, NULL }
2676 static int
2677 dissect_h225_TunnelledProtocol_id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2678 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2679 ett_h225_TunnelledProtocol_id, TunnelledProtocol_id_choice,
2680 NULL);
2682 return offset;
2686 static const per_sequence_t TunnelledProtocol_sequence[] = {
2687 { &hf_h225_tunnelledProtocol_id, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_TunnelledProtocol_id },
2688 { &hf_h225_subIdentifier , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_IA5String_SIZE_1_64 },
2689 { NULL, 0, 0, NULL }
2693 dissect_h225_TunnelledProtocol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2694 #line 569 "../../asn1/h225/h225.cnf"
2695 tpOID = "";
2697 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2698 ett_h225_TunnelledProtocol, TunnelledProtocol_sequence);
2700 #line 571 "../../asn1/h225/h225.cnf"
2701 tp_handle = dissector_get_string_handle(tp_dissector_table, tpOID);
2703 return offset;
2707 static const per_sequence_t SEQUENCE_OF_TunnelledProtocol_sequence_of[1] = {
2708 { &hf_h225_supportedTunnelledProtocols_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_TunnelledProtocol },
2711 static int
2712 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_) {
2713 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
2714 ett_h225_SEQUENCE_OF_TunnelledProtocol, SEQUENCE_OF_TunnelledProtocol_sequence_of);
2716 return offset;
2720 static const per_sequence_t EndpointType_sequence[] = {
2721 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
2722 { &hf_h225_vendor , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_VendorIdentifier },
2723 { &hf_h225_gatekeeper , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_GatekeeperInfo },
2724 { &hf_h225_gateway , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_GatewayInfo },
2725 { &hf_h225_mcu , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_McuInfo },
2726 { &hf_h225_terminal , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TerminalInfo },
2727 { &hf_h225_mc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
2728 { &hf_h225_undefinedNode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
2729 { &hf_h225_set , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_BIT_STRING_SIZE_32 },
2730 { &hf_h225_supportedTunnelledProtocols, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_TunnelledProtocol },
2731 { NULL, 0, 0, NULL }
2735 dissect_h225_EndpointType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2736 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2737 ett_h225_EndpointType, EndpointType_sequence);
2739 return offset;
2745 dissect_h225_CallReferenceValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2746 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2747 0U, 65535U, NULL, FALSE);
2749 return offset;
2753 static const per_sequence_t SEQUENCE_OF_CallReferenceValue_sequence_of[1] = {
2754 { &hf_h225_destExtraCRV_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_CallReferenceValue },
2757 static int
2758 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_) {
2759 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
2760 ett_h225_SEQUENCE_OF_CallReferenceValue, SEQUENCE_OF_CallReferenceValue_sequence_of);
2762 return offset;
2768 dissect_h225_GloballyUniqueID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2769 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2770 16, 16, FALSE, (tvbuff_t **)actx->value_ptr);
2772 return offset;
2778 dissect_h225_ConferenceIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2779 offset = dissect_h225_GloballyUniqueID(tvb, offset, actx, tree, hf_index);
2781 return offset;
2785 static const value_string h225_T_conferenceGoal_vals[] = {
2786 { 0, "create" },
2787 { 1, "join" },
2788 { 2, "invite" },
2789 { 3, "capability-negotiation" },
2790 { 4, "callIndependentSupplementaryService" },
2791 { 0, NULL }
2794 static const per_choice_t T_conferenceGoal_choice[] = {
2795 { 0, &hf_h225_create , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
2796 { 1, &hf_h225_join , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
2797 { 2, &hf_h225_invite , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
2798 { 3, &hf_h225_capability_negotiation, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
2799 { 4, &hf_h225_callIndependentSupplementaryService, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
2800 { 0, NULL, 0, NULL }
2803 static int
2804 dissect_h225_T_conferenceGoal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2805 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2806 ett_h225_T_conferenceGoal, T_conferenceGoal_choice,
2807 NULL);
2809 return offset;
2813 static const per_sequence_t Q954Details_sequence[] = {
2814 { &hf_h225_conferenceCalling, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
2815 { &hf_h225_threePartyService, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
2816 { NULL, 0, 0, NULL }
2819 static int
2820 dissect_h225_Q954Details(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2821 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2822 ett_h225_Q954Details, Q954Details_sequence);
2824 return offset;
2828 static const per_sequence_t QseriesOptions_sequence[] = {
2829 { &hf_h225_q932Full , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
2830 { &hf_h225_q951Full , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
2831 { &hf_h225_q952Full , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
2832 { &hf_h225_q953Full , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
2833 { &hf_h225_q955Full , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
2834 { &hf_h225_q956Full , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
2835 { &hf_h225_q957Full , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
2836 { &hf_h225_q954Info , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_Q954Details },
2837 { NULL, 0, 0, NULL }
2840 static int
2841 dissect_h225_QseriesOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2842 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2843 ett_h225_QseriesOptions, QseriesOptions_sequence);
2845 return offset;
2849 static const value_string h225_CallType_vals[] = {
2850 { 0, "pointToPoint" },
2851 { 1, "oneToN" },
2852 { 2, "nToOne" },
2853 { 3, "nToN" },
2854 { 0, NULL }
2857 static const per_choice_t CallType_choice[] = {
2858 { 0, &hf_h225_pointToPoint , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
2859 { 1, &hf_h225_oneToN , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
2860 { 2, &hf_h225_nToOne , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
2861 { 3, &hf_h225_nToN , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
2862 { 0, NULL, 0, NULL }
2865 static int
2866 dissect_h225_CallType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2867 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2868 ett_h225_CallType, CallType_choice,
2869 NULL);
2871 return offset;
2876 static int
2877 dissect_h225_T_guid(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2878 #line 543 "../../asn1/h225/h225.cnf"
2879 tvbuff_t *guid_tvb = NULL;
2881 actx->value_ptr = &guid_tvb;
2882 offset = dissect_h225_GloballyUniqueID(tvb, offset, actx, tree, hf_index);
2884 if (guid_tvb)
2885 tvb_get_ntohguid(guid_tvb, 0, call_id_guid = wmem_new(wmem_packet_scope(), e_guid_t));
2886 actx->value_ptr = NULL;
2889 return offset;
2893 static const per_sequence_t CallIdentifier_sequence[] = {
2894 { &hf_h225_guid , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_T_guid },
2895 { NULL, 0, 0, NULL }
2899 dissect_h225_CallIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2900 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2901 ett_h225_CallIdentifier, CallIdentifier_sequence);
2903 return offset;
2907 static const value_string h225_SecurityServiceMode_vals[] = {
2908 { 0, "nonStandard" },
2909 { 1, "none" },
2910 { 2, "default" },
2911 { 0, NULL }
2914 static const per_choice_t SecurityServiceMode_choice[] = {
2915 { 0, &hf_h225_nonStandard , ASN1_EXTENSION_ROOT , dissect_h225_NonStandardParameter },
2916 { 1, &hf_h225_none , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
2917 { 2, &hf_h225_default , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
2918 { 0, NULL, 0, NULL }
2921 static int
2922 dissect_h225_SecurityServiceMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2923 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2924 ett_h225_SecurityServiceMode, SecurityServiceMode_choice,
2925 NULL);
2927 return offset;
2931 static const per_sequence_t SecurityCapabilities_sequence[] = {
2932 { &hf_h225_nonStandard , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
2933 { &hf_h225_encryption , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_SecurityServiceMode },
2934 { &hf_h225_authenticaton , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_SecurityServiceMode },
2935 { &hf_h225_securityCapabilities_integrity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_SecurityServiceMode },
2936 { NULL, 0, 0, NULL }
2939 static int
2940 dissect_h225_SecurityCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2941 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2942 ett_h225_SecurityCapabilities, SecurityCapabilities_sequence);
2944 return offset;
2948 static const value_string h225_H245Security_vals[] = {
2949 { 0, "nonStandard" },
2950 { 1, "noSecurity" },
2951 { 2, "tls" },
2952 { 3, "ipsec" },
2953 { 0, NULL }
2956 static const per_choice_t H245Security_choice[] = {
2957 { 0, &hf_h225_nonStandard , ASN1_EXTENSION_ROOT , dissect_h225_NonStandardParameter },
2958 { 1, &hf_h225_noSecurity , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
2959 { 2, &hf_h225_tls , ASN1_EXTENSION_ROOT , dissect_h225_SecurityCapabilities },
2960 { 3, &hf_h225_ipsec , ASN1_EXTENSION_ROOT , dissect_h225_SecurityCapabilities },
2961 { 0, NULL, 0, NULL }
2964 static int
2965 dissect_h225_H245Security(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2966 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2967 ett_h225_H245Security, H245Security_choice,
2968 NULL);
2970 return offset;
2974 static const per_sequence_t SEQUENCE_OF_H245Security_sequence_of[1] = {
2975 { &hf_h225_h245SecurityCapability_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_H245Security },
2978 static int
2979 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_) {
2980 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
2981 ett_h225_SEQUENCE_OF_H245Security, SEQUENCE_OF_H245Security_sequence_of);
2983 return offset;
2987 static const per_sequence_t SEQUENCE_OF_ClearToken_sequence_of[1] = {
2988 { &hf_h225_tokens_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h235_ClearToken },
2991 static int
2992 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_) {
2993 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
2994 ett_h225_SEQUENCE_OF_ClearToken, SEQUENCE_OF_ClearToken_sequence_of);
2996 return offset;
3000 static const per_sequence_t T_cryptoEPPwdHash_sequence[] = {
3001 { &hf_h225_alias , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_AliasAddress },
3002 { &hf_h225_timeStamp , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h235_TimeStamp },
3003 { &hf_h225_token , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h235_HASHED },
3004 { NULL, 0, 0, NULL }
3007 static int
3008 dissect_h225_T_cryptoEPPwdHash(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3009 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3010 ett_h225_T_cryptoEPPwdHash, T_cryptoEPPwdHash_sequence);
3012 return offset;
3018 dissect_h225_GatekeeperIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3019 offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
3020 1, 128, FALSE);
3022 return offset;
3026 static const per_sequence_t T_cryptoGKPwdHash_sequence[] = {
3027 { &hf_h225_gatekeeperId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_GatekeeperIdentifier },
3028 { &hf_h225_timeStamp , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h235_TimeStamp },
3029 { &hf_h225_token , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h235_HASHED },
3030 { NULL, 0, 0, NULL }
3033 static int
3034 dissect_h225_T_cryptoGKPwdHash(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3035 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3036 ett_h225_T_cryptoGKPwdHash, T_cryptoGKPwdHash_sequence);
3038 return offset;
3042 const value_string h225_CryptoH323Token_vals[] = {
3043 { 0, "cryptoEPPwdHash" },
3044 { 1, "cryptoGKPwdHash" },
3045 { 2, "cryptoEPPwdEncr" },
3046 { 3, "cryptoGKPwdEncr" },
3047 { 4, "cryptoEPCert" },
3048 { 5, "cryptoGKCert" },
3049 { 6, "cryptoFastStart" },
3050 { 7, "nestedcryptoToken" },
3051 { 0, NULL }
3054 static const per_choice_t CryptoH323Token_choice[] = {
3055 { 0, &hf_h225_cryptoEPPwdHash, ASN1_EXTENSION_ROOT , dissect_h225_T_cryptoEPPwdHash },
3056 { 1, &hf_h225_cryptoGKPwdHash, ASN1_EXTENSION_ROOT , dissect_h225_T_cryptoGKPwdHash },
3057 { 2, &hf_h225_cryptoEPPwdEncr, ASN1_EXTENSION_ROOT , dissect_h235_ENCRYPTED },
3058 { 3, &hf_h225_cryptoGKPwdEncr, ASN1_EXTENSION_ROOT , dissect_h235_ENCRYPTED },
3059 { 4, &hf_h225_cryptoEPCert , ASN1_EXTENSION_ROOT , dissect_h235_SIGNED },
3060 { 5, &hf_h225_cryptoGKCert , ASN1_EXTENSION_ROOT , dissect_h235_SIGNED },
3061 { 6, &hf_h225_cryptoFastStart, ASN1_EXTENSION_ROOT , dissect_h235_SIGNED },
3062 { 7, &hf_h225_nestedcryptoToken, ASN1_EXTENSION_ROOT , dissect_h235_CryptoToken },
3063 { 0, NULL, 0, NULL }
3067 dissect_h225_CryptoH323Token(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3068 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3069 ett_h225_CryptoH323Token, CryptoH323Token_choice,
3070 NULL);
3072 return offset;
3076 static const per_sequence_t SEQUENCE_OF_CryptoH323Token_sequence_of[1] = {
3077 { &hf_h225_cryptoTokens_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_CryptoH323Token },
3080 static int
3081 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_) {
3082 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3083 ett_h225_SEQUENCE_OF_CryptoH323Token, SEQUENCE_OF_CryptoH323Token_sequence_of);
3085 return offset;
3090 static int
3091 dissect_h225_FastStart_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3092 #line 269 "../../asn1/h225/h225.cnf"
3093 tvbuff_t *value_tvb = NULL;
3094 char codec_str[50];
3095 codec_str[0] = '\0';
3097 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3098 NO_BOUND, NO_BOUND, FALSE, &value_tvb);
3100 if (value_tvb && tvb_length(value_tvb)) {
3101 dissect_h245_FastStart_OLC(value_tvb, actx->pinfo, tree, codec_str);
3104 /* Add to packet info */
3105 g_snprintf(h225_pi->frame_label, 50, "%s %s", h225_pi->frame_label, codec_str);
3107 contains_faststart = TRUE;
3108 h225_pi->is_faststart = TRUE;
3111 return offset;
3115 static const per_sequence_t FastStart_sequence_of[1] = {
3116 { &hf_h225_FastStart_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_FastStart_item },
3119 static int
3120 dissect_h225_FastStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3121 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3122 ett_h225_FastStart, FastStart_sequence_of);
3124 return offset;
3129 static int
3130 dissect_h225_EndpointIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3131 offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
3132 1, 128, FALSE);
3134 return offset;
3138 static const value_string h225_ScnConnectionType_vals[] = {
3139 { 0, "unknown" },
3140 { 1, "bChannel" },
3141 { 2, "hybrid2x64" },
3142 { 3, "hybrid384" },
3143 { 4, "hybrid1536" },
3144 { 5, "hybrid1920" },
3145 { 6, "multirate" },
3146 { 0, NULL }
3149 static const per_choice_t ScnConnectionType_choice[] = {
3150 { 0, &hf_h225_unknown , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3151 { 1, &hf_h225_bChannel , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3152 { 2, &hf_h225_hybrid2x64 , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3153 { 3, &hf_h225_hybrid384 , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3154 { 4, &hf_h225_hybrid1536 , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3155 { 5, &hf_h225_hybrid1920 , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3156 { 6, &hf_h225_multirate , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3157 { 0, NULL, 0, NULL }
3160 static int
3161 dissect_h225_ScnConnectionType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3162 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3163 ett_h225_ScnConnectionType, ScnConnectionType_choice,
3164 NULL);
3166 return offset;
3170 static const value_string h225_ScnConnectionAggregation_vals[] = {
3171 { 0, "auto" },
3172 { 1, "none" },
3173 { 2, "h221" },
3174 { 3, "bonded-mode1" },
3175 { 4, "bonded-mode2" },
3176 { 5, "bonded-mode3" },
3177 { 0, NULL }
3180 static const per_choice_t ScnConnectionAggregation_choice[] = {
3181 { 0, &hf_h225_auto , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3182 { 1, &hf_h225_none , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3183 { 2, &hf_h225_h221 , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3184 { 3, &hf_h225_bonded_mode1 , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3185 { 4, &hf_h225_bonded_mode2 , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3186 { 5, &hf_h225_bonded_mode3 , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3187 { 0, NULL, 0, NULL }
3190 static int
3191 dissect_h225_ScnConnectionAggregation(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_ScnConnectionAggregation, ScnConnectionAggregation_choice,
3194 NULL);
3196 return offset;
3200 static const per_sequence_t T_connectionParameters_sequence[] = {
3201 { &hf_h225_connectionType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ScnConnectionType },
3202 { &hf_h225_numberOfScnConnections, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_0_65535 },
3203 { &hf_h225_connectionAggregation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ScnConnectionAggregation },
3204 { NULL, 0, 0, NULL }
3207 static int
3208 dissect_h225_T_connectionParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3209 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3210 ett_h225_T_connectionParameters, T_connectionParameters_sequence);
3212 return offset;
3217 static int
3218 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_) {
3219 offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
3220 1, 32, FALSE);
3222 return offset;
3226 static const per_sequence_t Language_sequence_of[1] = {
3227 { &hf_h225_Language_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_IA5String_SIZE_1_32 },
3230 static int
3231 dissect_h225_Language(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3232 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3233 ett_h225_Language, Language_sequence_of);
3235 return offset;
3239 const value_string h225_PresentationIndicator_vals[] = {
3240 { 0, "presentationAllowed" },
3241 { 1, "presentationRestricted" },
3242 { 2, "addressNotAvailable" },
3243 { 0, NULL }
3246 static const per_choice_t PresentationIndicator_choice[] = {
3247 { 0, &hf_h225_presentationAllowed, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3248 { 1, &hf_h225_presentationRestricted, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3249 { 2, &hf_h225_addressNotAvailable, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3250 { 0, NULL, 0, NULL }
3254 dissect_h225_PresentationIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3255 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3256 ett_h225_PresentationIndicator, PresentationIndicator_choice,
3257 NULL);
3259 return offset;
3263 const value_string h225_ScreeningIndicator_vals[] = {
3264 { 0, "userProvidedNotScreened" },
3265 { 1, "userProvidedVerifiedAndPassed" },
3266 { 2, "userProvidedVerifiedAndFailed" },
3267 { 3, "networkProvided" },
3268 { 0, NULL }
3273 dissect_h225_ScreeningIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3274 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3275 4, NULL, TRUE, 0, NULL);
3277 return offset;
3282 static int
3283 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_) {
3284 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3285 0U, 255U, NULL, FALSE);
3287 return offset;
3292 static int
3293 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_) {
3294 offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
3295 0, 512, FALSE);
3297 return offset;
3302 static int
3303 dissect_h225_H248SignalsDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3304 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3305 NO_BOUND, NO_BOUND, FALSE, NULL);
3307 return offset;
3312 static int
3313 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_) {
3314 offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
3315 1, 512, FALSE);
3317 return offset;
3321 static const value_string h225_T_billingMode_vals[] = {
3322 { 0, "credit" },
3323 { 1, "debit" },
3324 { 0, NULL }
3327 static const per_choice_t T_billingMode_choice[] = {
3328 { 0, &hf_h225_credit , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3329 { 1, &hf_h225_debit , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3330 { 0, NULL, 0, NULL }
3333 static int
3334 dissect_h225_T_billingMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3335 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3336 ett_h225_T_billingMode, T_billingMode_choice,
3337 NULL);
3339 return offset;
3344 static int
3345 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_) {
3346 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3347 1U, 4294967295U, NULL, FALSE);
3349 return offset;
3353 static const value_string h225_CallCreditServiceControl_callStartingPoint_vals[] = {
3354 { 0, "alerting" },
3355 { 1, "connect" },
3356 { 0, NULL }
3359 static const per_choice_t CallCreditServiceControl_callStartingPoint_choice[] = {
3360 { 0, &hf_h225_alerting_flg , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3361 { 1, &hf_h225_connect_flg , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3362 { 0, NULL, 0, NULL }
3365 static int
3366 dissect_h225_CallCreditServiceControl_callStartingPoint(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3367 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3368 ett_h225_CallCreditServiceControl_callStartingPoint, CallCreditServiceControl_callStartingPoint_choice,
3369 NULL);
3371 return offset;
3375 static const per_sequence_t CallCreditServiceControl_sequence[] = {
3376 { &hf_h225_amountString , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_BMPString_SIZE_1_512 },
3377 { &hf_h225_billingMode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_T_billingMode },
3378 { &hf_h225_callDurationLimit, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_INTEGER_1_4294967295 },
3379 { &hf_h225_enforceCallDurationLimit, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_BOOLEAN },
3380 { &hf_h225_callStartingPoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_CallCreditServiceControl_callStartingPoint },
3381 { NULL, 0, 0, NULL }
3384 static int
3385 dissect_h225_CallCreditServiceControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3386 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3387 ett_h225_CallCreditServiceControl, CallCreditServiceControl_sequence);
3389 return offset;
3393 static const value_string h225_ServiceControlDescriptor_vals[] = {
3394 { 0, "url" },
3395 { 1, "signal" },
3396 { 2, "nonStandard" },
3397 { 3, "callCreditServiceControl" },
3398 { 0, NULL }
3401 static const per_choice_t ServiceControlDescriptor_choice[] = {
3402 { 0, &hf_h225_url , ASN1_EXTENSION_ROOT , dissect_h225_IA5String_SIZE_0_512 },
3403 { 1, &hf_h225_signal , ASN1_EXTENSION_ROOT , dissect_h225_H248SignalsDescriptor },
3404 { 2, &hf_h225_nonStandard , ASN1_EXTENSION_ROOT , dissect_h225_NonStandardParameter },
3405 { 3, &hf_h225_callCreditServiceControl, ASN1_EXTENSION_ROOT , dissect_h225_CallCreditServiceControl },
3406 { 0, NULL, 0, NULL }
3409 static int
3410 dissect_h225_ServiceControlDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3411 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3412 ett_h225_ServiceControlDescriptor, ServiceControlDescriptor_choice,
3413 NULL);
3415 return offset;
3419 static const value_string h225_ServiceControlSession_reason_vals[] = {
3420 { 0, "open" },
3421 { 1, "refresh" },
3422 { 2, "close" },
3423 { 0, NULL }
3426 static const per_choice_t ServiceControlSession_reason_choice[] = {
3427 { 0, &hf_h225_open , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3428 { 1, &hf_h225_refresh , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3429 { 2, &hf_h225_close , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
3430 { 0, NULL, 0, NULL }
3433 static int
3434 dissect_h225_ServiceControlSession_reason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3435 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3436 ett_h225_ServiceControlSession_reason, ServiceControlSession_reason_choice,
3437 NULL);
3439 return offset;
3443 static const per_sequence_t ServiceControlSession_sequence[] = {
3444 { &hf_h225_sessionId_0_255, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_0_255 },
3445 { &hf_h225_contents , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_ServiceControlDescriptor },
3446 { &hf_h225_reason , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ServiceControlSession_reason },
3447 { NULL, 0, 0, NULL }
3451 dissect_h225_ServiceControlSession(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3452 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3453 ett_h225_ServiceControlSession, ServiceControlSession_sequence);
3455 return offset;
3459 static const per_sequence_t SEQUENCE_OF_ServiceControlSession_sequence_of[1] = {
3460 { &hf_h225_serviceControl_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_ServiceControlSession },
3463 static int
3464 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_) {
3465 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3466 ett_h225_SEQUENCE_OF_ServiceControlSession, SEQUENCE_OF_ServiceControlSession_sequence_of);
3468 return offset;
3473 static int
3474 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_) {
3475 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3476 0U, 4294967295U, NULL, FALSE);
3478 return offset;
3483 static int
3484 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_) {
3485 offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
3486 1, 128, FALSE);
3488 return offset;
3493 static int
3494 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_) {
3495 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3496 3, 4, FALSE, NULL);
3498 return offset;
3502 static const per_sequence_t CarrierInfo_sequence[] = {
3503 { &hf_h225_carrierIdentificationCode, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_OCTET_STRING_SIZE_3_4 },
3504 { &hf_h225_carrierName , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_IA5String_SIZE_1_128 },
3505 { NULL, 0, 0, NULL }
3508 static int
3509 dissect_h225_CarrierInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3510 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3511 ett_h225_CarrierInfo, CarrierInfo_sequence);
3513 return offset;
3517 static const per_sequence_t CallsAvailable_sequence[] = {
3518 { &hf_h225_calls , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_0_4294967295 },
3519 { &hf_h225_group_IA5String, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_IA5String_SIZE_1_128 },
3520 { &hf_h225_carrier , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CarrierInfo },
3521 { NULL, 0, 0, NULL }
3524 static int
3525 dissect_h225_CallsAvailable(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3526 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3527 ett_h225_CallsAvailable, CallsAvailable_sequence);
3529 return offset;
3533 static const per_sequence_t SEQUENCE_OF_CallsAvailable_sequence_of[1] = {
3534 { &hf_h225_voiceGwCallsAvailable_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_CallsAvailable },
3537 static int
3538 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_) {
3539 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3540 ett_h225_SEQUENCE_OF_CallsAvailable, SEQUENCE_OF_CallsAvailable_sequence_of);
3542 return offset;
3546 static const per_sequence_t CallCapacityInfo_sequence[] = {
3547 { &hf_h225_voiceGwCallsAvailable, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CallsAvailable },
3548 { &hf_h225_h310GwCallsAvailable, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CallsAvailable },
3549 { &hf_h225_h320GwCallsAvailable, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CallsAvailable },
3550 { &hf_h225_h321GwCallsAvailable, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CallsAvailable },
3551 { &hf_h225_h322GwCallsAvailable, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CallsAvailable },
3552 { &hf_h225_h323GwCallsAvailable, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CallsAvailable },
3553 { &hf_h225_h324GwCallsAvailable, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CallsAvailable },
3554 { &hf_h225_t120OnlyGwCallsAvailable, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CallsAvailable },
3555 { &hf_h225_t38FaxAnnexbOnlyGwCallsAvailable, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CallsAvailable },
3556 { &hf_h225_terminalCallsAvailable, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CallsAvailable },
3557 { &hf_h225_mcuCallsAvailable, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CallsAvailable },
3558 { &hf_h225_sipGwCallsAvailable, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CallsAvailable },
3559 { NULL, 0, 0, NULL }
3562 static int
3563 dissect_h225_CallCapacityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3564 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3565 ett_h225_CallCapacityInfo, CallCapacityInfo_sequence);
3567 return offset;
3571 static const per_sequence_t CallCapacity_sequence[] = {
3572 { &hf_h225_maximumCallCapacity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_CallCapacityInfo },
3573 { &hf_h225_currentCallCapacity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_CallCapacityInfo },
3574 { NULL, 0, 0, NULL }
3577 static int
3578 dissect_h225_CallCapacity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3579 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3580 ett_h225_CallCapacity, CallCapacity_sequence);
3582 return offset;
3587 static int
3588 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_) {
3589 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3590 2, 4, FALSE, NULL);
3592 return offset;
3596 static const per_sequence_t T_cic_2_4_sequence_of[1] = {
3597 { &hf_h225_cic_2_4_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_2_4 },
3600 static int
3601 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_) {
3602 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3603 ett_h225_T_cic_2_4, T_cic_2_4_sequence_of);
3605 return offset;
3610 static int
3611 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_) {
3612 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3613 2, 5, FALSE, NULL);
3615 return offset;
3619 static const per_sequence_t CicInfo_sequence[] = {
3620 { &hf_h225_cic_2_4 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_T_cic_2_4 },
3621 { &hf_h225_pointCode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_2_5 },
3622 { NULL, 0, 0, NULL }
3625 static int
3626 dissect_h225_CicInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3627 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3628 ett_h225_CicInfo, CicInfo_sequence);
3630 return offset;
3634 static const per_sequence_t T_member_sequence_of[1] = {
3635 { &hf_h225_member_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_0_65535 },
3638 static int
3639 dissect_h225_T_member(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_of(tvb, offset, actx, tree, hf_index,
3641 ett_h225_T_member, T_member_sequence_of);
3643 return offset;
3647 static const per_sequence_t GroupID_sequence[] = {
3648 { &hf_h225_member , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_T_member },
3649 { &hf_h225_group_IA5String, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_IA5String_SIZE_1_128 },
3650 { NULL, 0, 0, NULL }
3653 static int
3654 dissect_h225_GroupID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3655 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3656 ett_h225_GroupID, GroupID_sequence);
3658 return offset;
3662 static const per_sequence_t CircuitIdentifier_sequence[] = {
3663 { &hf_h225_cic , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_CicInfo },
3664 { &hf_h225_group , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_GroupID },
3665 { &hf_h225_carrier , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CarrierInfo },
3666 { NULL, 0, 0, NULL }
3670 dissect_h225_CircuitIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3671 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3672 ett_h225_CircuitIdentifier, CircuitIdentifier_sequence);
3674 return offset;
3679 static int
3680 dissect_h225_T_standard(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3681 #line 682 "../../asn1/h225/h225.cnf"
3682 guint32 value_int = (guint32)-1;
3683 gef_ctx_t *gefx;
3685 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3686 0U, 16383U, &value_int, TRUE);
3688 gefx = gef_ctx_get(actx->private_data);
3689 if (gefx) gefx->id = wmem_strdup_printf(wmem_packet_scope(), "%u", value_int);
3692 return offset;
3697 static int
3698 dissect_h225_T_oid(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3699 #line 691 "../../asn1/h225/h225.cnf"
3700 const gchar *oid_str = NULL;
3701 gef_ctx_t *gefx;
3703 offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &oid_str);
3705 gefx = gef_ctx_get(actx->private_data);
3706 if (gefx) gefx->id = oid_str;
3709 return offset;
3713 const value_string h225_GenericIdentifier_vals[] = {
3714 { 0, "standard" },
3715 { 1, "oid" },
3716 { 2, "nonStandard" },
3717 { 0, NULL }
3720 static const per_choice_t GenericIdentifier_choice[] = {
3721 { 0, &hf_h225_standard , ASN1_EXTENSION_ROOT , dissect_h225_T_standard },
3722 { 1, &hf_h225_oid , ASN1_EXTENSION_ROOT , dissect_h225_T_oid },
3723 { 2, &hf_h225_genericIdentifier_nonStandard, ASN1_EXTENSION_ROOT , dissect_h225_GloballyUniqueID },
3724 { 0, NULL, 0, NULL }
3728 dissect_h225_GenericIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3729 #line 669 "../../asn1/h225/h225.cnf"
3730 gef_ctx_t *gefx;
3732 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3733 ett_h225_GenericIdentifier, GenericIdentifier_choice,
3734 NULL);
3736 #line 671 "../../asn1/h225/h225.cnf"
3737 gef_ctx_update_key(gef_ctx_get(actx->private_data));
3738 /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG GenericIdentifier: %s", gef_ctx_get(actx->private_data)->key);*/
3739 gefx = gef_ctx_get(actx->private_data);
3740 if (gefx) {
3741 /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3742 dissector_try_string(gef_name_dissector_table, gefx->key, tvb_new_subset(tvb, offset>>3, 0, 0), actx->pinfo, tree, actx);
3744 actx->private_data = gefx; /* subdissector could overwrite it */
3746 return offset;
3751 static int
3752 dissect_h225_T_raw(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3753 #line 701 "../../asn1/h225/h225.cnf"
3754 tvbuff_t *value_tvb;
3755 gef_ctx_t *gefx;
3757 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3758 NO_BOUND, NO_BOUND, FALSE, &value_tvb);
3760 gefx = gef_ctx_get(actx->private_data);
3761 if (gefx) {
3762 /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3763 dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree, actx);
3767 return offset;
3772 static int
3773 dissect_h225_IA5String(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3774 offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
3775 NO_BOUND, NO_BOUND, FALSE);
3777 return offset;
3782 static int
3783 dissect_h225_BMPString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3784 offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
3785 NO_BOUND, NO_BOUND, FALSE);
3787 return offset;
3791 static const per_sequence_t SEQUENCE_SIZE_1_512_OF_EnumeratedParameter_sequence_of[1] = {
3792 { &hf_h225_parameters_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_EnumeratedParameter },
3795 static int
3796 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_) {
3797 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3798 ett_h225_SEQUENCE_SIZE_1_512_OF_EnumeratedParameter, SEQUENCE_SIZE_1_512_OF_EnumeratedParameter_sequence_of,
3799 1, 512, FALSE);
3801 return offset;
3805 static const per_sequence_t SEQUENCE_SIZE_1_16_OF_GenericData_sequence_of[1] = {
3806 { &hf_h225_nested_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_GenericData },
3809 static int
3810 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_) {
3811 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3812 ett_h225_SEQUENCE_SIZE_1_16_OF_GenericData, SEQUENCE_SIZE_1_16_OF_GenericData_sequence_of,
3813 1, 16, FALSE);
3815 return offset;
3819 static const value_string h225_Content_vals[] = {
3820 { 0, "raw" },
3821 { 1, "text" },
3822 { 2, "unicode" },
3823 { 3, "bool" },
3824 { 4, "number8" },
3825 { 5, "number16" },
3826 { 6, "number32" },
3827 { 7, "id" },
3828 { 8, "alias" },
3829 { 9, "transport" },
3830 { 10, "compound" },
3831 { 11, "nested" },
3832 { 0, NULL }
3835 static const per_choice_t Content_choice[] = {
3836 { 0, &hf_h225_raw , ASN1_EXTENSION_ROOT , dissect_h225_T_raw },
3837 { 1, &hf_h225_text , ASN1_EXTENSION_ROOT , dissect_h225_IA5String },
3838 { 2, &hf_h225_unicode , ASN1_EXTENSION_ROOT , dissect_h225_BMPString },
3839 { 3, &hf_h225_bool , ASN1_EXTENSION_ROOT , dissect_h225_BOOLEAN },
3840 { 4, &hf_h225_number8 , ASN1_EXTENSION_ROOT , dissect_h225_INTEGER_0_255 },
3841 { 5, &hf_h225_number16 , ASN1_EXTENSION_ROOT , dissect_h225_INTEGER_0_65535 },
3842 { 6, &hf_h225_number32 , ASN1_EXTENSION_ROOT , dissect_h225_INTEGER_0_4294967295 },
3843 { 7, &hf_h225_id , ASN1_EXTENSION_ROOT , dissect_h225_GenericIdentifier },
3844 { 8, &hf_h225_alias , ASN1_EXTENSION_ROOT , dissect_h225_AliasAddress },
3845 { 9, &hf_h225_transport , ASN1_EXTENSION_ROOT , dissect_h225_TransportAddress },
3846 { 10, &hf_h225_compound , ASN1_EXTENSION_ROOT , dissect_h225_SEQUENCE_SIZE_1_512_OF_EnumeratedParameter },
3847 { 11, &hf_h225_nested , ASN1_EXTENSION_ROOT , dissect_h225_SEQUENCE_SIZE_1_16_OF_GenericData },
3848 { 0, NULL, 0, NULL }
3851 static int
3852 dissect_h225_Content(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3853 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3854 ett_h225_Content, Content_choice,
3855 NULL);
3857 return offset;
3861 static const per_sequence_t EnumeratedParameter_sequence[] = {
3862 { &hf_h225_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_GenericIdentifier },
3863 { &hf_h225_content , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_Content },
3864 { NULL, 0, 0, NULL }
3867 static int
3868 dissect_h225_EnumeratedParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3869 #line 651 "../../asn1/h225/h225.cnf"
3870 gef_ctx_t *parent_gefx;
3872 parent_gefx = gef_ctx_get(actx->private_data);
3873 actx->private_data = gef_ctx_alloc(parent_gefx, NULL);
3875 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3876 ett_h225_EnumeratedParameter, EnumeratedParameter_sequence);
3878 #line 656 "../../asn1/h225/h225.cnf"
3879 actx->private_data = parent_gefx;
3881 return offset;
3885 static const per_sequence_t GenericData_sequence[] = {
3886 { &hf_h225_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_GenericIdentifier },
3887 { &hf_h225_parameters , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_SIZE_1_512_OF_EnumeratedParameter },
3888 { NULL, 0, 0, NULL }
3892 dissect_h225_GenericData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3893 #line 637 "../../asn1/h225/h225.cnf"
3894 void *priv_data = actx->private_data;
3895 gef_ctx_t *gefx;
3897 /* check if not inherited from FeatureDescriptor */
3898 gefx = gef_ctx_get(actx->private_data);
3899 if (!gefx) {
3900 gefx = gef_ctx_alloc(NULL, "GenericData");
3901 actx->private_data = gefx;
3904 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3905 ett_h225_GenericData, GenericData_sequence);
3907 #line 647 "../../asn1/h225/h225.cnf"
3908 actx->private_data = priv_data;
3910 return offset;
3914 static const per_sequence_t SEQUENCE_OF_GenericData_sequence_of[1] = {
3915 { &hf_h225_genericData_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_GenericData },
3918 static int
3919 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_) {
3920 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3921 ett_h225_SEQUENCE_OF_GenericData, SEQUENCE_OF_GenericData_sequence_of);
3923 return offset;
3927 static const per_sequence_t CircuitInfo_sequence[] = {
3928 { &hf_h225_sourceCircuitID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_CircuitIdentifier },
3929 { &hf_h225_destinationCircuitID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_CircuitIdentifier },
3930 { &hf_h225_genericData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
3931 { NULL, 0, 0, NULL }
3935 dissect_h225_CircuitInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3936 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3937 ett_h225_CircuitInfo, CircuitInfo_sequence);
3939 return offset;
3944 static int
3945 dissect_h225_FeatureDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3946 #line 661 "../../asn1/h225/h225.cnf"
3947 void *priv_data = actx->private_data;
3948 actx->private_data = gef_ctx_alloc(NULL, "FeatureDescriptor");
3950 offset = dissect_h225_GenericData(tvb, offset, actx, tree, hf_index);
3952 #line 664 "../../asn1/h225/h225.cnf"
3953 actx->private_data = priv_data;
3955 return offset;
3959 static const per_sequence_t SEQUENCE_OF_FeatureDescriptor_sequence_of[1] = {
3960 { &hf_h225_neededFeatures_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_FeatureDescriptor },
3963 static int
3964 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_) {
3965 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3966 ett_h225_SEQUENCE_OF_FeatureDescriptor, SEQUENCE_OF_FeatureDescriptor_sequence_of);
3968 return offset;
3973 static int
3974 dissect_h225_ParallelH245Control_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3975 #line 334 "../../asn1/h225/h225.cnf"
3976 tvbuff_t *h245_tvb = NULL;
3978 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3979 NO_BOUND, NO_BOUND, FALSE, &h245_tvb);
3981 next_tvb_add_handle(&h245_list, h245_tvb, (h225_h245_in_tree)?tree:NULL, h245dg_handle);
3984 return offset;
3988 static const per_sequence_t ParallelH245Control_sequence_of[1] = {
3989 { &hf_h225_ParallelH245Control_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_ParallelH245Control_item },
3992 static int
3993 dissect_h225_ParallelH245Control(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3994 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3995 ett_h225_ParallelH245Control, ParallelH245Control_sequence_of);
3997 return offset;
4001 static const per_sequence_t ExtendedAliasAddress_sequence[] = {
4002 { &hf_h225_extAliasAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_AliasAddress },
4003 { &hf_h225_presentationIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_PresentationIndicator },
4004 { &hf_h225_screeningIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_ScreeningIndicator },
4005 { NULL, 0, 0, NULL }
4008 static int
4009 dissect_h225_ExtendedAliasAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4010 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4011 ett_h225_ExtendedAliasAddress, ExtendedAliasAddress_sequence);
4013 return offset;
4017 static const per_sequence_t SEQUENCE_OF_ExtendedAliasAddress_sequence_of[1] = {
4018 { &hf_h225_additionalSourceAddresses_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_ExtendedAliasAddress },
4021 static int
4022 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_) {
4023 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4024 ett_h225_SEQUENCE_OF_ExtendedAliasAddress, SEQUENCE_OF_ExtendedAliasAddress_sequence_of);
4026 return offset;
4031 static int
4032 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_) {
4033 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4034 1U, 31U, NULL, FALSE);
4036 return offset;
4041 static int
4042 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_) {
4043 offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
4044 1, 80, FALSE);
4046 return offset;
4050 static const per_sequence_t DisplayName_sequence[] = {
4051 { &hf_h225_language_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_h225_IA5String },
4052 { &hf_h225_name , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_BMPString_SIZE_1_80 },
4053 { NULL, 0, 0, NULL }
4056 static int
4057 dissect_h225_DisplayName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4058 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4059 ett_h225_DisplayName, DisplayName_sequence);
4061 return offset;
4065 static const per_sequence_t SEQUENCE_OF_DisplayName_sequence_of[1] = {
4066 { &hf_h225_displayName_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_DisplayName },
4069 static int
4070 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_) {
4071 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4072 ett_h225_SEQUENCE_OF_DisplayName, SEQUENCE_OF_DisplayName_sequence_of);
4074 return offset;
4078 static const per_sequence_t Setup_UUIE_sequence[] = {
4079 { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4080 { &hf_h225_h245Address , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_H245TransportAddress },
4081 { &hf_h225_sourceAddress , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
4082 { &hf_h225_setup_UUIE_sourceInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_EndpointType },
4083 { &hf_h225_destinationAddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
4084 { &hf_h225_destCallSignalAddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TransportAddress },
4085 { &hf_h225_destExtraCallInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
4086 { &hf_h225_destExtraCRV , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CallReferenceValue },
4087 { &hf_h225_activeMC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4088 { &hf_h225_conferenceID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ConferenceIdentifier },
4089 { &hf_h225_conferenceGoal , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_T_conferenceGoal },
4090 { &hf_h225_callServices , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_QseriesOptions },
4091 { &hf_h225_callType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallType },
4092 { &hf_h225_sourceCallSignalAddress, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_TransportAddress },
4093 { &hf_h225_uUIE_remoteExtensionAddress, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AliasAddress },
4094 { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4095 { &hf_h225_h245SecurityCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_H245Security },
4096 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
4097 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4098 { &hf_h225_fastStart , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FastStart },
4099 { &hf_h225_mediaWaitForConnect, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4100 { &hf_h225_canOverlapSend , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4101 { &hf_h225_endpointIdentifier, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_EndpointIdentifier },
4102 { &hf_h225_multipleCalls , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4103 { &hf_h225_maintainConnection, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4104 { &hf_h225_connectionParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_T_connectionParameters },
4105 { &hf_h225_language , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_Language },
4106 { &hf_h225_presentationIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_PresentationIndicator },
4107 { &hf_h225_screeningIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ScreeningIndicator },
4108 { &hf_h225_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ServiceControlSession },
4109 { &hf_h225_symmetricOperationRequired, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_NULL },
4110 { &hf_h225_capacity , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CallCapacity },
4111 { &hf_h225_circuitInfo , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CircuitInfo },
4112 { &hf_h225_desiredProtocols, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_SupportedProtocols },
4113 { &hf_h225_neededFeatures , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_FeatureDescriptor },
4114 { &hf_h225_desiredFeatures, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_FeatureDescriptor },
4115 { &hf_h225_supportedFeatures, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_FeatureDescriptor },
4116 { &hf_h225_parallelH245Control, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ParallelH245Control },
4117 { &hf_h225_additionalSourceAddresses, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ExtendedAliasAddress },
4118 { &hf_h225_hopCount_1_31 , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_INTEGER_1_31 },
4119 { &hf_h225_displayName , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_DisplayName },
4120 { NULL, 0, 0, NULL }
4123 static int
4124 dissect_h225_Setup_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4125 #line 387 "../../asn1/h225/h225.cnf"
4126 contains_faststart = FALSE;
4128 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4129 ett_h225_Setup_UUIE, Setup_UUIE_sequence);
4131 #line 391 "../../asn1/h225/h225.cnf"
4132 /* Add to packet info */
4133 h225_pi->cs_type = H225_SETUP;
4134 if (contains_faststart == TRUE )
4135 g_snprintf(h225_pi->frame_label, 50, "%s OLC (%s)", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"), h225_pi->frame_label);
4136 else
4137 g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
4139 return offset;
4143 static const per_sequence_t FeatureSet_sequence[] = {
4144 { &hf_h225_replacementFeatureSet, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4145 { &hf_h225_neededFeatures , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_FeatureDescriptor },
4146 { &hf_h225_desiredFeatures, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_FeatureDescriptor },
4147 { &hf_h225_supportedFeatures, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_FeatureDescriptor },
4148 { NULL, 0, 0, NULL }
4152 dissect_h225_FeatureSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4153 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4154 ett_h225_FeatureSet, FeatureSet_sequence);
4156 return offset;
4160 static const per_sequence_t CallProceeding_UUIE_sequence[] = {
4161 { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4162 { &hf_h225_uUIE_destinationInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_EndpointType },
4163 { &hf_h225_h245Address , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_H245TransportAddress },
4164 { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4165 { &hf_h225_h245SecurityMode, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_H245Security },
4166 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
4167 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4168 { &hf_h225_fastStart , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FastStart },
4169 { &hf_h225_multipleCalls , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4170 { &hf_h225_maintainConnection, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4171 { &hf_h225_fastConnectRefused, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_NULL },
4172 { &hf_h225_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
4173 { NULL, 0, 0, NULL }
4176 static int
4177 dissect_h225_CallProceeding_UUIE(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_CallProceeding_UUIE, CallProceeding_UUIE_sequence);
4181 #line 400 "../../asn1/h225/h225.cnf"
4182 /* Add to packet info */
4183 h225_pi->cs_type = H225_CALL_PROCEDING;
4184 if (contains_faststart == TRUE )
4185 g_snprintf(h225_pi->frame_label, 50, "%s OLC (%s)", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"), h225_pi->frame_label);
4186 else
4187 g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
4189 return offset;
4193 static const per_sequence_t Connect_UUIE_sequence[] = {
4194 { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4195 { &hf_h225_h245Address , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_H245TransportAddress },
4196 { &hf_h225_uUIE_destinationInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_EndpointType },
4197 { &hf_h225_conferenceID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ConferenceIdentifier },
4198 { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4199 { &hf_h225_h245SecurityMode, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_H245Security },
4200 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
4201 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4202 { &hf_h225_fastStart , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FastStart },
4203 { &hf_h225_multipleCalls , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4204 { &hf_h225_maintainConnection, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4205 { &hf_h225_language , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_Language },
4206 { &hf_h225_connectedAddress, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
4207 { &hf_h225_presentationIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_PresentationIndicator },
4208 { &hf_h225_screeningIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ScreeningIndicator },
4209 { &hf_h225_fastConnectRefused, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_NULL },
4210 { &hf_h225_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ServiceControlSession },
4211 { &hf_h225_capacity , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CallCapacity },
4212 { &hf_h225_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
4213 { &hf_h225_displayName , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_DisplayName },
4214 { NULL, 0, 0, NULL }
4217 static int
4218 dissect_h225_Connect_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4219 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4220 ett_h225_Connect_UUIE, Connect_UUIE_sequence);
4222 #line 424 "../../asn1/h225/h225.cnf"
4223 /* Add to packet info */
4224 h225_pi->cs_type = H225_CONNECT;
4225 if (contains_faststart == TRUE )
4226 g_snprintf(h225_pi->frame_label, 50, "%s OLC (%s)", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"), h225_pi->frame_label);
4227 else
4228 g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
4230 return offset;
4234 static const per_sequence_t Alerting_UUIE_sequence[] = {
4235 { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4236 { &hf_h225_uUIE_destinationInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_EndpointType },
4237 { &hf_h225_h245Address , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_H245TransportAddress },
4238 { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4239 { &hf_h225_h245SecurityMode, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_H245Security },
4240 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
4241 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4242 { &hf_h225_fastStart , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FastStart },
4243 { &hf_h225_multipleCalls , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4244 { &hf_h225_maintainConnection, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4245 { &hf_h225_alertingAddress, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
4246 { &hf_h225_presentationIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_PresentationIndicator },
4247 { &hf_h225_screeningIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ScreeningIndicator },
4248 { &hf_h225_fastConnectRefused, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_NULL },
4249 { &hf_h225_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ServiceControlSession },
4250 { &hf_h225_capacity , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CallCapacity },
4251 { &hf_h225_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
4252 { &hf_h225_displayName , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_DisplayName },
4253 { NULL, 0, 0, NULL }
4256 static int
4257 dissect_h225_Alerting_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4258 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4259 ett_h225_Alerting_UUIE, Alerting_UUIE_sequence);
4261 #line 409 "../../asn1/h225/h225.cnf"
4262 /* Add to packet info */
4263 h225_pi->cs_type = H225_ALERTING;
4264 if (contains_faststart == TRUE )
4265 g_snprintf(h225_pi->frame_label, 50, "%s OLC (%s)", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"), h225_pi->frame_label);
4266 else
4267 g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
4269 return offset;
4273 static const per_sequence_t Information_UUIE_sequence[] = {
4274 { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4275 { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4276 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
4277 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4278 { &hf_h225_fastStart , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FastStart },
4279 { &hf_h225_fastConnectRefused, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_NULL },
4280 { &hf_h225_circuitInfo , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CircuitInfo },
4281 { NULL, 0, 0, NULL }
4284 static int
4285 dissect_h225_Information_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4286 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4287 ett_h225_Information_UUIE, Information_UUIE_sequence);
4289 #line 358 "../../asn1/h225/h225.cnf"
4290 /* Add to packet info */
4291 h225_pi->cs_type = H225_INFORMATION;
4292 g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
4294 return offset;
4298 static const value_string h225_SecurityErrors_vals[] = {
4299 { 0, "securityWrongSyncTime" },
4300 { 1, "securityReplay" },
4301 { 2, "securityWrongGeneralID" },
4302 { 3, "securityWrongSendersID" },
4303 { 4, "securityIntegrityFailed" },
4304 { 5, "securityWrongOID" },
4305 { 6, "securityDHmismatch" },
4306 { 7, "securityCertificateExpired" },
4307 { 8, "securityCertificateDateInvalid" },
4308 { 9, "securityCertificateRevoked" },
4309 { 10, "securityCertificateNotReadable" },
4310 { 11, "securityCertificateSignatureInvalid" },
4311 { 12, "securityCertificateMissing" },
4312 { 13, "securityCertificateIncomplete" },
4313 { 14, "securityUnsupportedCertificateAlgOID" },
4314 { 15, "securityUnknownCA" },
4315 { 0, NULL }
4318 static const per_choice_t SecurityErrors_choice[] = {
4319 { 0, &hf_h225_securityWrongSyncTime, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4320 { 1, &hf_h225_securityReplay , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4321 { 2, &hf_h225_securityWrongGeneralID, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4322 { 3, &hf_h225_securityWrongSendersID, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4323 { 4, &hf_h225_securityIntegrityFailed, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4324 { 5, &hf_h225_securityWrongOID, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4325 { 6, &hf_h225_securityDHmismatch, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4326 { 7, &hf_h225_securityCertificateExpired, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4327 { 8, &hf_h225_securityCertificateDateInvalid, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4328 { 9, &hf_h225_securityCertificateRevoked, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4329 { 10, &hf_h225_securityCertificateNotReadable, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4330 { 11, &hf_h225_securityCertificateSignatureInvalid, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4331 { 12, &hf_h225_securityCertificateMissing, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4332 { 13, &hf_h225_securityCertificateIncomplete, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4333 { 14, &hf_h225_securityUnsupportedCertificateAlgOID, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4334 { 15, &hf_h225_securityUnknownCA, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4335 { 0, NULL, 0, NULL }
4338 static int
4339 dissect_h225_SecurityErrors(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4340 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4341 ett_h225_SecurityErrors, SecurityErrors_choice,
4342 NULL);
4344 return offset;
4348 const value_string h225_ReleaseCompleteReason_vals[] = {
4349 { 0, "noBandwidth" },
4350 { 1, "gatekeeperResources" },
4351 { 2, "unreachableDestination" },
4352 { 3, "destinationRejection" },
4353 { 4, "invalidRevision" },
4354 { 5, "noPermission" },
4355 { 6, "unreachableGatekeeper" },
4356 { 7, "gatewayResources" },
4357 { 8, "badFormatAddress" },
4358 { 9, "adaptiveBusy" },
4359 { 10, "inConf" },
4360 { 11, "undefinedReason" },
4361 { 12, "facilityCallDeflection" },
4362 { 13, "securityDenied" },
4363 { 14, "calledPartyNotRegistered" },
4364 { 15, "callerNotRegistered" },
4365 { 16, "newConnectionNeeded" },
4366 { 17, "nonStandardReason" },
4367 { 18, "replaceWithConferenceInvite" },
4368 { 19, "genericDataReason" },
4369 { 20, "neededFeatureNotSupported" },
4370 { 21, "tunnelledSignallingRejected" },
4371 { 22, "invalidCID" },
4372 { 23, "securityError" },
4373 { 24, "hopCountExceeded" },
4374 { 0, NULL }
4377 static const per_choice_t ReleaseCompleteReason_choice[] = {
4378 { 0, &hf_h225_noBandwidth , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4379 { 1, &hf_h225_gatekeeperResources, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4380 { 2, &hf_h225_unreachableDestination, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4381 { 3, &hf_h225_destinationRejection, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4382 { 4, &hf_h225_invalidRevision, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4383 { 5, &hf_h225_noPermission , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4384 { 6, &hf_h225_unreachableGatekeeper, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4385 { 7, &hf_h225_gatewayResources, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4386 { 8, &hf_h225_badFormatAddress, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4387 { 9, &hf_h225_adaptiveBusy , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4388 { 10, &hf_h225_inConf , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4389 { 11, &hf_h225_undefinedReason, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4390 { 12, &hf_h225_facilityCallDeflection, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4391 { 13, &hf_h225_securityDenied , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4392 { 14, &hf_h225_calledPartyNotRegistered, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4393 { 15, &hf_h225_callerNotRegistered, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4394 { 16, &hf_h225_newConnectionNeeded, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4395 { 17, &hf_h225_nonStandardReason, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NonStandardParameter },
4396 { 18, &hf_h225_replaceWithConferenceInvite, ASN1_NOT_EXTENSION_ROOT, dissect_h225_ConferenceIdentifier },
4397 { 19, &hf_h225_genericDataReason, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4398 { 20, &hf_h225_neededFeatureNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4399 { 21, &hf_h225_tunnelledSignallingRejected, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4400 { 22, &hf_h225_invalidCID , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4401 { 23, &hf_h225_rLC_securityError, ASN1_NOT_EXTENSION_ROOT, dissect_h225_SecurityErrors },
4402 { 24, &hf_h225_hopCountExceeded, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4403 { 0, NULL, 0, NULL }
4407 dissect_h225_ReleaseCompleteReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4408 #line 536 "../../asn1/h225/h225.cnf"
4409 gint32 value;
4411 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4412 ett_h225_ReleaseCompleteReason, ReleaseCompleteReason_choice,
4413 &value);
4415 h225_pi->reason = value;
4418 return offset;
4422 static const per_sequence_t ReleaseComplete_UUIE_sequence[] = {
4423 { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4424 { &hf_h225_releaseCompleteReason, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_ReleaseCompleteReason },
4425 { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4426 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
4427 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4428 { &hf_h225_busyAddress , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
4429 { &hf_h225_presentationIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_PresentationIndicator },
4430 { &hf_h225_screeningIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ScreeningIndicator },
4431 { &hf_h225_capacity , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CallCapacity },
4432 { &hf_h225_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ServiceControlSession },
4433 { &hf_h225_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
4434 { &hf_h225_destinationInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_EndpointType },
4435 { &hf_h225_displayName , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_DisplayName },
4436 { NULL, 0, 0, NULL }
4439 static int
4440 dissect_h225_ReleaseComplete_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4441 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4442 ett_h225_ReleaseComplete_UUIE, ReleaseComplete_UUIE_sequence);
4444 #line 418 "../../asn1/h225/h225.cnf"
4445 /* Add to packet info */
4446 h225_pi->cs_type = H225_RELEASE_COMPLET;
4447 g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
4449 return offset;
4453 const value_string FacilityReason_vals[] = {
4454 { 0, "routeCallToGatekeeper" },
4455 { 1, "callForwarded" },
4456 { 2, "routeCallToMC" },
4457 { 3, "undefinedReason" },
4458 { 4, "conferenceListChoice" },
4459 { 5, "startH245" },
4460 { 6, "noH245" },
4461 { 7, "newTokens" },
4462 { 8, "featureSetUpdate" },
4463 { 9, "forwardedElements" },
4464 { 10, "transportedInformation" },
4465 { 0, NULL }
4468 static const per_choice_t FacilityReason_choice[] = {
4469 { 0, &hf_h225_routeCallToGatekeeper, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4470 { 1, &hf_h225_callForwarded , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4471 { 2, &hf_h225_routeCallToMC , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4472 { 3, &hf_h225_undefinedReason, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
4473 { 4, &hf_h225_conferenceListChoice, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4474 { 5, &hf_h225_startH245 , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4475 { 6, &hf_h225_noH245 , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4476 { 7, &hf_h225_newTokens , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4477 { 8, &hf_h225_featureSetUpdate, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4478 { 9, &hf_h225_forwardedElements, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4479 { 10, &hf_h225_transportedInformation, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4480 { 0, NULL, 0, NULL }
4483 static int
4484 dissect_h225_FacilityReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4485 #line 460 "../../asn1/h225/h225.cnf"
4486 gint32 value;
4488 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4489 ett_h225_FacilityReason, FacilityReason_choice,
4490 &value);
4492 h225_pi->reason = value;
4495 return offset;
4499 static const per_sequence_t ConferenceList_sequence[] = {
4500 { &hf_h225_conferenceID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_ConferenceIdentifier },
4501 { &hf_h225_conferenceAlias, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_AliasAddress },
4502 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
4503 { NULL, 0, 0, NULL }
4506 static int
4507 dissect_h225_ConferenceList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4508 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4509 ett_h225_ConferenceList, ConferenceList_sequence);
4511 return offset;
4515 static const per_sequence_t SEQUENCE_OF_ConferenceList_sequence_of[1] = {
4516 { &hf_h225_conferences_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_ConferenceList },
4519 static int
4520 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_) {
4521 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4522 ett_h225_SEQUENCE_OF_ConferenceList, SEQUENCE_OF_ConferenceList_sequence_of);
4524 return offset;
4528 static const per_sequence_t Facility_UUIE_sequence[] = {
4529 { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4530 { &hf_h225_alternativeAddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TransportAddress },
4531 { &hf_h225_alternativeAliasAddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
4532 { &hf_h225_conferenceID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_ConferenceIdentifier },
4533 { &hf_h225_facilityReason , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_FacilityReason },
4534 { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4535 { &hf_h225_destExtraCallInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
4536 { &hf_h225_uUIE_remoteExtensionAddress, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AliasAddress },
4537 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
4538 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4539 { &hf_h225_conferences , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ConferenceList },
4540 { &hf_h225_h245Address , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_H245TransportAddress },
4541 { &hf_h225_fastStart , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FastStart },
4542 { &hf_h225_multipleCalls , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4543 { &hf_h225_maintainConnection, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4544 { &hf_h225_fastConnectRefused, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_NULL },
4545 { &hf_h225_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ServiceControlSession },
4546 { &hf_h225_circuitInfo , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CircuitInfo },
4547 { &hf_h225_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
4548 { &hf_h225_uUIE_destinationInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_EndpointType },
4549 { &hf_h225_h245SecurityMode, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_H245Security },
4550 { NULL, 0, 0, NULL }
4553 static int
4554 dissect_h225_Facility_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4555 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4556 ett_h225_Facility_UUIE, Facility_UUIE_sequence);
4558 #line 379 "../../asn1/h225/h225.cnf"
4559 /* Add to packet info */
4560 h225_pi->cs_type = H225_FACILITY;
4561 g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
4563 return offset;
4567 static const per_sequence_t Progress_UUIE_sequence[] = {
4568 { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4569 { &hf_h225_uUIE_destinationInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_EndpointType },
4570 { &hf_h225_h245Address , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_H245TransportAddress },
4571 { &hf_h225_callIdentifier , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4572 { &hf_h225_h245SecurityMode, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_H245Security },
4573 { &hf_h225_tokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
4574 { &hf_h225_cryptoTokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4575 { &hf_h225_fastStart , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_FastStart },
4576 { &hf_h225_multipleCalls , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4577 { &hf_h225_maintainConnection, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4578 { &hf_h225_fastConnectRefused, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_NULL },
4579 { NULL, 0, 0, NULL }
4582 static int
4583 dissect_h225_Progress_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4584 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4585 ett_h225_Progress_UUIE, Progress_UUIE_sequence);
4587 #line 364 "../../asn1/h225/h225.cnf"
4588 /* Add to packet info */
4589 h225_pi->cs_type = H225_PROGRESS;
4590 if (contains_faststart == TRUE )
4591 g_snprintf(h225_pi->frame_label, 50, "%s OLC (%s)", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"), h225_pi->frame_label);
4592 else
4593 g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
4595 return offset;
4600 static int
4601 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_) {
4602 offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
4604 #line 348 "../../asn1/h225/h225.cnf"
4605 h225_pi->cs_type = H225_EMPTY;
4607 return offset;
4611 static const per_sequence_t Status_UUIE_sequence[] = {
4612 { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4613 { &hf_h225_callIdentifier , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4614 { &hf_h225_tokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
4615 { &hf_h225_cryptoTokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4616 { NULL, 0, 0, NULL }
4619 static int
4620 dissect_h225_Status_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4621 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4622 ett_h225_Status_UUIE, Status_UUIE_sequence);
4624 #line 352 "../../asn1/h225/h225.cnf"
4625 /* Add to packet info */
4626 h225_pi->cs_type = H225_STATUS;
4627 g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
4629 return offset;
4633 static const per_sequence_t StatusInquiry_UUIE_sequence[] = {
4634 { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4635 { &hf_h225_callIdentifier , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4636 { &hf_h225_tokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
4637 { &hf_h225_cryptoTokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4638 { NULL, 0, 0, NULL }
4641 static int
4642 dissect_h225_StatusInquiry_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4643 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4644 ett_h225_StatusInquiry_UUIE, StatusInquiry_UUIE_sequence);
4646 return offset;
4650 static const per_sequence_t SetupAcknowledge_UUIE_sequence[] = {
4651 { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4652 { &hf_h225_callIdentifier , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4653 { &hf_h225_tokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
4654 { &hf_h225_cryptoTokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4655 { NULL, 0, 0, NULL }
4658 static int
4659 dissect_h225_SetupAcknowledge_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4660 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4661 ett_h225_SetupAcknowledge_UUIE, SetupAcknowledge_UUIE_sequence);
4663 #line 373 "../../asn1/h225/h225.cnf"
4664 /* Add to packet info */
4665 h225_pi->cs_type = H225_SETUP_ACK;
4666 g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
4668 return offset;
4672 static const per_sequence_t Notify_UUIE_sequence[] = {
4673 { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4674 { &hf_h225_callIdentifier , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4675 { &hf_h225_tokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
4676 { &hf_h225_cryptoTokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4677 { &hf_h225_connectedAddress, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
4678 { &hf_h225_presentationIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_PresentationIndicator },
4679 { &hf_h225_screeningIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ScreeningIndicator },
4680 { &hf_h225_destinationInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_EndpointType },
4681 { &hf_h225_displayName , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_DisplayName },
4682 { NULL, 0, 0, NULL }
4685 static int
4686 dissect_h225_Notify_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4687 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4688 ett_h225_Notify_UUIE, Notify_UUIE_sequence);
4690 return offset;
4694 const value_string T_h323_message_body_vals[] = {
4695 { 0, "setup" },
4696 { 1, "callProceeding" },
4697 { 2, "connect" },
4698 { 3, "alerting" },
4699 { 4, "information" },
4700 { 5, "releaseComplete" },
4701 { 6, "facility" },
4702 { 7, "progress" },
4703 { 8, "empty" },
4704 { 9, "status" },
4705 { 10, "statusInquiry" },
4706 { 11, "setupAcknowledge" },
4707 { 12, "notify" },
4708 { 0, NULL }
4711 static const per_choice_t T_h323_message_body_choice[] = {
4712 { 0, &hf_h225_setup , ASN1_EXTENSION_ROOT , dissect_h225_Setup_UUIE },
4713 { 1, &hf_h225_callProceeding , ASN1_EXTENSION_ROOT , dissect_h225_CallProceeding_UUIE },
4714 { 2, &hf_h225_connect , ASN1_EXTENSION_ROOT , dissect_h225_Connect_UUIE },
4715 { 3, &hf_h225_alerting , ASN1_EXTENSION_ROOT , dissect_h225_Alerting_UUIE },
4716 { 4, &hf_h225_information , ASN1_EXTENSION_ROOT , dissect_h225_Information_UUIE },
4717 { 5, &hf_h225_releaseComplete, ASN1_EXTENSION_ROOT , dissect_h225_ReleaseComplete_UUIE },
4718 { 6, &hf_h225_facility , ASN1_EXTENSION_ROOT , dissect_h225_Facility_UUIE },
4719 { 7, &hf_h225_progress , ASN1_NOT_EXTENSION_ROOT, dissect_h225_Progress_UUIE },
4720 { 8, &hf_h225_empty_flg , ASN1_NOT_EXTENSION_ROOT, dissect_h225_T_empty_flg },
4721 { 9, &hf_h225_status , ASN1_NOT_EXTENSION_ROOT, dissect_h225_Status_UUIE },
4722 { 10, &hf_h225_statusInquiry , ASN1_NOT_EXTENSION_ROOT, dissect_h225_StatusInquiry_UUIE },
4723 { 11, &hf_h225_setupAcknowledge, ASN1_NOT_EXTENSION_ROOT, dissect_h225_SetupAcknowledge_UUIE },
4724 { 12, &hf_h225_notify , ASN1_NOT_EXTENSION_ROOT, dissect_h225_Notify_UUIE },
4725 { 0, NULL, 0, NULL }
4728 static int
4729 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_) {
4730 #line 242 "../../asn1/h225/h225.cnf"
4731 gint32 message_body_val;
4733 contains_faststart = FALSE;
4734 call_id_guid = NULL;
4735 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4736 ett_h225_T_h323_message_body, T_h323_message_body_choice,
4737 &message_body_val);
4739 col_append_fstr(actx->pinfo->cinfo, COL_INFO, "CS: %s ",
4740 val_to_str(message_body_val, T_h323_message_body_vals, "<unknown>"));
4742 if (h225_pi->msg_type == H225_CS) {
4743 /* Don't override msg_tag value from IRR */
4744 h225_pi->msg_tag = message_body_val;
4747 if (call_id_guid) {
4748 h225_pi->guid = *call_id_guid;
4751 if (contains_faststart == TRUE )
4753 col_append_str(actx->pinfo->cinfo, COL_INFO, "OpenLogicalChannel " );
4756 col_set_fence(actx->pinfo->cinfo,COL_INFO);
4760 return offset;
4765 static int
4766 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_) {
4767 #line 557 "../../asn1/h225/h225.cnf"
4768 tvbuff_t *h4501_tvb = NULL;
4770 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4771 NO_BOUND, NO_BOUND, FALSE, &h4501_tvb);
4773 if (h4501_tvb && tvb_length(h4501_tvb)) {
4774 call_dissector(h4501_handle, h4501_tvb, actx->pinfo, tree);
4778 return offset;
4782 static const per_sequence_t T_h4501SupplementaryService_sequence_of[1] = {
4783 { &hf_h225_h4501SupplementaryService_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_T_h4501SupplementaryService_item },
4786 static int
4787 dissect_h225_T_h4501SupplementaryService(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4788 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4789 ett_h225_T_h4501SupplementaryService, T_h4501SupplementaryService_sequence_of);
4791 return offset;
4796 static int
4797 dissect_h225_T_h245Tunnelling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4798 offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, &(h225_pi->is_h245Tunneling));
4800 return offset;
4805 static int
4806 dissect_h225_H245Control_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4807 #line 341 "../../asn1/h225/h225.cnf"
4808 tvbuff_t *h245_tvb = NULL;
4810 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4811 NO_BOUND, NO_BOUND, FALSE, &h245_tvb);
4813 next_tvb_add_handle(&h245_list, h245_tvb, (h225_h245_in_tree)?tree:NULL, h245dg_handle);
4816 return offset;
4820 static const per_sequence_t H245Control_sequence_of[1] = {
4821 { &hf_h225_H245Control_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_H245Control_item },
4824 static int
4825 dissect_h225_H245Control(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4826 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4827 ett_h225_H245Control, H245Control_sequence_of);
4829 return offset;
4833 static const per_sequence_t SEQUENCE_OF_NonStandardParameter_sequence_of[1] = {
4834 { &hf_h225_nonStandardControl_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_NonStandardParameter },
4837 static int
4838 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_) {
4839 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4840 ett_h225_SEQUENCE_OF_NonStandardParameter, SEQUENCE_OF_NonStandardParameter_sequence_of);
4842 return offset;
4846 static const per_sequence_t CallLinkage_sequence[] = {
4847 { &hf_h225_globalCallId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_GloballyUniqueID },
4848 { &hf_h225_threadId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_GloballyUniqueID },
4849 { NULL, 0, 0, NULL }
4852 static int
4853 dissect_h225_CallLinkage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4854 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4855 ett_h225_CallLinkage, CallLinkage_sequence);
4857 return offset;
4862 static int
4863 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_) {
4864 #line 579 "../../asn1/h225/h225.cnf"
4865 tvbuff_t *next_tvb = NULL;
4867 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4868 NO_BOUND, NO_BOUND, FALSE, &next_tvb);
4870 next_tvb_add_handle(&tp_list, next_tvb, (h225_tp_in_tree)?tree:NULL, tp_handle);
4873 return offset;
4877 static const per_sequence_t T_messageContent_sequence_of[1] = {
4878 { &hf_h225_messageContent_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_T_messageContent_item },
4881 static int
4882 dissect_h225_T_messageContent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4883 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4884 ett_h225_T_messageContent, T_messageContent_sequence_of);
4886 return offset;
4890 static const per_sequence_t T_tunnelledSignallingMessage_sequence[] = {
4891 { &hf_h225_tunnelledProtocolID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_TunnelledProtocol },
4892 { &hf_h225_messageContent , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_T_messageContent },
4893 { &hf_h225_tunnellingRequired, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NULL },
4894 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
4895 { NULL, 0, 0, NULL }
4898 static int
4899 dissect_h225_T_tunnelledSignallingMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4900 #line 577 "../../asn1/h225/h225.cnf"
4901 tp_handle = NULL;
4903 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4904 ett_h225_T_tunnelledSignallingMessage, T_tunnelledSignallingMessage_sequence);
4906 return offset;
4911 static int
4912 dissect_h225_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4913 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4914 NO_BOUND, NO_BOUND, FALSE, NULL);
4916 return offset;
4920 static const per_sequence_t StimulusControl_sequence[] = {
4921 { &hf_h225_nonStandard , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
4922 { &hf_h225_isText , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NULL },
4923 { &hf_h225_h248Message , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_OCTET_STRING },
4924 { NULL, 0, 0, NULL }
4927 static int
4928 dissect_h225_StimulusControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4929 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4930 ett_h225_StimulusControl, StimulusControl_sequence);
4932 return offset;
4936 static const per_sequence_t H323_UU_PDU_sequence[] = {
4937 { &hf_h225_h323_message_body, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_T_h323_message_body },
4938 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
4939 { &hf_h225_h4501SupplementaryService, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_T_h4501SupplementaryService },
4940 { &hf_h225_h245Tunnelling , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_T_h245Tunnelling },
4941 { &hf_h225_h245Control , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_H245Control },
4942 { &hf_h225_nonStandardControl, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_NonStandardParameter },
4943 { &hf_h225_callLinkage , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CallLinkage },
4944 { &hf_h225_tunnelledSignallingMessage, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_T_tunnelledSignallingMessage },
4945 { &hf_h225_provisionalRespToH245Tunnelling, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_NULL },
4946 { &hf_h225_stimulusControl, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_StimulusControl },
4947 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
4948 { NULL, 0, 0, NULL }
4951 static int
4952 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_) {
4953 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4954 ett_h225_H323_UU_PDU, H323_UU_PDU_sequence);
4956 return offset;
4961 static int
4962 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_) {
4963 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4964 1, 131, FALSE, NULL);
4966 return offset;
4970 static const per_sequence_t T_user_data_sequence[] = {
4971 { &hf_h225_protocol_discriminator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_0_255 },
4972 { &hf_h225_user_information, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_1_131 },
4973 { NULL, 0, 0, NULL }
4976 static int
4977 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_) {
4978 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4979 ett_h225_T_user_data, T_user_data_sequence);
4981 return offset;
4985 static const per_sequence_t H323_UserInformation_sequence[] = {
4986 { &hf_h225_h323_uu_pdu , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_H323_UU_PDU },
4987 { &hf_h225_user_data , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_T_user_data },
4988 { NULL, 0, 0, NULL }
4991 static int
4992 dissect_h225_H323_UserInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4993 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4994 ett_h225_H323_UserInformation, H323_UserInformation_sequence);
4996 return offset;
5000 static const per_sequence_t T_range_sequence[] = {
5001 { &hf_h225_startOfRange , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_PartyNumber },
5002 { &hf_h225_endOfRange , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_PartyNumber },
5003 { NULL, 0, 0, NULL }
5006 static int
5007 dissect_h225_T_range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5008 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5009 ett_h225_T_range, T_range_sequence);
5011 return offset;
5015 static const value_string h225_AddressPattern_vals[] = {
5016 { 0, "wildcard" },
5017 { 1, "range" },
5018 { 0, NULL }
5021 static const per_choice_t AddressPattern_choice[] = {
5022 { 0, &hf_h225_wildcard , ASN1_EXTENSION_ROOT , dissect_h225_AliasAddress },
5023 { 1, &hf_h225_range , ASN1_EXTENSION_ROOT , dissect_h225_T_range },
5024 { 0, NULL, 0, NULL }
5027 static int
5028 dissect_h225_AddressPattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5029 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5030 ett_h225_AddressPattern, AddressPattern_choice,
5031 NULL);
5033 return offset;
5037 static const per_sequence_t SEQUENCE_OF_TransportAddress_sequence_of[1] = {
5038 { &hf_h225_callSignalAddress_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_TransportAddress },
5041 static int
5042 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_) {
5043 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5044 ett_h225_SEQUENCE_OF_TransportAddress, SEQUENCE_OF_TransportAddress_sequence_of);
5046 return offset;
5051 static int
5052 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_) {
5053 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5054 0U, 127U, NULL, FALSE);
5056 return offset;
5060 static const per_sequence_t AlternateTransportAddresses_sequence[] = {
5061 { &hf_h225_annexE , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_TransportAddress },
5062 { &hf_h225_sctp , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_TransportAddress },
5063 { NULL, 0, 0, NULL }
5067 dissect_h225_AlternateTransportAddresses(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5068 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5069 ett_h225_AlternateTransportAddresses, AlternateTransportAddresses_sequence);
5071 return offset;
5075 static const per_sequence_t Endpoint_sequence[] = {
5076 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
5077 { &hf_h225_aliasAddress , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
5078 { &hf_h225_callSignalAddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_TransportAddress },
5079 { &hf_h225_rasAddress , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_TransportAddress },
5080 { &hf_h225_endpointType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_EndpointType },
5081 { &hf_h225_tokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
5082 { &hf_h225_cryptoTokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
5083 { &hf_h225_priority , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_INTEGER_0_127 },
5084 { &hf_h225_remoteExtensionAddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
5085 { &hf_h225_destExtraCallInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
5086 { &hf_h225_alternateTransportAddresses, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AlternateTransportAddresses },
5087 { &hf_h225_circuitInfo , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CircuitInfo },
5088 { &hf_h225_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
5089 { NULL, 0, 0, NULL }
5092 static int
5093 dissect_h225_Endpoint(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5094 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5095 ett_h225_Endpoint, Endpoint_sequence);
5097 return offset;
5101 static const value_string h225_UseSpecifiedTransport_vals[] = {
5102 { 0, "tcp" },
5103 { 1, "annexE" },
5104 { 2, "sctp" },
5105 { 0, NULL }
5108 static const per_choice_t UseSpecifiedTransport_choice[] = {
5109 { 0, &hf_h225_tcp , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
5110 { 1, &hf_h225_annexE_flg , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
5111 { 2, &hf_h225_sctp_flg , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
5112 { 0, NULL, 0, NULL }
5115 static int
5116 dissect_h225_UseSpecifiedTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5117 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5118 ett_h225_UseSpecifiedTransport, UseSpecifiedTransport_choice,
5119 NULL);
5121 return offset;
5125 static const per_sequence_t AlternateGK_sequence[] = {
5126 { &hf_h225_alternateGK_rasAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_TransportAddress },
5127 { &hf_h225_gatekeeperIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_GatekeeperIdentifier },
5128 { &hf_h225_needToRegister , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5129 { &hf_h225_priority , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_0_127 },
5130 { NULL, 0, 0, NULL }
5133 static int
5134 dissect_h225_AlternateGK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5135 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5136 ett_h225_AlternateGK, AlternateGK_sequence);
5138 return offset;
5142 static const per_sequence_t SEQUENCE_OF_AlternateGK_sequence_of[1] = {
5143 { &hf_h225_alternateGatekeeper_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_AlternateGK },
5146 static int
5147 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_) {
5148 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5149 ett_h225_SEQUENCE_OF_AlternateGK, SEQUENCE_OF_AlternateGK_sequence_of);
5151 return offset;
5155 static const per_sequence_t AltGKInfo_sequence[] = {
5156 { &hf_h225_alternateGatekeeper, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_AlternateGK },
5157 { &hf_h225_altGKisPermanent, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5158 { NULL, 0, 0, NULL }
5161 static int
5162 dissect_h225_AltGKInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5163 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5164 ett_h225_AltGKInfo, AltGKInfo_sequence);
5166 return offset;
5170 static const value_string h225_SecurityErrors2_vals[] = {
5171 { 0, "securityWrongSyncTime" },
5172 { 1, "securityReplay" },
5173 { 2, "securityWrongGeneralID" },
5174 { 3, "securityWrongSendersID" },
5175 { 4, "securityIntegrityFailed" },
5176 { 5, "securityWrongOID" },
5177 { 0, NULL }
5180 static const per_choice_t SecurityErrors2_choice[] = {
5181 { 0, &hf_h225_securityWrongSyncTime, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
5182 { 1, &hf_h225_securityReplay , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
5183 { 2, &hf_h225_securityWrongGeneralID, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
5184 { 3, &hf_h225_securityWrongSendersID, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
5185 { 4, &hf_h225_securityIntegrityFailed, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
5186 { 5, &hf_h225_securityWrongOID, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
5187 { 0, NULL, 0, NULL }
5190 static int
5191 dissect_h225_SecurityErrors2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5192 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5193 ett_h225_SecurityErrors2, SecurityErrors2_choice,
5194 NULL);
5196 return offset;
5201 static int
5202 dissect_h225_RequestSeqNum(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5203 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5204 1U, 65535U, &(h225_pi->requestSeqNum), FALSE);
5206 return offset;
5212 dissect_h225_TimeToLive(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5213 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5214 1U, 4294967295U, NULL, FALSE);
5216 return offset;
5221 static int
5222 dissect_h225_H248PackagesDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5223 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
5224 NO_BOUND, NO_BOUND, FALSE, NULL);
5226 return offset;
5230 static const value_string h225_EncryptIntAlg_vals[] = {
5231 { 0, "nonStandard" },
5232 { 1, "isoAlgorithm" },
5233 { 0, NULL }
5236 static const per_choice_t EncryptIntAlg_choice[] = {
5237 { 0, &hf_h225_nonStandard , ASN1_EXTENSION_ROOT , dissect_h225_NonStandardParameter },
5238 { 1, &hf_h225_isoAlgorithm , ASN1_EXTENSION_ROOT , dissect_h225_OBJECT_IDENTIFIER },
5239 { 0, NULL, 0, NULL }
5242 static int
5243 dissect_h225_EncryptIntAlg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5244 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5245 ett_h225_EncryptIntAlg, EncryptIntAlg_choice,
5246 NULL);
5248 return offset;
5252 static const value_string h225_NonIsoIntegrityMechanism_vals[] = {
5253 { 0, "hMAC-MD5" },
5254 { 1, "hMAC-iso10118-2-s" },
5255 { 2, "hMAC-iso10118-2-l" },
5256 { 3, "hMAC-iso10118-3" },
5257 { 0, NULL }
5260 static const per_choice_t NonIsoIntegrityMechanism_choice[] = {
5261 { 0, &hf_h225_hMAC_MD5 , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
5262 { 1, &hf_h225_hMAC_iso10118_2_s, ASN1_EXTENSION_ROOT , dissect_h225_EncryptIntAlg },
5263 { 2, &hf_h225_hMAC_iso10118_2_l, ASN1_EXTENSION_ROOT , dissect_h225_EncryptIntAlg },
5264 { 3, &hf_h225_hMAC_iso10118_3, ASN1_EXTENSION_ROOT , dissect_h225_OBJECT_IDENTIFIER },
5265 { 0, NULL, 0, NULL }
5268 static int
5269 dissect_h225_NonIsoIntegrityMechanism(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5270 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5271 ett_h225_NonIsoIntegrityMechanism, NonIsoIntegrityMechanism_choice,
5272 NULL);
5274 return offset;
5278 const value_string h225_IntegrityMechanism_vals[] = {
5279 { 0, "nonStandard" },
5280 { 1, "digSig" },
5281 { 2, "iso9797" },
5282 { 3, "nonIsoIM" },
5283 { 0, NULL }
5286 static const per_choice_t IntegrityMechanism_choice[] = {
5287 { 0, &hf_h225_nonStandard , ASN1_EXTENSION_ROOT , dissect_h225_NonStandardParameter },
5288 { 1, &hf_h225_digSig , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
5289 { 2, &hf_h225_iso9797 , ASN1_EXTENSION_ROOT , dissect_h225_OBJECT_IDENTIFIER },
5290 { 3, &hf_h225_nonIsoIM , ASN1_EXTENSION_ROOT , dissect_h225_NonIsoIntegrityMechanism },
5291 { 0, NULL, 0, NULL }
5295 dissect_h225_IntegrityMechanism(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5296 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5297 ett_h225_IntegrityMechanism, IntegrityMechanism_choice,
5298 NULL);
5300 return offset;
5305 static int
5306 dissect_h225_BIT_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5307 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5308 NO_BOUND, NO_BOUND, FALSE, NULL);
5310 return offset;
5314 static const per_sequence_t ICV_sequence[] = {
5315 { &hf_h225_algorithmOID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_OBJECT_IDENTIFIER },
5316 { &hf_h225_icv , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_BIT_STRING },
5317 { NULL, 0, 0, NULL }
5321 dissect_h225_ICV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5322 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5323 ett_h225_ICV, ICV_sequence);
5325 return offset;
5329 static const per_sequence_t CapacityReportingCapability_sequence[] = {
5330 { &hf_h225_canReportCallCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5331 { NULL, 0, 0, NULL }
5334 static int
5335 dissect_h225_CapacityReportingCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5336 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5337 ett_h225_CapacityReportingCapability, CapacityReportingCapability_sequence);
5339 return offset;
5343 static const per_sequence_t CapacityReportingSpecification_when_sequence[] = {
5344 { &hf_h225_callStart , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NULL },
5345 { &hf_h225_callEnd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NULL },
5346 { NULL, 0, 0, NULL }
5349 static int
5350 dissect_h225_CapacityReportingSpecification_when(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5351 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5352 ett_h225_CapacityReportingSpecification_when, CapacityReportingSpecification_when_sequence);
5354 return offset;
5358 static const per_sequence_t CapacityReportingSpecification_sequence[] = {
5359 { &hf_h225_capacityReportingSpecification_when, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CapacityReportingSpecification_when },
5360 { NULL, 0, 0, NULL }
5363 static int
5364 dissect_h225_CapacityReportingSpecification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5365 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5366 ett_h225_CapacityReportingSpecification, CapacityReportingSpecification_sequence);
5368 return offset;
5372 static const per_sequence_t RasUsageInfoTypes_sequence[] = {
5373 { &hf_h225_nonStandardUsageTypes, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_NonStandardParameter },
5374 { &hf_h225_startTime , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NULL },
5375 { &hf_h225_endTime_flg , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NULL },
5376 { &hf_h225_terminationCause_flg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NULL },
5377 { NULL, 0, 0, NULL }
5380 static int
5381 dissect_h225_RasUsageInfoTypes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5382 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5383 ett_h225_RasUsageInfoTypes, RasUsageInfoTypes_sequence);
5385 return offset;
5389 static const per_sequence_t RasUsageSpecification_when_sequence[] = {
5390 { &hf_h225_start , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NULL },
5391 { &hf_h225_end , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NULL },
5392 { &hf_h225_inIrr , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NULL },
5393 { NULL, 0, 0, NULL }
5396 static int
5397 dissect_h225_RasUsageSpecification_when(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5398 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5399 ett_h225_RasUsageSpecification_when, RasUsageSpecification_when_sequence);
5401 return offset;
5405 static const per_sequence_t RasUsageSpecificationcallStartingPoint_sequence[] = {
5406 { &hf_h225_alerting_flg , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NULL },
5407 { &hf_h225_connect_flg , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NULL },
5408 { NULL, 0, 0, NULL }
5411 static int
5412 dissect_h225_RasUsageSpecificationcallStartingPoint(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5413 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5414 ett_h225_RasUsageSpecificationcallStartingPoint, RasUsageSpecificationcallStartingPoint_sequence);
5416 return offset;
5420 static const per_sequence_t RasUsageSpecification_sequence[] = {
5421 { &hf_h225_when , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RasUsageSpecification_when },
5422 { &hf_h225_ras_callStartingPoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_RasUsageSpecificationcallStartingPoint },
5423 { &hf_h225_required , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RasUsageInfoTypes },
5424 { NULL, 0, 0, NULL }
5427 static int
5428 dissect_h225_RasUsageSpecification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5429 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5430 ett_h225_RasUsageSpecification, RasUsageSpecification_sequence);
5432 return offset;
5436 static const per_sequence_t RasUsageInformation_sequence[] = {
5437 { &hf_h225_nonStandardUsageFields, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_NonStandardParameter },
5438 { &hf_h225_alertingTime , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h235_TimeStamp },
5439 { &hf_h225_connectTime , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h235_TimeStamp },
5440 { &hf_h225_endTime , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h235_TimeStamp },
5441 { NULL, 0, 0, NULL }
5444 static int
5445 dissect_h225_RasUsageInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5446 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5447 ett_h225_RasUsageInformation, RasUsageInformation_sequence);
5449 return offset;
5454 static int
5455 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_) {
5456 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
5457 2, 32, FALSE, NULL);
5459 return offset;
5463 static const value_string h225_CallTerminationCause_vals[] = {
5464 { 0, "releaseCompleteReason" },
5465 { 1, "releaseCompleteCauseIE" },
5466 { 0, NULL }
5469 static const per_choice_t CallTerminationCause_choice[] = {
5470 { 0, &hf_h225_releaseCompleteReason, ASN1_EXTENSION_ROOT , dissect_h225_ReleaseCompleteReason },
5471 { 1, &hf_h225_releaseCompleteCauseIE, ASN1_EXTENSION_ROOT , dissect_h225_OCTET_STRING_SIZE_2_32 },
5472 { 0, NULL, 0, NULL }
5475 static int
5476 dissect_h225_CallTerminationCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5477 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5478 ett_h225_CallTerminationCause, CallTerminationCause_choice,
5479 NULL);
5481 return offset;
5485 static const per_sequence_t TransportChannelInfo_sequence[] = {
5486 { &hf_h225_sendAddress , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TransportAddress },
5487 { &hf_h225_recvAddress , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TransportAddress },
5488 { NULL, 0, 0, NULL }
5492 dissect_h225_TransportChannelInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5493 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5494 ett_h225_TransportChannelInfo, TransportChannelInfo_sequence);
5496 return offset;
5500 static const per_sequence_t BandwidthDetails_sequence[] = {
5501 { &hf_h225_sender , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5502 { &hf_h225_multicast , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5503 { &hf_h225_bandwidth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BandWidth },
5504 { &hf_h225_rtcpAddresses , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_TransportChannelInfo },
5505 { NULL, 0, 0, NULL }
5508 static int
5509 dissect_h225_BandwidthDetails(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5510 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5511 ett_h225_BandwidthDetails, BandwidthDetails_sequence);
5513 return offset;
5517 static const per_sequence_t CallCreditCapability_sequence[] = {
5518 { &hf_h225_canDisplayAmountString, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_BOOLEAN },
5519 { &hf_h225_canEnforceDurationLimit, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_BOOLEAN },
5520 { NULL, 0, 0, NULL }
5523 static int
5524 dissect_h225_CallCreditCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5525 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5526 ett_h225_CallCreditCapability, CallCreditCapability_sequence);
5528 return offset;
5533 static int
5534 dissect_h225_PrintableString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5535 offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
5536 NO_BOUND, NO_BOUND, FALSE);
5538 return offset;
5543 static int
5544 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_) {
5545 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5546 1U, 255U, NULL, FALSE);
5548 return offset;
5552 static const per_sequence_t T_associatedSessionIds_sequence_of[1] = {
5553 { &hf_h225_associatedSessionIds_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_1_255 },
5556 static int
5557 dissect_h225_T_associatedSessionIds(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5558 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5559 ett_h225_T_associatedSessionIds, T_associatedSessionIds_sequence_of);
5561 return offset;
5565 static const per_sequence_t RTPSession_sequence[] = {
5566 { &hf_h225_rtpAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_TransportChannelInfo },
5567 { &hf_h225_rtcpAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_TransportChannelInfo },
5568 { &hf_h225_cname , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_PrintableString },
5569 { &hf_h225_ssrc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_1_4294967295 },
5570 { &hf_h225_sessionId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_1_255 },
5571 { &hf_h225_associatedSessionIds, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_T_associatedSessionIds },
5572 { &hf_h225_multicast_flg , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_NULL },
5573 { &hf_h225_bandwidth , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_BandWidth },
5574 { NULL, 0, 0, NULL }
5577 static int
5578 dissect_h225_RTPSession(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5579 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5580 ett_h225_RTPSession, RTPSession_sequence);
5582 return offset;
5586 static const value_string h225_RehomingModel_vals[] = {
5587 { 0, "gatekeeperBased" },
5588 { 1, "endpointBased" },
5589 { 0, NULL }
5592 static const per_choice_t RehomingModel_choice[] = {
5593 { 0, &hf_h225_gatekeeperBased, ASN1_NO_EXTENSIONS , dissect_h225_NULL },
5594 { 1, &hf_h225_endpointBased , ASN1_NO_EXTENSIONS , dissect_h225_NULL },
5595 { 0, NULL, 0, NULL }
5598 static int
5599 dissect_h225_RehomingModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5600 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5601 ett_h225_RehomingModel, RehomingModel_choice,
5602 NULL);
5604 return offset;
5608 static const per_sequence_t SEQUENCE_OF_Endpoint_sequence_of[1] = {
5609 { &hf_h225_alternateEndpoints_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_Endpoint },
5612 static int
5613 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_) {
5614 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5615 ett_h225_SEQUENCE_OF_Endpoint, SEQUENCE_OF_Endpoint_sequence_of);
5617 return offset;
5621 static const per_sequence_t SEQUENCE_OF_AuthenticationMechanism_sequence_of[1] = {
5622 { &hf_h225_authenticationCapability_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h235_AuthenticationMechanism },
5625 static int
5626 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_) {
5627 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5628 ett_h225_SEQUENCE_OF_AuthenticationMechanism, SEQUENCE_OF_AuthenticationMechanism_sequence_of);
5630 return offset;
5634 static const per_sequence_t T_algorithmOIDs_sequence_of[1] = {
5635 { &hf_h225_algorithmOIDs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_OBJECT_IDENTIFIER },
5638 static int
5639 dissect_h225_T_algorithmOIDs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5640 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5641 ett_h225_T_algorithmOIDs, T_algorithmOIDs_sequence_of);
5643 return offset;
5647 static const per_sequence_t SEQUENCE_OF_IntegrityMechanism_sequence_of[1] = {
5648 { &hf_h225_integrity_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_IntegrityMechanism },
5651 static int
5652 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_) {
5653 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5654 ett_h225_SEQUENCE_OF_IntegrityMechanism, SEQUENCE_OF_IntegrityMechanism_sequence_of);
5656 return offset;
5660 static const per_sequence_t GatekeeperRequest_sequence[] = {
5661 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
5662 { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
5663 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
5664 { &hf_h225_gatekeeperRequest_rasAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_TransportAddress },
5665 { &hf_h225_endpointType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_EndpointType },
5666 { &hf_h225_gatekeeperIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_GatekeeperIdentifier },
5667 { &hf_h225_callServices , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_QseriesOptions },
5668 { &hf_h225_endpointAlias , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
5669 { &hf_h225_alternateEndpoints, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_Endpoint },
5670 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
5671 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
5672 { &hf_h225_authenticationCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AuthenticationMechanism },
5673 { &hf_h225_algorithmOIDs , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_T_algorithmOIDs },
5674 { &hf_h225_integrity , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_IntegrityMechanism },
5675 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
5676 { &hf_h225_supportsAltGK , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_NULL },
5677 { &hf_h225_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
5678 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
5679 { &hf_h225_supportsAssignedGK, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5680 { &hf_h225_assignedGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AlternateGK },
5681 { NULL, 0, 0, NULL }
5684 static int
5685 dissect_h225_GatekeeperRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5686 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5687 ett_h225_GatekeeperRequest, GatekeeperRequest_sequence);
5689 return offset;
5693 static const per_sequence_t GatekeeperConfirm_sequence[] = {
5694 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
5695 { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
5696 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
5697 { &hf_h225_gatekeeperIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_GatekeeperIdentifier },
5698 { &hf_h225_gatekeeperConfirm_rasAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_TransportAddress },
5699 { &hf_h225_alternateGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AlternateGK },
5700 { &hf_h225_authenticationMode, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h235_AuthenticationMechanism },
5701 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
5702 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
5703 { &hf_h225_algorithmOID , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_OBJECT_IDENTIFIER },
5704 { &hf_h225_integrity , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_IntegrityMechanism },
5705 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
5706 { &hf_h225_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
5707 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
5708 { &hf_h225_assignedGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AlternateGK },
5709 { &hf_h225_rehomingModel , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_RehomingModel },
5710 { NULL, 0, 0, NULL }
5713 static int
5714 dissect_h225_GatekeeperConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5715 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5716 ett_h225_GatekeeperConfirm, GatekeeperConfirm_sequence);
5718 return offset;
5722 const value_string GatekeeperRejectReason_vals[] = {
5723 { 0, "resourceUnavailable" },
5724 { 1, "terminalExcluded" },
5725 { 2, "invalidRevision" },
5726 { 3, "undefinedReason" },
5727 { 4, "securityDenial" },
5728 { 5, "genericDataReason" },
5729 { 6, "neededFeatureNotSupported" },
5730 { 7, "securityError" },
5731 { 0, NULL }
5734 static const per_choice_t GatekeeperRejectReason_choice[] = {
5735 { 0, &hf_h225_resourceUnavailable, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
5736 { 1, &hf_h225_terminalExcluded, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
5737 { 2, &hf_h225_invalidRevision, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
5738 { 3, &hf_h225_undefinedReason, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
5739 { 4, &hf_h225_securityDenial , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
5740 { 5, &hf_h225_genericDataReason, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
5741 { 6, &hf_h225_neededFeatureNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
5742 { 7, &hf_h225_gkRej_securityError, ASN1_NOT_EXTENSION_ROOT, dissect_h225_SecurityErrors },
5743 { 0, NULL, 0, NULL }
5746 static int
5747 dissect_h225_GatekeeperRejectReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5748 #line 467 "../../asn1/h225/h225.cnf"
5749 gint32 value;
5751 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5752 ett_h225_GatekeeperRejectReason, GatekeeperRejectReason_choice,
5753 &value);
5755 h225_pi->reason = value;
5758 return offset;
5762 static const per_sequence_t GatekeeperReject_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_gatekeeperIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_GatekeeperIdentifier },
5767 { &hf_h225_gatekeeperRejectReason, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_GatekeeperRejectReason },
5768 { &hf_h225_altGKInfo , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AltGKInfo },
5769 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
5770 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
5771 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
5772 { &hf_h225_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
5773 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
5774 { NULL, 0, 0, NULL }
5777 static int
5778 dissect_h225_GatekeeperReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5779 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5780 ett_h225_GatekeeperReject, GatekeeperReject_sequence);
5782 return offset;
5786 static const per_sequence_t SEQUENCE_OF_AddressPattern_sequence_of[1] = {
5787 { &hf_h225_terminalAliasPattern_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_AddressPattern },
5790 static int
5791 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_) {
5792 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5793 ett_h225_SEQUENCE_OF_AddressPattern, SEQUENCE_OF_AddressPattern_sequence_of);
5795 return offset;
5799 static const per_sequence_t SEQUENCE_OF_H248PackagesDescriptor_sequence_of[1] = {
5800 { &hf_h225_supportedH248Packages_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_H248PackagesDescriptor },
5803 static int
5804 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_) {
5805 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5806 ett_h225_SEQUENCE_OF_H248PackagesDescriptor, SEQUENCE_OF_H248PackagesDescriptor_sequence_of);
5808 return offset;
5812 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_QOSCapability_sequence_of[1] = {
5813 { &hf_h225_qOSCapabilities_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_QOSCapability },
5816 static int
5817 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_) {
5818 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5819 ett_h225_SEQUENCE_SIZE_1_256_OF_QOSCapability, SEQUENCE_SIZE_1_256_OF_QOSCapability_sequence_of,
5820 1, 256, FALSE);
5822 return offset;
5826 const value_string h225_TransportQOS_vals[] = {
5827 { 0, "endpointControlled" },
5828 { 1, "gatekeeperControlled" },
5829 { 2, "noControl" },
5830 { 3, "qOSCapabilities" },
5831 { 0, NULL }
5834 static const per_choice_t TransportQOS_choice[] = {
5835 { 0, &hf_h225_endpointControlled, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
5836 { 1, &hf_h225_gatekeeperControlled, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
5837 { 2, &hf_h225_noControl , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
5838 { 3, &hf_h225_qOSCapabilities, ASN1_NOT_EXTENSION_ROOT, dissect_h225_SEQUENCE_SIZE_1_256_OF_QOSCapability },
5839 { 0, NULL, 0, NULL }
5843 dissect_h225_TransportQOS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5844 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5845 ett_h225_TransportQOS, TransportQOS_choice,
5846 NULL);
5848 return offset;
5852 static const per_sequence_t RegistrationRequest_sequence[] = {
5853 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
5854 { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
5855 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
5856 { &hf_h225_discoveryComplete, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5857 { &hf_h225_callSignalAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_TransportAddress },
5858 { &hf_h225_rasAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_TransportAddress },
5859 { &hf_h225_terminalType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_EndpointType },
5860 { &hf_h225_terminalAlias , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
5861 { &hf_h225_gatekeeperIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_GatekeeperIdentifier },
5862 { &hf_h225_endpointVendor , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_VendorIdentifier },
5863 { &hf_h225_alternateEndpoints, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_Endpoint },
5864 { &hf_h225_timeToLive , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_TimeToLive },
5865 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
5866 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
5867 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
5868 { &hf_h225_keepAlive , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5869 { &hf_h225_endpointIdentifier, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_EndpointIdentifier },
5870 { &hf_h225_willSupplyUUIEs, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5871 { &hf_h225_maintainConnection, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5872 { &hf_h225_alternateTransportAddresses, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AlternateTransportAddresses },
5873 { &hf_h225_additiveRegistration, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_NULL },
5874 { &hf_h225_terminalAliasPattern, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AddressPattern },
5875 { &hf_h225_supportsAltGK , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_NULL },
5876 { &hf_h225_usageReportingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_RasUsageInfoTypes },
5877 { &hf_h225_multipleCalls , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_BOOLEAN },
5878 { &hf_h225_supportedH248Packages, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_H248PackagesDescriptor },
5879 { &hf_h225_callCreditCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CallCreditCapability },
5880 { &hf_h225_capacityReportingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CapacityReportingCapability },
5881 { &hf_h225_capacity , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CallCapacity },
5882 { &hf_h225_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
5883 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
5884 { &hf_h225_restart , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_NULL },
5885 { &hf_h225_supportsACFSequences, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_NULL },
5886 { &hf_h225_supportsAssignedGK, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5887 { &hf_h225_assignedGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AlternateGK },
5888 { &hf_h225_transportQOS , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_TransportQOS },
5889 { &hf_h225_language , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_Language },
5890 { NULL, 0, 0, NULL }
5893 static int
5894 dissect_h225_RegistrationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5895 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5896 ett_h225_RegistrationRequest, RegistrationRequest_sequence);
5898 return offset;
5903 static int
5904 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_) {
5905 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5906 1U, 65535U, NULL, FALSE);
5908 return offset;
5912 static const per_sequence_t T_preGrantedARQ_sequence[] = {
5913 { &hf_h225_makeCall , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5914 { &hf_h225_useGKCallSignalAddressToMakeCall, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5915 { &hf_h225_answerCall , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5916 { &hf_h225_useGKCallSignalAddressToAnswer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5917 { &hf_h225_irrFrequencyInCall, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_INTEGER_1_65535 },
5918 { &hf_h225_totalBandwidthRestriction, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_BandWidth },
5919 { &hf_h225_alternateTransportAddresses, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AlternateTransportAddresses },
5920 { &hf_h225_useSpecifiedTransport, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_UseSpecifiedTransport },
5921 { NULL, 0, 0, NULL }
5924 static int
5925 dissect_h225_T_preGrantedARQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5926 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5927 ett_h225_T_preGrantedARQ, T_preGrantedARQ_sequence);
5929 return offset;
5933 static const per_sequence_t SEQUENCE_OF_RasUsageSpecification_sequence_of[1] = {
5934 { &hf_h225_usageSpec_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_RasUsageSpecification },
5937 static int
5938 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_) {
5939 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5940 ett_h225_SEQUENCE_OF_RasUsageSpecification, SEQUENCE_OF_RasUsageSpecification_sequence_of);
5942 return offset;
5946 static const per_sequence_t RegistrationConfirm_sequence[] = {
5947 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
5948 { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
5949 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
5950 { &hf_h225_callSignalAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_TransportAddress },
5951 { &hf_h225_terminalAlias , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
5952 { &hf_h225_gatekeeperIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_GatekeeperIdentifier },
5953 { &hf_h225_endpointIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_EndpointIdentifier },
5954 { &hf_h225_alternateGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AlternateGK },
5955 { &hf_h225_timeToLive , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_TimeToLive },
5956 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
5957 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
5958 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
5959 { &hf_h225_willRespondToIRR, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5960 { &hf_h225_preGrantedARQ , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_T_preGrantedARQ },
5961 { &hf_h225_maintainConnection, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5962 { &hf_h225_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ServiceControlSession },
5963 { &hf_h225_supportsAdditiveRegistration, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_NULL },
5964 { &hf_h225_terminalAliasPattern, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AddressPattern },
5965 { &hf_h225_supportedPrefixes, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_SupportedPrefix },
5966 { &hf_h225_usageSpec , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_RasUsageSpecification },
5967 { &hf_h225_featureServerAlias, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AliasAddress },
5968 { &hf_h225_capacityReportingSpec, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CapacityReportingSpecification },
5969 { &hf_h225_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
5970 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
5971 { &hf_h225_assignedGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AlternateGK },
5972 { &hf_h225_rehomingModel , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_RehomingModel },
5973 { &hf_h225_transportQOS , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_TransportQOS },
5974 { NULL, 0, 0, NULL }
5977 static int
5978 dissect_h225_RegistrationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5979 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5980 ett_h225_RegistrationConfirm, RegistrationConfirm_sequence);
5982 return offset;
5986 static const per_sequence_t T_invalidTerminalAliases_sequence[] = {
5987 { &hf_h225_terminalAlias , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
5988 { &hf_h225_terminalAliasPattern, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AddressPattern },
5989 { &hf_h225_supportedPrefixes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_SupportedPrefix },
5990 { NULL, 0, 0, NULL }
5993 static int
5994 dissect_h225_T_invalidTerminalAliases(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5995 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5996 ett_h225_T_invalidTerminalAliases, T_invalidTerminalAliases_sequence);
5998 return offset;
6002 const value_string RegistrationRejectReason_vals[] = {
6003 { 0, "discoveryRequired" },
6004 { 1, "invalidRevision" },
6005 { 2, "invalidCallSignalAddress" },
6006 { 3, "invalidRASAddress" },
6007 { 4, "duplicateAlias" },
6008 { 5, "invalidTerminalType" },
6009 { 6, "undefinedReason" },
6010 { 7, "transportNotSupported" },
6011 { 8, "transportQOSNotSupported" },
6012 { 9, "resourceUnavailable" },
6013 { 10, "invalidAlias" },
6014 { 11, "securityDenial" },
6015 { 12, "fullRegistrationRequired" },
6016 { 13, "additiveRegistrationNotSupported" },
6017 { 14, "invalidTerminalAliases" },
6018 { 15, "genericDataReason" },
6019 { 16, "neededFeatureNotSupported" },
6020 { 17, "securityError" },
6021 { 18, "registerWithAssignedGK" },
6022 { 0, NULL }
6025 static const per_choice_t RegistrationRejectReason_choice[] = {
6026 { 0, &hf_h225_discoveryRequired, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6027 { 1, &hf_h225_invalidRevision, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6028 { 2, &hf_h225_invalidCallSignalAddress, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6029 { 3, &hf_h225_invalidRASAddress, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6030 { 4, &hf_h225_duplicateAlias , ASN1_EXTENSION_ROOT , dissect_h225_SEQUENCE_OF_AliasAddress },
6031 { 5, &hf_h225_invalidTerminalType, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6032 { 6, &hf_h225_undefinedReason, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6033 { 7, &hf_h225_transportNotSupported, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6034 { 8, &hf_h225_transportQOSNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6035 { 9, &hf_h225_resourceUnavailable, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6036 { 10, &hf_h225_invalidAlias , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6037 { 11, &hf_h225_securityDenial , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6038 { 12, &hf_h225_fullRegistrationRequired, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6039 { 13, &hf_h225_additiveRegistrationNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6040 { 14, &hf_h225_invalidTerminalAliases, ASN1_NOT_EXTENSION_ROOT, dissect_h225_T_invalidTerminalAliases },
6041 { 15, &hf_h225_genericDataReason, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6042 { 16, &hf_h225_neededFeatureNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6043 { 17, &hf_h225_reg_securityError, ASN1_NOT_EXTENSION_ROOT, dissect_h225_SecurityErrors },
6044 { 18, &hf_h225_registerWithAssignedGK, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6045 { 0, NULL, 0, NULL }
6048 static int
6049 dissect_h225_RegistrationRejectReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6050 #line 522 "../../asn1/h225/h225.cnf"
6051 gint32 value;
6053 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6054 ett_h225_RegistrationRejectReason, RegistrationRejectReason_choice,
6055 &value);
6057 h225_pi->reason = value;
6060 return offset;
6064 static const per_sequence_t RegistrationReject_sequence[] = {
6065 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6066 { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
6067 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
6068 { &hf_h225_registrationRejectReason, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RegistrationRejectReason },
6069 { &hf_h225_gatekeeperIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_GatekeeperIdentifier },
6070 { &hf_h225_altGKInfo , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AltGKInfo },
6071 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
6072 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6073 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
6074 { &hf_h225_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
6075 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
6076 { &hf_h225_assignedGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AlternateGK },
6077 { NULL, 0, 0, NULL }
6080 static int
6081 dissect_h225_RegistrationReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6082 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6083 ett_h225_RegistrationReject, RegistrationReject_sequence);
6085 return offset;
6089 const value_string UnregRequestReason_vals[] = {
6090 { 0, "reregistrationRequired" },
6091 { 1, "ttlExpired" },
6092 { 2, "securityDenial" },
6093 { 3, "undefinedReason" },
6094 { 4, "maintenance" },
6095 { 5, "securityError" },
6096 { 6, "registerWithAssignedGK" },
6097 { 0, NULL }
6100 static const per_choice_t UnregRequestReason_choice[] = {
6101 { 0, &hf_h225_reregistrationRequired, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6102 { 1, &hf_h225_ttlExpired , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6103 { 2, &hf_h225_securityDenial , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6104 { 3, &hf_h225_undefinedReason, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6105 { 4, &hf_h225_maintenance , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6106 { 5, &hf_h225_securityError , ASN1_NOT_EXTENSION_ROOT, dissect_h225_SecurityErrors2 },
6107 { 6, &hf_h225_registerWithAssignedGK, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6108 { 0, NULL, 0, NULL }
6111 static int
6112 dissect_h225_UnregRequestReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6113 #line 474 "../../asn1/h225/h225.cnf"
6114 gint32 value;
6116 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6117 ett_h225_UnregRequestReason, UnregRequestReason_choice,
6118 &value);
6120 h225_pi->reason = value;
6123 return offset;
6127 static const per_sequence_t UnregistrationRequest_sequence[] = {
6128 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6129 { &hf_h225_callSignalAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_TransportAddress },
6130 { &hf_h225_endpointAlias , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
6131 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
6132 { &hf_h225_endpointIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_EndpointIdentifier },
6133 { &hf_h225_alternateEndpoints, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_Endpoint },
6134 { &hf_h225_gatekeeperIdentifier, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_GatekeeperIdentifier },
6135 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
6136 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6137 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
6138 { &hf_h225_unregRequestReason, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_UnregRequestReason },
6139 { &hf_h225_endpointAliasPattern, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AddressPattern },
6140 { &hf_h225_supportedPrefixes, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_SupportedPrefix },
6141 { &hf_h225_alternateGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AlternateGK },
6142 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
6143 { &hf_h225_assignedGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AlternateGK },
6144 { NULL, 0, 0, NULL }
6147 static int
6148 dissect_h225_UnregistrationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6149 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6150 ett_h225_UnregistrationRequest, UnregistrationRequest_sequence);
6152 return offset;
6156 static const per_sequence_t UnregistrationConfirm_sequence[] = {
6157 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6158 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
6159 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
6160 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6161 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
6162 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
6163 { &hf_h225_assignedGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AlternateGK },
6164 { NULL, 0, 0, NULL }
6167 static int
6168 dissect_h225_UnregistrationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6169 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6170 ett_h225_UnregistrationConfirm, UnregistrationConfirm_sequence);
6172 return offset;
6176 const value_string UnregRejectReason_vals[] = {
6177 { 0, "notCurrentlyRegistered" },
6178 { 1, "callInProgress" },
6179 { 2, "undefinedReason" },
6180 { 3, "permissionDenied" },
6181 { 4, "securityDenial" },
6182 { 5, "securityError" },
6183 { 0, NULL }
6186 static const per_choice_t UnregRejectReason_choice[] = {
6187 { 0, &hf_h225_notCurrentlyRegistered, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6188 { 1, &hf_h225_callInProgress , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6189 { 2, &hf_h225_undefinedReason, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6190 { 3, &hf_h225_permissionDenied, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6191 { 4, &hf_h225_securityDenial , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6192 { 5, &hf_h225_securityError , ASN1_NOT_EXTENSION_ROOT, dissect_h225_SecurityErrors2 },
6193 { 0, NULL, 0, NULL }
6196 static int
6197 dissect_h225_UnregRejectReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6198 #line 481 "../../asn1/h225/h225.cnf"
6199 gint32 value;
6201 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6202 ett_h225_UnregRejectReason, UnregRejectReason_choice,
6203 &value);
6205 h225_pi->reason = value;
6208 return offset;
6212 static const per_sequence_t UnregistrationReject_sequence[] = {
6213 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6214 { &hf_h225_unregRejectReason, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_UnregRejectReason },
6215 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
6216 { &hf_h225_altGKInfo , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AltGKInfo },
6217 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
6218 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6219 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
6220 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
6221 { NULL, 0, 0, NULL }
6224 static int
6225 dissect_h225_UnregistrationReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6226 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6227 ett_h225_UnregistrationReject, UnregistrationReject_sequence);
6229 return offset;
6233 static const value_string h225_CallModel_vals[] = {
6234 { 0, "direct" },
6235 { 1, "gatekeeperRouted" },
6236 { 0, NULL }
6239 static const per_choice_t CallModel_choice[] = {
6240 { 0, &hf_h225_direct , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6241 { 1, &hf_h225_gatekeeperRouted, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6242 { 0, NULL, 0, NULL }
6245 static int
6246 dissect_h225_CallModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6247 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6248 ett_h225_CallModel, CallModel_choice,
6249 NULL);
6251 return offset;
6256 static int
6257 dissect_h225_DestinationInfo_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6258 #line 300 "../../asn1/h225/h225.cnf"
6260 h225_pi->is_destinationInfo = TRUE;
6262 offset = dissect_h225_AliasAddress(tvb, offset, actx, tree, hf_index);
6264 return offset;
6268 static const per_sequence_t DestinationInfo_sequence_of[1] = {
6269 { &hf_h225_DestinationInfo_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_DestinationInfo_item },
6272 static int
6273 dissect_h225_DestinationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6274 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6275 ett_h225_DestinationInfo, DestinationInfo_sequence_of);
6277 return offset;
6281 static const per_sequence_t AdmissionRequest_sequence[] = {
6282 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6283 { &hf_h225_callType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallType },
6284 { &hf_h225_callModel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_CallModel },
6285 { &hf_h225_endpointIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_EndpointIdentifier },
6286 { &hf_h225_destinationInfo_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_DestinationInfo },
6287 { &hf_h225_destCallSignalAddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TransportAddress },
6288 { &hf_h225_destExtraCallInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
6289 { &hf_h225_srcInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_AliasAddress },
6290 { &hf_h225_srcCallSignalAddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TransportAddress },
6291 { &hf_h225_bandWidth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BandWidth },
6292 { &hf_h225_callReferenceValue, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallReferenceValue },
6293 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
6294 { &hf_h225_callServices , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_QseriesOptions },
6295 { &hf_h225_conferenceID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ConferenceIdentifier },
6296 { &hf_h225_activeMC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6297 { &hf_h225_answerCall , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6298 { &hf_h225_canMapAlias , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6299 { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
6300 { &hf_h225_srcAlternatives, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_Endpoint },
6301 { &hf_h225_destAlternatives, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_Endpoint },
6302 { &hf_h225_gatekeeperIdentifier, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_GatekeeperIdentifier },
6303 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
6304 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6305 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
6306 { &hf_h225_transportQOS , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_TransportQOS },
6307 { &hf_h225_willSupplyUUIEs, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6308 { &hf_h225_callLinkage , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CallLinkage },
6309 { &hf_h225_gatewayDataRate, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_DataRate },
6310 { &hf_h225_capacity , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CallCapacity },
6311 { &hf_h225_circuitInfo , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CircuitInfo },
6312 { &hf_h225_desiredProtocols, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_SupportedProtocols },
6313 { &hf_h225_desiredTunnelledProtocol, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_TunnelledProtocol },
6314 { &hf_h225_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
6315 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
6316 { &hf_h225_canMapSrcAlias , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6317 { NULL, 0, 0, NULL }
6320 static int
6321 dissect_h225_AdmissionRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6322 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6323 ett_h225_AdmissionRequest, AdmissionRequest_sequence);
6325 return offset;
6329 static const per_sequence_t UUIEsRequested_sequence[] = {
6330 { &hf_h225_setup_bool , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6331 { &hf_h225_callProceeding_flg, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6332 { &hf_h225_connect_bool , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6333 { &hf_h225_alerting_bool , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6334 { &hf_h225_information_bool, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6335 { &hf_h225_releaseComplete_bool, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6336 { &hf_h225_facility_bool , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6337 { &hf_h225_progress_bool , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6338 { &hf_h225_empty , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6339 { &hf_h225_status_bool , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6340 { &hf_h225_statusInquiry_bool, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6341 { &hf_h225_setupAcknowledge_bool, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6342 { &hf_h225_notify_bool , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6343 { NULL, 0, 0, NULL }
6346 static int
6347 dissect_h225_UUIEsRequested(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6348 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6349 ett_h225_UUIEsRequested, UUIEsRequested_sequence);
6351 return offset;
6355 static const per_sequence_t AdmissionConfirm_sequence[] = {
6356 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6357 { &hf_h225_bandWidth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BandWidth },
6358 { &hf_h225_callModel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallModel },
6359 { &hf_h225_destCallSignalAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_TransportAddress },
6360 { &hf_h225_irrFrequency , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_INTEGER_1_65535 },
6361 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
6362 { &hf_h225_destinationInfo_01, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_DestinationInfo },
6363 { &hf_h225_destExtraCallInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
6364 { &hf_h225_destinationType, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_EndpointType },
6365 { &hf_h225_remoteExtensionAddress, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
6366 { &hf_h225_alternateEndpoints, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_Endpoint },
6367 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
6368 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6369 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
6370 { &hf_h225_transportQOS , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_TransportQOS },
6371 { &hf_h225_willRespondToIRR, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6372 { &hf_h225_uuiesRequested , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_UUIEsRequested },
6373 { &hf_h225_language , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_Language },
6374 { &hf_h225_alternateTransportAddresses, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AlternateTransportAddresses },
6375 { &hf_h225_useSpecifiedTransport, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_UseSpecifiedTransport },
6376 { &hf_h225_circuitInfo , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CircuitInfo },
6377 { &hf_h225_usageSpec , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_RasUsageSpecification },
6378 { &hf_h225_supportedProtocols, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_SupportedProtocols },
6379 { &hf_h225_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ServiceControlSession },
6380 { &hf_h225_multipleCalls , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_BOOLEAN },
6381 { &hf_h225_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
6382 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
6383 { &hf_h225_modifiedSrcInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
6384 { &hf_h225_assignedGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AlternateGK },
6385 { NULL, 0, 0, NULL }
6388 static int
6389 dissect_h225_AdmissionConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6390 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6391 ett_h225_AdmissionConfirm, AdmissionConfirm_sequence);
6393 return offset;
6397 static const per_sequence_t SEQUENCE_OF_PartyNumber_sequence_of[1] = {
6398 { &hf_h225_routeCallToSCN_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_PartyNumber },
6401 static int
6402 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_) {
6403 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6404 ett_h225_SEQUENCE_OF_PartyNumber, SEQUENCE_OF_PartyNumber_sequence_of);
6406 return offset;
6410 const value_string AdmissionRejectReason_vals[] = {
6411 { 0, "calledPartyNotRegistered" },
6412 { 1, "invalidPermission" },
6413 { 2, "requestDenied" },
6414 { 3, "undefinedReason" },
6415 { 4, "callerNotRegistered" },
6416 { 5, "routeCallToGatekeeper" },
6417 { 6, "invalidEndpointIdentifier" },
6418 { 7, "resourceUnavailable" },
6419 { 8, "securityDenial" },
6420 { 9, "qosControlNotSupported" },
6421 { 10, "incompleteAddress" },
6422 { 11, "aliasesInconsistent" },
6423 { 12, "routeCallToSCN" },
6424 { 13, "exceedsCallCapacity" },
6425 { 14, "collectDestination" },
6426 { 15, "collectPIN" },
6427 { 16, "genericDataReason" },
6428 { 17, "neededFeatureNotSupported" },
6429 { 18, "securityError" },
6430 { 19, "securityDHmismatch" },
6431 { 20, "noRouteToDestination" },
6432 { 21, "unallocatedNumber" },
6433 { 22, "registerWithAssignedGK" },
6434 { 0, NULL }
6437 static const per_choice_t AdmissionRejectReason_choice[] = {
6438 { 0, &hf_h225_calledPartyNotRegistered, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6439 { 1, &hf_h225_invalidPermission, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6440 { 2, &hf_h225_requestDenied , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6441 { 3, &hf_h225_undefinedReason, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6442 { 4, &hf_h225_callerNotRegistered, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6443 { 5, &hf_h225_routeCallToGatekeeper, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6444 { 6, &hf_h225_invalidEndpointIdentifier, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6445 { 7, &hf_h225_resourceUnavailable, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6446 { 8, &hf_h225_securityDenial , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6447 { 9, &hf_h225_qosControlNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6448 { 10, &hf_h225_incompleteAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6449 { 11, &hf_h225_aliasesInconsistent, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6450 { 12, &hf_h225_routeCallToSCN , ASN1_NOT_EXTENSION_ROOT, dissect_h225_SEQUENCE_OF_PartyNumber },
6451 { 13, &hf_h225_exceedsCallCapacity, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6452 { 14, &hf_h225_collectDestination, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6453 { 15, &hf_h225_collectPIN , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6454 { 16, &hf_h225_genericDataReason, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6455 { 17, &hf_h225_neededFeatureNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6456 { 18, &hf_h225_securityError , ASN1_NOT_EXTENSION_ROOT, dissect_h225_SecurityErrors2 },
6457 { 19, &hf_h225_securityDHmismatch, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6458 { 20, &hf_h225_noRouteToDestination, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6459 { 21, &hf_h225_unallocatedNumber, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6460 { 22, &hf_h225_registerWithAssignedGK, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6461 { 0, NULL, 0, NULL }
6464 static int
6465 dissect_h225_AdmissionRejectReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6466 #line 508 "../../asn1/h225/h225.cnf"
6467 gint32 value;
6469 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6470 ett_h225_AdmissionRejectReason, AdmissionRejectReason_choice,
6471 &value);
6473 h225_pi->reason = value;
6476 return offset;
6480 static const per_sequence_t AdmissionReject_sequence[] = {
6481 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6482 { &hf_h225_rejectReason , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_AdmissionRejectReason },
6483 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
6484 { &hf_h225_altGKInfo , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AltGKInfo },
6485 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
6486 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6487 { &hf_h225_callSignalAddress, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_TransportAddress },
6488 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
6489 { &hf_h225_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ServiceControlSession },
6490 { &hf_h225_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
6491 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
6492 { &hf_h225_assignedGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AlternateGK },
6493 { NULL, 0, 0, NULL }
6496 static int
6497 dissect_h225_AdmissionReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6498 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6499 ett_h225_AdmissionReject, AdmissionReject_sequence);
6501 return offset;
6505 static const per_sequence_t SEQUENCE_OF_BandwidthDetails_sequence_of[1] = {
6506 { &hf_h225_bandwidthDetails_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_BandwidthDetails },
6509 static int
6510 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_) {
6511 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6512 ett_h225_SEQUENCE_OF_BandwidthDetails, SEQUENCE_OF_BandwidthDetails_sequence_of);
6514 return offset;
6518 static const per_sequence_t BandwidthRequest_sequence[] = {
6519 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6520 { &hf_h225_endpointIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_EndpointIdentifier },
6521 { &hf_h225_conferenceID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ConferenceIdentifier },
6522 { &hf_h225_callReferenceValue, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallReferenceValue },
6523 { &hf_h225_callType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_CallType },
6524 { &hf_h225_bandWidth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BandWidth },
6525 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
6526 { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
6527 { &hf_h225_gatekeeperIdentifier, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_GatekeeperIdentifier },
6528 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
6529 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6530 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
6531 { &hf_h225_answeredCall , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6532 { &hf_h225_callLinkage , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CallLinkage },
6533 { &hf_h225_capacity , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CallCapacity },
6534 { &hf_h225_usageInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_RasUsageInformation },
6535 { &hf_h225_bandwidthDetails, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_BandwidthDetails },
6536 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
6537 { &hf_h225_transportQOS , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_TransportQOS },
6538 { NULL, 0, 0, NULL }
6541 static int
6542 dissect_h225_BandwidthRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6543 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6544 ett_h225_BandwidthRequest, BandwidthRequest_sequence);
6546 return offset;
6550 static const per_sequence_t BandwidthConfirm_sequence[] = {
6551 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6552 { &hf_h225_bandWidth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BandWidth },
6553 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
6554 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
6555 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6556 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
6557 { &hf_h225_capacity , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CallCapacity },
6558 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
6559 { &hf_h225_transportQOS , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_TransportQOS },
6560 { NULL, 0, 0, NULL }
6563 static int
6564 dissect_h225_BandwidthConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6565 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6566 ett_h225_BandwidthConfirm, BandwidthConfirm_sequence);
6568 return offset;
6572 const value_string BandRejectReason_vals[] = {
6573 { 0, "notBound" },
6574 { 1, "invalidConferenceID" },
6575 { 2, "invalidPermission" },
6576 { 3, "insufficientResources" },
6577 { 4, "invalidRevision" },
6578 { 5, "undefinedReason" },
6579 { 6, "securityDenial" },
6580 { 7, "securityError" },
6581 { 0, NULL }
6584 static const per_choice_t BandRejectReason_choice[] = {
6585 { 0, &hf_h225_notBound , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6586 { 1, &hf_h225_invalidConferenceID, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6587 { 2, &hf_h225_invalidPermission, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6588 { 3, &hf_h225_insufficientResources, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6589 { 4, &hf_h225_invalidRevision, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6590 { 5, &hf_h225_undefinedReason, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6591 { 6, &hf_h225_securityDenial , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6592 { 7, &hf_h225_securityError , ASN1_NOT_EXTENSION_ROOT, dissect_h225_SecurityErrors2 },
6593 { 0, NULL, 0, NULL }
6596 static int
6597 dissect_h225_BandRejectReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6598 #line 488 "../../asn1/h225/h225.cnf"
6599 gint32 value;
6601 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6602 ett_h225_BandRejectReason, BandRejectReason_choice,
6603 &value);
6605 h225_pi->reason = value;
6608 return offset;
6612 static const per_sequence_t BandwidthReject_sequence[] = {
6613 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6614 { &hf_h225_bandRejectReason, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BandRejectReason },
6615 { &hf_h225_allowedBandWidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BandWidth },
6616 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
6617 { &hf_h225_altGKInfo , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AltGKInfo },
6618 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
6619 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6620 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
6621 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
6622 { NULL, 0, 0, NULL }
6625 static int
6626 dissect_h225_BandwidthReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6627 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6628 ett_h225_BandwidthReject, BandwidthReject_sequence);
6630 return offset;
6634 const value_string DisengageReason_vals[] = {
6635 { 0, "forcedDrop" },
6636 { 1, "normalDrop" },
6637 { 2, "undefinedReason" },
6638 { 0, NULL }
6641 static const per_choice_t DisengageReason_choice[] = {
6642 { 0, &hf_h225_forcedDrop , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6643 { 1, &hf_h225_normalDrop , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6644 { 2, &hf_h225_undefinedReason, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6645 { 0, NULL, 0, NULL }
6648 static int
6649 dissect_h225_DisengageReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6650 #line 495 "../../asn1/h225/h225.cnf"
6651 gint32 value;
6653 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6654 ett_h225_DisengageReason, DisengageReason_choice,
6655 &value);
6657 h225_pi->reason = value;
6660 return offset;
6664 static const per_sequence_t DisengageRequest_sequence[] = {
6665 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6666 { &hf_h225_endpointIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_EndpointIdentifier },
6667 { &hf_h225_conferenceID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ConferenceIdentifier },
6668 { &hf_h225_callReferenceValue, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallReferenceValue },
6669 { &hf_h225_disengageReason, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_DisengageReason },
6670 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
6671 { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
6672 { &hf_h225_gatekeeperIdentifier, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_GatekeeperIdentifier },
6673 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
6674 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6675 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
6676 { &hf_h225_answeredCall , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6677 { &hf_h225_callLinkage , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CallLinkage },
6678 { &hf_h225_capacity , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CallCapacity },
6679 { &hf_h225_circuitInfo , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CircuitInfo },
6680 { &hf_h225_usageInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_RasUsageInformation },
6681 { &hf_h225_terminationCause, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CallTerminationCause },
6682 { &hf_h225_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ServiceControlSession },
6683 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
6684 { NULL, 0, 0, NULL }
6687 static int
6688 dissect_h225_DisengageRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6689 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6690 ett_h225_DisengageRequest, DisengageRequest_sequence);
6692 return offset;
6696 static const per_sequence_t DisengageConfirm_sequence[] = {
6697 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6698 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
6699 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
6700 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6701 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
6702 { &hf_h225_capacity , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CallCapacity },
6703 { &hf_h225_circuitInfo , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CircuitInfo },
6704 { &hf_h225_usageInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_RasUsageInformation },
6705 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
6706 { &hf_h225_assignedGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AlternateGK },
6707 { NULL, 0, 0, NULL }
6710 static int
6711 dissect_h225_DisengageConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6712 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6713 ett_h225_DisengageConfirm, DisengageConfirm_sequence);
6715 return offset;
6719 const value_string DisengageRejectReason_vals[] = {
6720 { 0, "notRegistered" },
6721 { 1, "requestToDropOther" },
6722 { 2, "securityDenial" },
6723 { 3, "securityError" },
6724 { 0, NULL }
6727 static const per_choice_t DisengageRejectReason_choice[] = {
6728 { 0, &hf_h225_notRegistered , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6729 { 1, &hf_h225_requestToDropOther, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6730 { 2, &hf_h225_securityDenial , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6731 { 3, &hf_h225_securityError , ASN1_NOT_EXTENSION_ROOT, dissect_h225_SecurityErrors2 },
6732 { 0, NULL, 0, NULL }
6735 static int
6736 dissect_h225_DisengageRejectReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6737 #line 501 "../../asn1/h225/h225.cnf"
6738 gint32 value;
6740 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6741 ett_h225_DisengageRejectReason, DisengageRejectReason_choice,
6742 &value);
6744 h225_pi->reason = value;
6747 return offset;
6751 static const per_sequence_t DisengageReject_sequence[] = {
6752 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6753 { &hf_h225_disengageRejectReason, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_DisengageRejectReason },
6754 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
6755 { &hf_h225_altGKInfo , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AltGKInfo },
6756 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
6757 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6758 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
6759 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
6760 { NULL, 0, 0, NULL }
6763 static int
6764 dissect_h225_DisengageReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6765 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6766 ett_h225_DisengageReject, DisengageReject_sequence);
6768 return offset;
6772 static const per_sequence_t LocationRequest_sequence[] = {
6773 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6774 { &hf_h225_endpointIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_EndpointIdentifier },
6775 { &hf_h225_destinationInfo_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_DestinationInfo },
6776 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
6777 { &hf_h225_replyAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_TransportAddress },
6778 { &hf_h225_sourceInfo , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
6779 { &hf_h225_canMapAlias , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6780 { &hf_h225_gatekeeperIdentifier, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_GatekeeperIdentifier },
6781 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
6782 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6783 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
6784 { &hf_h225_desiredProtocols, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_SupportedProtocols },
6785 { &hf_h225_desiredTunnelledProtocol, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_TunnelledProtocol },
6786 { &hf_h225_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
6787 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
6788 { &hf_h225_hopCount , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_INTEGER_1_255 },
6789 { &hf_h225_circuitInfo , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CircuitInfo },
6790 { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CallIdentifier },
6791 { &hf_h225_bandWidth , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_BandWidth },
6792 { &hf_h225_sourceEndpointInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
6793 { &hf_h225_canMapSrcAlias , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6794 { &hf_h225_language , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_Language },
6795 { NULL, 0, 0, NULL }
6798 static int
6799 dissect_h225_LocationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6800 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6801 ett_h225_LocationRequest, LocationRequest_sequence);
6803 return offset;
6807 static const per_sequence_t LocationConfirm_sequence[] = {
6808 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6809 { &hf_h225_locationConfirm_callSignalAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_TransportAddress },
6810 { &hf_h225_locationConfirm_rasAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_TransportAddress },
6811 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
6812 { &hf_h225_destinationInfo_01, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_DestinationInfo },
6813 { &hf_h225_destExtraCallInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
6814 { &hf_h225_destinationType, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_EndpointType },
6815 { &hf_h225_remoteExtensionAddress, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
6816 { &hf_h225_alternateEndpoints, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_Endpoint },
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_alternateTransportAddresses, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AlternateTransportAddresses },
6821 { &hf_h225_supportedProtocols, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_SupportedProtocols },
6822 { &hf_h225_multipleCalls , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_BOOLEAN },
6823 { &hf_h225_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
6824 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
6825 { &hf_h225_circuitInfo , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CircuitInfo },
6826 { &hf_h225_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ServiceControlSession },
6827 { &hf_h225_modifiedSrcInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
6828 { &hf_h225_bandWidth , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_BandWidth },
6829 { NULL, 0, 0, NULL }
6832 static int
6833 dissect_h225_LocationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6834 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6835 ett_h225_LocationConfirm, LocationConfirm_sequence);
6837 return offset;
6841 const value_string LocationRejectReason_vals[] = {
6842 { 0, "notRegistered" },
6843 { 1, "invalidPermission" },
6844 { 2, "requestDenied" },
6845 { 3, "undefinedReason" },
6846 { 4, "securityDenial" },
6847 { 5, "aliasesInconsistent" },
6848 { 6, "routeCalltoSCN" },
6849 { 7, "resourceUnavailable" },
6850 { 8, "genericDataReason" },
6851 { 9, "neededFeatureNotSupported" },
6852 { 10, "hopCountExceeded" },
6853 { 11, "incompleteAddress" },
6854 { 12, "securityError" },
6855 { 13, "securityDHmismatch" },
6856 { 14, "noRouteToDestination" },
6857 { 15, "unallocatedNumber" },
6858 { 0, NULL }
6861 static const per_choice_t LocationRejectReason_choice[] = {
6862 { 0, &hf_h225_notRegistered , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6863 { 1, &hf_h225_invalidPermission, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6864 { 2, &hf_h225_requestDenied , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6865 { 3, &hf_h225_undefinedReason, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
6866 { 4, &hf_h225_securityDenial , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6867 { 5, &hf_h225_aliasesInconsistent, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6868 { 6, &hf_h225_routeCalltoSCN , ASN1_NOT_EXTENSION_ROOT, dissect_h225_SEQUENCE_OF_PartyNumber },
6869 { 7, &hf_h225_resourceUnavailable, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6870 { 8, &hf_h225_genericDataReason, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6871 { 9, &hf_h225_neededFeatureNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6872 { 10, &hf_h225_hopCountExceeded, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6873 { 11, &hf_h225_incompleteAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6874 { 12, &hf_h225_securityError , ASN1_NOT_EXTENSION_ROOT, dissect_h225_SecurityErrors2 },
6875 { 13, &hf_h225_securityDHmismatch, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6876 { 14, &hf_h225_noRouteToDestination, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6877 { 15, &hf_h225_unallocatedNumber, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6878 { 0, NULL, 0, NULL }
6881 static int
6882 dissect_h225_LocationRejectReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6883 #line 515 "../../asn1/h225/h225.cnf"
6884 gint32 value;
6886 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6887 ett_h225_LocationRejectReason, LocationRejectReason_choice,
6888 &value);
6890 h225_pi->reason = value;
6893 return offset;
6897 static const per_sequence_t LocationReject_sequence[] = {
6898 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6899 { &hf_h225_locationRejectReason, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_LocationRejectReason },
6900 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
6901 { &hf_h225_altGKInfo , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AltGKInfo },
6902 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
6903 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6904 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
6905 { &hf_h225_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
6906 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
6907 { &hf_h225_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ServiceControlSession },
6908 { NULL, 0, 0, NULL }
6911 static int
6912 dissect_h225_LocationReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6913 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6914 ett_h225_LocationReject, LocationReject_sequence);
6916 return offset;
6920 static const per_sequence_t InfoRequest_sequence[] = {
6921 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6922 { &hf_h225_callReferenceValue, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallReferenceValue },
6923 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
6924 { &hf_h225_replyAddress , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TransportAddress },
6925 { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
6926 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
6927 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6928 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
6929 { &hf_h225_uuiesRequested , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_UUIEsRequested },
6930 { &hf_h225_callLinkage , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CallLinkage },
6931 { &hf_h225_usageInfoRequested, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_RasUsageInfoTypes },
6932 { &hf_h225_segmentedResponseSupported, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_NULL },
6933 { &hf_h225_nextSegmentRequested, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_INTEGER_0_65535 },
6934 { &hf_h225_capacityInfoRequested, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_NULL },
6935 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
6936 { &hf_h225_assignedGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AlternateGK },
6937 { NULL, 0, 0, NULL }
6940 static int
6941 dissect_h225_InfoRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6942 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6943 ett_h225_InfoRequest, InfoRequest_sequence);
6945 return offset;
6949 static const per_sequence_t SEQUENCE_OF_RTPSession_sequence_of[1] = {
6950 { &hf_h225_audio_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_RTPSession },
6953 static int
6954 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_) {
6955 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6956 ett_h225_SEQUENCE_OF_RTPSession, SEQUENCE_OF_RTPSession_sequence_of);
6958 return offset;
6962 static const per_sequence_t SEQUENCE_OF_TransportChannelInfo_sequence_of[1] = {
6963 { &hf_h225_data_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_TransportChannelInfo },
6966 static int
6967 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_) {
6968 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6969 ett_h225_SEQUENCE_OF_TransportChannelInfo, SEQUENCE_OF_TransportChannelInfo_sequence_of);
6971 return offset;
6975 static const per_sequence_t SEQUENCE_OF_ConferenceIdentifier_sequence_of[1] = {
6976 { &hf_h225_substituteConfIDs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_ConferenceIdentifier },
6979 static int
6980 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_) {
6981 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6982 ett_h225_SEQUENCE_OF_ConferenceIdentifier, SEQUENCE_OF_ConferenceIdentifier_sequence_of);
6984 return offset;
6988 static const per_sequence_t T_pdu_item_sequence[] = {
6989 { &hf_h225_h323pdu , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_H323_UU_PDU },
6990 { &hf_h225_sent , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6991 { NULL, 0, 0, NULL }
6994 static int
6995 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_) {
6996 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6997 ett_h225_T_pdu_item, T_pdu_item_sequence);
6999 return offset;
7003 static const per_sequence_t T_pdu_sequence_of[1] = {
7004 { &hf_h225_pdu_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_T_pdu_item },
7007 static int
7008 dissect_h225_T_pdu(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7009 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
7010 ett_h225_T_pdu, T_pdu_sequence_of);
7012 return offset;
7016 static const per_sequence_t T_perCallInfo_item_sequence[] = {
7017 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
7018 { &hf_h225_callReferenceValue, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallReferenceValue },
7019 { &hf_h225_conferenceID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ConferenceIdentifier },
7020 { &hf_h225_originator , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_BOOLEAN },
7021 { &hf_h225_audio , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_RTPSession },
7022 { &hf_h225_video , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_RTPSession },
7023 { &hf_h225_data , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_TransportChannelInfo },
7024 { &hf_h225_h245 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_TransportChannelInfo },
7025 { &hf_h225_callSignalling , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_TransportChannelInfo },
7026 { &hf_h225_callType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallType },
7027 { &hf_h225_bandWidth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BandWidth },
7028 { &hf_h225_callModel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallModel },
7029 { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
7030 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
7031 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
7032 { &hf_h225_substituteConfIDs, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_ConferenceIdentifier },
7033 { &hf_h225_pdu , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_T_pdu },
7034 { &hf_h225_callLinkage , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CallLinkage },
7035 { &hf_h225_usageInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_RasUsageInformation },
7036 { &hf_h225_circuitInfo , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CircuitInfo },
7037 { NULL, 0, 0, NULL }
7040 static int
7041 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_) {
7042 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7043 ett_h225_T_perCallInfo_item, T_perCallInfo_item_sequence);
7045 return offset;
7049 static const per_sequence_t T_perCallInfo_sequence_of[1] = {
7050 { &hf_h225_perCallInfo_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_T_perCallInfo_item },
7053 static int
7054 dissect_h225_T_perCallInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7055 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
7056 ett_h225_T_perCallInfo, T_perCallInfo_sequence_of);
7058 return offset;
7062 static const value_string h225_InfoRequestResponseStatus_vals[] = {
7063 { 0, "complete" },
7064 { 1, "incomplete" },
7065 { 2, "segment" },
7066 { 3, "invalidCall" },
7067 { 0, NULL }
7070 static const per_choice_t InfoRequestResponseStatus_choice[] = {
7071 { 0, &hf_h225_complete , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
7072 { 1, &hf_h225_incomplete , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
7073 { 2, &hf_h225_segment , ASN1_EXTENSION_ROOT , dissect_h225_INTEGER_0_65535 },
7074 { 3, &hf_h225_invalidCall , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
7075 { 0, NULL, 0, NULL }
7078 static int
7079 dissect_h225_InfoRequestResponseStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7080 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7081 ett_h225_InfoRequestResponseStatus, InfoRequestResponseStatus_choice,
7082 NULL);
7084 return offset;
7088 static const per_sequence_t InfoRequestResponse_sequence[] = {
7089 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
7090 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
7091 { &hf_h225_endpointType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_EndpointType },
7092 { &hf_h225_endpointIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_EndpointIdentifier },
7093 { &hf_h225_infoRequestResponse_rasAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_TransportAddress },
7094 { &hf_h225_callSignalAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_TransportAddress },
7095 { &hf_h225_endpointAlias , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_AliasAddress },
7096 { &hf_h225_perCallInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_T_perCallInfo },
7097 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
7098 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
7099 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
7100 { &hf_h225_needResponse , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
7101 { &hf_h225_capacity , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CallCapacity },
7102 { &hf_h225_irrStatus , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_InfoRequestResponseStatus },
7103 { &hf_h225_unsolicited , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
7104 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
7105 { NULL, 0, 0, NULL }
7108 static int
7109 dissect_h225_InfoRequestResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7110 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7111 ett_h225_InfoRequestResponse, InfoRequestResponse_sequence);
7113 return offset;
7117 static const per_sequence_t NonStandardMessage_sequence[] = {
7118 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
7119 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_NonStandardParameter },
7120 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
7121 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
7122 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
7123 { &hf_h225_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
7124 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
7125 { NULL, 0, 0, NULL }
7128 static int
7129 dissect_h225_NonStandardMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7130 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7131 ett_h225_NonStandardMessage, NonStandardMessage_sequence);
7133 return offset;
7137 static const per_sequence_t UnknownMessageResponse_sequence[] = {
7138 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
7139 { &hf_h225_tokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
7140 { &hf_h225_cryptoTokens , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
7141 { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_ICV },
7142 { &hf_h225_messageNotUnderstood, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING },
7143 { NULL, 0, 0, NULL }
7146 static int
7147 dissect_h225_UnknownMessageResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7148 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7149 ett_h225_UnknownMessageResponse, UnknownMessageResponse_sequence);
7151 return offset;
7155 static const per_sequence_t RequestInProgress_sequence[] = {
7156 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
7157 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
7158 { &hf_h225_tokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
7159 { &hf_h225_cryptoTokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
7160 { &hf_h225_integrityCheckValue, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_ICV },
7161 { &hf_h225_delay , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_1_65535 },
7162 { NULL, 0, 0, NULL }
7165 static int
7166 dissect_h225_RequestInProgress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7167 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7168 ett_h225_RequestInProgress, RequestInProgress_sequence);
7170 return offset;
7174 static const per_sequence_t ResourcesAvailableIndicate_sequence[] = {
7175 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
7176 { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
7177 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
7178 { &hf_h225_endpointIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_EndpointIdentifier },
7179 { &hf_h225_protocols , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_SupportedProtocols },
7180 { &hf_h225_almostOutOfResources, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
7181 { &hf_h225_tokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
7182 { &hf_h225_cryptoTokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
7183 { &hf_h225_integrityCheckValue, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_ICV },
7184 { &hf_h225_capacity , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CallCapacity },
7185 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
7186 { NULL, 0, 0, NULL }
7189 static int
7190 dissect_h225_ResourcesAvailableIndicate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7191 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7192 ett_h225_ResourcesAvailableIndicate, ResourcesAvailableIndicate_sequence);
7194 return offset;
7198 static const per_sequence_t ResourcesAvailableConfirm_sequence[] = {
7199 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
7200 { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
7201 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
7202 { &hf_h225_tokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
7203 { &hf_h225_cryptoTokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
7204 { &hf_h225_integrityCheckValue, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_ICV },
7205 { &hf_h225_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
7206 { NULL, 0, 0, NULL }
7209 static int
7210 dissect_h225_ResourcesAvailableConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7211 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7212 ett_h225_ResourcesAvailableConfirm, ResourcesAvailableConfirm_sequence);
7214 return offset;
7218 static const per_sequence_t InfoRequestAck_sequence[] = {
7219 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
7220 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
7221 { &hf_h225_tokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
7222 { &hf_h225_cryptoTokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
7223 { &hf_h225_integrityCheckValue, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_ICV },
7224 { NULL, 0, 0, NULL }
7227 static int
7228 dissect_h225_InfoRequestAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7229 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7230 ett_h225_InfoRequestAck, InfoRequestAck_sequence);
7232 return offset;
7236 const value_string InfoRequestNakReason_vals[] = {
7237 { 0, "notRegistered" },
7238 { 1, "securityDenial" },
7239 { 2, "undefinedReason" },
7240 { 3, "securityError" },
7241 { 0, NULL }
7244 static const per_choice_t InfoRequestNakReason_choice[] = {
7245 { 0, &hf_h225_notRegistered , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
7246 { 1, &hf_h225_securityDenial , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
7247 { 2, &hf_h225_undefinedReason, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
7248 { 3, &hf_h225_securityError , ASN1_NOT_EXTENSION_ROOT, dissect_h225_SecurityErrors2 },
7249 { 0, NULL, 0, NULL }
7252 static int
7253 dissect_h225_InfoRequestNakReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7254 #line 529 "../../asn1/h225/h225.cnf"
7255 gint32 value;
7257 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7258 ett_h225_InfoRequestNakReason, InfoRequestNakReason_choice,
7259 &value);
7261 h225_pi->reason = value;
7264 return offset;
7268 static const per_sequence_t InfoRequestNak_sequence[] = {
7269 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
7270 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
7271 { &hf_h225_nakReason , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_InfoRequestNakReason },
7272 { &hf_h225_altGKInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_AltGKInfo },
7273 { &hf_h225_tokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
7274 { &hf_h225_cryptoTokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
7275 { &hf_h225_integrityCheckValue, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_ICV },
7276 { NULL, 0, 0, NULL }
7279 static int
7280 dissect_h225_InfoRequestNak(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7281 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7282 ett_h225_InfoRequestNak, InfoRequestNak_sequence);
7284 return offset;
7288 static const per_sequence_t T_callSpecific_sequence[] = {
7289 { &hf_h225_callIdentifier , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
7290 { &hf_h225_conferenceID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ConferenceIdentifier },
7291 { &hf_h225_answeredCall , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
7292 { NULL, 0, 0, NULL }
7295 static int
7296 dissect_h225_T_callSpecific(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7297 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7298 ett_h225_T_callSpecific, T_callSpecific_sequence);
7300 return offset;
7304 static const per_sequence_t ServiceControlIndication_sequence[] = {
7305 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
7306 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
7307 { &hf_h225_serviceControl , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_ServiceControlSession },
7308 { &hf_h225_endpointIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_EndpointIdentifier },
7309 { &hf_h225_callSpecific , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_T_callSpecific },
7310 { &hf_h225_tokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
7311 { &hf_h225_cryptoTokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
7312 { &hf_h225_integrityCheckValue, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_ICV },
7313 { &hf_h225_featureSet , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_FeatureSet },
7314 { &hf_h225_genericData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
7315 { NULL, 0, 0, NULL }
7318 static int
7319 dissect_h225_ServiceControlIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7320 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7321 ett_h225_ServiceControlIndication, ServiceControlIndication_sequence);
7323 return offset;
7327 static const value_string h225_T_result_vals[] = {
7328 { 0, "started" },
7329 { 1, "failed" },
7330 { 2, "stopped" },
7331 { 3, "notAvailable" },
7332 { 4, "neededFeatureNotSupported" },
7333 { 0, NULL }
7336 static const per_choice_t T_result_choice[] = {
7337 { 0, &hf_h225_started , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
7338 { 1, &hf_h225_failed , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
7339 { 2, &hf_h225_stopped , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
7340 { 3, &hf_h225_notAvailable , ASN1_EXTENSION_ROOT , dissect_h225_NULL },
7341 { 4, &hf_h225_neededFeatureNotSupported, ASN1_EXTENSION_ROOT , dissect_h225_NULL },
7342 { 0, NULL, 0, NULL }
7345 static int
7346 dissect_h225_T_result(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7347 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7348 ett_h225_T_result, T_result_choice,
7349 NULL);
7351 return offset;
7355 static const per_sequence_t ServiceControlResponse_sequence[] = {
7356 { &hf_h225_requestSeqNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
7357 { &hf_h225_result , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_T_result },
7358 { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
7359 { &hf_h225_tokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_ClearToken },
7360 { &hf_h225_cryptoTokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_CryptoH323Token },
7361 { &hf_h225_integrityCheckValue, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_ICV },
7362 { &hf_h225_featureSet , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_FeatureSet },
7363 { &hf_h225_genericData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_SEQUENCE_OF_GenericData },
7364 { NULL, 0, 0, NULL }
7367 static int
7368 dissect_h225_ServiceControlResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7369 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7370 ett_h225_ServiceControlResponse, ServiceControlResponse_sequence);
7372 return offset;
7376 static const per_sequence_t SEQUENCE_OF_AdmissionConfirm_sequence_of[1] = {
7377 { &hf_h225_admissionConfirmSequence_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_AdmissionConfirm },
7380 static int
7381 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_) {
7382 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
7383 ett_h225_SEQUENCE_OF_AdmissionConfirm, SEQUENCE_OF_AdmissionConfirm_sequence_of);
7385 return offset;
7389 const value_string h225_RasMessage_vals[] = {
7390 { 0, "gatekeeperRequest" },
7391 { 1, "gatekeeperConfirm" },
7392 { 2, "gatekeeperReject" },
7393 { 3, "registrationRequest" },
7394 { 4, "registrationConfirm" },
7395 { 5, "registrationReject" },
7396 { 6, "unregistrationRequest" },
7397 { 7, "unregistrationConfirm" },
7398 { 8, "unregistrationReject" },
7399 { 9, "admissionRequest" },
7400 { 10, "admissionConfirm" },
7401 { 11, "admissionReject" },
7402 { 12, "bandwidthRequest" },
7403 { 13, "bandwidthConfirm" },
7404 { 14, "bandwidthReject" },
7405 { 15, "disengageRequest" },
7406 { 16, "disengageConfirm" },
7407 { 17, "disengageReject" },
7408 { 18, "locationRequest" },
7409 { 19, "locationConfirm" },
7410 { 20, "locationReject" },
7411 { 21, "infoRequest" },
7412 { 22, "infoRequestResponse" },
7413 { 23, "nonStandardMessage" },
7414 { 24, "unknownMessageResponse" },
7415 { 25, "requestInProgress" },
7416 { 26, "resourcesAvailableIndicate" },
7417 { 27, "resourcesAvailableConfirm" },
7418 { 28, "infoRequestAck" },
7419 { 29, "infoRequestNak" },
7420 { 30, "serviceControlIndication" },
7421 { 31, "serviceControlResponse" },
7422 { 32, "admissionConfirmSequence" },
7423 { 0, NULL }
7426 static const per_choice_t RasMessage_choice[] = {
7427 { 0, &hf_h225_gatekeeperRequest, ASN1_EXTENSION_ROOT , dissect_h225_GatekeeperRequest },
7428 { 1, &hf_h225_gatekeeperConfirm, ASN1_EXTENSION_ROOT , dissect_h225_GatekeeperConfirm },
7429 { 2, &hf_h225_gatekeeperReject, ASN1_EXTENSION_ROOT , dissect_h225_GatekeeperReject },
7430 { 3, &hf_h225_registrationRequest, ASN1_EXTENSION_ROOT , dissect_h225_RegistrationRequest },
7431 { 4, &hf_h225_registrationConfirm, ASN1_EXTENSION_ROOT , dissect_h225_RegistrationConfirm },
7432 { 5, &hf_h225_registrationReject, ASN1_EXTENSION_ROOT , dissect_h225_RegistrationReject },
7433 { 6, &hf_h225_unregistrationRequest, ASN1_EXTENSION_ROOT , dissect_h225_UnregistrationRequest },
7434 { 7, &hf_h225_unregistrationConfirm, ASN1_EXTENSION_ROOT , dissect_h225_UnregistrationConfirm },
7435 { 8, &hf_h225_unregistrationReject, ASN1_EXTENSION_ROOT , dissect_h225_UnregistrationReject },
7436 { 9, &hf_h225_admissionRequest, ASN1_EXTENSION_ROOT , dissect_h225_AdmissionRequest },
7437 { 10, &hf_h225_admissionConfirm, ASN1_EXTENSION_ROOT , dissect_h225_AdmissionConfirm },
7438 { 11, &hf_h225_admissionReject, ASN1_EXTENSION_ROOT , dissect_h225_AdmissionReject },
7439 { 12, &hf_h225_bandwidthRequest, ASN1_EXTENSION_ROOT , dissect_h225_BandwidthRequest },
7440 { 13, &hf_h225_bandwidthConfirm, ASN1_EXTENSION_ROOT , dissect_h225_BandwidthConfirm },
7441 { 14, &hf_h225_bandwidthReject, ASN1_EXTENSION_ROOT , dissect_h225_BandwidthReject },
7442 { 15, &hf_h225_disengageRequest, ASN1_EXTENSION_ROOT , dissect_h225_DisengageRequest },
7443 { 16, &hf_h225_disengageConfirm, ASN1_EXTENSION_ROOT , dissect_h225_DisengageConfirm },
7444 { 17, &hf_h225_disengageReject, ASN1_EXTENSION_ROOT , dissect_h225_DisengageReject },
7445 { 18, &hf_h225_locationRequest, ASN1_EXTENSION_ROOT , dissect_h225_LocationRequest },
7446 { 19, &hf_h225_locationConfirm, ASN1_EXTENSION_ROOT , dissect_h225_LocationConfirm },
7447 { 20, &hf_h225_locationReject , ASN1_EXTENSION_ROOT , dissect_h225_LocationReject },
7448 { 21, &hf_h225_infoRequest , ASN1_EXTENSION_ROOT , dissect_h225_InfoRequest },
7449 { 22, &hf_h225_infoRequestResponse, ASN1_EXTENSION_ROOT , dissect_h225_InfoRequestResponse },
7450 { 23, &hf_h225_nonStandardMessage, ASN1_EXTENSION_ROOT , dissect_h225_NonStandardMessage },
7451 { 24, &hf_h225_unknownMessageResponse, ASN1_EXTENSION_ROOT , dissect_h225_UnknownMessageResponse },
7452 { 25, &hf_h225_requestInProgress, ASN1_NOT_EXTENSION_ROOT, dissect_h225_RequestInProgress },
7453 { 26, &hf_h225_resourcesAvailableIndicate, ASN1_NOT_EXTENSION_ROOT, dissect_h225_ResourcesAvailableIndicate },
7454 { 27, &hf_h225_resourcesAvailableConfirm, ASN1_NOT_EXTENSION_ROOT, dissect_h225_ResourcesAvailableConfirm },
7455 { 28, &hf_h225_infoRequestAck , ASN1_NOT_EXTENSION_ROOT, dissect_h225_InfoRequestAck },
7456 { 29, &hf_h225_infoRequestNak , ASN1_NOT_EXTENSION_ROOT, dissect_h225_InfoRequestNak },
7457 { 30, &hf_h225_serviceControlIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h225_ServiceControlIndication },
7458 { 31, &hf_h225_serviceControlResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h225_ServiceControlResponse },
7459 { 32, &hf_h225_admissionConfirmSequence, ASN1_NOT_EXTENSION_ROOT, dissect_h225_SEQUENCE_OF_AdmissionConfirm },
7460 { 0, NULL, 0, NULL }
7464 dissect_h225_RasMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7465 #line 286 "../../asn1/h225/h225.cnf"
7466 gint32 rasmessage_value;
7468 call_id_guid = NULL;
7469 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7470 ett_h225_RasMessage, RasMessage_choice,
7471 &rasmessage_value);
7473 col_add_fstr(actx->pinfo->cinfo, COL_INFO, "RAS: %s ",
7474 val_to_str(rasmessage_value, h225_RasMessage_vals, "<unknown>"));
7476 h225_pi->msg_tag = rasmessage_value;
7477 if (call_id_guid) {
7478 h225_pi->guid = *call_id_guid;
7482 return offset;
7485 /*--- PDUs ---*/
7487 static int dissect_H323_UserInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7488 int offset = 0;
7489 asn1_ctx_t asn1_ctx;
7490 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
7491 offset = dissect_h225_H323_UserInformation(tvb, offset, &asn1_ctx, tree, hf_h225_H323_UserInformation_PDU);
7492 offset += 7; offset >>= 3;
7493 return offset;
7495 int dissect_h225_ExtendedAliasAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7496 int offset = 0;
7497 asn1_ctx_t asn1_ctx;
7498 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
7499 offset = dissect_h225_ExtendedAliasAddress(tvb, offset, &asn1_ctx, tree, hf_h225_h225_ExtendedAliasAddress_PDU);
7500 offset += 7; offset >>= 3;
7501 return offset;
7503 static int dissect_RasMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7504 int offset = 0;
7505 asn1_ctx_t asn1_ctx;
7506 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
7507 offset = dissect_h225_RasMessage(tvb, offset, &asn1_ctx, tree, hf_h225_RasMessage_PDU);
7508 offset += 7; offset >>= 3;
7509 return offset;
7513 /*--- End of included file: packet-h225-fn.c ---*/
7514 #line 135 "../../asn1/h225/packet-h225-template.c"
7517 /* Forward declaration we need below */
7518 void proto_reg_handoff_h225(void);
7520 static int
7521 dissect_h225_H323UserInformation(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7523 proto_item *it;
7524 proto_tree *tr;
7525 int offset = 0;
7527 pi_current++;
7528 if(pi_current==5){
7529 pi_current=0;
7531 h225_pi=&pi_arr[pi_current];
7533 /* Init struct for collecting h225_packet_info */
7534 reset_h225_packet_info(h225_pi);
7535 h225_pi->msg_type = H225_CS;
7537 next_tvb_init(&h245_list);
7538 next_tvb_init(&tp_list);
7540 col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
7541 col_clear(pinfo->cinfo, COL_INFO);
7543 it=proto_tree_add_protocol_format(tree, proto_h225, tvb, 0, tvb_length(tvb), PSNAME" CS");
7544 tr=proto_item_add_subtree(it, ett_h225);
7546 offset = dissect_H323_UserInformation_PDU(tvb, pinfo, tr, NULL);
7548 if (h245_list.count){
7549 col_append_str(pinfo->cinfo, COL_PROTOCOL, "/");
7550 col_set_fence(pinfo->cinfo, COL_PROTOCOL);
7553 next_tvb_call(&h245_list, pinfo, tree, h245dg_handle, data_handle);
7554 next_tvb_call(&tp_list, pinfo, tree, NULL, data_handle);
7556 tap_queue_packet(h225_tap, pinfo, h225_pi);
7558 return offset;
7560 static int
7561 dissect_h225_h225_RasMessage(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_){
7562 proto_item *it;
7563 proto_tree *tr;
7564 guint32 offset=0;
7566 pi_current++;
7567 if(pi_current==5){
7568 pi_current=0;
7570 h225_pi=&pi_arr[pi_current];
7572 /* Init struct for collecting h225_packet_info */
7573 reset_h225_packet_info(h225_pi);
7574 h225_pi->msg_type = H225_RAS;
7576 col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
7578 it=proto_tree_add_protocol_format(tree, proto_h225, tvb, offset, tvb_length(tvb), PSNAME" RAS");
7579 tr=proto_item_add_subtree(it, ett_h225);
7581 offset = dissect_RasMessage_PDU(tvb, pinfo, tr, NULL);
7583 ras_call_matching(tvb, pinfo, tr, h225_pi);
7585 tap_queue_packet(h225_tap, pinfo, h225_pi);
7587 return offset;
7590 /*--- proto_register_h225 -------------------------------------------*/
7591 void proto_register_h225(void) {
7593 /* List of fields */
7594 static hf_register_info hf[] = {
7595 { &hf_h221Manufacturer,
7596 { "H.221 Manufacturer", "h221.Manufacturer", FT_UINT32, BASE_HEX,
7597 VALS(H221ManufacturerCode_vals), 0, NULL, HFILL }},
7598 { &hf_h225_ras_req_frame,
7599 { "RAS Request Frame", "h225.ras.reqframe", FT_FRAMENUM, BASE_NONE,
7600 NULL, 0, NULL, HFILL }},
7601 { &hf_h225_ras_rsp_frame,
7602 { "RAS Response Frame", "h225.ras.rspframe", FT_FRAMENUM, BASE_NONE,
7603 NULL, 0, NULL, HFILL }},
7604 { &hf_h225_ras_dup,
7605 { "Duplicate RAS Message", "h225.ras.dup", FT_UINT32, BASE_DEC,
7606 NULL, 0, NULL, HFILL }},
7607 { &hf_h225_ras_deltatime,
7608 { "RAS Service Response Time", "h225.ras.timedelta", FT_RELATIVE_TIME, BASE_NONE,
7609 NULL, 0, "Timedelta between RAS-Request and RAS-Response", HFILL }},
7612 /*--- Included file: packet-h225-hfarr.c ---*/
7613 #line 1 "../../asn1/h225/packet-h225-hfarr.c"
7614 { &hf_h225_H323_UserInformation_PDU,
7615 { "H323-UserInformation", "h225.H323_UserInformation_element",
7616 FT_NONE, BASE_NONE, NULL, 0,
7617 NULL, HFILL }},
7618 { &hf_h225_h225_ExtendedAliasAddress_PDU,
7619 { "ExtendedAliasAddress", "h225.ExtendedAliasAddress_element",
7620 FT_NONE, BASE_NONE, NULL, 0,
7621 NULL, HFILL }},
7622 { &hf_h225_RasMessage_PDU,
7623 { "RasMessage", "h225.RasMessage",
7624 FT_UINT32, BASE_DEC, VALS(h225_RasMessage_vals), 0,
7625 NULL, HFILL }},
7626 { &hf_h225_h323_uu_pdu,
7627 { "h323-uu-pdu", "h225.h323_uu_pdu_element",
7628 FT_NONE, BASE_NONE, NULL, 0,
7629 NULL, HFILL }},
7630 { &hf_h225_user_data,
7631 { "user-data", "h225.user_data_element",
7632 FT_NONE, BASE_NONE, NULL, 0,
7633 NULL, HFILL }},
7634 { &hf_h225_protocol_discriminator,
7635 { "protocol-discriminator", "h225.protocol_discriminator",
7636 FT_UINT32, BASE_DEC|BASE_EXT_STRING, &q931_protocol_discriminator_vals_ext, 0,
7637 "INTEGER_0_255", HFILL }},
7638 { &hf_h225_user_information,
7639 { "user-information", "h225.user_information",
7640 FT_BYTES, BASE_NONE, NULL, 0,
7641 "OCTET_STRING_SIZE_1_131", HFILL }},
7642 { &hf_h225_h323_message_body,
7643 { "h323-message-body", "h225.h323_message_body",
7644 FT_UINT32, BASE_DEC, VALS(T_h323_message_body_vals), 0,
7645 NULL, HFILL }},
7646 { &hf_h225_setup,
7647 { "setup", "h225.setup_element",
7648 FT_NONE, BASE_NONE, NULL, 0,
7649 "Setup_UUIE", HFILL }},
7650 { &hf_h225_callProceeding,
7651 { "callProceeding", "h225.callProceeding_element",
7652 FT_NONE, BASE_NONE, NULL, 0,
7653 "CallProceeding_UUIE", HFILL }},
7654 { &hf_h225_connect,
7655 { "connect", "h225.connect_element",
7656 FT_NONE, BASE_NONE, NULL, 0,
7657 "Connect_UUIE", HFILL }},
7658 { &hf_h225_alerting,
7659 { "alerting", "h225.alerting_element",
7660 FT_NONE, BASE_NONE, NULL, 0,
7661 "Alerting_UUIE", HFILL }},
7662 { &hf_h225_information,
7663 { "information", "h225.information_element",
7664 FT_NONE, BASE_NONE, NULL, 0,
7665 "Information_UUIE", HFILL }},
7666 { &hf_h225_releaseComplete,
7667 { "releaseComplete", "h225.releaseComplete_element",
7668 FT_NONE, BASE_NONE, NULL, 0,
7669 "ReleaseComplete_UUIE", HFILL }},
7670 { &hf_h225_facility,
7671 { "facility", "h225.facility_element",
7672 FT_NONE, BASE_NONE, NULL, 0,
7673 "Facility_UUIE", HFILL }},
7674 { &hf_h225_progress,
7675 { "progress", "h225.progress_element",
7676 FT_NONE, BASE_NONE, NULL, 0,
7677 "Progress_UUIE", HFILL }},
7678 { &hf_h225_empty_flg,
7679 { "empty", "h225.empty_element",
7680 FT_NONE, BASE_NONE, NULL, 0,
7681 "T_empty_flg", HFILL }},
7682 { &hf_h225_status,
7683 { "status", "h225.status_element",
7684 FT_NONE, BASE_NONE, NULL, 0,
7685 "Status_UUIE", HFILL }},
7686 { &hf_h225_statusInquiry,
7687 { "statusInquiry", "h225.statusInquiry_element",
7688 FT_NONE, BASE_NONE, NULL, 0,
7689 "StatusInquiry_UUIE", HFILL }},
7690 { &hf_h225_setupAcknowledge,
7691 { "setupAcknowledge", "h225.setupAcknowledge_element",
7692 FT_NONE, BASE_NONE, NULL, 0,
7693 "SetupAcknowledge_UUIE", HFILL }},
7694 { &hf_h225_notify,
7695 { "notify", "h225.notify_element",
7696 FT_NONE, BASE_NONE, NULL, 0,
7697 "Notify_UUIE", HFILL }},
7698 { &hf_h225_nonStandardData,
7699 { "nonStandardData", "h225.nonStandardData_element",
7700 FT_NONE, BASE_NONE, NULL, 0,
7701 "NonStandardParameter", HFILL }},
7702 { &hf_h225_h4501SupplementaryService,
7703 { "h4501SupplementaryService", "h225.h4501SupplementaryService",
7704 FT_UINT32, BASE_DEC, NULL, 0,
7705 NULL, HFILL }},
7706 { &hf_h225_h4501SupplementaryService_item,
7707 { "h4501SupplementaryService item", "h225.h4501SupplementaryService_item",
7708 FT_UINT32, BASE_DEC, NULL, 0,
7709 NULL, HFILL }},
7710 { &hf_h225_h245Tunnelling,
7711 { "h245Tunnelling", "h225.h245Tunnelling",
7712 FT_BOOLEAN, BASE_NONE, NULL, 0,
7713 NULL, HFILL }},
7714 { &hf_h225_H245Control_item,
7715 { "H245Control item", "h225.H245Control_item",
7716 FT_UINT32, BASE_DEC, NULL, 0,
7717 NULL, HFILL }},
7718 { &hf_h225_h245Control,
7719 { "h245Control", "h225.h245Control",
7720 FT_UINT32, BASE_DEC, NULL, 0,
7721 NULL, HFILL }},
7722 { &hf_h225_nonStandardControl,
7723 { "nonStandardControl", "h225.nonStandardControl",
7724 FT_UINT32, BASE_DEC, NULL, 0,
7725 "SEQUENCE_OF_NonStandardParameter", HFILL }},
7726 { &hf_h225_nonStandardControl_item,
7727 { "NonStandardParameter", "h225.NonStandardParameter_element",
7728 FT_NONE, BASE_NONE, NULL, 0,
7729 NULL, HFILL }},
7730 { &hf_h225_callLinkage,
7731 { "callLinkage", "h225.callLinkage_element",
7732 FT_NONE, BASE_NONE, NULL, 0,
7733 NULL, HFILL }},
7734 { &hf_h225_tunnelledSignallingMessage,
7735 { "tunnelledSignallingMessage", "h225.tunnelledSignallingMessage_element",
7736 FT_NONE, BASE_NONE, NULL, 0,
7737 NULL, HFILL }},
7738 { &hf_h225_tunnelledProtocolID,
7739 { "tunnelledProtocolID", "h225.tunnelledProtocolID_element",
7740 FT_NONE, BASE_NONE, NULL, 0,
7741 "TunnelledProtocol", HFILL }},
7742 { &hf_h225_messageContent,
7743 { "messageContent", "h225.messageContent",
7744 FT_UINT32, BASE_DEC, NULL, 0,
7745 NULL, HFILL }},
7746 { &hf_h225_messageContent_item,
7747 { "messageContent item", "h225.messageContent_item",
7748 FT_UINT32, BASE_DEC, NULL, 0,
7749 "T_messageContent_item", HFILL }},
7750 { &hf_h225_tunnellingRequired,
7751 { "tunnellingRequired", "h225.tunnellingRequired_element",
7752 FT_NONE, BASE_NONE, NULL, 0,
7753 NULL, HFILL }},
7754 { &hf_h225_provisionalRespToH245Tunnelling,
7755 { "provisionalRespToH245Tunnelling", "h225.provisionalRespToH245Tunnelling_element",
7756 FT_NONE, BASE_NONE, NULL, 0,
7757 NULL, HFILL }},
7758 { &hf_h225_stimulusControl,
7759 { "stimulusControl", "h225.stimulusControl_element",
7760 FT_NONE, BASE_NONE, NULL, 0,
7761 NULL, HFILL }},
7762 { &hf_h225_genericData,
7763 { "genericData", "h225.genericData",
7764 FT_UINT32, BASE_DEC, NULL, 0,
7765 "SEQUENCE_OF_GenericData", HFILL }},
7766 { &hf_h225_genericData_item,
7767 { "GenericData", "h225.GenericData_element",
7768 FT_NONE, BASE_NONE, NULL, 0,
7769 NULL, HFILL }},
7770 { &hf_h225_nonStandard,
7771 { "nonStandard", "h225.nonStandard_element",
7772 FT_NONE, BASE_NONE, NULL, 0,
7773 "NonStandardParameter", HFILL }},
7774 { &hf_h225_isText,
7775 { "isText", "h225.isText_element",
7776 FT_NONE, BASE_NONE, NULL, 0,
7777 NULL, HFILL }},
7778 { &hf_h225_h248Message,
7779 { "h248Message", "h225.h248Message",
7780 FT_BYTES, BASE_NONE, NULL, 0,
7781 "OCTET_STRING", HFILL }},
7782 { &hf_h225_protocolIdentifier,
7783 { "protocolIdentifier", "h225.protocolIdentifier",
7784 FT_OID, BASE_NONE, NULL, 0,
7785 NULL, HFILL }},
7786 { &hf_h225_uUIE_destinationInfo,
7787 { "destinationInfo", "h225.destinationInfo_element",
7788 FT_NONE, BASE_NONE, NULL, 0,
7789 "EndpointType", HFILL }},
7790 { &hf_h225_h245Address,
7791 { "h245Address", "h225.h245Address",
7792 FT_UINT32, BASE_DEC, VALS(h225_H245TransportAddress_vals), 0,
7793 "H245TransportAddress", HFILL }},
7794 { &hf_h225_callIdentifier,
7795 { "callIdentifier", "h225.callIdentifier_element",
7796 FT_NONE, BASE_NONE, NULL, 0,
7797 NULL, HFILL }},
7798 { &hf_h225_h245SecurityMode,
7799 { "h245SecurityMode", "h225.h245SecurityMode",
7800 FT_UINT32, BASE_DEC, VALS(h225_H245Security_vals), 0,
7801 "H245Security", HFILL }},
7802 { &hf_h225_tokens,
7803 { "tokens", "h225.tokens",
7804 FT_UINT32, BASE_DEC, NULL, 0,
7805 "SEQUENCE_OF_ClearToken", HFILL }},
7806 { &hf_h225_tokens_item,
7807 { "ClearToken", "h225.ClearToken_element",
7808 FT_NONE, BASE_NONE, NULL, 0,
7809 NULL, HFILL }},
7810 { &hf_h225_cryptoTokens,
7811 { "cryptoTokens", "h225.cryptoTokens",
7812 FT_UINT32, BASE_DEC, NULL, 0,
7813 "SEQUENCE_OF_CryptoH323Token", HFILL }},
7814 { &hf_h225_cryptoTokens_item,
7815 { "CryptoH323Token", "h225.CryptoH323Token",
7816 FT_UINT32, BASE_DEC, VALS(h225_CryptoH323Token_vals), 0,
7817 NULL, HFILL }},
7818 { &hf_h225_fastStart,
7819 { "fastStart", "h225.fastStart",
7820 FT_UINT32, BASE_DEC, NULL, 0,
7821 NULL, HFILL }},
7822 { &hf_h225_multipleCalls,
7823 { "multipleCalls", "h225.multipleCalls",
7824 FT_BOOLEAN, BASE_NONE, NULL, 0,
7825 "BOOLEAN", HFILL }},
7826 { &hf_h225_maintainConnection,
7827 { "maintainConnection", "h225.maintainConnection",
7828 FT_BOOLEAN, BASE_NONE, NULL, 0,
7829 "BOOLEAN", HFILL }},
7830 { &hf_h225_alertingAddress,
7831 { "alertingAddress", "h225.alertingAddress",
7832 FT_UINT32, BASE_DEC, NULL, 0,
7833 "SEQUENCE_OF_AliasAddress", HFILL }},
7834 { &hf_h225_alertingAddress_item,
7835 { "AliasAddress", "h225.AliasAddress",
7836 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
7837 NULL, HFILL }},
7838 { &hf_h225_presentationIndicator,
7839 { "presentationIndicator", "h225.presentationIndicator",
7840 FT_UINT32, BASE_DEC, VALS(h225_PresentationIndicator_vals), 0,
7841 NULL, HFILL }},
7842 { &hf_h225_screeningIndicator,
7843 { "screeningIndicator", "h225.screeningIndicator",
7844 FT_UINT32, BASE_DEC, VALS(h225_ScreeningIndicator_vals), 0,
7845 NULL, HFILL }},
7846 { &hf_h225_fastConnectRefused,
7847 { "fastConnectRefused", "h225.fastConnectRefused_element",
7848 FT_NONE, BASE_NONE, NULL, 0,
7849 NULL, HFILL }},
7850 { &hf_h225_serviceControl,
7851 { "serviceControl", "h225.serviceControl",
7852 FT_UINT32, BASE_DEC, NULL, 0,
7853 "SEQUENCE_OF_ServiceControlSession", HFILL }},
7854 { &hf_h225_serviceControl_item,
7855 { "ServiceControlSession", "h225.ServiceControlSession_element",
7856 FT_NONE, BASE_NONE, NULL, 0,
7857 NULL, HFILL }},
7858 { &hf_h225_capacity,
7859 { "capacity", "h225.capacity_element",
7860 FT_NONE, BASE_NONE, NULL, 0,
7861 "CallCapacity", HFILL }},
7862 { &hf_h225_featureSet,
7863 { "featureSet", "h225.featureSet_element",
7864 FT_NONE, BASE_NONE, NULL, 0,
7865 NULL, HFILL }},
7866 { &hf_h225_displayName,
7867 { "displayName", "h225.displayName",
7868 FT_UINT32, BASE_DEC, NULL, 0,
7869 "SEQUENCE_OF_DisplayName", HFILL }},
7870 { &hf_h225_displayName_item,
7871 { "DisplayName", "h225.DisplayName_element",
7872 FT_NONE, BASE_NONE, NULL, 0,
7873 NULL, HFILL }},
7874 { &hf_h225_conferenceID,
7875 { "conferenceID", "h225.conferenceID",
7876 FT_GUID, BASE_NONE, NULL, 0,
7877 "ConferenceIdentifier", HFILL }},
7878 { &hf_h225_language,
7879 { "language", "h225.language",
7880 FT_UINT32, BASE_DEC, NULL, 0,
7881 NULL, HFILL }},
7882 { &hf_h225_connectedAddress,
7883 { "connectedAddress", "h225.connectedAddress",
7884 FT_UINT32, BASE_DEC, NULL, 0,
7885 "SEQUENCE_OF_AliasAddress", HFILL }},
7886 { &hf_h225_connectedAddress_item,
7887 { "AliasAddress", "h225.AliasAddress",
7888 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
7889 NULL, HFILL }},
7890 { &hf_h225_circuitInfo,
7891 { "circuitInfo", "h225.circuitInfo_element",
7892 FT_NONE, BASE_NONE, NULL, 0,
7893 NULL, HFILL }},
7894 { &hf_h225_releaseCompleteReason,
7895 { "reason", "h225.reason",
7896 FT_UINT32, BASE_DEC, VALS(h225_ReleaseCompleteReason_vals), 0,
7897 "ReleaseCompleteReason", HFILL }},
7898 { &hf_h225_busyAddress,
7899 { "busyAddress", "h225.busyAddress",
7900 FT_UINT32, BASE_DEC, NULL, 0,
7901 "SEQUENCE_OF_AliasAddress", HFILL }},
7902 { &hf_h225_busyAddress_item,
7903 { "AliasAddress", "h225.AliasAddress",
7904 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
7905 NULL, HFILL }},
7906 { &hf_h225_destinationInfo,
7907 { "destinationInfo", "h225.destinationInfo_element",
7908 FT_NONE, BASE_NONE, NULL, 0,
7909 "EndpointType", HFILL }},
7910 { &hf_h225_noBandwidth,
7911 { "noBandwidth", "h225.noBandwidth_element",
7912 FT_NONE, BASE_NONE, NULL, 0,
7913 NULL, HFILL }},
7914 { &hf_h225_gatekeeperResources,
7915 { "gatekeeperResources", "h225.gatekeeperResources_element",
7916 FT_NONE, BASE_NONE, NULL, 0,
7917 NULL, HFILL }},
7918 { &hf_h225_unreachableDestination,
7919 { "unreachableDestination", "h225.unreachableDestination_element",
7920 FT_NONE, BASE_NONE, NULL, 0,
7921 NULL, HFILL }},
7922 { &hf_h225_destinationRejection,
7923 { "destinationRejection", "h225.destinationRejection_element",
7924 FT_NONE, BASE_NONE, NULL, 0,
7925 NULL, HFILL }},
7926 { &hf_h225_invalidRevision,
7927 { "invalidRevision", "h225.invalidRevision_element",
7928 FT_NONE, BASE_NONE, NULL, 0,
7929 NULL, HFILL }},
7930 { &hf_h225_noPermission,
7931 { "noPermission", "h225.noPermission_element",
7932 FT_NONE, BASE_NONE, NULL, 0,
7933 NULL, HFILL }},
7934 { &hf_h225_unreachableGatekeeper,
7935 { "unreachableGatekeeper", "h225.unreachableGatekeeper_element",
7936 FT_NONE, BASE_NONE, NULL, 0,
7937 NULL, HFILL }},
7938 { &hf_h225_gatewayResources,
7939 { "gatewayResources", "h225.gatewayResources_element",
7940 FT_NONE, BASE_NONE, NULL, 0,
7941 NULL, HFILL }},
7942 { &hf_h225_badFormatAddress,
7943 { "badFormatAddress", "h225.badFormatAddress_element",
7944 FT_NONE, BASE_NONE, NULL, 0,
7945 NULL, HFILL }},
7946 { &hf_h225_adaptiveBusy,
7947 { "adaptiveBusy", "h225.adaptiveBusy_element",
7948 FT_NONE, BASE_NONE, NULL, 0,
7949 NULL, HFILL }},
7950 { &hf_h225_inConf,
7951 { "inConf", "h225.inConf_element",
7952 FT_NONE, BASE_NONE, NULL, 0,
7953 NULL, HFILL }},
7954 { &hf_h225_undefinedReason,
7955 { "undefinedReason", "h225.undefinedReason_element",
7956 FT_NONE, BASE_NONE, NULL, 0,
7957 NULL, HFILL }},
7958 { &hf_h225_facilityCallDeflection,
7959 { "facilityCallDeflection", "h225.facilityCallDeflection_element",
7960 FT_NONE, BASE_NONE, NULL, 0,
7961 NULL, HFILL }},
7962 { &hf_h225_securityDenied,
7963 { "securityDenied", "h225.securityDenied_element",
7964 FT_NONE, BASE_NONE, NULL, 0,
7965 NULL, HFILL }},
7966 { &hf_h225_calledPartyNotRegistered,
7967 { "calledPartyNotRegistered", "h225.calledPartyNotRegistered_element",
7968 FT_NONE, BASE_NONE, NULL, 0,
7969 NULL, HFILL }},
7970 { &hf_h225_callerNotRegistered,
7971 { "callerNotRegistered", "h225.callerNotRegistered_element",
7972 FT_NONE, BASE_NONE, NULL, 0,
7973 NULL, HFILL }},
7974 { &hf_h225_newConnectionNeeded,
7975 { "newConnectionNeeded", "h225.newConnectionNeeded_element",
7976 FT_NONE, BASE_NONE, NULL, 0,
7977 NULL, HFILL }},
7978 { &hf_h225_nonStandardReason,
7979 { "nonStandardReason", "h225.nonStandardReason_element",
7980 FT_NONE, BASE_NONE, NULL, 0,
7981 "NonStandardParameter", HFILL }},
7982 { &hf_h225_replaceWithConferenceInvite,
7983 { "replaceWithConferenceInvite", "h225.replaceWithConferenceInvite",
7984 FT_GUID, BASE_NONE, NULL, 0,
7985 "ConferenceIdentifier", HFILL }},
7986 { &hf_h225_genericDataReason,
7987 { "genericDataReason", "h225.genericDataReason_element",
7988 FT_NONE, BASE_NONE, NULL, 0,
7989 NULL, HFILL }},
7990 { &hf_h225_neededFeatureNotSupported,
7991 { "neededFeatureNotSupported", "h225.neededFeatureNotSupported_element",
7992 FT_NONE, BASE_NONE, NULL, 0,
7993 NULL, HFILL }},
7994 { &hf_h225_tunnelledSignallingRejected,
7995 { "tunnelledSignallingRejected", "h225.tunnelledSignallingRejected_element",
7996 FT_NONE, BASE_NONE, NULL, 0,
7997 NULL, HFILL }},
7998 { &hf_h225_invalidCID,
7999 { "invalidCID", "h225.invalidCID_element",
8000 FT_NONE, BASE_NONE, NULL, 0,
8001 NULL, HFILL }},
8002 { &hf_h225_rLC_securityError,
8003 { "securityError", "h225.securityError",
8004 FT_UINT32, BASE_DEC, VALS(h225_SecurityErrors_vals), 0,
8005 "SecurityErrors", HFILL }},
8006 { &hf_h225_hopCountExceeded,
8007 { "hopCountExceeded", "h225.hopCountExceeded_element",
8008 FT_NONE, BASE_NONE, NULL, 0,
8009 NULL, HFILL }},
8010 { &hf_h225_sourceAddress,
8011 { "sourceAddress", "h225.sourceAddress",
8012 FT_UINT32, BASE_DEC, NULL, 0,
8013 "SEQUENCE_OF_AliasAddress", HFILL }},
8014 { &hf_h225_sourceAddress_item,
8015 { "AliasAddress", "h225.AliasAddress",
8016 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
8017 NULL, HFILL }},
8018 { &hf_h225_setup_UUIE_sourceInfo,
8019 { "sourceInfo", "h225.sourceInfo_element",
8020 FT_NONE, BASE_NONE, NULL, 0,
8021 "EndpointType", HFILL }},
8022 { &hf_h225_destinationAddress,
8023 { "destinationAddress", "h225.destinationAddress",
8024 FT_UINT32, BASE_DEC, NULL, 0,
8025 "SEQUENCE_OF_AliasAddress", HFILL }},
8026 { &hf_h225_destinationAddress_item,
8027 { "AliasAddress", "h225.AliasAddress",
8028 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
8029 NULL, HFILL }},
8030 { &hf_h225_destCallSignalAddress,
8031 { "destCallSignalAddress", "h225.destCallSignalAddress",
8032 FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
8033 "TransportAddress", HFILL }},
8034 { &hf_h225_destExtraCallInfo,
8035 { "destExtraCallInfo", "h225.destExtraCallInfo",
8036 FT_UINT32, BASE_DEC, NULL, 0,
8037 "SEQUENCE_OF_AliasAddress", HFILL }},
8038 { &hf_h225_destExtraCallInfo_item,
8039 { "AliasAddress", "h225.AliasAddress",
8040 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
8041 NULL, HFILL }},
8042 { &hf_h225_destExtraCRV,
8043 { "destExtraCRV", "h225.destExtraCRV",
8044 FT_UINT32, BASE_DEC, NULL, 0,
8045 "SEQUENCE_OF_CallReferenceValue", HFILL }},
8046 { &hf_h225_destExtraCRV_item,
8047 { "CallReferenceValue", "h225.CallReferenceValue",
8048 FT_UINT32, BASE_DEC, NULL, 0,
8049 NULL, HFILL }},
8050 { &hf_h225_activeMC,
8051 { "activeMC", "h225.activeMC",
8052 FT_BOOLEAN, BASE_NONE, NULL, 0,
8053 "BOOLEAN", HFILL }},
8054 { &hf_h225_conferenceGoal,
8055 { "conferenceGoal", "h225.conferenceGoal",
8056 FT_UINT32, BASE_DEC, VALS(h225_T_conferenceGoal_vals), 0,
8057 NULL, HFILL }},
8058 { &hf_h225_create,
8059 { "create", "h225.create_element",
8060 FT_NONE, BASE_NONE, NULL, 0,
8061 NULL, HFILL }},
8062 { &hf_h225_join,
8063 { "join", "h225.join_element",
8064 FT_NONE, BASE_NONE, NULL, 0,
8065 NULL, HFILL }},
8066 { &hf_h225_invite,
8067 { "invite", "h225.invite_element",
8068 FT_NONE, BASE_NONE, NULL, 0,
8069 NULL, HFILL }},
8070 { &hf_h225_capability_negotiation,
8071 { "capability-negotiation", "h225.capability_negotiation_element",
8072 FT_NONE, BASE_NONE, NULL, 0,
8073 NULL, HFILL }},
8074 { &hf_h225_callIndependentSupplementaryService,
8075 { "callIndependentSupplementaryService", "h225.callIndependentSupplementaryService_element",
8076 FT_NONE, BASE_NONE, NULL, 0,
8077 NULL, HFILL }},
8078 { &hf_h225_callServices,
8079 { "callServices", "h225.callServices_element",
8080 FT_NONE, BASE_NONE, NULL, 0,
8081 "QseriesOptions", HFILL }},
8082 { &hf_h225_callType,
8083 { "callType", "h225.callType",
8084 FT_UINT32, BASE_DEC, VALS(h225_CallType_vals), 0,
8085 NULL, HFILL }},
8086 { &hf_h225_sourceCallSignalAddress,
8087 { "sourceCallSignalAddress", "h225.sourceCallSignalAddress",
8088 FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
8089 "TransportAddress", HFILL }},
8090 { &hf_h225_uUIE_remoteExtensionAddress,
8091 { "remoteExtensionAddress", "h225.remoteExtensionAddress",
8092 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
8093 "AliasAddress", HFILL }},
8094 { &hf_h225_h245SecurityCapability,
8095 { "h245SecurityCapability", "h225.h245SecurityCapability",
8096 FT_UINT32, BASE_DEC, NULL, 0,
8097 "SEQUENCE_OF_H245Security", HFILL }},
8098 { &hf_h225_h245SecurityCapability_item,
8099 { "H245Security", "h225.H245Security",
8100 FT_UINT32, BASE_DEC, VALS(h225_H245Security_vals), 0,
8101 NULL, HFILL }},
8102 { &hf_h225_FastStart_item,
8103 { "FastStart item", "h225.FastStart_item",
8104 FT_UINT32, BASE_DEC, NULL, 0,
8105 NULL, HFILL }},
8106 { &hf_h225_mediaWaitForConnect,
8107 { "mediaWaitForConnect", "h225.mediaWaitForConnect",
8108 FT_BOOLEAN, BASE_NONE, NULL, 0,
8109 "BOOLEAN", HFILL }},
8110 { &hf_h225_canOverlapSend,
8111 { "canOverlapSend", "h225.canOverlapSend",
8112 FT_BOOLEAN, BASE_NONE, NULL, 0,
8113 "BOOLEAN", HFILL }},
8114 { &hf_h225_endpointIdentifier,
8115 { "endpointIdentifier", "h225.endpointIdentifier",
8116 FT_STRING, BASE_NONE, NULL, 0,
8117 NULL, HFILL }},
8118 { &hf_h225_connectionParameters,
8119 { "connectionParameters", "h225.connectionParameters_element",
8120 FT_NONE, BASE_NONE, NULL, 0,
8121 NULL, HFILL }},
8122 { &hf_h225_connectionType,
8123 { "connectionType", "h225.connectionType",
8124 FT_UINT32, BASE_DEC, VALS(h225_ScnConnectionType_vals), 0,
8125 "ScnConnectionType", HFILL }},
8126 { &hf_h225_numberOfScnConnections,
8127 { "numberOfScnConnections", "h225.numberOfScnConnections",
8128 FT_UINT32, BASE_DEC, NULL, 0,
8129 "INTEGER_0_65535", HFILL }},
8130 { &hf_h225_connectionAggregation,
8131 { "connectionAggregation", "h225.connectionAggregation",
8132 FT_UINT32, BASE_DEC, VALS(h225_ScnConnectionAggregation_vals), 0,
8133 "ScnConnectionAggregation", HFILL }},
8134 { &hf_h225_Language_item,
8135 { "Language item", "h225.Language_item",
8136 FT_STRING, BASE_NONE, NULL, 0,
8137 "IA5String_SIZE_1_32", HFILL }},
8138 { &hf_h225_symmetricOperationRequired,
8139 { "symmetricOperationRequired", "h225.symmetricOperationRequired_element",
8140 FT_NONE, BASE_NONE, NULL, 0,
8141 NULL, HFILL }},
8142 { &hf_h225_desiredProtocols,
8143 { "desiredProtocols", "h225.desiredProtocols",
8144 FT_UINT32, BASE_DEC, NULL, 0,
8145 "SEQUENCE_OF_SupportedProtocols", HFILL }},
8146 { &hf_h225_desiredProtocols_item,
8147 { "SupportedProtocols", "h225.SupportedProtocols",
8148 FT_UINT32, BASE_DEC, VALS(h225_SupportedProtocols_vals), 0,
8149 NULL, HFILL }},
8150 { &hf_h225_neededFeatures,
8151 { "neededFeatures", "h225.neededFeatures",
8152 FT_UINT32, BASE_DEC, NULL, 0,
8153 "SEQUENCE_OF_FeatureDescriptor", HFILL }},
8154 { &hf_h225_neededFeatures_item,
8155 { "FeatureDescriptor", "h225.FeatureDescriptor_element",
8156 FT_NONE, BASE_NONE, NULL, 0,
8157 NULL, HFILL }},
8158 { &hf_h225_desiredFeatures,
8159 { "desiredFeatures", "h225.desiredFeatures",
8160 FT_UINT32, BASE_DEC, NULL, 0,
8161 "SEQUENCE_OF_FeatureDescriptor", HFILL }},
8162 { &hf_h225_desiredFeatures_item,
8163 { "FeatureDescriptor", "h225.FeatureDescriptor_element",
8164 FT_NONE, BASE_NONE, NULL, 0,
8165 NULL, HFILL }},
8166 { &hf_h225_supportedFeatures,
8167 { "supportedFeatures", "h225.supportedFeatures",
8168 FT_UINT32, BASE_DEC, NULL, 0,
8169 "SEQUENCE_OF_FeatureDescriptor", HFILL }},
8170 { &hf_h225_supportedFeatures_item,
8171 { "FeatureDescriptor", "h225.FeatureDescriptor_element",
8172 FT_NONE, BASE_NONE, NULL, 0,
8173 NULL, HFILL }},
8174 { &hf_h225_ParallelH245Control_item,
8175 { "ParallelH245Control item", "h225.ParallelH245Control_item",
8176 FT_UINT32, BASE_DEC, NULL, 0,
8177 NULL, HFILL }},
8178 { &hf_h225_parallelH245Control,
8179 { "parallelH245Control", "h225.parallelH245Control",
8180 FT_UINT32, BASE_DEC, NULL, 0,
8181 NULL, HFILL }},
8182 { &hf_h225_additionalSourceAddresses,
8183 { "additionalSourceAddresses", "h225.additionalSourceAddresses",
8184 FT_UINT32, BASE_DEC, NULL, 0,
8185 "SEQUENCE_OF_ExtendedAliasAddress", HFILL }},
8186 { &hf_h225_additionalSourceAddresses_item,
8187 { "ExtendedAliasAddress", "h225.ExtendedAliasAddress_element",
8188 FT_NONE, BASE_NONE, NULL, 0,
8189 NULL, HFILL }},
8190 { &hf_h225_hopCount_1_31,
8191 { "hopCount", "h225.hopCount",
8192 FT_UINT32, BASE_DEC, NULL, 0,
8193 "INTEGER_1_31", HFILL }},
8194 { &hf_h225_unknown,
8195 { "unknown", "h225.unknown_element",
8196 FT_NONE, BASE_NONE, NULL, 0,
8197 NULL, HFILL }},
8198 { &hf_h225_bChannel,
8199 { "bChannel", "h225.bChannel_element",
8200 FT_NONE, BASE_NONE, NULL, 0,
8201 NULL, HFILL }},
8202 { &hf_h225_hybrid2x64,
8203 { "hybrid2x64", "h225.hybrid2x64_element",
8204 FT_NONE, BASE_NONE, NULL, 0,
8205 NULL, HFILL }},
8206 { &hf_h225_hybrid384,
8207 { "hybrid384", "h225.hybrid384_element",
8208 FT_NONE, BASE_NONE, NULL, 0,
8209 NULL, HFILL }},
8210 { &hf_h225_hybrid1536,
8211 { "hybrid1536", "h225.hybrid1536_element",
8212 FT_NONE, BASE_NONE, NULL, 0,
8213 NULL, HFILL }},
8214 { &hf_h225_hybrid1920,
8215 { "hybrid1920", "h225.hybrid1920_element",
8216 FT_NONE, BASE_NONE, NULL, 0,
8217 NULL, HFILL }},
8218 { &hf_h225_multirate,
8219 { "multirate", "h225.multirate_element",
8220 FT_NONE, BASE_NONE, NULL, 0,
8221 NULL, HFILL }},
8222 { &hf_h225_auto,
8223 { "auto", "h225.auto_element",
8224 FT_NONE, BASE_NONE, NULL, 0,
8225 NULL, HFILL }},
8226 { &hf_h225_none,
8227 { "none", "h225.none_element",
8228 FT_NONE, BASE_NONE, NULL, 0,
8229 NULL, HFILL }},
8230 { &hf_h225_h221,
8231 { "h221", "h225.h221_element",
8232 FT_NONE, BASE_NONE, NULL, 0,
8233 NULL, HFILL }},
8234 { &hf_h225_bonded_mode1,
8235 { "bonded-mode1", "h225.bonded_mode1_element",
8236 FT_NONE, BASE_NONE, NULL, 0,
8237 NULL, HFILL }},
8238 { &hf_h225_bonded_mode2,
8239 { "bonded-mode2", "h225.bonded_mode2_element",
8240 FT_NONE, BASE_NONE, NULL, 0,
8241 NULL, HFILL }},
8242 { &hf_h225_bonded_mode3,
8243 { "bonded-mode3", "h225.bonded_mode3_element",
8244 FT_NONE, BASE_NONE, NULL, 0,
8245 NULL, HFILL }},
8246 { &hf_h225_presentationAllowed,
8247 { "presentationAllowed", "h225.presentationAllowed_element",
8248 FT_NONE, BASE_NONE, NULL, 0,
8249 NULL, HFILL }},
8250 { &hf_h225_presentationRestricted,
8251 { "presentationRestricted", "h225.presentationRestricted_element",
8252 FT_NONE, BASE_NONE, NULL, 0,
8253 NULL, HFILL }},
8254 { &hf_h225_addressNotAvailable,
8255 { "addressNotAvailable", "h225.addressNotAvailable_element",
8256 FT_NONE, BASE_NONE, NULL, 0,
8257 NULL, HFILL }},
8258 { &hf_h225_alternativeAddress,
8259 { "alternativeAddress", "h225.alternativeAddress",
8260 FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
8261 "TransportAddress", HFILL }},
8262 { &hf_h225_alternativeAliasAddress,
8263 { "alternativeAliasAddress", "h225.alternativeAliasAddress",
8264 FT_UINT32, BASE_DEC, NULL, 0,
8265 "SEQUENCE_OF_AliasAddress", HFILL }},
8266 { &hf_h225_alternativeAliasAddress_item,
8267 { "AliasAddress", "h225.AliasAddress",
8268 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
8269 NULL, HFILL }},
8270 { &hf_h225_facilityReason,
8271 { "reason", "h225.reason",
8272 FT_UINT32, BASE_DEC, VALS(FacilityReason_vals), 0,
8273 "FacilityReason", HFILL }},
8274 { &hf_h225_conferences,
8275 { "conferences", "h225.conferences",
8276 FT_UINT32, BASE_DEC, NULL, 0,
8277 "SEQUENCE_OF_ConferenceList", HFILL }},
8278 { &hf_h225_conferences_item,
8279 { "ConferenceList", "h225.ConferenceList_element",
8280 FT_NONE, BASE_NONE, NULL, 0,
8281 NULL, HFILL }},
8282 { &hf_h225_conferenceAlias,
8283 { "conferenceAlias", "h225.conferenceAlias",
8284 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
8285 "AliasAddress", HFILL }},
8286 { &hf_h225_routeCallToGatekeeper,
8287 { "routeCallToGatekeeper", "h225.routeCallToGatekeeper_element",
8288 FT_NONE, BASE_NONE, NULL, 0,
8289 NULL, HFILL }},
8290 { &hf_h225_callForwarded,
8291 { "callForwarded", "h225.callForwarded_element",
8292 FT_NONE, BASE_NONE, NULL, 0,
8293 NULL, HFILL }},
8294 { &hf_h225_routeCallToMC,
8295 { "routeCallToMC", "h225.routeCallToMC_element",
8296 FT_NONE, BASE_NONE, NULL, 0,
8297 NULL, HFILL }},
8298 { &hf_h225_conferenceListChoice,
8299 { "conferenceListChoice", "h225.conferenceListChoice_element",
8300 FT_NONE, BASE_NONE, NULL, 0,
8301 NULL, HFILL }},
8302 { &hf_h225_startH245,
8303 { "startH245", "h225.startH245_element",
8304 FT_NONE, BASE_NONE, NULL, 0,
8305 NULL, HFILL }},
8306 { &hf_h225_noH245,
8307 { "noH245", "h225.noH245_element",
8308 FT_NONE, BASE_NONE, NULL, 0,
8309 NULL, HFILL }},
8310 { &hf_h225_newTokens,
8311 { "newTokens", "h225.newTokens_element",
8312 FT_NONE, BASE_NONE, NULL, 0,
8313 NULL, HFILL }},
8314 { &hf_h225_featureSetUpdate,
8315 { "featureSetUpdate", "h225.featureSetUpdate_element",
8316 FT_NONE, BASE_NONE, NULL, 0,
8317 NULL, HFILL }},
8318 { &hf_h225_forwardedElements,
8319 { "forwardedElements", "h225.forwardedElements_element",
8320 FT_NONE, BASE_NONE, NULL, 0,
8321 NULL, HFILL }},
8322 { &hf_h225_transportedInformation,
8323 { "transportedInformation", "h225.transportedInformation_element",
8324 FT_NONE, BASE_NONE, NULL, 0,
8325 NULL, HFILL }},
8326 { &hf_h225_h245IpAddress,
8327 { "ipAddress", "h225.ipAddress_element",
8328 FT_NONE, BASE_NONE, NULL, 0,
8329 "T_h245IpAddress", HFILL }},
8330 { &hf_h225_h245Ip,
8331 { "ip", "h225.ip",
8332 FT_IPv4, BASE_NONE, NULL, 0,
8333 "T_h245Ip", HFILL }},
8334 { &hf_h225_h245IpPort,
8335 { "port", "h225.port",
8336 FT_UINT32, BASE_DEC, NULL, 0,
8337 "T_h245IpPort", HFILL }},
8338 { &hf_h225_h245IpSourceRoute,
8339 { "ipSourceRoute", "h225.ipSourceRoute_element",
8340 FT_NONE, BASE_NONE, NULL, 0,
8341 "T_h245IpSourceRoute", HFILL }},
8342 { &hf_h225_ip,
8343 { "ip", "h225.ip",
8344 FT_BYTES, BASE_NONE, NULL, 0,
8345 "OCTET_STRING_SIZE_4", HFILL }},
8346 { &hf_h225_port,
8347 { "port", "h225.port",
8348 FT_UINT32, BASE_DEC, NULL, 0,
8349 "INTEGER_0_65535", HFILL }},
8350 { &hf_h225_h245Route,
8351 { "route", "h225.route",
8352 FT_UINT32, BASE_DEC, NULL, 0,
8353 "T_h245Route", HFILL }},
8354 { &hf_h225_h245Route_item,
8355 { "route item", "h225.route_item",
8356 FT_BYTES, BASE_NONE, NULL, 0,
8357 "OCTET_STRING_SIZE_4", HFILL }},
8358 { &hf_h225_h245Routing,
8359 { "routing", "h225.routing",
8360 FT_UINT32, BASE_DEC, VALS(h225_T_h245Routing_vals), 0,
8361 "T_h245Routing", HFILL }},
8362 { &hf_h225_strict,
8363 { "strict", "h225.strict_element",
8364 FT_NONE, BASE_NONE, NULL, 0,
8365 NULL, HFILL }},
8366 { &hf_h225_loose,
8367 { "loose", "h225.loose_element",
8368 FT_NONE, BASE_NONE, NULL, 0,
8369 NULL, HFILL }},
8370 { &hf_h225_h245IpxAddress,
8371 { "ipxAddress", "h225.ipxAddress_element",
8372 FT_NONE, BASE_NONE, NULL, 0,
8373 "T_h245IpxAddress", HFILL }},
8374 { &hf_h225_node,
8375 { "node", "h225.node",
8376 FT_BYTES, BASE_NONE, NULL, 0,
8377 "OCTET_STRING_SIZE_6", HFILL }},
8378 { &hf_h225_netnum,
8379 { "netnum", "h225.netnum",
8380 FT_BYTES, BASE_NONE, NULL, 0,
8381 "OCTET_STRING_SIZE_4", HFILL }},
8382 { &hf_h225_h245IpxPort,
8383 { "port", "h225.port",
8384 FT_BYTES, BASE_NONE, NULL, 0,
8385 "OCTET_STRING_SIZE_2", HFILL }},
8386 { &hf_h225_h245Ip6Address,
8387 { "ip6Address", "h225.ip6Address_element",
8388 FT_NONE, BASE_NONE, NULL, 0,
8389 "T_h245Ip6Address", HFILL }},
8390 { &hf_h225_h245Ip6,
8391 { "ip", "h225.ip",
8392 FT_IPv6, BASE_NONE, NULL, 0,
8393 "OCTET_STRING_SIZE_16", HFILL }},
8394 { &hf_h225_netBios,
8395 { "netBios", "h225.netBios",
8396 FT_BYTES, BASE_NONE, NULL, 0,
8397 "OCTET_STRING_SIZE_16", HFILL }},
8398 { &hf_h225_nsap,
8399 { "nsap", "h225.nsap",
8400 FT_BYTES, BASE_NONE, NULL, 0,
8401 "OCTET_STRING_SIZE_1_20", HFILL }},
8402 { &hf_h225_nonStandardAddress,
8403 { "nonStandardAddress", "h225.nonStandardAddress_element",
8404 FT_NONE, BASE_NONE, NULL, 0,
8405 "NonStandardParameter", HFILL }},
8406 { &hf_h225_ipAddress,
8407 { "ipAddress", "h225.ipAddress_element",
8408 FT_NONE, BASE_NONE, NULL, 0,
8409 NULL, HFILL }},
8410 { &hf_h225_ipV4,
8411 { "ip", "h225.ip",
8412 FT_IPv4, BASE_NONE, NULL, 0,
8413 "IpV4", HFILL }},
8414 { &hf_h225_ipV4_port,
8415 { "port", "h225.port",
8416 FT_UINT32, BASE_DEC, NULL, 0,
8417 "INTEGER_0_65535", HFILL }},
8418 { &hf_h225_ipSourceRoute,
8419 { "ipSourceRoute", "h225.ipSourceRoute_element",
8420 FT_NONE, BASE_NONE, NULL, 0,
8421 NULL, HFILL }},
8422 { &hf_h225_src_route_ipV4,
8423 { "ip", "h225.ip",
8424 FT_BYTES, BASE_NONE, NULL, 0,
8425 "OCTET_STRING_SIZE_4", HFILL }},
8426 { &hf_h225_ipV4_src_port,
8427 { "port", "h225.port",
8428 FT_UINT32, BASE_DEC, NULL, 0,
8429 "INTEGER_0_65535", HFILL }},
8430 { &hf_h225_route,
8431 { "route", "h225.route",
8432 FT_UINT32, BASE_DEC, NULL, 0,
8433 NULL, HFILL }},
8434 { &hf_h225_route_item,
8435 { "route item", "h225.route_item",
8436 FT_BYTES, BASE_NONE, NULL, 0,
8437 "OCTET_STRING_SIZE_4", HFILL }},
8438 { &hf_h225_routing,
8439 { "routing", "h225.routing",
8440 FT_UINT32, BASE_DEC, VALS(h225_T_routing_vals), 0,
8441 NULL, HFILL }},
8442 { &hf_h225_ipxAddress,
8443 { "ipxAddress", "h225.ipxAddress_element",
8444 FT_NONE, BASE_NONE, NULL, 0,
8445 NULL, HFILL }},
8446 { &hf_h225_ipx_port,
8447 { "port", "h225.port",
8448 FT_BYTES, BASE_NONE, NULL, 0,
8449 "OCTET_STRING_SIZE_2", HFILL }},
8450 { &hf_h225_ip6Address,
8451 { "ip6Address", "h225.ip6Address_element",
8452 FT_NONE, BASE_NONE, NULL, 0,
8453 NULL, HFILL }},
8454 { &hf_h225_ipV6,
8455 { "ip", "h225.ip",
8456 FT_IPv6, BASE_NONE, NULL, 0,
8457 "OCTET_STRING_SIZE_16", HFILL }},
8458 { &hf_h225_ipV6_port,
8459 { "port", "h225.port",
8460 FT_UINT32, BASE_DEC, NULL, 0,
8461 "INTEGER_0_65535", HFILL }},
8462 { &hf_h225_vendor,
8463 { "vendor", "h225.vendor_element",
8464 FT_NONE, BASE_NONE, NULL, 0,
8465 "VendorIdentifier", HFILL }},
8466 { &hf_h225_gatekeeper,
8467 { "gatekeeper", "h225.gatekeeper_element",
8468 FT_NONE, BASE_NONE, NULL, 0,
8469 "GatekeeperInfo", HFILL }},
8470 { &hf_h225_gateway,
8471 { "gateway", "h225.gateway_element",
8472 FT_NONE, BASE_NONE, NULL, 0,
8473 "GatewayInfo", HFILL }},
8474 { &hf_h225_mcu,
8475 { "mcu", "h225.mcu_element",
8476 FT_NONE, BASE_NONE, NULL, 0,
8477 "McuInfo", HFILL }},
8478 { &hf_h225_terminal,
8479 { "terminal", "h225.terminal_element",
8480 FT_NONE, BASE_NONE, NULL, 0,
8481 "TerminalInfo", HFILL }},
8482 { &hf_h225_mc,
8483 { "mc", "h225.mc",
8484 FT_BOOLEAN, BASE_NONE, NULL, 0,
8485 "BOOLEAN", HFILL }},
8486 { &hf_h225_undefinedNode,
8487 { "undefinedNode", "h225.undefinedNode",
8488 FT_BOOLEAN, BASE_NONE, NULL, 0,
8489 "BOOLEAN", HFILL }},
8490 { &hf_h225_set,
8491 { "set", "h225.set",
8492 FT_BYTES, BASE_NONE, NULL, 0,
8493 "BIT_STRING_SIZE_32", HFILL }},
8494 { &hf_h225_supportedTunnelledProtocols,
8495 { "supportedTunnelledProtocols", "h225.supportedTunnelledProtocols",
8496 FT_UINT32, BASE_DEC, NULL, 0,
8497 "SEQUENCE_OF_TunnelledProtocol", HFILL }},
8498 { &hf_h225_supportedTunnelledProtocols_item,
8499 { "TunnelledProtocol", "h225.TunnelledProtocol_element",
8500 FT_NONE, BASE_NONE, NULL, 0,
8501 NULL, HFILL }},
8502 { &hf_h225_protocol,
8503 { "protocol", "h225.protocol",
8504 FT_UINT32, BASE_DEC, NULL, 0,
8505 "SEQUENCE_OF_SupportedProtocols", HFILL }},
8506 { &hf_h225_protocol_item,
8507 { "SupportedProtocols", "h225.SupportedProtocols",
8508 FT_UINT32, BASE_DEC, VALS(h225_SupportedProtocols_vals), 0,
8509 NULL, HFILL }},
8510 { &hf_h225_h310,
8511 { "h310", "h225.h310_element",
8512 FT_NONE, BASE_NONE, NULL, 0,
8513 "H310Caps", HFILL }},
8514 { &hf_h225_h320,
8515 { "h320", "h225.h320_element",
8516 FT_NONE, BASE_NONE, NULL, 0,
8517 "H320Caps", HFILL }},
8518 { &hf_h225_h321,
8519 { "h321", "h225.h321_element",
8520 FT_NONE, BASE_NONE, NULL, 0,
8521 "H321Caps", HFILL }},
8522 { &hf_h225_h322,
8523 { "h322", "h225.h322_element",
8524 FT_NONE, BASE_NONE, NULL, 0,
8525 "H322Caps", HFILL }},
8526 { &hf_h225_h323,
8527 { "h323", "h225.h323_element",
8528 FT_NONE, BASE_NONE, NULL, 0,
8529 "H323Caps", HFILL }},
8530 { &hf_h225_h324,
8531 { "h324", "h225.h324_element",
8532 FT_NONE, BASE_NONE, NULL, 0,
8533 "H324Caps", HFILL }},
8534 { &hf_h225_voice,
8535 { "voice", "h225.voice_element",
8536 FT_NONE, BASE_NONE, NULL, 0,
8537 "VoiceCaps", HFILL }},
8538 { &hf_h225_t120_only,
8539 { "t120-only", "h225.t120_only_element",
8540 FT_NONE, BASE_NONE, NULL, 0,
8541 "T120OnlyCaps", HFILL }},
8542 { &hf_h225_nonStandardProtocol,
8543 { "nonStandardProtocol", "h225.nonStandardProtocol_element",
8544 FT_NONE, BASE_NONE, NULL, 0,
8545 NULL, HFILL }},
8546 { &hf_h225_t38FaxAnnexbOnly,
8547 { "t38FaxAnnexbOnly", "h225.t38FaxAnnexbOnly_element",
8548 FT_NONE, BASE_NONE, NULL, 0,
8549 "T38FaxAnnexbOnlyCaps", HFILL }},
8550 { &hf_h225_sip,
8551 { "sip", "h225.sip_element",
8552 FT_NONE, BASE_NONE, NULL, 0,
8553 "SIPCaps", HFILL }},
8554 { &hf_h225_dataRatesSupported,
8555 { "dataRatesSupported", "h225.dataRatesSupported",
8556 FT_UINT32, BASE_DEC, NULL, 0,
8557 "SEQUENCE_OF_DataRate", HFILL }},
8558 { &hf_h225_dataRatesSupported_item,
8559 { "DataRate", "h225.DataRate_element",
8560 FT_NONE, BASE_NONE, NULL, 0,
8561 NULL, HFILL }},
8562 { &hf_h225_supportedPrefixes,
8563 { "supportedPrefixes", "h225.supportedPrefixes",
8564 FT_UINT32, BASE_DEC, NULL, 0,
8565 "SEQUENCE_OF_SupportedPrefix", HFILL }},
8566 { &hf_h225_supportedPrefixes_item,
8567 { "SupportedPrefix", "h225.SupportedPrefix_element",
8568 FT_NONE, BASE_NONE, NULL, 0,
8569 NULL, HFILL }},
8570 { &hf_h225_t38FaxProtocol,
8571 { "t38FaxProtocol", "h225.t38FaxProtocol",
8572 FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
8573 "DataProtocolCapability", HFILL }},
8574 { &hf_h225_t38FaxProfile,
8575 { "t38FaxProfile", "h225.t38FaxProfile_element",
8576 FT_NONE, BASE_NONE, NULL, 0,
8577 NULL, HFILL }},
8578 { &hf_h225_vendorIdentifier_vendor,
8579 { "vendor", "h225.vendor_element",
8580 FT_NONE, BASE_NONE, NULL, 0,
8581 "H221NonStandard", HFILL }},
8582 { &hf_h225_productId,
8583 { "productId", "h225.productId",
8584 FT_STRING, BASE_NONE, NULL, 0,
8585 "OCTET_STRING_SIZE_1_256", HFILL }},
8586 { &hf_h225_versionId,
8587 { "versionId", "h225.versionId",
8588 FT_STRING, BASE_NONE, NULL, 0,
8589 "OCTET_STRING_SIZE_1_256", HFILL }},
8590 { &hf_h225_enterpriseNumber,
8591 { "enterpriseNumber", "h225.enterpriseNumber",
8592 FT_OID, BASE_NONE, NULL, 0,
8593 "OBJECT_IDENTIFIER", HFILL }},
8594 { &hf_h225_t35CountryCode,
8595 { "t35CountryCode", "h225.t35CountryCode",
8596 FT_UINT32, BASE_DEC, VALS(T35CountryCode_vals), 0,
8597 NULL, HFILL }},
8598 { &hf_h225_t35Extension,
8599 { "t35Extension", "h225.t35Extension",
8600 FT_UINT32, BASE_DEC, NULL, 0,
8601 NULL, HFILL }},
8602 { &hf_h225_manufacturerCode,
8603 { "manufacturerCode", "h225.manufacturerCode",
8604 FT_UINT32, BASE_DEC, NULL, 0,
8605 NULL, HFILL }},
8606 { &hf_h225_tunnelledProtocol_id,
8607 { "id", "h225.id",
8608 FT_UINT32, BASE_DEC, VALS(h225_TunnelledProtocol_id_vals), 0,
8609 "TunnelledProtocol_id", HFILL }},
8610 { &hf_h225_tunnelledProtocolObjectID,
8611 { "tunnelledProtocolObjectID", "h225.tunnelledProtocolObjectID",
8612 FT_OID, BASE_NONE, NULL, 0,
8613 NULL, HFILL }},
8614 { &hf_h225_tunnelledProtocolAlternateID,
8615 { "tunnelledProtocolAlternateID", "h225.tunnelledProtocolAlternateID_element",
8616 FT_NONE, BASE_NONE, NULL, 0,
8617 "TunnelledProtocolAlternateIdentifier", HFILL }},
8618 { &hf_h225_subIdentifier,
8619 { "subIdentifier", "h225.subIdentifier",
8620 FT_STRING, BASE_NONE, NULL, 0,
8621 "IA5String_SIZE_1_64", HFILL }},
8622 { &hf_h225_protocolType,
8623 { "protocolType", "h225.protocolType",
8624 FT_STRING, BASE_NONE, NULL, 0,
8625 "IA5String_SIZE_1_64", HFILL }},
8626 { &hf_h225_protocolVariant,
8627 { "protocolVariant", "h225.protocolVariant",
8628 FT_STRING, BASE_NONE, NULL, 0,
8629 "IA5String_SIZE_1_64", HFILL }},
8630 { &hf_h225_nonStandardIdentifier,
8631 { "nonStandardIdentifier", "h225.nonStandardIdentifier",
8632 FT_UINT32, BASE_DEC, VALS(h225_NonStandardIdentifier_vals), 0,
8633 NULL, HFILL }},
8634 { &hf_h225_nsp_data,
8635 { "data", "h225.data",
8636 FT_UINT32, BASE_DEC, NULL, 0,
8637 "T_nsp_data", HFILL }},
8638 { &hf_h225_nsiOID,
8639 { "object", "h225.object",
8640 FT_OID, BASE_NONE, NULL, 0,
8641 "T_nsiOID", HFILL }},
8642 { &hf_h225_h221NonStandard,
8643 { "h221NonStandard", "h225.h221NonStandard_element",
8644 FT_NONE, BASE_NONE, NULL, 0,
8645 NULL, HFILL }},
8646 { &hf_h225_dialledDigits,
8647 { "dialledDigits", "h225.dialledDigits",
8648 FT_STRING, BASE_NONE, NULL, 0,
8649 "DialedDigits", HFILL }},
8650 { &hf_h225_h323_ID,
8651 { "h323-ID", "h225.h323_ID",
8652 FT_STRING, BASE_NONE, NULL, 0,
8653 "BMPString_SIZE_1_256", HFILL }},
8654 { &hf_h225_url_ID,
8655 { "url-ID", "h225.url_ID",
8656 FT_STRING, BASE_NONE, NULL, 0,
8657 "IA5String_SIZE_1_512", HFILL }},
8658 { &hf_h225_transportID,
8659 { "transportID", "h225.transportID",
8660 FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
8661 "TransportAddress", HFILL }},
8662 { &hf_h225_email_ID,
8663 { "email-ID", "h225.email_ID",
8664 FT_STRING, BASE_NONE, NULL, 0,
8665 "IA5String_SIZE_1_512", HFILL }},
8666 { &hf_h225_partyNumber,
8667 { "partyNumber", "h225.partyNumber",
8668 FT_UINT32, BASE_DEC, VALS(h225_PartyNumber_vals), 0,
8669 NULL, HFILL }},
8670 { &hf_h225_mobileUIM,
8671 { "mobileUIM", "h225.mobileUIM",
8672 FT_UINT32, BASE_DEC, VALS(h225_MobileUIM_vals), 0,
8673 NULL, HFILL }},
8674 { &hf_h225_isupNumber,
8675 { "isupNumber", "h225.isupNumber",
8676 FT_UINT32, BASE_DEC, VALS(h225_IsupNumber_vals), 0,
8677 NULL, HFILL }},
8678 { &hf_h225_wildcard,
8679 { "wildcard", "h225.wildcard",
8680 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
8681 "AliasAddress", HFILL }},
8682 { &hf_h225_range,
8683 { "range", "h225.range_element",
8684 FT_NONE, BASE_NONE, NULL, 0,
8685 NULL, HFILL }},
8686 { &hf_h225_startOfRange,
8687 { "startOfRange", "h225.startOfRange",
8688 FT_UINT32, BASE_DEC, VALS(h225_PartyNumber_vals), 0,
8689 "PartyNumber", HFILL }},
8690 { &hf_h225_endOfRange,
8691 { "endOfRange", "h225.endOfRange",
8692 FT_UINT32, BASE_DEC, VALS(h225_PartyNumber_vals), 0,
8693 "PartyNumber", HFILL }},
8694 { &hf_h225_e164Number,
8695 { "e164Number", "h225.e164Number_element",
8696 FT_NONE, BASE_NONE, NULL, 0,
8697 "PublicPartyNumber", HFILL }},
8698 { &hf_h225_dataPartyNumber,
8699 { "dataPartyNumber", "h225.dataPartyNumber",
8700 FT_STRING, BASE_NONE, NULL, 0,
8701 "NumberDigits", HFILL }},
8702 { &hf_h225_telexPartyNumber,
8703 { "telexPartyNumber", "h225.telexPartyNumber",
8704 FT_STRING, BASE_NONE, NULL, 0,
8705 "NumberDigits", HFILL }},
8706 { &hf_h225_privateNumber,
8707 { "privateNumber", "h225.privateNumber_element",
8708 FT_NONE, BASE_NONE, NULL, 0,
8709 "PrivatePartyNumber", HFILL }},
8710 { &hf_h225_nationalStandardPartyNumber,
8711 { "nationalStandardPartyNumber", "h225.nationalStandardPartyNumber",
8712 FT_STRING, BASE_NONE, NULL, 0,
8713 "NumberDigits", HFILL }},
8714 { &hf_h225_publicTypeOfNumber,
8715 { "publicTypeOfNumber", "h225.publicTypeOfNumber",
8716 FT_UINT32, BASE_DEC, VALS(h225_PublicTypeOfNumber_vals), 0,
8717 NULL, HFILL }},
8718 { &hf_h225_publicNumberDigits,
8719 { "publicNumberDigits", "h225.publicNumberDigits",
8720 FT_STRING, BASE_NONE, NULL, 0,
8721 "NumberDigits", HFILL }},
8722 { &hf_h225_privateTypeOfNumber,
8723 { "privateTypeOfNumber", "h225.privateTypeOfNumber",
8724 FT_UINT32, BASE_DEC, VALS(h225_PrivateTypeOfNumber_vals), 0,
8725 NULL, HFILL }},
8726 { &hf_h225_privateNumberDigits,
8727 { "privateNumberDigits", "h225.privateNumberDigits",
8728 FT_STRING, BASE_NONE, NULL, 0,
8729 "NumberDigits", HFILL }},
8730 { &hf_h225_language_01,
8731 { "language", "h225.language",
8732 FT_STRING, BASE_NONE, NULL, 0,
8733 "IA5String", HFILL }},
8734 { &hf_h225_name,
8735 { "name", "h225.name",
8736 FT_STRING, BASE_NONE, NULL, 0,
8737 "BMPString_SIZE_1_80", HFILL }},
8738 { &hf_h225_internationalNumber,
8739 { "internationalNumber", "h225.internationalNumber_element",
8740 FT_NONE, BASE_NONE, NULL, 0,
8741 NULL, HFILL }},
8742 { &hf_h225_nationalNumber,
8743 { "nationalNumber", "h225.nationalNumber_element",
8744 FT_NONE, BASE_NONE, NULL, 0,
8745 NULL, HFILL }},
8746 { &hf_h225_networkSpecificNumber,
8747 { "networkSpecificNumber", "h225.networkSpecificNumber_element",
8748 FT_NONE, BASE_NONE, NULL, 0,
8749 NULL, HFILL }},
8750 { &hf_h225_subscriberNumber,
8751 { "subscriberNumber", "h225.subscriberNumber_element",
8752 FT_NONE, BASE_NONE, NULL, 0,
8753 NULL, HFILL }},
8754 { &hf_h225_abbreviatedNumber,
8755 { "abbreviatedNumber", "h225.abbreviatedNumber_element",
8756 FT_NONE, BASE_NONE, NULL, 0,
8757 NULL, HFILL }},
8758 { &hf_h225_level2RegionalNumber,
8759 { "level2RegionalNumber", "h225.level2RegionalNumber_element",
8760 FT_NONE, BASE_NONE, NULL, 0,
8761 NULL, HFILL }},
8762 { &hf_h225_level1RegionalNumber,
8763 { "level1RegionalNumber", "h225.level1RegionalNumber_element",
8764 FT_NONE, BASE_NONE, NULL, 0,
8765 NULL, HFILL }},
8766 { &hf_h225_pISNSpecificNumber,
8767 { "pISNSpecificNumber", "h225.pISNSpecificNumber_element",
8768 FT_NONE, BASE_NONE, NULL, 0,
8769 NULL, HFILL }},
8770 { &hf_h225_localNumber,
8771 { "localNumber", "h225.localNumber_element",
8772 FT_NONE, BASE_NONE, NULL, 0,
8773 NULL, HFILL }},
8774 { &hf_h225_ansi_41_uim,
8775 { "ansi-41-uim", "h225.ansi_41_uim_element",
8776 FT_NONE, BASE_NONE, NULL, 0,
8777 NULL, HFILL }},
8778 { &hf_h225_gsm_uim,
8779 { "gsm-uim", "h225.gsm_uim_element",
8780 FT_NONE, BASE_NONE, NULL, 0,
8781 NULL, HFILL }},
8782 { &hf_h225_imsi,
8783 { "imsi", "h225.imsi",
8784 FT_STRING, BASE_NONE, NULL, 0,
8785 "TBCD_STRING_SIZE_3_16", HFILL }},
8786 { &hf_h225_min,
8787 { "min", "h225.min",
8788 FT_STRING, BASE_NONE, NULL, 0,
8789 "TBCD_STRING_SIZE_3_16", HFILL }},
8790 { &hf_h225_mdn,
8791 { "mdn", "h225.mdn",
8792 FT_STRING, BASE_NONE, NULL, 0,
8793 "TBCD_STRING_SIZE_3_16", HFILL }},
8794 { &hf_h225_msisdn,
8795 { "msisdn", "h225.msisdn",
8796 FT_STRING, BASE_NONE, NULL, 0,
8797 "TBCD_STRING_SIZE_3_16", HFILL }},
8798 { &hf_h225_esn,
8799 { "esn", "h225.esn",
8800 FT_STRING, BASE_NONE, NULL, 0,
8801 "TBCD_STRING_SIZE_16", HFILL }},
8802 { &hf_h225_mscid,
8803 { "mscid", "h225.mscid",
8804 FT_STRING, BASE_NONE, NULL, 0,
8805 "TBCD_STRING_SIZE_3_16", HFILL }},
8806 { &hf_h225_system_id,
8807 { "system-id", "h225.system_id",
8808 FT_UINT32, BASE_DEC, VALS(h225_T_system_id_vals), 0,
8809 NULL, HFILL }},
8810 { &hf_h225_sid,
8811 { "sid", "h225.sid",
8812 FT_STRING, BASE_NONE, NULL, 0,
8813 "TBCD_STRING_SIZE_1_4", HFILL }},
8814 { &hf_h225_mid,
8815 { "mid", "h225.mid",
8816 FT_STRING, BASE_NONE, NULL, 0,
8817 "TBCD_STRING_SIZE_1_4", HFILL }},
8818 { &hf_h225_systemMyTypeCode,
8819 { "systemMyTypeCode", "h225.systemMyTypeCode",
8820 FT_BYTES, BASE_NONE, NULL, 0,
8821 "OCTET_STRING_SIZE_1", HFILL }},
8822 { &hf_h225_systemAccessType,
8823 { "systemAccessType", "h225.systemAccessType",
8824 FT_BYTES, BASE_NONE, NULL, 0,
8825 "OCTET_STRING_SIZE_1", HFILL }},
8826 { &hf_h225_qualificationInformationCode,
8827 { "qualificationInformationCode", "h225.qualificationInformationCode",
8828 FT_BYTES, BASE_NONE, NULL, 0,
8829 "OCTET_STRING_SIZE_1", HFILL }},
8830 { &hf_h225_sesn,
8831 { "sesn", "h225.sesn",
8832 FT_STRING, BASE_NONE, NULL, 0,
8833 "TBCD_STRING_SIZE_16", HFILL }},
8834 { &hf_h225_soc,
8835 { "soc", "h225.soc",
8836 FT_STRING, BASE_NONE, NULL, 0,
8837 "TBCD_STRING_SIZE_3_16", HFILL }},
8838 { &hf_h225_tmsi,
8839 { "tmsi", "h225.tmsi",
8840 FT_BYTES, BASE_NONE, NULL, 0,
8841 "OCTET_STRING_SIZE_1_4", HFILL }},
8842 { &hf_h225_imei,
8843 { "imei", "h225.imei",
8844 FT_STRING, BASE_NONE, NULL, 0,
8845 "TBCD_STRING_SIZE_15_16", HFILL }},
8846 { &hf_h225_hplmn,
8847 { "hplmn", "h225.hplmn",
8848 FT_STRING, BASE_NONE, NULL, 0,
8849 "TBCD_STRING_SIZE_1_4", HFILL }},
8850 { &hf_h225_vplmn,
8851 { "vplmn", "h225.vplmn",
8852 FT_STRING, BASE_NONE, NULL, 0,
8853 "TBCD_STRING_SIZE_1_4", HFILL }},
8854 { &hf_h225_isupE164Number,
8855 { "e164Number", "h225.e164Number_element",
8856 FT_NONE, BASE_NONE, NULL, 0,
8857 "IsupPublicPartyNumber", HFILL }},
8858 { &hf_h225_isupDataPartyNumber,
8859 { "dataPartyNumber", "h225.dataPartyNumber",
8860 FT_STRING, BASE_NONE, NULL, 0,
8861 "IsupDigits", HFILL }},
8862 { &hf_h225_isupTelexPartyNumber,
8863 { "telexPartyNumber", "h225.telexPartyNumber",
8864 FT_STRING, BASE_NONE, NULL, 0,
8865 "IsupDigits", HFILL }},
8866 { &hf_h225_isupPrivateNumber,
8867 { "privateNumber", "h225.privateNumber_element",
8868 FT_NONE, BASE_NONE, NULL, 0,
8869 "IsupPrivatePartyNumber", HFILL }},
8870 { &hf_h225_isupNationalStandardPartyNumber,
8871 { "nationalStandardPartyNumber", "h225.nationalStandardPartyNumber",
8872 FT_STRING, BASE_NONE, NULL, 0,
8873 "IsupDigits", HFILL }},
8874 { &hf_h225_natureOfAddress,
8875 { "natureOfAddress", "h225.natureOfAddress",
8876 FT_UINT32, BASE_DEC, VALS(h225_NatureOfAddress_vals), 0,
8877 NULL, HFILL }},
8878 { &hf_h225_address,
8879 { "address", "h225.address",
8880 FT_STRING, BASE_NONE, NULL, 0,
8881 "IsupDigits", HFILL }},
8882 { &hf_h225_routingNumberNationalFormat,
8883 { "routingNumberNationalFormat", "h225.routingNumberNationalFormat_element",
8884 FT_NONE, BASE_NONE, NULL, 0,
8885 NULL, HFILL }},
8886 { &hf_h225_routingNumberNetworkSpecificFormat,
8887 { "routingNumberNetworkSpecificFormat", "h225.routingNumberNetworkSpecificFormat_element",
8888 FT_NONE, BASE_NONE, NULL, 0,
8889 NULL, HFILL }},
8890 { &hf_h225_routingNumberWithCalledDirectoryNumber,
8891 { "routingNumberWithCalledDirectoryNumber", "h225.routingNumberWithCalledDirectoryNumber_element",
8892 FT_NONE, BASE_NONE, NULL, 0,
8893 NULL, HFILL }},
8894 { &hf_h225_extAliasAddress,
8895 { "address", "h225.address",
8896 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
8897 "AliasAddress", HFILL }},
8898 { &hf_h225_aliasAddress,
8899 { "aliasAddress", "h225.aliasAddress",
8900 FT_UINT32, BASE_DEC, NULL, 0,
8901 "SEQUENCE_OF_AliasAddress", HFILL }},
8902 { &hf_h225_aliasAddress_item,
8903 { "AliasAddress", "h225.AliasAddress",
8904 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
8905 NULL, HFILL }},
8906 { &hf_h225_callSignalAddress,
8907 { "callSignalAddress", "h225.callSignalAddress",
8908 FT_UINT32, BASE_DEC, NULL, 0,
8909 "SEQUENCE_OF_TransportAddress", HFILL }},
8910 { &hf_h225_callSignalAddress_item,
8911 { "TransportAddress", "h225.TransportAddress",
8912 FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
8913 NULL, HFILL }},
8914 { &hf_h225_rasAddress,
8915 { "rasAddress", "h225.rasAddress",
8916 FT_UINT32, BASE_DEC, NULL, 0,
8917 "SEQUENCE_OF_TransportAddress", HFILL }},
8918 { &hf_h225_rasAddress_item,
8919 { "TransportAddress", "h225.TransportAddress",
8920 FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
8921 NULL, HFILL }},
8922 { &hf_h225_endpointType,
8923 { "endpointType", "h225.endpointType_element",
8924 FT_NONE, BASE_NONE, NULL, 0,
8925 NULL, HFILL }},
8926 { &hf_h225_priority,
8927 { "priority", "h225.priority",
8928 FT_UINT32, BASE_DEC, NULL, 0,
8929 "INTEGER_0_127", HFILL }},
8930 { &hf_h225_remoteExtensionAddress,
8931 { "remoteExtensionAddress", "h225.remoteExtensionAddress",
8932 FT_UINT32, BASE_DEC, NULL, 0,
8933 "SEQUENCE_OF_AliasAddress", HFILL }},
8934 { &hf_h225_remoteExtensionAddress_item,
8935 { "AliasAddress", "h225.AliasAddress",
8936 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
8937 NULL, HFILL }},
8938 { &hf_h225_alternateTransportAddresses,
8939 { "alternateTransportAddresses", "h225.alternateTransportAddresses_element",
8940 FT_NONE, BASE_NONE, NULL, 0,
8941 NULL, HFILL }},
8942 { &hf_h225_annexE,
8943 { "annexE", "h225.annexE",
8944 FT_UINT32, BASE_DEC, NULL, 0,
8945 "SEQUENCE_OF_TransportAddress", HFILL }},
8946 { &hf_h225_annexE_item,
8947 { "TransportAddress", "h225.TransportAddress",
8948 FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
8949 NULL, HFILL }},
8950 { &hf_h225_sctp,
8951 { "sctp", "h225.sctp",
8952 FT_UINT32, BASE_DEC, NULL, 0,
8953 "SEQUENCE_OF_TransportAddress", HFILL }},
8954 { &hf_h225_sctp_item,
8955 { "TransportAddress", "h225.TransportAddress",
8956 FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
8957 NULL, HFILL }},
8958 { &hf_h225_tcp,
8959 { "tcp", "h225.tcp_element",
8960 FT_NONE, BASE_NONE, NULL, 0,
8961 NULL, HFILL }},
8962 { &hf_h225_annexE_flg,
8963 { "annexE", "h225.annexE_element",
8964 FT_NONE, BASE_NONE, NULL, 0,
8965 NULL, HFILL }},
8966 { &hf_h225_sctp_flg,
8967 { "sctp", "h225.sctp_element",
8968 FT_NONE, BASE_NONE, NULL, 0,
8969 NULL, HFILL }},
8970 { &hf_h225_alternateGK_rasAddress,
8971 { "rasAddress", "h225.rasAddress",
8972 FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
8973 "TransportAddress", HFILL }},
8974 { &hf_h225_gatekeeperIdentifier,
8975 { "gatekeeperIdentifier", "h225.gatekeeperIdentifier",
8976 FT_STRING, BASE_NONE, NULL, 0,
8977 NULL, HFILL }},
8978 { &hf_h225_needToRegister,
8979 { "needToRegister", "h225.needToRegister",
8980 FT_BOOLEAN, BASE_NONE, NULL, 0,
8981 "BOOLEAN", HFILL }},
8982 { &hf_h225_alternateGatekeeper,
8983 { "alternateGatekeeper", "h225.alternateGatekeeper",
8984 FT_UINT32, BASE_DEC, NULL, 0,
8985 "SEQUENCE_OF_AlternateGK", HFILL }},
8986 { &hf_h225_alternateGatekeeper_item,
8987 { "AlternateGK", "h225.AlternateGK_element",
8988 FT_NONE, BASE_NONE, NULL, 0,
8989 NULL, HFILL }},
8990 { &hf_h225_altGKisPermanent,
8991 { "altGKisPermanent", "h225.altGKisPermanent",
8992 FT_BOOLEAN, BASE_NONE, NULL, 0,
8993 "BOOLEAN", HFILL }},
8994 { &hf_h225_default,
8995 { "default", "h225.default_element",
8996 FT_NONE, BASE_NONE, NULL, 0,
8997 NULL, HFILL }},
8998 { &hf_h225_encryption,
8999 { "encryption", "h225.encryption",
9000 FT_UINT32, BASE_DEC, VALS(h225_SecurityServiceMode_vals), 0,
9001 "SecurityServiceMode", HFILL }},
9002 { &hf_h225_authenticaton,
9003 { "authenticaton", "h225.authenticaton",
9004 FT_UINT32, BASE_DEC, VALS(h225_SecurityServiceMode_vals), 0,
9005 "SecurityServiceMode", HFILL }},
9006 { &hf_h225_securityCapabilities_integrity,
9007 { "integrity", "h225.integrity",
9008 FT_UINT32, BASE_DEC, VALS(h225_SecurityServiceMode_vals), 0,
9009 "SecurityServiceMode", HFILL }},
9010 { &hf_h225_securityWrongSyncTime,
9011 { "securityWrongSyncTime", "h225.securityWrongSyncTime_element",
9012 FT_NONE, BASE_NONE, NULL, 0,
9013 NULL, HFILL }},
9014 { &hf_h225_securityReplay,
9015 { "securityReplay", "h225.securityReplay_element",
9016 FT_NONE, BASE_NONE, NULL, 0,
9017 NULL, HFILL }},
9018 { &hf_h225_securityWrongGeneralID,
9019 { "securityWrongGeneralID", "h225.securityWrongGeneralID_element",
9020 FT_NONE, BASE_NONE, NULL, 0,
9021 NULL, HFILL }},
9022 { &hf_h225_securityWrongSendersID,
9023 { "securityWrongSendersID", "h225.securityWrongSendersID_element",
9024 FT_NONE, BASE_NONE, NULL, 0,
9025 NULL, HFILL }},
9026 { &hf_h225_securityIntegrityFailed,
9027 { "securityIntegrityFailed", "h225.securityIntegrityFailed_element",
9028 FT_NONE, BASE_NONE, NULL, 0,
9029 NULL, HFILL }},
9030 { &hf_h225_securityWrongOID,
9031 { "securityWrongOID", "h225.securityWrongOID_element",
9032 FT_NONE, BASE_NONE, NULL, 0,
9033 NULL, HFILL }},
9034 { &hf_h225_securityDHmismatch,
9035 { "securityDHmismatch", "h225.securityDHmismatch_element",
9036 FT_NONE, BASE_NONE, NULL, 0,
9037 NULL, HFILL }},
9038 { &hf_h225_securityCertificateExpired,
9039 { "securityCertificateExpired", "h225.securityCertificateExpired_element",
9040 FT_NONE, BASE_NONE, NULL, 0,
9041 NULL, HFILL }},
9042 { &hf_h225_securityCertificateDateInvalid,
9043 { "securityCertificateDateInvalid", "h225.securityCertificateDateInvalid_element",
9044 FT_NONE, BASE_NONE, NULL, 0,
9045 NULL, HFILL }},
9046 { &hf_h225_securityCertificateRevoked,
9047 { "securityCertificateRevoked", "h225.securityCertificateRevoked_element",
9048 FT_NONE, BASE_NONE, NULL, 0,
9049 NULL, HFILL }},
9050 { &hf_h225_securityCertificateNotReadable,
9051 { "securityCertificateNotReadable", "h225.securityCertificateNotReadable_element",
9052 FT_NONE, BASE_NONE, NULL, 0,
9053 NULL, HFILL }},
9054 { &hf_h225_securityCertificateSignatureInvalid,
9055 { "securityCertificateSignatureInvalid", "h225.securityCertificateSignatureInvalid_element",
9056 FT_NONE, BASE_NONE, NULL, 0,
9057 NULL, HFILL }},
9058 { &hf_h225_securityCertificateMissing,
9059 { "securityCertificateMissing", "h225.securityCertificateMissing_element",
9060 FT_NONE, BASE_NONE, NULL, 0,
9061 NULL, HFILL }},
9062 { &hf_h225_securityCertificateIncomplete,
9063 { "securityCertificateIncomplete", "h225.securityCertificateIncomplete_element",
9064 FT_NONE, BASE_NONE, NULL, 0,
9065 NULL, HFILL }},
9066 { &hf_h225_securityUnsupportedCertificateAlgOID,
9067 { "securityUnsupportedCertificateAlgOID", "h225.securityUnsupportedCertificateAlgOID_element",
9068 FT_NONE, BASE_NONE, NULL, 0,
9069 NULL, HFILL }},
9070 { &hf_h225_securityUnknownCA,
9071 { "securityUnknownCA", "h225.securityUnknownCA_element",
9072 FT_NONE, BASE_NONE, NULL, 0,
9073 NULL, HFILL }},
9074 { &hf_h225_noSecurity,
9075 { "noSecurity", "h225.noSecurity_element",
9076 FT_NONE, BASE_NONE, NULL, 0,
9077 NULL, HFILL }},
9078 { &hf_h225_tls,
9079 { "tls", "h225.tls_element",
9080 FT_NONE, BASE_NONE, NULL, 0,
9081 "SecurityCapabilities", HFILL }},
9082 { &hf_h225_ipsec,
9083 { "ipsec", "h225.ipsec_element",
9084 FT_NONE, BASE_NONE, NULL, 0,
9085 "SecurityCapabilities", HFILL }},
9086 { &hf_h225_q932Full,
9087 { "q932Full", "h225.q932Full",
9088 FT_BOOLEAN, BASE_NONE, NULL, 0,
9089 "BOOLEAN", HFILL }},
9090 { &hf_h225_q951Full,
9091 { "q951Full", "h225.q951Full",
9092 FT_BOOLEAN, BASE_NONE, NULL, 0,
9093 "BOOLEAN", HFILL }},
9094 { &hf_h225_q952Full,
9095 { "q952Full", "h225.q952Full",
9096 FT_BOOLEAN, BASE_NONE, NULL, 0,
9097 "BOOLEAN", HFILL }},
9098 { &hf_h225_q953Full,
9099 { "q953Full", "h225.q953Full",
9100 FT_BOOLEAN, BASE_NONE, NULL, 0,
9101 "BOOLEAN", HFILL }},
9102 { &hf_h225_q955Full,
9103 { "q955Full", "h225.q955Full",
9104 FT_BOOLEAN, BASE_NONE, NULL, 0,
9105 "BOOLEAN", HFILL }},
9106 { &hf_h225_q956Full,
9107 { "q956Full", "h225.q956Full",
9108 FT_BOOLEAN, BASE_NONE, NULL, 0,
9109 "BOOLEAN", HFILL }},
9110 { &hf_h225_q957Full,
9111 { "q957Full", "h225.q957Full",
9112 FT_BOOLEAN, BASE_NONE, NULL, 0,
9113 "BOOLEAN", HFILL }},
9114 { &hf_h225_q954Info,
9115 { "q954Info", "h225.q954Info_element",
9116 FT_NONE, BASE_NONE, NULL, 0,
9117 "Q954Details", HFILL }},
9118 { &hf_h225_conferenceCalling,
9119 { "conferenceCalling", "h225.conferenceCalling",
9120 FT_BOOLEAN, BASE_NONE, NULL, 0,
9121 "BOOLEAN", HFILL }},
9122 { &hf_h225_threePartyService,
9123 { "threePartyService", "h225.threePartyService",
9124 FT_BOOLEAN, BASE_NONE, NULL, 0,
9125 "BOOLEAN", HFILL }},
9126 { &hf_h225_guid,
9127 { "guid", "h225.guid",
9128 FT_GUID, BASE_NONE, NULL, 0,
9129 NULL, HFILL }},
9130 { &hf_h225_isoAlgorithm,
9131 { "isoAlgorithm", "h225.isoAlgorithm",
9132 FT_OID, BASE_NONE, NULL, 0,
9133 "OBJECT_IDENTIFIER", HFILL }},
9134 { &hf_h225_hMAC_MD5,
9135 { "hMAC-MD5", "h225.hMAC_MD5_element",
9136 FT_NONE, BASE_NONE, NULL, 0,
9137 NULL, HFILL }},
9138 { &hf_h225_hMAC_iso10118_2_s,
9139 { "hMAC-iso10118-2-s", "h225.hMAC_iso10118_2_s",
9140 FT_UINT32, BASE_DEC, VALS(h225_EncryptIntAlg_vals), 0,
9141 "EncryptIntAlg", HFILL }},
9142 { &hf_h225_hMAC_iso10118_2_l,
9143 { "hMAC-iso10118-2-l", "h225.hMAC_iso10118_2_l",
9144 FT_UINT32, BASE_DEC, VALS(h225_EncryptIntAlg_vals), 0,
9145 "EncryptIntAlg", HFILL }},
9146 { &hf_h225_hMAC_iso10118_3,
9147 { "hMAC-iso10118-3", "h225.hMAC_iso10118_3",
9148 FT_OID, BASE_NONE, NULL, 0,
9149 "OBJECT_IDENTIFIER", HFILL }},
9150 { &hf_h225_digSig,
9151 { "digSig", "h225.digSig_element",
9152 FT_NONE, BASE_NONE, NULL, 0,
9153 NULL, HFILL }},
9154 { &hf_h225_iso9797,
9155 { "iso9797", "h225.iso9797",
9156 FT_OID, BASE_NONE, NULL, 0,
9157 "OBJECT_IDENTIFIER", HFILL }},
9158 { &hf_h225_nonIsoIM,
9159 { "nonIsoIM", "h225.nonIsoIM",
9160 FT_UINT32, BASE_DEC, VALS(h225_NonIsoIntegrityMechanism_vals), 0,
9161 "NonIsoIntegrityMechanism", HFILL }},
9162 { &hf_h225_algorithmOID,
9163 { "algorithmOID", "h225.algorithmOID",
9164 FT_OID, BASE_NONE, NULL, 0,
9165 "OBJECT_IDENTIFIER", HFILL }},
9166 { &hf_h225_icv,
9167 { "icv", "h225.icv",
9168 FT_BYTES, BASE_NONE, NULL, 0,
9169 "BIT_STRING", HFILL }},
9170 { &hf_h225_cryptoEPPwdHash,
9171 { "cryptoEPPwdHash", "h225.cryptoEPPwdHash_element",
9172 FT_NONE, BASE_NONE, NULL, 0,
9173 NULL, HFILL }},
9174 { &hf_h225_alias,
9175 { "alias", "h225.alias",
9176 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
9177 "AliasAddress", HFILL }},
9178 { &hf_h225_timeStamp,
9179 { "timeStamp", "h225.timeStamp",
9180 FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
9181 NULL, HFILL }},
9182 { &hf_h225_token,
9183 { "token", "h225.token_element",
9184 FT_NONE, BASE_NONE, NULL, 0,
9185 "HASHED", HFILL }},
9186 { &hf_h225_cryptoGKPwdHash,
9187 { "cryptoGKPwdHash", "h225.cryptoGKPwdHash_element",
9188 FT_NONE, BASE_NONE, NULL, 0,
9189 NULL, HFILL }},
9190 { &hf_h225_gatekeeperId,
9191 { "gatekeeperId", "h225.gatekeeperId",
9192 FT_STRING, BASE_NONE, NULL, 0,
9193 "GatekeeperIdentifier", HFILL }},
9194 { &hf_h225_cryptoEPPwdEncr,
9195 { "cryptoEPPwdEncr", "h225.cryptoEPPwdEncr_element",
9196 FT_NONE, BASE_NONE, NULL, 0,
9197 "ENCRYPTED", HFILL }},
9198 { &hf_h225_cryptoGKPwdEncr,
9199 { "cryptoGKPwdEncr", "h225.cryptoGKPwdEncr_element",
9200 FT_NONE, BASE_NONE, NULL, 0,
9201 "ENCRYPTED", HFILL }},
9202 { &hf_h225_cryptoEPCert,
9203 { "cryptoEPCert", "h225.cryptoEPCert_element",
9204 FT_NONE, BASE_NONE, NULL, 0,
9205 "SIGNED", HFILL }},
9206 { &hf_h225_cryptoGKCert,
9207 { "cryptoGKCert", "h225.cryptoGKCert_element",
9208 FT_NONE, BASE_NONE, NULL, 0,
9209 "SIGNED", HFILL }},
9210 { &hf_h225_cryptoFastStart,
9211 { "cryptoFastStart", "h225.cryptoFastStart_element",
9212 FT_NONE, BASE_NONE, NULL, 0,
9213 "SIGNED", HFILL }},
9214 { &hf_h225_nestedcryptoToken,
9215 { "nestedcryptoToken", "h225.nestedcryptoToken",
9216 FT_UINT32, BASE_DEC, VALS(h235_CryptoToken_vals), 0,
9217 "CryptoToken", HFILL }},
9218 { &hf_h225_channelRate,
9219 { "channelRate", "h225.channelRate",
9220 FT_UINT32, BASE_DEC, NULL, 0,
9221 "BandWidth", HFILL }},
9222 { &hf_h225_channelMultiplier,
9223 { "channelMultiplier", "h225.channelMultiplier",
9224 FT_UINT32, BASE_DEC, NULL, 0,
9225 "INTEGER_1_256", HFILL }},
9226 { &hf_h225_globalCallId,
9227 { "globalCallId", "h225.globalCallId",
9228 FT_GUID, BASE_NONE, NULL, 0,
9229 "GloballyUniqueID", HFILL }},
9230 { &hf_h225_threadId,
9231 { "threadId", "h225.threadId",
9232 FT_GUID, BASE_NONE, NULL, 0,
9233 "GloballyUniqueID", HFILL }},
9234 { &hf_h225_prefix,
9235 { "prefix", "h225.prefix",
9236 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
9237 "AliasAddress", HFILL }},
9238 { &hf_h225_canReportCallCapacity,
9239 { "canReportCallCapacity", "h225.canReportCallCapacity",
9240 FT_BOOLEAN, BASE_NONE, NULL, 0,
9241 "BOOLEAN", HFILL }},
9242 { &hf_h225_capacityReportingSpecification_when,
9243 { "when", "h225.when_element",
9244 FT_NONE, BASE_NONE, NULL, 0,
9245 "CapacityReportingSpecification_when", HFILL }},
9246 { &hf_h225_callStart,
9247 { "callStart", "h225.callStart_element",
9248 FT_NONE, BASE_NONE, NULL, 0,
9249 NULL, HFILL }},
9250 { &hf_h225_callEnd,
9251 { "callEnd", "h225.callEnd_element",
9252 FT_NONE, BASE_NONE, NULL, 0,
9253 NULL, HFILL }},
9254 { &hf_h225_maximumCallCapacity,
9255 { "maximumCallCapacity", "h225.maximumCallCapacity_element",
9256 FT_NONE, BASE_NONE, NULL, 0,
9257 "CallCapacityInfo", HFILL }},
9258 { &hf_h225_currentCallCapacity,
9259 { "currentCallCapacity", "h225.currentCallCapacity_element",
9260 FT_NONE, BASE_NONE, NULL, 0,
9261 "CallCapacityInfo", HFILL }},
9262 { &hf_h225_voiceGwCallsAvailable,
9263 { "voiceGwCallsAvailable", "h225.voiceGwCallsAvailable",
9264 FT_UINT32, BASE_DEC, NULL, 0,
9265 "SEQUENCE_OF_CallsAvailable", HFILL }},
9266 { &hf_h225_voiceGwCallsAvailable_item,
9267 { "CallsAvailable", "h225.CallsAvailable_element",
9268 FT_NONE, BASE_NONE, NULL, 0,
9269 NULL, HFILL }},
9270 { &hf_h225_h310GwCallsAvailable,
9271 { "h310GwCallsAvailable", "h225.h310GwCallsAvailable",
9272 FT_UINT32, BASE_DEC, NULL, 0,
9273 "SEQUENCE_OF_CallsAvailable", HFILL }},
9274 { &hf_h225_h310GwCallsAvailable_item,
9275 { "CallsAvailable", "h225.CallsAvailable_element",
9276 FT_NONE, BASE_NONE, NULL, 0,
9277 NULL, HFILL }},
9278 { &hf_h225_h320GwCallsAvailable,
9279 { "h320GwCallsAvailable", "h225.h320GwCallsAvailable",
9280 FT_UINT32, BASE_DEC, NULL, 0,
9281 "SEQUENCE_OF_CallsAvailable", HFILL }},
9282 { &hf_h225_h320GwCallsAvailable_item,
9283 { "CallsAvailable", "h225.CallsAvailable_element",
9284 FT_NONE, BASE_NONE, NULL, 0,
9285 NULL, HFILL }},
9286 { &hf_h225_h321GwCallsAvailable,
9287 { "h321GwCallsAvailable", "h225.h321GwCallsAvailable",
9288 FT_UINT32, BASE_DEC, NULL, 0,
9289 "SEQUENCE_OF_CallsAvailable", HFILL }},
9290 { &hf_h225_h321GwCallsAvailable_item,
9291 { "CallsAvailable", "h225.CallsAvailable_element",
9292 FT_NONE, BASE_NONE, NULL, 0,
9293 NULL, HFILL }},
9294 { &hf_h225_h322GwCallsAvailable,
9295 { "h322GwCallsAvailable", "h225.h322GwCallsAvailable",
9296 FT_UINT32, BASE_DEC, NULL, 0,
9297 "SEQUENCE_OF_CallsAvailable", HFILL }},
9298 { &hf_h225_h322GwCallsAvailable_item,
9299 { "CallsAvailable", "h225.CallsAvailable_element",
9300 FT_NONE, BASE_NONE, NULL, 0,
9301 NULL, HFILL }},
9302 { &hf_h225_h323GwCallsAvailable,
9303 { "h323GwCallsAvailable", "h225.h323GwCallsAvailable",
9304 FT_UINT32, BASE_DEC, NULL, 0,
9305 "SEQUENCE_OF_CallsAvailable", HFILL }},
9306 { &hf_h225_h323GwCallsAvailable_item,
9307 { "CallsAvailable", "h225.CallsAvailable_element",
9308 FT_NONE, BASE_NONE, NULL, 0,
9309 NULL, HFILL }},
9310 { &hf_h225_h324GwCallsAvailable,
9311 { "h324GwCallsAvailable", "h225.h324GwCallsAvailable",
9312 FT_UINT32, BASE_DEC, NULL, 0,
9313 "SEQUENCE_OF_CallsAvailable", HFILL }},
9314 { &hf_h225_h324GwCallsAvailable_item,
9315 { "CallsAvailable", "h225.CallsAvailable_element",
9316 FT_NONE, BASE_NONE, NULL, 0,
9317 NULL, HFILL }},
9318 { &hf_h225_t120OnlyGwCallsAvailable,
9319 { "t120OnlyGwCallsAvailable", "h225.t120OnlyGwCallsAvailable",
9320 FT_UINT32, BASE_DEC, NULL, 0,
9321 "SEQUENCE_OF_CallsAvailable", HFILL }},
9322 { &hf_h225_t120OnlyGwCallsAvailable_item,
9323 { "CallsAvailable", "h225.CallsAvailable_element",
9324 FT_NONE, BASE_NONE, NULL, 0,
9325 NULL, HFILL }},
9326 { &hf_h225_t38FaxAnnexbOnlyGwCallsAvailable,
9327 { "t38FaxAnnexbOnlyGwCallsAvailable", "h225.t38FaxAnnexbOnlyGwCallsAvailable",
9328 FT_UINT32, BASE_DEC, NULL, 0,
9329 "SEQUENCE_OF_CallsAvailable", HFILL }},
9330 { &hf_h225_t38FaxAnnexbOnlyGwCallsAvailable_item,
9331 { "CallsAvailable", "h225.CallsAvailable_element",
9332 FT_NONE, BASE_NONE, NULL, 0,
9333 NULL, HFILL }},
9334 { &hf_h225_terminalCallsAvailable,
9335 { "terminalCallsAvailable", "h225.terminalCallsAvailable",
9336 FT_UINT32, BASE_DEC, NULL, 0,
9337 "SEQUENCE_OF_CallsAvailable", HFILL }},
9338 { &hf_h225_terminalCallsAvailable_item,
9339 { "CallsAvailable", "h225.CallsAvailable_element",
9340 FT_NONE, BASE_NONE, NULL, 0,
9341 NULL, HFILL }},
9342 { &hf_h225_mcuCallsAvailable,
9343 { "mcuCallsAvailable", "h225.mcuCallsAvailable",
9344 FT_UINT32, BASE_DEC, NULL, 0,
9345 "SEQUENCE_OF_CallsAvailable", HFILL }},
9346 { &hf_h225_mcuCallsAvailable_item,
9347 { "CallsAvailable", "h225.CallsAvailable_element",
9348 FT_NONE, BASE_NONE, NULL, 0,
9349 NULL, HFILL }},
9350 { &hf_h225_sipGwCallsAvailable,
9351 { "sipGwCallsAvailable", "h225.sipGwCallsAvailable",
9352 FT_UINT32, BASE_DEC, NULL, 0,
9353 "SEQUENCE_OF_CallsAvailable", HFILL }},
9354 { &hf_h225_sipGwCallsAvailable_item,
9355 { "CallsAvailable", "h225.CallsAvailable_element",
9356 FT_NONE, BASE_NONE, NULL, 0,
9357 NULL, HFILL }},
9358 { &hf_h225_calls,
9359 { "calls", "h225.calls",
9360 FT_UINT32, BASE_DEC, NULL, 0,
9361 "INTEGER_0_4294967295", HFILL }},
9362 { &hf_h225_group_IA5String,
9363 { "group", "h225.group",
9364 FT_STRING, BASE_NONE, NULL, 0,
9365 "IA5String_SIZE_1_128", HFILL }},
9366 { &hf_h225_carrier,
9367 { "carrier", "h225.carrier_element",
9368 FT_NONE, BASE_NONE, NULL, 0,
9369 "CarrierInfo", HFILL }},
9370 { &hf_h225_sourceCircuitID,
9371 { "sourceCircuitID", "h225.sourceCircuitID_element",
9372 FT_NONE, BASE_NONE, NULL, 0,
9373 "CircuitIdentifier", HFILL }},
9374 { &hf_h225_destinationCircuitID,
9375 { "destinationCircuitID", "h225.destinationCircuitID_element",
9376 FT_NONE, BASE_NONE, NULL, 0,
9377 "CircuitIdentifier", HFILL }},
9378 { &hf_h225_cic,
9379 { "cic", "h225.cic_element",
9380 FT_NONE, BASE_NONE, NULL, 0,
9381 "CicInfo", HFILL }},
9382 { &hf_h225_group,
9383 { "group", "h225.group_element",
9384 FT_NONE, BASE_NONE, NULL, 0,
9385 "GroupID", HFILL }},
9386 { &hf_h225_cic_2_4,
9387 { "cic", "h225.cic",
9388 FT_UINT32, BASE_DEC, NULL, 0,
9389 "T_cic_2_4", HFILL }},
9390 { &hf_h225_cic_2_4_item,
9391 { "cic item", "h225.cic_item",
9392 FT_BYTES, BASE_NONE, NULL, 0,
9393 "OCTET_STRING_SIZE_2_4", HFILL }},
9394 { &hf_h225_pointCode,
9395 { "pointCode", "h225.pointCode",
9396 FT_BYTES, BASE_NONE, NULL, 0,
9397 "OCTET_STRING_SIZE_2_5", HFILL }},
9398 { &hf_h225_member,
9399 { "member", "h225.member",
9400 FT_UINT32, BASE_DEC, NULL, 0,
9401 NULL, HFILL }},
9402 { &hf_h225_member_item,
9403 { "member item", "h225.member_item",
9404 FT_UINT32, BASE_DEC, NULL, 0,
9405 "INTEGER_0_65535", HFILL }},
9406 { &hf_h225_carrierIdentificationCode,
9407 { "carrierIdentificationCode", "h225.carrierIdentificationCode",
9408 FT_BYTES, BASE_NONE, NULL, 0,
9409 "OCTET_STRING_SIZE_3_4", HFILL }},
9410 { &hf_h225_carrierName,
9411 { "carrierName", "h225.carrierName",
9412 FT_STRING, BASE_NONE, NULL, 0,
9413 "IA5String_SIZE_1_128", HFILL }},
9414 { &hf_h225_url,
9415 { "url", "h225.url",
9416 FT_STRING, BASE_NONE, NULL, 0,
9417 "IA5String_SIZE_0_512", HFILL }},
9418 { &hf_h225_signal,
9419 { "signal", "h225.signal",
9420 FT_BYTES, BASE_NONE, NULL, 0,
9421 "H248SignalsDescriptor", HFILL }},
9422 { &hf_h225_callCreditServiceControl,
9423 { "callCreditServiceControl", "h225.callCreditServiceControl_element",
9424 FT_NONE, BASE_NONE, NULL, 0,
9425 NULL, HFILL }},
9426 { &hf_h225_sessionId_0_255,
9427 { "sessionId", "h225.sessionId",
9428 FT_UINT32, BASE_DEC, NULL, 0,
9429 "INTEGER_0_255", HFILL }},
9430 { &hf_h225_contents,
9431 { "contents", "h225.contents",
9432 FT_UINT32, BASE_DEC, VALS(h225_ServiceControlDescriptor_vals), 0,
9433 "ServiceControlDescriptor", HFILL }},
9434 { &hf_h225_reason,
9435 { "reason", "h225.reason",
9436 FT_UINT32, BASE_DEC, VALS(h225_ServiceControlSession_reason_vals), 0,
9437 "ServiceControlSession_reason", HFILL }},
9438 { &hf_h225_open,
9439 { "open", "h225.open_element",
9440 FT_NONE, BASE_NONE, NULL, 0,
9441 NULL, HFILL }},
9442 { &hf_h225_refresh,
9443 { "refresh", "h225.refresh_element",
9444 FT_NONE, BASE_NONE, NULL, 0,
9445 NULL, HFILL }},
9446 { &hf_h225_close,
9447 { "close", "h225.close_element",
9448 FT_NONE, BASE_NONE, NULL, 0,
9449 NULL, HFILL }},
9450 { &hf_h225_nonStandardUsageTypes,
9451 { "nonStandardUsageTypes", "h225.nonStandardUsageTypes",
9452 FT_UINT32, BASE_DEC, NULL, 0,
9453 "SEQUENCE_OF_NonStandardParameter", HFILL }},
9454 { &hf_h225_nonStandardUsageTypes_item,
9455 { "NonStandardParameter", "h225.NonStandardParameter_element",
9456 FT_NONE, BASE_NONE, NULL, 0,
9457 NULL, HFILL }},
9458 { &hf_h225_startTime,
9459 { "startTime", "h225.startTime_element",
9460 FT_NONE, BASE_NONE, NULL, 0,
9461 NULL, HFILL }},
9462 { &hf_h225_endTime_flg,
9463 { "endTime", "h225.endTime_element",
9464 FT_NONE, BASE_NONE, NULL, 0,
9465 NULL, HFILL }},
9466 { &hf_h225_terminationCause_flg,
9467 { "terminationCause", "h225.terminationCause_element",
9468 FT_NONE, BASE_NONE, NULL, 0,
9469 NULL, HFILL }},
9470 { &hf_h225_when,
9471 { "when", "h225.when_element",
9472 FT_NONE, BASE_NONE, NULL, 0,
9473 "RasUsageSpecification_when", HFILL }},
9474 { &hf_h225_start,
9475 { "start", "h225.start_element",
9476 FT_NONE, BASE_NONE, NULL, 0,
9477 NULL, HFILL }},
9478 { &hf_h225_end,
9479 { "end", "h225.end_element",
9480 FT_NONE, BASE_NONE, NULL, 0,
9481 NULL, HFILL }},
9482 { &hf_h225_inIrr,
9483 { "inIrr", "h225.inIrr_element",
9484 FT_NONE, BASE_NONE, NULL, 0,
9485 NULL, HFILL }},
9486 { &hf_h225_ras_callStartingPoint,
9487 { "callStartingPoint", "h225.callStartingPoint_element",
9488 FT_NONE, BASE_NONE, NULL, 0,
9489 "RasUsageSpecificationcallStartingPoint", HFILL }},
9490 { &hf_h225_alerting_flg,
9491 { "alerting", "h225.alerting_element",
9492 FT_NONE, BASE_NONE, NULL, 0,
9493 NULL, HFILL }},
9494 { &hf_h225_connect_flg,
9495 { "connect", "h225.connect_element",
9496 FT_NONE, BASE_NONE, NULL, 0,
9497 NULL, HFILL }},
9498 { &hf_h225_required,
9499 { "required", "h225.required_element",
9500 FT_NONE, BASE_NONE, NULL, 0,
9501 "RasUsageInfoTypes", HFILL }},
9502 { &hf_h225_nonStandardUsageFields,
9503 { "nonStandardUsageFields", "h225.nonStandardUsageFields",
9504 FT_UINT32, BASE_DEC, NULL, 0,
9505 "SEQUENCE_OF_NonStandardParameter", HFILL }},
9506 { &hf_h225_nonStandardUsageFields_item,
9507 { "NonStandardParameter", "h225.NonStandardParameter_element",
9508 FT_NONE, BASE_NONE, NULL, 0,
9509 NULL, HFILL }},
9510 { &hf_h225_alertingTime,
9511 { "alertingTime", "h225.alertingTime",
9512 FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
9513 "TimeStamp", HFILL }},
9514 { &hf_h225_connectTime,
9515 { "connectTime", "h225.connectTime",
9516 FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
9517 "TimeStamp", HFILL }},
9518 { &hf_h225_endTime,
9519 { "endTime", "h225.endTime",
9520 FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
9521 "TimeStamp", HFILL }},
9522 { &hf_h225_releaseCompleteCauseIE,
9523 { "releaseCompleteCauseIE", "h225.releaseCompleteCauseIE",
9524 FT_BYTES, BASE_NONE, NULL, 0,
9525 "OCTET_STRING_SIZE_2_32", HFILL }},
9526 { &hf_h225_sender,
9527 { "sender", "h225.sender",
9528 FT_BOOLEAN, BASE_NONE, NULL, 0,
9529 "BOOLEAN", HFILL }},
9530 { &hf_h225_multicast,
9531 { "multicast", "h225.multicast",
9532 FT_BOOLEAN, BASE_NONE, NULL, 0,
9533 "BOOLEAN", HFILL }},
9534 { &hf_h225_bandwidth,
9535 { "bandwidth", "h225.bandwidth",
9536 FT_UINT32, BASE_DEC, NULL, 0,
9537 NULL, HFILL }},
9538 { &hf_h225_rtcpAddresses,
9539 { "rtcpAddresses", "h225.rtcpAddresses_element",
9540 FT_NONE, BASE_NONE, NULL, 0,
9541 "TransportChannelInfo", HFILL }},
9542 { &hf_h225_canDisplayAmountString,
9543 { "canDisplayAmountString", "h225.canDisplayAmountString",
9544 FT_BOOLEAN, BASE_NONE, NULL, 0,
9545 "BOOLEAN", HFILL }},
9546 { &hf_h225_canEnforceDurationLimit,
9547 { "canEnforceDurationLimit", "h225.canEnforceDurationLimit",
9548 FT_BOOLEAN, BASE_NONE, NULL, 0,
9549 "BOOLEAN", HFILL }},
9550 { &hf_h225_amountString,
9551 { "amountString", "h225.amountString",
9552 FT_STRING, BASE_NONE, NULL, 0,
9553 "BMPString_SIZE_1_512", HFILL }},
9554 { &hf_h225_billingMode,
9555 { "billingMode", "h225.billingMode",
9556 FT_UINT32, BASE_DEC, VALS(h225_T_billingMode_vals), 0,
9557 NULL, HFILL }},
9558 { &hf_h225_credit,
9559 { "credit", "h225.credit_element",
9560 FT_NONE, BASE_NONE, NULL, 0,
9561 NULL, HFILL }},
9562 { &hf_h225_debit,
9563 { "debit", "h225.debit_element",
9564 FT_NONE, BASE_NONE, NULL, 0,
9565 NULL, HFILL }},
9566 { &hf_h225_callDurationLimit,
9567 { "callDurationLimit", "h225.callDurationLimit",
9568 FT_UINT32, BASE_DEC, NULL, 0,
9569 "INTEGER_1_4294967295", HFILL }},
9570 { &hf_h225_enforceCallDurationLimit,
9571 { "enforceCallDurationLimit", "h225.enforceCallDurationLimit",
9572 FT_BOOLEAN, BASE_NONE, NULL, 0,
9573 "BOOLEAN", HFILL }},
9574 { &hf_h225_callStartingPoint,
9575 { "callStartingPoint", "h225.callStartingPoint",
9576 FT_UINT32, BASE_DEC, VALS(h225_CallCreditServiceControl_callStartingPoint_vals), 0,
9577 "CallCreditServiceControl_callStartingPoint", HFILL }},
9578 { &hf_h225_id,
9579 { "id", "h225.id",
9580 FT_UINT32, BASE_DEC, VALS(h225_GenericIdentifier_vals), 0,
9581 "GenericIdentifier", HFILL }},
9582 { &hf_h225_parameters,
9583 { "parameters", "h225.parameters",
9584 FT_UINT32, BASE_DEC, NULL, 0,
9585 "SEQUENCE_SIZE_1_512_OF_EnumeratedParameter", HFILL }},
9586 { &hf_h225_parameters_item,
9587 { "EnumeratedParameter", "h225.EnumeratedParameter_element",
9588 FT_NONE, BASE_NONE, NULL, 0,
9589 NULL, HFILL }},
9590 { &hf_h225_standard,
9591 { "standard", "h225.standard",
9592 FT_UINT32, BASE_DEC, NULL, 0,
9593 NULL, HFILL }},
9594 { &hf_h225_oid,
9595 { "oid", "h225.oid",
9596 FT_OID, BASE_NONE, NULL, 0,
9597 NULL, HFILL }},
9598 { &hf_h225_genericIdentifier_nonStandard,
9599 { "nonStandard", "h225.nonStandard",
9600 FT_GUID, BASE_NONE, NULL, 0,
9601 "GloballyUniqueID", HFILL }},
9602 { &hf_h225_content,
9603 { "content", "h225.content",
9604 FT_UINT32, BASE_DEC, VALS(h225_Content_vals), 0,
9605 NULL, HFILL }},
9606 { &hf_h225_raw,
9607 { "raw", "h225.raw",
9608 FT_BYTES, BASE_NONE, NULL, 0,
9609 NULL, HFILL }},
9610 { &hf_h225_text,
9611 { "text", "h225.text",
9612 FT_STRING, BASE_NONE, NULL, 0,
9613 "IA5String", HFILL }},
9614 { &hf_h225_unicode,
9615 { "unicode", "h225.unicode",
9616 FT_STRING, BASE_NONE, NULL, 0,
9617 "BMPString", HFILL }},
9618 { &hf_h225_bool,
9619 { "bool", "h225.bool",
9620 FT_BOOLEAN, BASE_NONE, NULL, 0,
9621 "BOOLEAN", HFILL }},
9622 { &hf_h225_number8,
9623 { "number8", "h225.number8",
9624 FT_UINT32, BASE_DEC, NULL, 0,
9625 "INTEGER_0_255", HFILL }},
9626 { &hf_h225_number16,
9627 { "number16", "h225.number16",
9628 FT_UINT32, BASE_DEC, NULL, 0,
9629 "INTEGER_0_65535", HFILL }},
9630 { &hf_h225_number32,
9631 { "number32", "h225.number32",
9632 FT_UINT32, BASE_DEC, NULL, 0,
9633 "INTEGER_0_4294967295", HFILL }},
9634 { &hf_h225_transport,
9635 { "transport", "h225.transport",
9636 FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
9637 "TransportAddress", HFILL }},
9638 { &hf_h225_compound,
9639 { "compound", "h225.compound",
9640 FT_UINT32, BASE_DEC, NULL, 0,
9641 "SEQUENCE_SIZE_1_512_OF_EnumeratedParameter", HFILL }},
9642 { &hf_h225_compound_item,
9643 { "EnumeratedParameter", "h225.EnumeratedParameter_element",
9644 FT_NONE, BASE_NONE, NULL, 0,
9645 NULL, HFILL }},
9646 { &hf_h225_nested,
9647 { "nested", "h225.nested",
9648 FT_UINT32, BASE_DEC, NULL, 0,
9649 "SEQUENCE_SIZE_1_16_OF_GenericData", HFILL }},
9650 { &hf_h225_nested_item,
9651 { "GenericData", "h225.GenericData_element",
9652 FT_NONE, BASE_NONE, NULL, 0,
9653 NULL, HFILL }},
9654 { &hf_h225_replacementFeatureSet,
9655 { "replacementFeatureSet", "h225.replacementFeatureSet",
9656 FT_BOOLEAN, BASE_NONE, NULL, 0,
9657 "BOOLEAN", HFILL }},
9658 { &hf_h225_sendAddress,
9659 { "sendAddress", "h225.sendAddress",
9660 FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
9661 "TransportAddress", HFILL }},
9662 { &hf_h225_recvAddress,
9663 { "recvAddress", "h225.recvAddress",
9664 FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
9665 "TransportAddress", HFILL }},
9666 { &hf_h225_rtpAddress,
9667 { "rtpAddress", "h225.rtpAddress_element",
9668 FT_NONE, BASE_NONE, NULL, 0,
9669 "TransportChannelInfo", HFILL }},
9670 { &hf_h225_rtcpAddress,
9671 { "rtcpAddress", "h225.rtcpAddress_element",
9672 FT_NONE, BASE_NONE, NULL, 0,
9673 "TransportChannelInfo", HFILL }},
9674 { &hf_h225_cname,
9675 { "cname", "h225.cname",
9676 FT_STRING, BASE_NONE, NULL, 0,
9677 "PrintableString", HFILL }},
9678 { &hf_h225_ssrc,
9679 { "ssrc", "h225.ssrc",
9680 FT_UINT32, BASE_DEC, NULL, 0,
9681 "INTEGER_1_4294967295", HFILL }},
9682 { &hf_h225_sessionId,
9683 { "sessionId", "h225.sessionId",
9684 FT_UINT32, BASE_DEC, NULL, 0,
9685 "INTEGER_1_255", HFILL }},
9686 { &hf_h225_associatedSessionIds,
9687 { "associatedSessionIds", "h225.associatedSessionIds",
9688 FT_UINT32, BASE_DEC, NULL, 0,
9689 NULL, HFILL }},
9690 { &hf_h225_associatedSessionIds_item,
9691 { "associatedSessionIds item", "h225.associatedSessionIds_item",
9692 FT_UINT32, BASE_DEC, NULL, 0,
9693 "INTEGER_1_255", HFILL }},
9694 { &hf_h225_multicast_flg,
9695 { "multicast", "h225.multicast_element",
9696 FT_NONE, BASE_NONE, NULL, 0,
9697 NULL, HFILL }},
9698 { &hf_h225_gatekeeperBased,
9699 { "gatekeeperBased", "h225.gatekeeperBased_element",
9700 FT_NONE, BASE_NONE, NULL, 0,
9701 NULL, HFILL }},
9702 { &hf_h225_endpointBased,
9703 { "endpointBased", "h225.endpointBased_element",
9704 FT_NONE, BASE_NONE, NULL, 0,
9705 NULL, HFILL }},
9706 { &hf_h225_gatekeeperRequest,
9707 { "gatekeeperRequest", "h225.gatekeeperRequest_element",
9708 FT_NONE, BASE_NONE, NULL, 0,
9709 NULL, HFILL }},
9710 { &hf_h225_gatekeeperConfirm,
9711 { "gatekeeperConfirm", "h225.gatekeeperConfirm_element",
9712 FT_NONE, BASE_NONE, NULL, 0,
9713 NULL, HFILL }},
9714 { &hf_h225_gatekeeperReject,
9715 { "gatekeeperReject", "h225.gatekeeperReject_element",
9716 FT_NONE, BASE_NONE, NULL, 0,
9717 NULL, HFILL }},
9718 { &hf_h225_registrationRequest,
9719 { "registrationRequest", "h225.registrationRequest_element",
9720 FT_NONE, BASE_NONE, NULL, 0,
9721 NULL, HFILL }},
9722 { &hf_h225_registrationConfirm,
9723 { "registrationConfirm", "h225.registrationConfirm_element",
9724 FT_NONE, BASE_NONE, NULL, 0,
9725 NULL, HFILL }},
9726 { &hf_h225_registrationReject,
9727 { "registrationReject", "h225.registrationReject_element",
9728 FT_NONE, BASE_NONE, NULL, 0,
9729 NULL, HFILL }},
9730 { &hf_h225_unregistrationRequest,
9731 { "unregistrationRequest", "h225.unregistrationRequest_element",
9732 FT_NONE, BASE_NONE, NULL, 0,
9733 NULL, HFILL }},
9734 { &hf_h225_unregistrationConfirm,
9735 { "unregistrationConfirm", "h225.unregistrationConfirm_element",
9736 FT_NONE, BASE_NONE, NULL, 0,
9737 NULL, HFILL }},
9738 { &hf_h225_unregistrationReject,
9739 { "unregistrationReject", "h225.unregistrationReject_element",
9740 FT_NONE, BASE_NONE, NULL, 0,
9741 NULL, HFILL }},
9742 { &hf_h225_admissionRequest,
9743 { "admissionRequest", "h225.admissionRequest_element",
9744 FT_NONE, BASE_NONE, NULL, 0,
9745 NULL, HFILL }},
9746 { &hf_h225_admissionConfirm,
9747 { "admissionConfirm", "h225.admissionConfirm_element",
9748 FT_NONE, BASE_NONE, NULL, 0,
9749 NULL, HFILL }},
9750 { &hf_h225_admissionReject,
9751 { "admissionReject", "h225.admissionReject_element",
9752 FT_NONE, BASE_NONE, NULL, 0,
9753 NULL, HFILL }},
9754 { &hf_h225_bandwidthRequest,
9755 { "bandwidthRequest", "h225.bandwidthRequest_element",
9756 FT_NONE, BASE_NONE, NULL, 0,
9757 NULL, HFILL }},
9758 { &hf_h225_bandwidthConfirm,
9759 { "bandwidthConfirm", "h225.bandwidthConfirm_element",
9760 FT_NONE, BASE_NONE, NULL, 0,
9761 NULL, HFILL }},
9762 { &hf_h225_bandwidthReject,
9763 { "bandwidthReject", "h225.bandwidthReject_element",
9764 FT_NONE, BASE_NONE, NULL, 0,
9765 NULL, HFILL }},
9766 { &hf_h225_disengageRequest,
9767 { "disengageRequest", "h225.disengageRequest_element",
9768 FT_NONE, BASE_NONE, NULL, 0,
9769 NULL, HFILL }},
9770 { &hf_h225_disengageConfirm,
9771 { "disengageConfirm", "h225.disengageConfirm_element",
9772 FT_NONE, BASE_NONE, NULL, 0,
9773 NULL, HFILL }},
9774 { &hf_h225_disengageReject,
9775 { "disengageReject", "h225.disengageReject_element",
9776 FT_NONE, BASE_NONE, NULL, 0,
9777 NULL, HFILL }},
9778 { &hf_h225_locationRequest,
9779 { "locationRequest", "h225.locationRequest_element",
9780 FT_NONE, BASE_NONE, NULL, 0,
9781 NULL, HFILL }},
9782 { &hf_h225_locationConfirm,
9783 { "locationConfirm", "h225.locationConfirm_element",
9784 FT_NONE, BASE_NONE, NULL, 0,
9785 NULL, HFILL }},
9786 { &hf_h225_locationReject,
9787 { "locationReject", "h225.locationReject_element",
9788 FT_NONE, BASE_NONE, NULL, 0,
9789 NULL, HFILL }},
9790 { &hf_h225_infoRequest,
9791 { "infoRequest", "h225.infoRequest_element",
9792 FT_NONE, BASE_NONE, NULL, 0,
9793 NULL, HFILL }},
9794 { &hf_h225_infoRequestResponse,
9795 { "infoRequestResponse", "h225.infoRequestResponse_element",
9796 FT_NONE, BASE_NONE, NULL, 0,
9797 NULL, HFILL }},
9798 { &hf_h225_nonStandardMessage,
9799 { "nonStandardMessage", "h225.nonStandardMessage_element",
9800 FT_NONE, BASE_NONE, NULL, 0,
9801 NULL, HFILL }},
9802 { &hf_h225_unknownMessageResponse,
9803 { "unknownMessageResponse", "h225.unknownMessageResponse_element",
9804 FT_NONE, BASE_NONE, NULL, 0,
9805 NULL, HFILL }},
9806 { &hf_h225_requestInProgress,
9807 { "requestInProgress", "h225.requestInProgress_element",
9808 FT_NONE, BASE_NONE, NULL, 0,
9809 NULL, HFILL }},
9810 { &hf_h225_resourcesAvailableIndicate,
9811 { "resourcesAvailableIndicate", "h225.resourcesAvailableIndicate_element",
9812 FT_NONE, BASE_NONE, NULL, 0,
9813 NULL, HFILL }},
9814 { &hf_h225_resourcesAvailableConfirm,
9815 { "resourcesAvailableConfirm", "h225.resourcesAvailableConfirm_element",
9816 FT_NONE, BASE_NONE, NULL, 0,
9817 NULL, HFILL }},
9818 { &hf_h225_infoRequestAck,
9819 { "infoRequestAck", "h225.infoRequestAck_element",
9820 FT_NONE, BASE_NONE, NULL, 0,
9821 NULL, HFILL }},
9822 { &hf_h225_infoRequestNak,
9823 { "infoRequestNak", "h225.infoRequestNak_element",
9824 FT_NONE, BASE_NONE, NULL, 0,
9825 NULL, HFILL }},
9826 { &hf_h225_serviceControlIndication,
9827 { "serviceControlIndication", "h225.serviceControlIndication_element",
9828 FT_NONE, BASE_NONE, NULL, 0,
9829 NULL, HFILL }},
9830 { &hf_h225_serviceControlResponse,
9831 { "serviceControlResponse", "h225.serviceControlResponse_element",
9832 FT_NONE, BASE_NONE, NULL, 0,
9833 NULL, HFILL }},
9834 { &hf_h225_admissionConfirmSequence,
9835 { "admissionConfirmSequence", "h225.admissionConfirmSequence",
9836 FT_UINT32, BASE_DEC, NULL, 0,
9837 "SEQUENCE_OF_AdmissionConfirm", HFILL }},
9838 { &hf_h225_admissionConfirmSequence_item,
9839 { "AdmissionConfirm", "h225.AdmissionConfirm_element",
9840 FT_NONE, BASE_NONE, NULL, 0,
9841 NULL, HFILL }},
9842 { &hf_h225_requestSeqNum,
9843 { "requestSeqNum", "h225.requestSeqNum",
9844 FT_UINT32, BASE_DEC, NULL, 0,
9845 NULL, HFILL }},
9846 { &hf_h225_gatekeeperRequest_rasAddress,
9847 { "rasAddress", "h225.rasAddress",
9848 FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
9849 "TransportAddress", HFILL }},
9850 { &hf_h225_endpointAlias,
9851 { "endpointAlias", "h225.endpointAlias",
9852 FT_UINT32, BASE_DEC, NULL, 0,
9853 "SEQUENCE_OF_AliasAddress", HFILL }},
9854 { &hf_h225_endpointAlias_item,
9855 { "AliasAddress", "h225.AliasAddress",
9856 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
9857 NULL, HFILL }},
9858 { &hf_h225_alternateEndpoints,
9859 { "alternateEndpoints", "h225.alternateEndpoints",
9860 FT_UINT32, BASE_DEC, NULL, 0,
9861 "SEQUENCE_OF_Endpoint", HFILL }},
9862 { &hf_h225_alternateEndpoints_item,
9863 { "Endpoint", "h225.Endpoint_element",
9864 FT_NONE, BASE_NONE, NULL, 0,
9865 NULL, HFILL }},
9866 { &hf_h225_authenticationCapability,
9867 { "authenticationCapability", "h225.authenticationCapability",
9868 FT_UINT32, BASE_DEC, NULL, 0,
9869 "SEQUENCE_OF_AuthenticationMechanism", HFILL }},
9870 { &hf_h225_authenticationCapability_item,
9871 { "AuthenticationMechanism", "h225.AuthenticationMechanism",
9872 FT_UINT32, BASE_DEC, VALS(h235_AuthenticationMechanism_vals), 0,
9873 NULL, HFILL }},
9874 { &hf_h225_algorithmOIDs,
9875 { "algorithmOIDs", "h225.algorithmOIDs",
9876 FT_UINT32, BASE_DEC, NULL, 0,
9877 NULL, HFILL }},
9878 { &hf_h225_algorithmOIDs_item,
9879 { "algorithmOIDs item", "h225.algorithmOIDs_item",
9880 FT_OID, BASE_NONE, NULL, 0,
9881 "OBJECT_IDENTIFIER", HFILL }},
9882 { &hf_h225_integrity,
9883 { "integrity", "h225.integrity",
9884 FT_UINT32, BASE_DEC, NULL, 0,
9885 "SEQUENCE_OF_IntegrityMechanism", HFILL }},
9886 { &hf_h225_integrity_item,
9887 { "IntegrityMechanism", "h225.IntegrityMechanism",
9888 FT_UINT32, BASE_DEC, VALS(h225_IntegrityMechanism_vals), 0,
9889 NULL, HFILL }},
9890 { &hf_h225_integrityCheckValue,
9891 { "integrityCheckValue", "h225.integrityCheckValue_element",
9892 FT_NONE, BASE_NONE, NULL, 0,
9893 "ICV", HFILL }},
9894 { &hf_h225_supportsAltGK,
9895 { "supportsAltGK", "h225.supportsAltGK_element",
9896 FT_NONE, BASE_NONE, NULL, 0,
9897 NULL, HFILL }},
9898 { &hf_h225_supportsAssignedGK,
9899 { "supportsAssignedGK", "h225.supportsAssignedGK",
9900 FT_BOOLEAN, BASE_NONE, NULL, 0,
9901 "BOOLEAN", HFILL }},
9902 { &hf_h225_assignedGatekeeper,
9903 { "assignedGatekeeper", "h225.assignedGatekeeper_element",
9904 FT_NONE, BASE_NONE, NULL, 0,
9905 "AlternateGK", HFILL }},
9906 { &hf_h225_gatekeeperConfirm_rasAddress,
9907 { "rasAddress", "h225.rasAddress",
9908 FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
9909 "TransportAddress", HFILL }},
9910 { &hf_h225_authenticationMode,
9911 { "authenticationMode", "h225.authenticationMode",
9912 FT_UINT32, BASE_DEC, VALS(h235_AuthenticationMechanism_vals), 0,
9913 "AuthenticationMechanism", HFILL }},
9914 { &hf_h225_rehomingModel,
9915 { "rehomingModel", "h225.rehomingModel",
9916 FT_UINT32, BASE_DEC, VALS(h225_RehomingModel_vals), 0,
9917 NULL, HFILL }},
9918 { &hf_h225_gatekeeperRejectReason,
9919 { "rejectReason", "h225.rejectReason",
9920 FT_UINT32, BASE_DEC, VALS(GatekeeperRejectReason_vals), 0,
9921 "GatekeeperRejectReason", HFILL }},
9922 { &hf_h225_altGKInfo,
9923 { "altGKInfo", "h225.altGKInfo_element",
9924 FT_NONE, BASE_NONE, NULL, 0,
9925 NULL, HFILL }},
9926 { &hf_h225_resourceUnavailable,
9927 { "resourceUnavailable", "h225.resourceUnavailable_element",
9928 FT_NONE, BASE_NONE, NULL, 0,
9929 NULL, HFILL }},
9930 { &hf_h225_terminalExcluded,
9931 { "terminalExcluded", "h225.terminalExcluded_element",
9932 FT_NONE, BASE_NONE, NULL, 0,
9933 NULL, HFILL }},
9934 { &hf_h225_securityDenial,
9935 { "securityDenial", "h225.securityDenial_element",
9936 FT_NONE, BASE_NONE, NULL, 0,
9937 NULL, HFILL }},
9938 { &hf_h225_gkRej_securityError,
9939 { "securityError", "h225.securityError",
9940 FT_UINT32, BASE_DEC, VALS(h225_SecurityErrors_vals), 0,
9941 "SecurityErrors", HFILL }},
9942 { &hf_h225_discoveryComplete,
9943 { "discoveryComplete", "h225.discoveryComplete",
9944 FT_BOOLEAN, BASE_NONE, NULL, 0,
9945 "BOOLEAN", HFILL }},
9946 { &hf_h225_terminalType,
9947 { "terminalType", "h225.terminalType_element",
9948 FT_NONE, BASE_NONE, NULL, 0,
9949 "EndpointType", HFILL }},
9950 { &hf_h225_terminalAlias,
9951 { "terminalAlias", "h225.terminalAlias",
9952 FT_UINT32, BASE_DEC, NULL, 0,
9953 "SEQUENCE_OF_AliasAddress", HFILL }},
9954 { &hf_h225_terminalAlias_item,
9955 { "AliasAddress", "h225.AliasAddress",
9956 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
9957 NULL, HFILL }},
9958 { &hf_h225_endpointVendor,
9959 { "endpointVendor", "h225.endpointVendor_element",
9960 FT_NONE, BASE_NONE, NULL, 0,
9961 "VendorIdentifier", HFILL }},
9962 { &hf_h225_timeToLive,
9963 { "timeToLive", "h225.timeToLive",
9964 FT_UINT32, BASE_DEC, NULL, 0,
9965 NULL, HFILL }},
9966 { &hf_h225_keepAlive,
9967 { "keepAlive", "h225.keepAlive",
9968 FT_BOOLEAN, BASE_NONE, NULL, 0,
9969 "BOOLEAN", HFILL }},
9970 { &hf_h225_willSupplyUUIEs,
9971 { "willSupplyUUIEs", "h225.willSupplyUUIEs",
9972 FT_BOOLEAN, BASE_NONE, NULL, 0,
9973 "BOOLEAN", HFILL }},
9974 { &hf_h225_additiveRegistration,
9975 { "additiveRegistration", "h225.additiveRegistration_element",
9976 FT_NONE, BASE_NONE, NULL, 0,
9977 NULL, HFILL }},
9978 { &hf_h225_terminalAliasPattern,
9979 { "terminalAliasPattern", "h225.terminalAliasPattern",
9980 FT_UINT32, BASE_DEC, NULL, 0,
9981 "SEQUENCE_OF_AddressPattern", HFILL }},
9982 { &hf_h225_terminalAliasPattern_item,
9983 { "AddressPattern", "h225.AddressPattern",
9984 FT_UINT32, BASE_DEC, VALS(h225_AddressPattern_vals), 0,
9985 NULL, HFILL }},
9986 { &hf_h225_usageReportingCapability,
9987 { "usageReportingCapability", "h225.usageReportingCapability_element",
9988 FT_NONE, BASE_NONE, NULL, 0,
9989 "RasUsageInfoTypes", HFILL }},
9990 { &hf_h225_supportedH248Packages,
9991 { "supportedH248Packages", "h225.supportedH248Packages",
9992 FT_UINT32, BASE_DEC, NULL, 0,
9993 "SEQUENCE_OF_H248PackagesDescriptor", HFILL }},
9994 { &hf_h225_supportedH248Packages_item,
9995 { "H248PackagesDescriptor", "h225.H248PackagesDescriptor",
9996 FT_BYTES, BASE_NONE, NULL, 0,
9997 NULL, HFILL }},
9998 { &hf_h225_callCreditCapability,
9999 { "callCreditCapability", "h225.callCreditCapability_element",
10000 FT_NONE, BASE_NONE, NULL, 0,
10001 NULL, HFILL }},
10002 { &hf_h225_capacityReportingCapability,
10003 { "capacityReportingCapability", "h225.capacityReportingCapability_element",
10004 FT_NONE, BASE_NONE, NULL, 0,
10005 NULL, HFILL }},
10006 { &hf_h225_restart,
10007 { "restart", "h225.restart_element",
10008 FT_NONE, BASE_NONE, NULL, 0,
10009 NULL, HFILL }},
10010 { &hf_h225_supportsACFSequences,
10011 { "supportsACFSequences", "h225.supportsACFSequences_element",
10012 FT_NONE, BASE_NONE, NULL, 0,
10013 NULL, HFILL }},
10014 { &hf_h225_transportQOS,
10015 { "transportQOS", "h225.transportQOS",
10016 FT_UINT32, BASE_DEC, VALS(h225_TransportQOS_vals), 0,
10017 NULL, HFILL }},
10018 { &hf_h225_willRespondToIRR,
10019 { "willRespondToIRR", "h225.willRespondToIRR",
10020 FT_BOOLEAN, BASE_NONE, NULL, 0,
10021 "BOOLEAN", HFILL }},
10022 { &hf_h225_preGrantedARQ,
10023 { "preGrantedARQ", "h225.preGrantedARQ_element",
10024 FT_NONE, BASE_NONE, NULL, 0,
10025 NULL, HFILL }},
10026 { &hf_h225_makeCall,
10027 { "makeCall", "h225.makeCall",
10028 FT_BOOLEAN, BASE_NONE, NULL, 0,
10029 "BOOLEAN", HFILL }},
10030 { &hf_h225_useGKCallSignalAddressToMakeCall,
10031 { "useGKCallSignalAddressToMakeCall", "h225.useGKCallSignalAddressToMakeCall",
10032 FT_BOOLEAN, BASE_NONE, NULL, 0,
10033 "BOOLEAN", HFILL }},
10034 { &hf_h225_answerCall,
10035 { "answerCall", "h225.answerCall",
10036 FT_BOOLEAN, BASE_NONE, NULL, 0,
10037 "BOOLEAN", HFILL }},
10038 { &hf_h225_useGKCallSignalAddressToAnswer,
10039 { "useGKCallSignalAddressToAnswer", "h225.useGKCallSignalAddressToAnswer",
10040 FT_BOOLEAN, BASE_NONE, NULL, 0,
10041 "BOOLEAN", HFILL }},
10042 { &hf_h225_irrFrequencyInCall,
10043 { "irrFrequencyInCall", "h225.irrFrequencyInCall",
10044 FT_UINT32, BASE_DEC, NULL, 0,
10045 "INTEGER_1_65535", HFILL }},
10046 { &hf_h225_totalBandwidthRestriction,
10047 { "totalBandwidthRestriction", "h225.totalBandwidthRestriction",
10048 FT_UINT32, BASE_DEC, NULL, 0,
10049 "BandWidth", HFILL }},
10050 { &hf_h225_useSpecifiedTransport,
10051 { "useSpecifiedTransport", "h225.useSpecifiedTransport",
10052 FT_UINT32, BASE_DEC, VALS(h225_UseSpecifiedTransport_vals), 0,
10053 NULL, HFILL }},
10054 { &hf_h225_supportsAdditiveRegistration,
10055 { "supportsAdditiveRegistration", "h225.supportsAdditiveRegistration_element",
10056 FT_NONE, BASE_NONE, NULL, 0,
10057 NULL, HFILL }},
10058 { &hf_h225_usageSpec,
10059 { "usageSpec", "h225.usageSpec",
10060 FT_UINT32, BASE_DEC, NULL, 0,
10061 "SEQUENCE_OF_RasUsageSpecification", HFILL }},
10062 { &hf_h225_usageSpec_item,
10063 { "RasUsageSpecification", "h225.RasUsageSpecification_element",
10064 FT_NONE, BASE_NONE, NULL, 0,
10065 NULL, HFILL }},
10066 { &hf_h225_featureServerAlias,
10067 { "featureServerAlias", "h225.featureServerAlias",
10068 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
10069 "AliasAddress", HFILL }},
10070 { &hf_h225_capacityReportingSpec,
10071 { "capacityReportingSpec", "h225.capacityReportingSpec_element",
10072 FT_NONE, BASE_NONE, NULL, 0,
10073 "CapacityReportingSpecification", HFILL }},
10074 { &hf_h225_registrationRejectReason,
10075 { "rejectReason", "h225.rejectReason",
10076 FT_UINT32, BASE_DEC, VALS(RegistrationRejectReason_vals), 0,
10077 "RegistrationRejectReason", HFILL }},
10078 { &hf_h225_discoveryRequired,
10079 { "discoveryRequired", "h225.discoveryRequired_element",
10080 FT_NONE, BASE_NONE, NULL, 0,
10081 NULL, HFILL }},
10082 { &hf_h225_invalidCallSignalAddress,
10083 { "invalidCallSignalAddress", "h225.invalidCallSignalAddress_element",
10084 FT_NONE, BASE_NONE, NULL, 0,
10085 NULL, HFILL }},
10086 { &hf_h225_invalidRASAddress,
10087 { "invalidRASAddress", "h225.invalidRASAddress_element",
10088 FT_NONE, BASE_NONE, NULL, 0,
10089 NULL, HFILL }},
10090 { &hf_h225_duplicateAlias,
10091 { "duplicateAlias", "h225.duplicateAlias",
10092 FT_UINT32, BASE_DEC, NULL, 0,
10093 "SEQUENCE_OF_AliasAddress", HFILL }},
10094 { &hf_h225_duplicateAlias_item,
10095 { "AliasAddress", "h225.AliasAddress",
10096 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
10097 NULL, HFILL }},
10098 { &hf_h225_invalidTerminalType,
10099 { "invalidTerminalType", "h225.invalidTerminalType_element",
10100 FT_NONE, BASE_NONE, NULL, 0,
10101 NULL, HFILL }},
10102 { &hf_h225_transportNotSupported,
10103 { "transportNotSupported", "h225.transportNotSupported_element",
10104 FT_NONE, BASE_NONE, NULL, 0,
10105 NULL, HFILL }},
10106 { &hf_h225_transportQOSNotSupported,
10107 { "transportQOSNotSupported", "h225.transportQOSNotSupported_element",
10108 FT_NONE, BASE_NONE, NULL, 0,
10109 NULL, HFILL }},
10110 { &hf_h225_invalidAlias,
10111 { "invalidAlias", "h225.invalidAlias_element",
10112 FT_NONE, BASE_NONE, NULL, 0,
10113 NULL, HFILL }},
10114 { &hf_h225_fullRegistrationRequired,
10115 { "fullRegistrationRequired", "h225.fullRegistrationRequired_element",
10116 FT_NONE, BASE_NONE, NULL, 0,
10117 NULL, HFILL }},
10118 { &hf_h225_additiveRegistrationNotSupported,
10119 { "additiveRegistrationNotSupported", "h225.additiveRegistrationNotSupported_element",
10120 FT_NONE, BASE_NONE, NULL, 0,
10121 NULL, HFILL }},
10122 { &hf_h225_invalidTerminalAliases,
10123 { "invalidTerminalAliases", "h225.invalidTerminalAliases_element",
10124 FT_NONE, BASE_NONE, NULL, 0,
10125 NULL, HFILL }},
10126 { &hf_h225_reg_securityError,
10127 { "securityError", "h225.securityError",
10128 FT_UINT32, BASE_DEC, VALS(h225_SecurityErrors_vals), 0,
10129 "SecurityErrors", HFILL }},
10130 { &hf_h225_registerWithAssignedGK,
10131 { "registerWithAssignedGK", "h225.registerWithAssignedGK_element",
10132 FT_NONE, BASE_NONE, NULL, 0,
10133 NULL, HFILL }},
10134 { &hf_h225_unregRequestReason,
10135 { "reason", "h225.reason",
10136 FT_UINT32, BASE_DEC, VALS(UnregRequestReason_vals), 0,
10137 "UnregRequestReason", HFILL }},
10138 { &hf_h225_endpointAliasPattern,
10139 { "endpointAliasPattern", "h225.endpointAliasPattern",
10140 FT_UINT32, BASE_DEC, NULL, 0,
10141 "SEQUENCE_OF_AddressPattern", HFILL }},
10142 { &hf_h225_endpointAliasPattern_item,
10143 { "AddressPattern", "h225.AddressPattern",
10144 FT_UINT32, BASE_DEC, VALS(h225_AddressPattern_vals), 0,
10145 NULL, HFILL }},
10146 { &hf_h225_reregistrationRequired,
10147 { "reregistrationRequired", "h225.reregistrationRequired_element",
10148 FT_NONE, BASE_NONE, NULL, 0,
10149 NULL, HFILL }},
10150 { &hf_h225_ttlExpired,
10151 { "ttlExpired", "h225.ttlExpired_element",
10152 FT_NONE, BASE_NONE, NULL, 0,
10153 NULL, HFILL }},
10154 { &hf_h225_maintenance,
10155 { "maintenance", "h225.maintenance_element",
10156 FT_NONE, BASE_NONE, NULL, 0,
10157 NULL, HFILL }},
10158 { &hf_h225_securityError,
10159 { "securityError", "h225.securityError",
10160 FT_UINT32, BASE_DEC, VALS(h225_SecurityErrors2_vals), 0,
10161 "SecurityErrors2", HFILL }},
10162 { &hf_h225_unregRejectReason,
10163 { "rejectReason", "h225.rejectReason",
10164 FT_UINT32, BASE_DEC, VALS(UnregRejectReason_vals), 0,
10165 "UnregRejectReason", HFILL }},
10166 { &hf_h225_notCurrentlyRegistered,
10167 { "notCurrentlyRegistered", "h225.notCurrentlyRegistered_element",
10168 FT_NONE, BASE_NONE, NULL, 0,
10169 NULL, HFILL }},
10170 { &hf_h225_callInProgress,
10171 { "callInProgress", "h225.callInProgress_element",
10172 FT_NONE, BASE_NONE, NULL, 0,
10173 NULL, HFILL }},
10174 { &hf_h225_permissionDenied,
10175 { "permissionDenied", "h225.permissionDenied_element",
10176 FT_NONE, BASE_NONE, NULL, 0,
10177 NULL, HFILL }},
10178 { &hf_h225_callModel,
10179 { "callModel", "h225.callModel",
10180 FT_UINT32, BASE_DEC, VALS(h225_CallModel_vals), 0,
10181 NULL, HFILL }},
10182 { &hf_h225_DestinationInfo_item,
10183 { "DestinationInfo item", "h225.DestinationInfo_item",
10184 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
10185 NULL, HFILL }},
10186 { &hf_h225_destinationInfo_01,
10187 { "destinationInfo", "h225.destinationInfo",
10188 FT_UINT32, BASE_DEC, NULL, 0,
10189 NULL, HFILL }},
10190 { &hf_h225_srcInfo,
10191 { "srcInfo", "h225.srcInfo",
10192 FT_UINT32, BASE_DEC, NULL, 0,
10193 "SEQUENCE_OF_AliasAddress", HFILL }},
10194 { &hf_h225_srcInfo_item,
10195 { "AliasAddress", "h225.AliasAddress",
10196 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
10197 NULL, HFILL }},
10198 { &hf_h225_srcCallSignalAddress,
10199 { "srcCallSignalAddress", "h225.srcCallSignalAddress",
10200 FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
10201 "TransportAddress", HFILL }},
10202 { &hf_h225_bandWidth,
10203 { "bandWidth", "h225.bandWidth",
10204 FT_UINT32, BASE_DEC, NULL, 0,
10205 NULL, HFILL }},
10206 { &hf_h225_callReferenceValue,
10207 { "callReferenceValue", "h225.callReferenceValue",
10208 FT_UINT32, BASE_DEC, NULL, 0,
10209 NULL, HFILL }},
10210 { &hf_h225_canMapAlias,
10211 { "canMapAlias", "h225.canMapAlias",
10212 FT_BOOLEAN, BASE_NONE, NULL, 0,
10213 "BOOLEAN", HFILL }},
10214 { &hf_h225_srcAlternatives,
10215 { "srcAlternatives", "h225.srcAlternatives",
10216 FT_UINT32, BASE_DEC, NULL, 0,
10217 "SEQUENCE_OF_Endpoint", HFILL }},
10218 { &hf_h225_srcAlternatives_item,
10219 { "Endpoint", "h225.Endpoint_element",
10220 FT_NONE, BASE_NONE, NULL, 0,
10221 NULL, HFILL }},
10222 { &hf_h225_destAlternatives,
10223 { "destAlternatives", "h225.destAlternatives",
10224 FT_UINT32, BASE_DEC, NULL, 0,
10225 "SEQUENCE_OF_Endpoint", HFILL }},
10226 { &hf_h225_destAlternatives_item,
10227 { "Endpoint", "h225.Endpoint_element",
10228 FT_NONE, BASE_NONE, NULL, 0,
10229 NULL, HFILL }},
10230 { &hf_h225_gatewayDataRate,
10231 { "gatewayDataRate", "h225.gatewayDataRate_element",
10232 FT_NONE, BASE_NONE, NULL, 0,
10233 "DataRate", HFILL }},
10234 { &hf_h225_desiredTunnelledProtocol,
10235 { "desiredTunnelledProtocol", "h225.desiredTunnelledProtocol_element",
10236 FT_NONE, BASE_NONE, NULL, 0,
10237 "TunnelledProtocol", HFILL }},
10238 { &hf_h225_canMapSrcAlias,
10239 { "canMapSrcAlias", "h225.canMapSrcAlias",
10240 FT_BOOLEAN, BASE_NONE, NULL, 0,
10241 "BOOLEAN", HFILL }},
10242 { &hf_h225_pointToPoint,
10243 { "pointToPoint", "h225.pointToPoint_element",
10244 FT_NONE, BASE_NONE, NULL, 0,
10245 NULL, HFILL }},
10246 { &hf_h225_oneToN,
10247 { "oneToN", "h225.oneToN_element",
10248 FT_NONE, BASE_NONE, NULL, 0,
10249 NULL, HFILL }},
10250 { &hf_h225_nToOne,
10251 { "nToOne", "h225.nToOne_element",
10252 FT_NONE, BASE_NONE, NULL, 0,
10253 NULL, HFILL }},
10254 { &hf_h225_nToN,
10255 { "nToN", "h225.nToN_element",
10256 FT_NONE, BASE_NONE, NULL, 0,
10257 NULL, HFILL }},
10258 { &hf_h225_direct,
10259 { "direct", "h225.direct_element",
10260 FT_NONE, BASE_NONE, NULL, 0,
10261 NULL, HFILL }},
10262 { &hf_h225_gatekeeperRouted,
10263 { "gatekeeperRouted", "h225.gatekeeperRouted_element",
10264 FT_NONE, BASE_NONE, NULL, 0,
10265 NULL, HFILL }},
10266 { &hf_h225_endpointControlled,
10267 { "endpointControlled", "h225.endpointControlled_element",
10268 FT_NONE, BASE_NONE, NULL, 0,
10269 NULL, HFILL }},
10270 { &hf_h225_gatekeeperControlled,
10271 { "gatekeeperControlled", "h225.gatekeeperControlled_element",
10272 FT_NONE, BASE_NONE, NULL, 0,
10273 NULL, HFILL }},
10274 { &hf_h225_noControl,
10275 { "noControl", "h225.noControl_element",
10276 FT_NONE, BASE_NONE, NULL, 0,
10277 NULL, HFILL }},
10278 { &hf_h225_qOSCapabilities,
10279 { "qOSCapabilities", "h225.qOSCapabilities",
10280 FT_UINT32, BASE_DEC, NULL, 0,
10281 "SEQUENCE_SIZE_1_256_OF_QOSCapability", HFILL }},
10282 { &hf_h225_qOSCapabilities_item,
10283 { "QOSCapability", "h225.QOSCapability_element",
10284 FT_NONE, BASE_NONE, NULL, 0,
10285 NULL, HFILL }},
10286 { &hf_h225_irrFrequency,
10287 { "irrFrequency", "h225.irrFrequency",
10288 FT_UINT32, BASE_DEC, NULL, 0,
10289 "INTEGER_1_65535", HFILL }},
10290 { &hf_h225_destinationType,
10291 { "destinationType", "h225.destinationType_element",
10292 FT_NONE, BASE_NONE, NULL, 0,
10293 "EndpointType", HFILL }},
10294 { &hf_h225_uuiesRequested,
10295 { "uuiesRequested", "h225.uuiesRequested_element",
10296 FT_NONE, BASE_NONE, NULL, 0,
10297 NULL, HFILL }},
10298 { &hf_h225_supportedProtocols,
10299 { "supportedProtocols", "h225.supportedProtocols",
10300 FT_UINT32, BASE_DEC, NULL, 0,
10301 "SEQUENCE_OF_SupportedProtocols", HFILL }},
10302 { &hf_h225_supportedProtocols_item,
10303 { "SupportedProtocols", "h225.SupportedProtocols",
10304 FT_UINT32, BASE_DEC, VALS(h225_SupportedProtocols_vals), 0,
10305 NULL, HFILL }},
10306 { &hf_h225_modifiedSrcInfo,
10307 { "modifiedSrcInfo", "h225.modifiedSrcInfo",
10308 FT_UINT32, BASE_DEC, NULL, 0,
10309 "SEQUENCE_OF_AliasAddress", HFILL }},
10310 { &hf_h225_modifiedSrcInfo_item,
10311 { "AliasAddress", "h225.AliasAddress",
10312 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
10313 NULL, HFILL }},
10314 { &hf_h225_setup_bool,
10315 { "setup", "h225.setup",
10316 FT_BOOLEAN, BASE_NONE, NULL, 0,
10317 "BOOLEAN", HFILL }},
10318 { &hf_h225_callProceeding_flg,
10319 { "callProceeding", "h225.callProceeding",
10320 FT_BOOLEAN, BASE_NONE, NULL, 0,
10321 "BOOLEAN", HFILL }},
10322 { &hf_h225_connect_bool,
10323 { "connect", "h225.connect",
10324 FT_BOOLEAN, BASE_NONE, NULL, 0,
10325 "BOOLEAN", HFILL }},
10326 { &hf_h225_alerting_bool,
10327 { "alerting", "h225.alerting",
10328 FT_BOOLEAN, BASE_NONE, NULL, 0,
10329 "BOOLEAN", HFILL }},
10330 { &hf_h225_information_bool,
10331 { "information", "h225.information",
10332 FT_BOOLEAN, BASE_NONE, NULL, 0,
10333 "BOOLEAN", HFILL }},
10334 { &hf_h225_releaseComplete_bool,
10335 { "releaseComplete", "h225.releaseComplete",
10336 FT_BOOLEAN, BASE_NONE, NULL, 0,
10337 "BOOLEAN", HFILL }},
10338 { &hf_h225_facility_bool,
10339 { "facility", "h225.facility",
10340 FT_BOOLEAN, BASE_NONE, NULL, 0,
10341 "BOOLEAN", HFILL }},
10342 { &hf_h225_progress_bool,
10343 { "progress", "h225.progress",
10344 FT_BOOLEAN, BASE_NONE, NULL, 0,
10345 "BOOLEAN", HFILL }},
10346 { &hf_h225_empty,
10347 { "empty", "h225.empty",
10348 FT_BOOLEAN, BASE_NONE, NULL, 0,
10349 "BOOLEAN", HFILL }},
10350 { &hf_h225_status_bool,
10351 { "status", "h225.status",
10352 FT_BOOLEAN, BASE_NONE, NULL, 0,
10353 "BOOLEAN", HFILL }},
10354 { &hf_h225_statusInquiry_bool,
10355 { "statusInquiry", "h225.statusInquiry",
10356 FT_BOOLEAN, BASE_NONE, NULL, 0,
10357 "BOOLEAN", HFILL }},
10358 { &hf_h225_setupAcknowledge_bool,
10359 { "setupAcknowledge", "h225.setupAcknowledge",
10360 FT_BOOLEAN, BASE_NONE, NULL, 0,
10361 "BOOLEAN", HFILL }},
10362 { &hf_h225_notify_bool,
10363 { "notify", "h225.notify",
10364 FT_BOOLEAN, BASE_NONE, NULL, 0,
10365 "BOOLEAN", HFILL }},
10366 { &hf_h225_rejectReason,
10367 { "rejectReason", "h225.rejectReason",
10368 FT_UINT32, BASE_DEC, VALS(AdmissionRejectReason_vals), 0,
10369 "AdmissionRejectReason", HFILL }},
10370 { &hf_h225_invalidPermission,
10371 { "invalidPermission", "h225.invalidPermission_element",
10372 FT_NONE, BASE_NONE, NULL, 0,
10373 NULL, HFILL }},
10374 { &hf_h225_requestDenied,
10375 { "requestDenied", "h225.requestDenied_element",
10376 FT_NONE, BASE_NONE, NULL, 0,
10377 NULL, HFILL }},
10378 { &hf_h225_invalidEndpointIdentifier,
10379 { "invalidEndpointIdentifier", "h225.invalidEndpointIdentifier_element",
10380 FT_NONE, BASE_NONE, NULL, 0,
10381 NULL, HFILL }},
10382 { &hf_h225_qosControlNotSupported,
10383 { "qosControlNotSupported", "h225.qosControlNotSupported_element",
10384 FT_NONE, BASE_NONE, NULL, 0,
10385 NULL, HFILL }},
10386 { &hf_h225_incompleteAddress,
10387 { "incompleteAddress", "h225.incompleteAddress_element",
10388 FT_NONE, BASE_NONE, NULL, 0,
10389 NULL, HFILL }},
10390 { &hf_h225_aliasesInconsistent,
10391 { "aliasesInconsistent", "h225.aliasesInconsistent_element",
10392 FT_NONE, BASE_NONE, NULL, 0,
10393 NULL, HFILL }},
10394 { &hf_h225_routeCallToSCN,
10395 { "routeCallToSCN", "h225.routeCallToSCN",
10396 FT_UINT32, BASE_DEC, NULL, 0,
10397 "SEQUENCE_OF_PartyNumber", HFILL }},
10398 { &hf_h225_routeCallToSCN_item,
10399 { "PartyNumber", "h225.PartyNumber",
10400 FT_UINT32, BASE_DEC, VALS(h225_PartyNumber_vals), 0,
10401 NULL, HFILL }},
10402 { &hf_h225_exceedsCallCapacity,
10403 { "exceedsCallCapacity", "h225.exceedsCallCapacity_element",
10404 FT_NONE, BASE_NONE, NULL, 0,
10405 NULL, HFILL }},
10406 { &hf_h225_collectDestination,
10407 { "collectDestination", "h225.collectDestination_element",
10408 FT_NONE, BASE_NONE, NULL, 0,
10409 NULL, HFILL }},
10410 { &hf_h225_collectPIN,
10411 { "collectPIN", "h225.collectPIN_element",
10412 FT_NONE, BASE_NONE, NULL, 0,
10413 NULL, HFILL }},
10414 { &hf_h225_noRouteToDestination,
10415 { "noRouteToDestination", "h225.noRouteToDestination_element",
10416 FT_NONE, BASE_NONE, NULL, 0,
10417 NULL, HFILL }},
10418 { &hf_h225_unallocatedNumber,
10419 { "unallocatedNumber", "h225.unallocatedNumber_element",
10420 FT_NONE, BASE_NONE, NULL, 0,
10421 NULL, HFILL }},
10422 { &hf_h225_answeredCall,
10423 { "answeredCall", "h225.answeredCall",
10424 FT_BOOLEAN, BASE_NONE, NULL, 0,
10425 "BOOLEAN", HFILL }},
10426 { &hf_h225_usageInformation,
10427 { "usageInformation", "h225.usageInformation_element",
10428 FT_NONE, BASE_NONE, NULL, 0,
10429 "RasUsageInformation", HFILL }},
10430 { &hf_h225_bandwidthDetails,
10431 { "bandwidthDetails", "h225.bandwidthDetails",
10432 FT_UINT32, BASE_DEC, NULL, 0,
10433 "SEQUENCE_OF_BandwidthDetails", HFILL }},
10434 { &hf_h225_bandwidthDetails_item,
10435 { "BandwidthDetails", "h225.BandwidthDetails_element",
10436 FT_NONE, BASE_NONE, NULL, 0,
10437 NULL, HFILL }},
10438 { &hf_h225_bandRejectReason,
10439 { "rejectReason", "h225.rejectReason",
10440 FT_UINT32, BASE_DEC, VALS(BandRejectReason_vals), 0,
10441 "BandRejectReason", HFILL }},
10442 { &hf_h225_allowedBandWidth,
10443 { "allowedBandWidth", "h225.allowedBandWidth",
10444 FT_UINT32, BASE_DEC, NULL, 0,
10445 "BandWidth", HFILL }},
10446 { &hf_h225_notBound,
10447 { "notBound", "h225.notBound_element",
10448 FT_NONE, BASE_NONE, NULL, 0,
10449 NULL, HFILL }},
10450 { &hf_h225_invalidConferenceID,
10451 { "invalidConferenceID", "h225.invalidConferenceID_element",
10452 FT_NONE, BASE_NONE, NULL, 0,
10453 NULL, HFILL }},
10454 { &hf_h225_insufficientResources,
10455 { "insufficientResources", "h225.insufficientResources_element",
10456 FT_NONE, BASE_NONE, NULL, 0,
10457 NULL, HFILL }},
10458 { &hf_h225_replyAddress,
10459 { "replyAddress", "h225.replyAddress",
10460 FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
10461 "TransportAddress", HFILL }},
10462 { &hf_h225_sourceInfo,
10463 { "sourceInfo", "h225.sourceInfo",
10464 FT_UINT32, BASE_DEC, NULL, 0,
10465 "SEQUENCE_OF_AliasAddress", HFILL }},
10466 { &hf_h225_sourceInfo_item,
10467 { "AliasAddress", "h225.AliasAddress",
10468 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
10469 NULL, HFILL }},
10470 { &hf_h225_hopCount,
10471 { "hopCount", "h225.hopCount",
10472 FT_UINT32, BASE_DEC, NULL, 0,
10473 "INTEGER_1_255", HFILL }},
10474 { &hf_h225_sourceEndpointInfo,
10475 { "sourceEndpointInfo", "h225.sourceEndpointInfo",
10476 FT_UINT32, BASE_DEC, NULL, 0,
10477 "SEQUENCE_OF_AliasAddress", HFILL }},
10478 { &hf_h225_sourceEndpointInfo_item,
10479 { "AliasAddress", "h225.AliasAddress",
10480 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
10481 NULL, HFILL }},
10482 { &hf_h225_locationConfirm_callSignalAddress,
10483 { "callSignalAddress", "h225.callSignalAddress",
10484 FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
10485 "TransportAddress", HFILL }},
10486 { &hf_h225_locationConfirm_rasAddress,
10487 { "rasAddress", "h225.rasAddress",
10488 FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
10489 "TransportAddress", HFILL }},
10490 { &hf_h225_locationRejectReason,
10491 { "rejectReason", "h225.rejectReason",
10492 FT_UINT32, BASE_DEC, VALS(LocationRejectReason_vals), 0,
10493 "LocationRejectReason", HFILL }},
10494 { &hf_h225_notRegistered,
10495 { "notRegistered", "h225.notRegistered_element",
10496 FT_NONE, BASE_NONE, NULL, 0,
10497 NULL, HFILL }},
10498 { &hf_h225_routeCalltoSCN,
10499 { "routeCalltoSCN", "h225.routeCalltoSCN",
10500 FT_UINT32, BASE_DEC, NULL, 0,
10501 "SEQUENCE_OF_PartyNumber", HFILL }},
10502 { &hf_h225_routeCalltoSCN_item,
10503 { "PartyNumber", "h225.PartyNumber",
10504 FT_UINT32, BASE_DEC, VALS(h225_PartyNumber_vals), 0,
10505 NULL, HFILL }},
10506 { &hf_h225_disengageReason,
10507 { "disengageReason", "h225.disengageReason",
10508 FT_UINT32, BASE_DEC, VALS(DisengageReason_vals), 0,
10509 NULL, HFILL }},
10510 { &hf_h225_terminationCause,
10511 { "terminationCause", "h225.terminationCause",
10512 FT_UINT32, BASE_DEC, VALS(h225_CallTerminationCause_vals), 0,
10513 "CallTerminationCause", HFILL }},
10514 { &hf_h225_forcedDrop,
10515 { "forcedDrop", "h225.forcedDrop_element",
10516 FT_NONE, BASE_NONE, NULL, 0,
10517 NULL, HFILL }},
10518 { &hf_h225_normalDrop,
10519 { "normalDrop", "h225.normalDrop_element",
10520 FT_NONE, BASE_NONE, NULL, 0,
10521 NULL, HFILL }},
10522 { &hf_h225_disengageRejectReason,
10523 { "rejectReason", "h225.rejectReason",
10524 FT_UINT32, BASE_DEC, VALS(DisengageRejectReason_vals), 0,
10525 "DisengageRejectReason", HFILL }},
10526 { &hf_h225_requestToDropOther,
10527 { "requestToDropOther", "h225.requestToDropOther_element",
10528 FT_NONE, BASE_NONE, NULL, 0,
10529 NULL, HFILL }},
10530 { &hf_h225_usageInfoRequested,
10531 { "usageInfoRequested", "h225.usageInfoRequested_element",
10532 FT_NONE, BASE_NONE, NULL, 0,
10533 "RasUsageInfoTypes", HFILL }},
10534 { &hf_h225_segmentedResponseSupported,
10535 { "segmentedResponseSupported", "h225.segmentedResponseSupported_element",
10536 FT_NONE, BASE_NONE, NULL, 0,
10537 NULL, HFILL }},
10538 { &hf_h225_nextSegmentRequested,
10539 { "nextSegmentRequested", "h225.nextSegmentRequested",
10540 FT_UINT32, BASE_DEC, NULL, 0,
10541 "INTEGER_0_65535", HFILL }},
10542 { &hf_h225_capacityInfoRequested,
10543 { "capacityInfoRequested", "h225.capacityInfoRequested_element",
10544 FT_NONE, BASE_NONE, NULL, 0,
10545 NULL, HFILL }},
10546 { &hf_h225_infoRequestResponse_rasAddress,
10547 { "rasAddress", "h225.rasAddress",
10548 FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
10549 "TransportAddress", HFILL }},
10550 { &hf_h225_perCallInfo,
10551 { "perCallInfo", "h225.perCallInfo",
10552 FT_UINT32, BASE_DEC, NULL, 0,
10553 NULL, HFILL }},
10554 { &hf_h225_perCallInfo_item,
10555 { "perCallInfo item", "h225.perCallInfo_item_element",
10556 FT_NONE, BASE_NONE, NULL, 0,
10557 NULL, HFILL }},
10558 { &hf_h225_originator,
10559 { "originator", "h225.originator",
10560 FT_BOOLEAN, BASE_NONE, NULL, 0,
10561 "BOOLEAN", HFILL }},
10562 { &hf_h225_audio,
10563 { "audio", "h225.audio",
10564 FT_UINT32, BASE_DEC, NULL, 0,
10565 "SEQUENCE_OF_RTPSession", HFILL }},
10566 { &hf_h225_audio_item,
10567 { "RTPSession", "h225.RTPSession_element",
10568 FT_NONE, BASE_NONE, NULL, 0,
10569 NULL, HFILL }},
10570 { &hf_h225_video,
10571 { "video", "h225.video",
10572 FT_UINT32, BASE_DEC, NULL, 0,
10573 "SEQUENCE_OF_RTPSession", HFILL }},
10574 { &hf_h225_video_item,
10575 { "RTPSession", "h225.RTPSession_element",
10576 FT_NONE, BASE_NONE, NULL, 0,
10577 NULL, HFILL }},
10578 { &hf_h225_data,
10579 { "data", "h225.data",
10580 FT_UINT32, BASE_DEC, NULL, 0,
10581 "SEQUENCE_OF_TransportChannelInfo", HFILL }},
10582 { &hf_h225_data_item,
10583 { "TransportChannelInfo", "h225.TransportChannelInfo_element",
10584 FT_NONE, BASE_NONE, NULL, 0,
10585 NULL, HFILL }},
10586 { &hf_h225_h245,
10587 { "h245", "h225.h245_element",
10588 FT_NONE, BASE_NONE, NULL, 0,
10589 "TransportChannelInfo", HFILL }},
10590 { &hf_h225_callSignalling,
10591 { "callSignalling", "h225.callSignalling_element",
10592 FT_NONE, BASE_NONE, NULL, 0,
10593 "TransportChannelInfo", HFILL }},
10594 { &hf_h225_substituteConfIDs,
10595 { "substituteConfIDs", "h225.substituteConfIDs",
10596 FT_UINT32, BASE_DEC, NULL, 0,
10597 "SEQUENCE_OF_ConferenceIdentifier", HFILL }},
10598 { &hf_h225_substituteConfIDs_item,
10599 { "ConferenceIdentifier", "h225.ConferenceIdentifier",
10600 FT_GUID, BASE_NONE, NULL, 0,
10601 NULL, HFILL }},
10602 { &hf_h225_pdu,
10603 { "pdu", "h225.pdu",
10604 FT_UINT32, BASE_DEC, NULL, 0,
10605 NULL, HFILL }},
10606 { &hf_h225_pdu_item,
10607 { "pdu item", "h225.pdu_item_element",
10608 FT_NONE, BASE_NONE, NULL, 0,
10609 NULL, HFILL }},
10610 { &hf_h225_h323pdu,
10611 { "h323pdu", "h225.h323pdu_element",
10612 FT_NONE, BASE_NONE, NULL, 0,
10613 "H323_UU_PDU", HFILL }},
10614 { &hf_h225_sent,
10615 { "sent", "h225.sent",
10616 FT_BOOLEAN, BASE_NONE, NULL, 0,
10617 "BOOLEAN", HFILL }},
10618 { &hf_h225_needResponse,
10619 { "needResponse", "h225.needResponse",
10620 FT_BOOLEAN, BASE_NONE, NULL, 0,
10621 "BOOLEAN", HFILL }},
10622 { &hf_h225_irrStatus,
10623 { "irrStatus", "h225.irrStatus",
10624 FT_UINT32, BASE_DEC, VALS(h225_InfoRequestResponseStatus_vals), 0,
10625 "InfoRequestResponseStatus", HFILL }},
10626 { &hf_h225_unsolicited,
10627 { "unsolicited", "h225.unsolicited",
10628 FT_BOOLEAN, BASE_NONE, NULL, 0,
10629 "BOOLEAN", HFILL }},
10630 { &hf_h225_complete,
10631 { "complete", "h225.complete_element",
10632 FT_NONE, BASE_NONE, NULL, 0,
10633 NULL, HFILL }},
10634 { &hf_h225_incomplete,
10635 { "incomplete", "h225.incomplete_element",
10636 FT_NONE, BASE_NONE, NULL, 0,
10637 NULL, HFILL }},
10638 { &hf_h225_segment,
10639 { "segment", "h225.segment",
10640 FT_UINT32, BASE_DEC, NULL, 0,
10641 "INTEGER_0_65535", HFILL }},
10642 { &hf_h225_invalidCall,
10643 { "invalidCall", "h225.invalidCall_element",
10644 FT_NONE, BASE_NONE, NULL, 0,
10645 NULL, HFILL }},
10646 { &hf_h225_nakReason,
10647 { "nakReason", "h225.nakReason",
10648 FT_UINT32, BASE_DEC, VALS(InfoRequestNakReason_vals), 0,
10649 "InfoRequestNakReason", HFILL }},
10650 { &hf_h225_messageNotUnderstood,
10651 { "messageNotUnderstood", "h225.messageNotUnderstood",
10652 FT_BYTES, BASE_NONE, NULL, 0,
10653 "OCTET_STRING", HFILL }},
10654 { &hf_h225_delay,
10655 { "delay", "h225.delay",
10656 FT_UINT32, BASE_DEC, NULL, 0,
10657 "INTEGER_1_65535", HFILL }},
10658 { &hf_h225_protocols,
10659 { "protocols", "h225.protocols",
10660 FT_UINT32, BASE_DEC, NULL, 0,
10661 "SEQUENCE_OF_SupportedProtocols", HFILL }},
10662 { &hf_h225_protocols_item,
10663 { "SupportedProtocols", "h225.SupportedProtocols",
10664 FT_UINT32, BASE_DEC, VALS(h225_SupportedProtocols_vals), 0,
10665 NULL, HFILL }},
10666 { &hf_h225_almostOutOfResources,
10667 { "almostOutOfResources", "h225.almostOutOfResources",
10668 FT_BOOLEAN, BASE_NONE, NULL, 0,
10669 "BOOLEAN", HFILL }},
10670 { &hf_h225_callSpecific,
10671 { "callSpecific", "h225.callSpecific_element",
10672 FT_NONE, BASE_NONE, NULL, 0,
10673 NULL, HFILL }},
10674 { &hf_h225_result,
10675 { "result", "h225.result",
10676 FT_UINT32, BASE_DEC, VALS(h225_T_result_vals), 0,
10677 NULL, HFILL }},
10678 { &hf_h225_started,
10679 { "started", "h225.started_element",
10680 FT_NONE, BASE_NONE, NULL, 0,
10681 NULL, HFILL }},
10682 { &hf_h225_failed,
10683 { "failed", "h225.failed_element",
10684 FT_NONE, BASE_NONE, NULL, 0,
10685 NULL, HFILL }},
10686 { &hf_h225_stopped,
10687 { "stopped", "h225.stopped_element",
10688 FT_NONE, BASE_NONE, NULL, 0,
10689 NULL, HFILL }},
10690 { &hf_h225_notAvailable,
10691 { "notAvailable", "h225.notAvailable_element",
10692 FT_NONE, BASE_NONE, NULL, 0,
10693 NULL, HFILL }},
10695 /*--- End of included file: packet-h225-hfarr.c ---*/
10696 #line 232 "../../asn1/h225/packet-h225-template.c"
10699 /* List of subtrees */
10700 static gint *ett[] = {
10701 &ett_h225,
10703 /*--- Included file: packet-h225-ettarr.c ---*/
10704 #line 1 "../../asn1/h225/packet-h225-ettarr.c"
10705 &ett_h225_H323_UserInformation,
10706 &ett_h225_T_user_data,
10707 &ett_h225_H323_UU_PDU,
10708 &ett_h225_T_h323_message_body,
10709 &ett_h225_T_h4501SupplementaryService,
10710 &ett_h225_H245Control,
10711 &ett_h225_SEQUENCE_OF_NonStandardParameter,
10712 &ett_h225_T_tunnelledSignallingMessage,
10713 &ett_h225_T_messageContent,
10714 &ett_h225_SEQUENCE_OF_GenericData,
10715 &ett_h225_StimulusControl,
10716 &ett_h225_Alerting_UUIE,
10717 &ett_h225_SEQUENCE_OF_ClearToken,
10718 &ett_h225_SEQUENCE_OF_CryptoH323Token,
10719 &ett_h225_SEQUENCE_OF_AliasAddress,
10720 &ett_h225_SEQUENCE_OF_ServiceControlSession,
10721 &ett_h225_SEQUENCE_OF_DisplayName,
10722 &ett_h225_CallProceeding_UUIE,
10723 &ett_h225_Connect_UUIE,
10724 &ett_h225_Information_UUIE,
10725 &ett_h225_ReleaseComplete_UUIE,
10726 &ett_h225_ReleaseCompleteReason,
10727 &ett_h225_Setup_UUIE,
10728 &ett_h225_SEQUENCE_OF_CallReferenceValue,
10729 &ett_h225_T_conferenceGoal,
10730 &ett_h225_SEQUENCE_OF_H245Security,
10731 &ett_h225_FastStart,
10732 &ett_h225_T_connectionParameters,
10733 &ett_h225_Language,
10734 &ett_h225_SEQUENCE_OF_SupportedProtocols,
10735 &ett_h225_SEQUENCE_OF_FeatureDescriptor,
10736 &ett_h225_ParallelH245Control,
10737 &ett_h225_SEQUENCE_OF_ExtendedAliasAddress,
10738 &ett_h225_ScnConnectionType,
10739 &ett_h225_ScnConnectionAggregation,
10740 &ett_h225_PresentationIndicator,
10741 &ett_h225_Facility_UUIE,
10742 &ett_h225_SEQUENCE_OF_ConferenceList,
10743 &ett_h225_ConferenceList,
10744 &ett_h225_FacilityReason,
10745 &ett_h225_Progress_UUIE,
10746 &ett_h225_TransportAddress,
10747 &ett_h225_H245TransportAddress,
10748 &ett_h225_T_h245IpAddress,
10749 &ett_h225_T_h245IpSourceRoute,
10750 &ett_h225_T_h245Route,
10751 &ett_h225_T_h245Routing,
10752 &ett_h225_T_h245IpxAddress,
10753 &ett_h225_T_h245Ip6Address,
10754 &ett_h225_T_ipAddress,
10755 &ett_h225_T_ipSourceRoute,
10756 &ett_h225_T_route,
10757 &ett_h225_T_routing,
10758 &ett_h225_T_ipxAddress,
10759 &ett_h225_T_ip6Address,
10760 &ett_h225_Status_UUIE,
10761 &ett_h225_StatusInquiry_UUIE,
10762 &ett_h225_SetupAcknowledge_UUIE,
10763 &ett_h225_Notify_UUIE,
10764 &ett_h225_EndpointType,
10765 &ett_h225_SEQUENCE_OF_TunnelledProtocol,
10766 &ett_h225_GatewayInfo,
10767 &ett_h225_SupportedProtocols,
10768 &ett_h225_H310Caps,
10769 &ett_h225_SEQUENCE_OF_DataRate,
10770 &ett_h225_SEQUENCE_OF_SupportedPrefix,
10771 &ett_h225_H320Caps,
10772 &ett_h225_H321Caps,
10773 &ett_h225_H322Caps,
10774 &ett_h225_H323Caps,
10775 &ett_h225_H324Caps,
10776 &ett_h225_VoiceCaps,
10777 &ett_h225_T120OnlyCaps,
10778 &ett_h225_NonStandardProtocol,
10779 &ett_h225_T38FaxAnnexbOnlyCaps,
10780 &ett_h225_SIPCaps,
10781 &ett_h225_McuInfo,
10782 &ett_h225_TerminalInfo,
10783 &ett_h225_GatekeeperInfo,
10784 &ett_h225_VendorIdentifier,
10785 &ett_h225_H221NonStandard,
10786 &ett_h225_TunnelledProtocol,
10787 &ett_h225_TunnelledProtocol_id,
10788 &ett_h225_TunnelledProtocolAlternateIdentifier,
10789 &ett_h225_NonStandardParameter,
10790 &ett_h225_NonStandardIdentifier,
10791 &ett_h225_AliasAddress,
10792 &ett_h225_AddressPattern,
10793 &ett_h225_T_range,
10794 &ett_h225_PartyNumber,
10795 &ett_h225_PublicPartyNumber,
10796 &ett_h225_PrivatePartyNumber,
10797 &ett_h225_DisplayName,
10798 &ett_h225_PublicTypeOfNumber,
10799 &ett_h225_PrivateTypeOfNumber,
10800 &ett_h225_MobileUIM,
10801 &ett_h225_ANSI_41_UIM,
10802 &ett_h225_T_system_id,
10803 &ett_h225_GSM_UIM,
10804 &ett_h225_IsupNumber,
10805 &ett_h225_IsupPublicPartyNumber,
10806 &ett_h225_IsupPrivatePartyNumber,
10807 &ett_h225_NatureOfAddress,
10808 &ett_h225_ExtendedAliasAddress,
10809 &ett_h225_Endpoint,
10810 &ett_h225_SEQUENCE_OF_TransportAddress,
10811 &ett_h225_AlternateTransportAddresses,
10812 &ett_h225_UseSpecifiedTransport,
10813 &ett_h225_AlternateGK,
10814 &ett_h225_AltGKInfo,
10815 &ett_h225_SEQUENCE_OF_AlternateGK,
10816 &ett_h225_SecurityServiceMode,
10817 &ett_h225_SecurityCapabilities,
10818 &ett_h225_SecurityErrors,
10819 &ett_h225_SecurityErrors2,
10820 &ett_h225_H245Security,
10821 &ett_h225_QseriesOptions,
10822 &ett_h225_Q954Details,
10823 &ett_h225_CallIdentifier,
10824 &ett_h225_EncryptIntAlg,
10825 &ett_h225_NonIsoIntegrityMechanism,
10826 &ett_h225_IntegrityMechanism,
10827 &ett_h225_ICV,
10828 &ett_h225_CryptoH323Token,
10829 &ett_h225_T_cryptoEPPwdHash,
10830 &ett_h225_T_cryptoGKPwdHash,
10831 &ett_h225_DataRate,
10832 &ett_h225_CallLinkage,
10833 &ett_h225_SupportedPrefix,
10834 &ett_h225_CapacityReportingCapability,
10835 &ett_h225_CapacityReportingSpecification,
10836 &ett_h225_CapacityReportingSpecification_when,
10837 &ett_h225_CallCapacity,
10838 &ett_h225_CallCapacityInfo,
10839 &ett_h225_SEQUENCE_OF_CallsAvailable,
10840 &ett_h225_CallsAvailable,
10841 &ett_h225_CircuitInfo,
10842 &ett_h225_CircuitIdentifier,
10843 &ett_h225_CicInfo,
10844 &ett_h225_T_cic_2_4,
10845 &ett_h225_GroupID,
10846 &ett_h225_T_member,
10847 &ett_h225_CarrierInfo,
10848 &ett_h225_ServiceControlDescriptor,
10849 &ett_h225_ServiceControlSession,
10850 &ett_h225_ServiceControlSession_reason,
10851 &ett_h225_RasUsageInfoTypes,
10852 &ett_h225_RasUsageSpecification,
10853 &ett_h225_RasUsageSpecification_when,
10854 &ett_h225_RasUsageSpecificationcallStartingPoint,
10855 &ett_h225_RasUsageInformation,
10856 &ett_h225_CallTerminationCause,
10857 &ett_h225_BandwidthDetails,
10858 &ett_h225_CallCreditCapability,
10859 &ett_h225_CallCreditServiceControl,
10860 &ett_h225_T_billingMode,
10861 &ett_h225_CallCreditServiceControl_callStartingPoint,
10862 &ett_h225_GenericData,
10863 &ett_h225_SEQUENCE_SIZE_1_512_OF_EnumeratedParameter,
10864 &ett_h225_GenericIdentifier,
10865 &ett_h225_EnumeratedParameter,
10866 &ett_h225_Content,
10867 &ett_h225_SEQUENCE_SIZE_1_16_OF_GenericData,
10868 &ett_h225_FeatureSet,
10869 &ett_h225_TransportChannelInfo,
10870 &ett_h225_RTPSession,
10871 &ett_h225_T_associatedSessionIds,
10872 &ett_h225_RehomingModel,
10873 &ett_h225_RasMessage,
10874 &ett_h225_SEQUENCE_OF_AdmissionConfirm,
10875 &ett_h225_GatekeeperRequest,
10876 &ett_h225_SEQUENCE_OF_Endpoint,
10877 &ett_h225_SEQUENCE_OF_AuthenticationMechanism,
10878 &ett_h225_T_algorithmOIDs,
10879 &ett_h225_SEQUENCE_OF_IntegrityMechanism,
10880 &ett_h225_GatekeeperConfirm,
10881 &ett_h225_GatekeeperReject,
10882 &ett_h225_GatekeeperRejectReason,
10883 &ett_h225_RegistrationRequest,
10884 &ett_h225_SEQUENCE_OF_AddressPattern,
10885 &ett_h225_SEQUENCE_OF_H248PackagesDescriptor,
10886 &ett_h225_RegistrationConfirm,
10887 &ett_h225_T_preGrantedARQ,
10888 &ett_h225_SEQUENCE_OF_RasUsageSpecification,
10889 &ett_h225_RegistrationReject,
10890 &ett_h225_RegistrationRejectReason,
10891 &ett_h225_T_invalidTerminalAliases,
10892 &ett_h225_UnregistrationRequest,
10893 &ett_h225_UnregRequestReason,
10894 &ett_h225_UnregistrationConfirm,
10895 &ett_h225_UnregistrationReject,
10896 &ett_h225_UnregRejectReason,
10897 &ett_h225_AdmissionRequest,
10898 &ett_h225_DestinationInfo,
10899 &ett_h225_CallType,
10900 &ett_h225_CallModel,
10901 &ett_h225_TransportQOS,
10902 &ett_h225_SEQUENCE_SIZE_1_256_OF_QOSCapability,
10903 &ett_h225_AdmissionConfirm,
10904 &ett_h225_UUIEsRequested,
10905 &ett_h225_AdmissionReject,
10906 &ett_h225_AdmissionRejectReason,
10907 &ett_h225_SEQUENCE_OF_PartyNumber,
10908 &ett_h225_BandwidthRequest,
10909 &ett_h225_SEQUENCE_OF_BandwidthDetails,
10910 &ett_h225_BandwidthConfirm,
10911 &ett_h225_BandwidthReject,
10912 &ett_h225_BandRejectReason,
10913 &ett_h225_LocationRequest,
10914 &ett_h225_LocationConfirm,
10915 &ett_h225_LocationReject,
10916 &ett_h225_LocationRejectReason,
10917 &ett_h225_DisengageRequest,
10918 &ett_h225_DisengageReason,
10919 &ett_h225_DisengageConfirm,
10920 &ett_h225_DisengageReject,
10921 &ett_h225_DisengageRejectReason,
10922 &ett_h225_InfoRequest,
10923 &ett_h225_InfoRequestResponse,
10924 &ett_h225_T_perCallInfo,
10925 &ett_h225_T_perCallInfo_item,
10926 &ett_h225_SEQUENCE_OF_RTPSession,
10927 &ett_h225_SEQUENCE_OF_TransportChannelInfo,
10928 &ett_h225_SEQUENCE_OF_ConferenceIdentifier,
10929 &ett_h225_T_pdu,
10930 &ett_h225_T_pdu_item,
10931 &ett_h225_InfoRequestResponseStatus,
10932 &ett_h225_InfoRequestAck,
10933 &ett_h225_InfoRequestNak,
10934 &ett_h225_InfoRequestNakReason,
10935 &ett_h225_NonStandardMessage,
10936 &ett_h225_UnknownMessageResponse,
10937 &ett_h225_RequestInProgress,
10938 &ett_h225_ResourcesAvailableIndicate,
10939 &ett_h225_ResourcesAvailableConfirm,
10940 &ett_h225_ServiceControlIndication,
10941 &ett_h225_T_callSpecific,
10942 &ett_h225_ServiceControlResponse,
10943 &ett_h225_T_result,
10945 /*--- End of included file: packet-h225-ettarr.c ---*/
10946 #line 238 "../../asn1/h225/packet-h225-template.c"
10948 module_t *h225_module;
10950 /* Register protocol */
10951 proto_h225 = proto_register_protocol(PNAME, PSNAME, PFNAME);
10952 /* Register fields and subtrees */
10953 proto_register_field_array(proto_h225, hf, array_length(hf));
10954 proto_register_subtree_array(ett, array_length(ett));
10956 h225_module = prefs_register_protocol(proto_h225, proto_reg_handoff_h225);
10957 prefs_register_uint_preference(h225_module, "tls.port",
10958 "H.225 TLS Port",
10959 "H.225 Server TLS Port",
10960 10, &h225_tls_port);
10961 prefs_register_bool_preference(h225_module, "reassembly",
10962 "Reassemble H.225 messages spanning multiple TCP segments",
10963 "Whether the H.225 dissector should reassemble messages spanning multiple TCP segments."
10964 " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
10965 &h225_reassembly);
10966 prefs_register_bool_preference(h225_module, "h245_in_tree",
10967 "Display tunnelled H.245 inside H.225.0 tree",
10968 "ON - display tunnelled H.245 inside H.225.0 tree, OFF - display tunnelled H.245 in root tree after H.225.0",
10969 &h225_h245_in_tree);
10970 prefs_register_bool_preference(h225_module, "tp_in_tree",
10971 "Display tunnelled protocols inside H.225.0 tree",
10972 "ON - display tunnelled protocols inside H.225.0 tree, OFF - display tunnelled protocols in root tree after H.225.0",
10973 &h225_tp_in_tree);
10975 new_register_dissector("h225", dissect_h225_H323UserInformation, proto_h225);
10976 new_register_dissector("h323ui",dissect_h225_H323UserInformation, proto_h225);
10977 new_register_dissector("h225.ras", dissect_h225_h225_RasMessage, proto_h225);
10979 nsp_object_dissector_table = register_dissector_table("h225.nsp.object", "H.225 NonStandardParameter (object)", FT_STRING, BASE_NONE);
10980 nsp_h221_dissector_table = register_dissector_table("h225.nsp.h221", "H.225 NonStandardParameter (h221)", FT_UINT32, BASE_HEX);
10981 tp_dissector_table = register_dissector_table("h225.tp", "H.225 TunnelledProtocol", FT_STRING, BASE_NONE);
10982 gef_name_dissector_table = register_dissector_table("h225.gef.name", "H.225 Generic Extensible Framework (names)", FT_STRING, BASE_NONE);
10983 gef_content_dissector_table = register_dissector_table("h225.gef.content", "H.225 Generic Extensible Framework", FT_STRING, BASE_NONE);
10985 register_init_routine(&h225_init_routine);
10986 h225_tap = register_tap("h225");
10988 oid_add_from_string("Version 1","0.0.8.2250.0.1");
10989 oid_add_from_string("Version 2","0.0.8.2250.0.2");
10990 oid_add_from_string("Version 3","0.0.8.2250.0.3");
10991 oid_add_from_string("Version 4","0.0.8.2250.0.4");
10992 oid_add_from_string("Version 5","0.0.8.2250.0.5");
10993 oid_add_from_string("Version 6","0.0.8.2250.0.6");
10998 /*--- proto_reg_handoff_h225 ---------------------------------------*/
10999 void
11000 proto_reg_handoff_h225(void)
11002 static gboolean h225_prefs_initialized = FALSE;
11003 static dissector_handle_t h225ras_handle;
11004 static guint saved_h225_tls_port;
11006 if (!h225_prefs_initialized) {
11007 h225ras_handle=find_dissector("h225.ras");
11008 dissector_add_uint("udp.port", UDP_PORT_RAS1, h225ras_handle);
11009 dissector_add_uint("udp.port", UDP_PORT_RAS2, h225ras_handle);
11011 h245_handle = find_dissector("h245");
11012 h245dg_handle = find_dissector("h245dg");
11013 h4501_handle = find_dissector("h4501");
11014 data_handle = find_dissector("data");
11015 h225_prefs_initialized = TRUE;
11016 } else {
11017 ssl_dissector_delete(saved_h225_tls_port, "q931.tpkt", TRUE);
11020 saved_h225_tls_port = h225_tls_port;
11021 ssl_dissector_add(saved_h225_tls_port, "q931.tpkt", TRUE);
11025 static void reset_h225_packet_info(h225_packet_info *pi)
11027 if(pi == NULL) {
11028 return;
11031 pi->msg_type = H225_OTHERS;
11032 pi->cs_type = H225_OTHER;
11033 pi->msg_tag = -1;
11034 pi->reason = -1;
11035 pi->requestSeqNum = 0;
11036 memset(&pi->guid,0,sizeof pi->guid);
11037 pi->is_duplicate = FALSE;
11038 pi->request_available = FALSE;
11039 pi->is_faststart = FALSE;
11040 pi->is_h245 = FALSE;
11041 pi->is_h245Tunneling = FALSE;
11042 pi->h245_address = 0;
11043 pi->h245_port = 0;
11044 pi->frame_label[0] = '\0';
11045 pi->dialedDigits[0] = '\0';
11046 pi->is_destinationInfo = FALSE;
11050 The following function contains the routines for RAS request/response matching.
11051 A RAS response matches with a request, if both messages have the same
11052 RequestSequenceNumber, belong to the same IP conversation and belong to the same
11053 RAS "category" (e.g. Admission, Registration).
11055 We use hashtables to access the lists of RAS calls (request/response pairs).
11056 We have one hashtable for each RAS category. The hashkeys consist of the
11057 non-unique 16-bit RequestSequenceNumber and values representing the conversation.
11059 In big capture files, we might get different requests with identical keys.
11060 These requests aren't necessarily duplicates. They might be valid new requests.
11061 At the moment we just use the timedelta between the last valid and the new request
11062 to decide if the new request is a duplicate or not. There might be better ways.
11063 Two thresholds are defined below.
11065 However the decision is made, another problem arises. We can't just add those
11066 requests to our hashtables. Instead we create lists of RAS calls with identical keys.
11067 The hashtables for RAS calls contain now pointers to the first RAS call in a list of
11068 RAS calls with identical keys.
11069 These lists aren't expected to contain more than 3 items and are usually single item
11070 lists. So we don't need an expensive but intelligent way to access these lists
11071 (e.g. hashtables). Just walk through such a list.
11074 #define THRESHOLD_REPEATED_RESPONDED_CALL 300
11075 #define THRESHOLD_REPEATED_NOT_RESPONDED_CALL 1800
11077 static void ras_call_matching(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, h225_packet_info *pi)
11079 proto_item *hidden_item;
11080 conversation_t* conversation = NULL;
11081 h225ras_call_info_key h225ras_call_key;
11082 h225ras_call_t *h225ras_call = NULL;
11083 nstime_t delta;
11084 guint msg_category;
11086 if(pi->msg_type == H225_RAS && pi->msg_tag < 21) {
11087 /* make RAS request/response matching only for tags from 0 to 20 for now */
11089 msg_category = pi->msg_tag / 3;
11090 if(pi->msg_tag % 3 == 0) { /* Request Message */
11091 conversation = find_or_create_conversation(pinfo);
11093 /* prepare the key data */
11094 h225ras_call_key.reqSeqNum = pi->requestSeqNum;
11095 h225ras_call_key.conversation = conversation;
11097 /* look up the request */
11098 h225ras_call = find_h225ras_call(&h225ras_call_key ,msg_category);
11100 if (h225ras_call != NULL) {
11101 /* We've seen requests with this reqSeqNum, with the same
11102 source and destination, before - do we have
11103 *this* request already? */
11104 /* Walk through list of ras requests with identical keys */
11105 do {
11106 if (pinfo->fd->num == h225ras_call->req_num) {
11107 /* We have seen this request before -> do nothing */
11108 break;
11111 /* if end of list is reached, exit loop and decide if request is duplicate or not. */
11112 if (h225ras_call->next_call == NULL) {
11113 if ( (pinfo->fd->num > h225ras_call->rsp_num && h225ras_call->rsp_num != 0
11114 && pinfo->fd->abs_ts.secs > (h225ras_call->req_time.secs + THRESHOLD_REPEATED_RESPONDED_CALL) )
11115 ||(pinfo->fd->num > h225ras_call->req_num && h225ras_call->rsp_num == 0
11116 && pinfo->fd->abs_ts.secs > (h225ras_call->req_time.secs + THRESHOLD_REPEATED_NOT_RESPONDED_CALL) ) )
11118 /* if last request has been responded
11119 and this request appears after last response (has bigger frame number)
11120 and last request occurred more than 300 seconds ago,
11121 or if last request hasn't been responded
11122 and this request appears after last request (has bigger frame number)
11123 and last request occurred more than 1800 seconds ago,
11124 we decide that we have a new request */
11125 /* Append new ras call to list */
11126 h225ras_call = append_h225ras_call(h225ras_call, pinfo, &pi->guid, msg_category);
11127 } else {
11128 /* No, so it's a duplicate request.
11129 Mark it as such. */
11130 pi->is_duplicate = TRUE;
11131 hidden_item = proto_tree_add_uint(tree, hf_h225_ras_dup, tvb, 0,0, pi->requestSeqNum);
11132 PROTO_ITEM_SET_HIDDEN(hidden_item);
11134 break;
11136 h225ras_call = h225ras_call->next_call;
11137 } while (h225ras_call != NULL );
11139 else {
11140 h225ras_call = new_h225ras_call(&h225ras_call_key, pinfo, &pi->guid, msg_category);
11143 /* add link to response frame, if available */
11144 if(h225ras_call && h225ras_call->rsp_num != 0){
11145 proto_item *ti =
11146 proto_tree_add_uint_format(tree, hf_h225_ras_rsp_frame, tvb, 0, 0, h225ras_call->rsp_num,
11147 "The response to this request is in frame %u",
11148 h225ras_call->rsp_num);
11149 PROTO_ITEM_SET_GENERATED(ti);
11152 /* end of request message handling*/
11154 else { /* Confirm or Reject Message */
11155 conversation = find_conversation(pinfo->fd->num, &pinfo->src,
11156 &pinfo->dst, pinfo->ptype, pinfo->srcport,
11157 pinfo->destport, 0);
11158 if (conversation != NULL) {
11159 /* look only for matching request, if
11160 matching conversation is available. */
11161 h225ras_call_key.reqSeqNum = pi->requestSeqNum;
11162 h225ras_call_key.conversation = conversation;
11163 h225ras_call = find_h225ras_call(&h225ras_call_key ,msg_category);
11164 if(h225ras_call) {
11165 /* find matching ras_call in list of ras calls with identical keys */
11166 do {
11167 if (pinfo->fd->num == h225ras_call->rsp_num) {
11168 /* We have seen this response before -> stop now with matching ras call */
11169 break;
11172 /* Break when list end is reached */
11173 if(h225ras_call->next_call == NULL) {
11174 break;
11176 h225ras_call = h225ras_call->next_call;
11177 } while (h225ras_call != NULL) ;
11179 if (!h225ras_call) {
11180 return;
11183 /* if this is an ACF, ARJ or DCF, DRJ, give guid to tap and make it filterable */
11184 if (msg_category == 3 || msg_category == 5) {
11185 pi->guid = h225ras_call->guid;
11186 hidden_item = proto_tree_add_guid(tree, hf_h225_guid, tvb, 0, GUID_LEN, &pi->guid);
11187 PROTO_ITEM_SET_HIDDEN(hidden_item);
11190 if (h225ras_call->rsp_num == 0) {
11191 /* We have not yet seen a response to that call, so
11192 this must be the first response; remember its
11193 frame number. */
11194 h225ras_call->rsp_num = pinfo->fd->num;
11196 else {
11197 /* We have seen a response to this call - but was it
11198 *this* response? */
11199 if (h225ras_call->rsp_num != pinfo->fd->num) {
11200 /* No, so it's a duplicate response.
11201 Mark it as such. */
11202 pi->is_duplicate = TRUE;
11203 hidden_item = proto_tree_add_uint(tree, hf_h225_ras_dup, tvb, 0,0, pi->requestSeqNum);
11204 PROTO_ITEM_SET_HIDDEN(hidden_item);
11208 if(h225ras_call->req_num != 0){
11209 proto_item *ti;
11210 h225ras_call->responded = TRUE;
11211 pi->request_available = TRUE;
11213 /* Indicate the frame to which this is a reply. */
11214 ti = proto_tree_add_uint_format(tree, hf_h225_ras_req_frame, tvb, 0, 0, h225ras_call->req_num,
11215 "This is a response to a request in frame %u", h225ras_call->req_num);
11216 PROTO_ITEM_SET_GENERATED(ti);
11218 /* Calculate RAS Service Response Time */
11219 nstime_delta(&delta, &pinfo->fd->abs_ts, &h225ras_call->req_time);
11220 pi->delta_time = delta; /* give it to tap */
11222 /* display Ras Service Response Time and make it filterable */
11223 ti = proto_tree_add_time(tree, hf_h225_ras_deltatime, tvb, 0, 0, &(pi->delta_time));
11224 PROTO_ITEM_SET_GENERATED(ti);