Trivial warning fixes
[obnox/wireshark/wip.git] / epan / dissectors / packet-h225.c
1 /* Do not modify this file.                                                   */
2 /* It is created automatically by the ASN.1 to Wireshark dissector compiler   */
3 /* packet-h225.c                                                              */
4 /* ../../tools/asn2wrs.py -e -p h225 -c h225.cnf -s packet-h225-template H323-MESSAGES.asn */
5
6 /* Input file: packet-h225-template.c */
7
8 #line 1 "packet-h225-template.c"
9 /* packet-h225.c
10  * Routines for h225 packet dissection
11  * Copyright 2005, Anders Broman <anders.broman@ericsson.com>
12  *
13  * $Id$
14  *
15  * Wireshark - Network traffic analyzer
16  * By Gerald Combs <gerald@wireshark.org>
17  * Copyright 1998 Gerald Combs
18  *
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.
23  *
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.
28  *
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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
32  *
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.
40  *
41  */
42
43 #ifdef HAVE_CONFIG_H
44 # include "config.h"
45 #endif
46
47 #include <glib.h>
48 #include <epan/packet.h>
49 #include <epan/conversation.h>
50
51 #include <stdio.h>
52 #include <string.h>
53
54 #include <epan/prefs.h>
55 #include <epan/oids.h>
56 #include <epan/next_tvb.h>
57 #include <epan/asn1.h>
58 #include "tap.h"
59 #include "packet-tpkt.h"
60 #include "packet-per.h"
61 #include "packet-h225.h"
62 #include <epan/t35.h>
63 #include <epan/h225-persistentdata.h>
64 #include "packet-h235.h"
65 #include "packet-h245.h"
66 #include "packet-h323.h"
67 #include "packet-q931.h"
68 #include "packet-ssl.h"
69
70
71 #define PNAME  "H323-MESSAGES"
72 #define PSNAME "H.225.0"
73 #define PFNAME "h225"
74
75 #define UDP_PORT_RAS1 1718
76 #define UDP_PORT_RAS2 1719
77 #define TCP_PORT_CS   1720
78 #define TLS_PORT_CS   1300
79
80 static void reset_h225_packet_info(h225_packet_info *pi);
81 static void ras_call_matching(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, h225_packet_info *pi);
82 static int dissect_h225_H323UserInformation(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
83
84 static h225_packet_info pi_arr[5]; /* We assuming a maximum of 5 H225 messaages per packet */
85 static int pi_current=0;
86 h225_packet_info *h225_pi=&pi_arr[0];
87
88 static dissector_handle_t data_handle;
89 /* Subdissector tables */
90 static dissector_table_t nsp_object_dissector_table;
91 static dissector_table_t nsp_h221_dissector_table;
92 static dissector_table_t tp_dissector_table;
93 static dissector_table_t gef_name_dissector_table;
94 static dissector_table_t gef_content_dissector_table;
95
96
97 static dissector_handle_t h245_handle=NULL;
98 static dissector_handle_t h245dg_handle=NULL;
99 static dissector_handle_t h4501_handle=NULL;
100
101 static dissector_handle_t nsp_handle;
102 static dissector_handle_t tp_handle;
103
104 static next_tvb_list_t h245_list;
105 static next_tvb_list_t tp_list;
106
107 /* Initialize the protocol and registered fields */
108 static int h225_tap = -1;
109 static int proto_h225 = -1;
110
111 static int hf_h221Manufacturer = -1;
112 static int hf_h225_ras_req_frame = -1;
113 static int hf_h225_ras_rsp_frame = -1;
114 static int hf_h225_ras_dup = -1;
115 static int hf_h225_ras_deltatime = -1;
116
117
118 /*--- Included file: packet-h225-hf.c ---*/
119 #line 1 "packet-h225-hf.c"
120 static int hf_h225_H323_UserInformation_PDU = -1;  /* H323_UserInformation */
121 static int hf_h225_h225_ExtendedAliasAddress_PDU = -1;  /* ExtendedAliasAddress */
122 static int hf_h225_RasMessage_PDU = -1;           /* RasMessage */
123 static int hf_h225_h323_uu_pdu = -1;              /* H323_UU_PDU */
124 static int hf_h225_user_data = -1;                /* T_user_data */
125 static int hf_h225_protocol_discriminator = -1;   /* INTEGER_0_255 */
126 static int hf_h225_user_information = -1;         /* OCTET_STRING_SIZE_1_131 */
127 static int hf_h225_h323_message_body = -1;        /* T_h323_message_body */
128 static int hf_h225_setup = -1;                    /* Setup_UUIE */
129 static int hf_h225_callProceeding = -1;           /* CallProceeding_UUIE */
130 static int hf_h225_connect = -1;                  /* Connect_UUIE */
131 static int hf_h225_alerting = -1;                 /* Alerting_UUIE */
132 static int hf_h225_information = -1;              /* Information_UUIE */
133 static int hf_h225_releaseComplete = -1;          /* ReleaseComplete_UUIE */
134 static int hf_h225_facility = -1;                 /* Facility_UUIE */
135 static int hf_h225_progress = -1;                 /* Progress_UUIE */
136 static int hf_h225_empty_flg = -1;                /* T_empty_flg */
137 static int hf_h225_status = -1;                   /* Status_UUIE */
138 static int hf_h225_statusInquiry = -1;            /* StatusInquiry_UUIE */
139 static int hf_h225_setupAcknowledge = -1;         /* SetupAcknowledge_UUIE */
140 static int hf_h225_notify = -1;                   /* Notify_UUIE */
141 static int hf_h225_nonStandardData = -1;          /* NonStandardParameter */
142 static int hf_h225_h4501SupplementaryService = -1;  /* T_h4501SupplementaryService */
143 static int hf_h225_h4501SupplementaryService_item = -1;  /* T_h4501SupplementaryService_item */
144 static int hf_h225_h245Tunneling = -1;            /* T_h245Tunneling */
145 static int hf_h225_H245Control_item = -1;         /* H245Control_item */
146 static int hf_h225_h245Control = -1;              /* H245Control */
147 static int hf_h225_nonStandardControl = -1;       /* SEQUENCE_OF_NonStandardParameter */
148 static int hf_h225_nonStandardControl_item = -1;  /* NonStandardParameter */
149 static int hf_h225_callLinkage = -1;              /* CallLinkage */
150 static int hf_h225_tunnelledSignallingMessage = -1;  /* T_tunnelledSignallingMessage */
151 static int hf_h225_tunnelledProtocolID = -1;      /* TunnelledProtocol */
152 static int hf_h225_messageContent = -1;           /* T_messageContent */
153 static int hf_h225_messageContent_item = -1;      /* T_messageContent_item */
154 static int hf_h225_tunnellingRequired = -1;       /* NULL */
155 static int hf_h225_provisionalRespToH245Tunneling = -1;  /* NULL */
156 static int hf_h225_stimulusControl = -1;          /* StimulusControl */
157 static int hf_h225_genericData = -1;              /* SEQUENCE_OF_GenericData */
158 static int hf_h225_genericData_item = -1;         /* GenericData */
159 static int hf_h225_nonStandard = -1;              /* NonStandardParameter */
160 static int hf_h225_isText = -1;                   /* NULL */
161 static int hf_h225_h248Message = -1;              /* OCTET_STRING */
162 static int hf_h225_protocolIdentifier = -1;       /* ProtocolIdentifier */
163 static int hf_h225_uUIE_destinationInfo = -1;     /* EndpointType */
164 static int hf_h225_h245Address = -1;              /* H245TransportAddress */
165 static int hf_h225_callIdentifier = -1;           /* CallIdentifier */
166 static int hf_h225_h245SecurityMode = -1;         /* H245Security */
167 static int hf_h225_tokens = -1;                   /* SEQUENCE_OF_ClearToken */
168 static int hf_h225_tokens_item = -1;              /* ClearToken */
169 static int hf_h225_cryptoTokens = -1;             /* SEQUENCE_OF_CryptoH323Token */
170 static int hf_h225_cryptoTokens_item = -1;        /* CryptoH323Token */
171 static int hf_h225_fastStart = -1;                /* FastStart */
172 static int hf_h225_multipleCalls = -1;            /* BOOLEAN */
173 static int hf_h225_maintainConnection = -1;       /* BOOLEAN */
174 static int hf_h225_alertingAddress = -1;          /* SEQUENCE_OF_AliasAddress */
175 static int hf_h225_alertingAddress_item = -1;     /* AliasAddress */
176 static int hf_h225_presentationIndicator = -1;    /* PresentationIndicator */
177 static int hf_h225_screeningIndicator = -1;       /* ScreeningIndicator */
178 static int hf_h225_fastConnectRefused = -1;       /* NULL */
179 static int hf_h225_serviceControl = -1;           /* SEQUENCE_OF_ServiceControlSession */
180 static int hf_h225_serviceControl_item = -1;      /* ServiceControlSession */
181 static int hf_h225_capacity = -1;                 /* CallCapacity */
182 static int hf_h225_featureSet = -1;               /* FeatureSet */
183 static int hf_h225_conferenceID = -1;             /* ConferenceIdentifier */
184 static int hf_h225_language = -1;                 /* Language */
185 static int hf_h225_connectedAddress = -1;         /* SEQUENCE_OF_AliasAddress */
186 static int hf_h225_connectedAddress_item = -1;    /* AliasAddress */
187 static int hf_h225_circuitInfo = -1;              /* CircuitInfo */
188 static int hf_h225_releaseCompleteReason = -1;    /* ReleaseCompleteReason */
189 static int hf_h225_busyAddress = -1;              /* SEQUENCE_OF_AliasAddress */
190 static int hf_h225_busyAddress_item = -1;         /* AliasAddress */
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_dialedDigits = -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_internationalNumber = -1;      /* NULL */
397 static int hf_h225_nationalNumber = -1;           /* NULL */
398 static int hf_h225_networkSpecificNumber = -1;    /* NULL */
399 static int hf_h225_subscriberNumber = -1;         /* NULL */
400 static int hf_h225_abbreviatedNumber = -1;        /* NULL */
401 static int hf_h225_level2RegionalNumber = -1;     /* NULL */
402 static int hf_h225_level1RegionalNumber = -1;     /* NULL */
403 static int hf_h225_pISNSpecificNumber = -1;       /* NULL */
404 static int hf_h225_localNumber = -1;              /* NULL */
405 static int hf_h225_ansi_41_uim = -1;              /* ANSI_41_UIM */
406 static int hf_h225_gsm_uim = -1;                  /* GSM_UIM */
407 static int hf_h225_imsi = -1;                     /* TBCD_STRING_SIZE_3_16 */
408 static int hf_h225_min = -1;                      /* TBCD_STRING_SIZE_3_16 */
409 static int hf_h225_mdn = -1;                      /* TBCD_STRING_SIZE_3_16 */
410 static int hf_h225_msisdn = -1;                   /* TBCD_STRING_SIZE_3_16 */
411 static int hf_h225_esn = -1;                      /* TBCD_STRING_SIZE_16 */
412 static int hf_h225_mscid = -1;                    /* TBCD_STRING_SIZE_3_16 */
413 static int hf_h225_system_id = -1;                /* T_system_id */
414 static int hf_h225_sid = -1;                      /* TBCD_STRING_SIZE_1_4 */
415 static int hf_h225_mid = -1;                      /* TBCD_STRING_SIZE_1_4 */
416 static int hf_h225_systemMyTypeCode = -1;         /* OCTET_STRING_SIZE_1 */
417 static int hf_h225_systemAccessType = -1;         /* OCTET_STRING_SIZE_1 */
418 static int hf_h225_qualificationInformationCode = -1;  /* OCTET_STRING_SIZE_1 */
419 static int hf_h225_sesn = -1;                     /* TBCD_STRING_SIZE_16 */
420 static int hf_h225_soc = -1;                      /* TBCD_STRING_SIZE_3_16 */
421 static int hf_h225_tmsi = -1;                     /* OCTET_STRING_SIZE_1_4 */
422 static int hf_h225_imei = -1;                     /* TBCD_STRING_SIZE_15_16 */
423 static int hf_h225_hplmn = -1;                    /* TBCD_STRING_SIZE_1_4 */
424 static int hf_h225_vplmn = -1;                    /* TBCD_STRING_SIZE_1_4 */
425 static int hf_h225_isupE164Number = -1;           /* IsupPublicPartyNumber */
426 static int hf_h225_isupDataPartyNumber = -1;      /* IsupDigits */
427 static int hf_h225_isupTelexPartyNumber = -1;     /* IsupDigits */
428 static int hf_h225_isupPrivateNumber = -1;        /* IsupPrivatePartyNumber */
429 static int hf_h225_isupNationalStandardPartyNumber = -1;  /* IsupDigits */
430 static int hf_h225_natureOfAddress = -1;          /* NatureOfAddress */
431 static int hf_h225_address = -1;                  /* IsupDigits */
432 static int hf_h225_routingNumberNationalFormat = -1;  /* NULL */
433 static int hf_h225_routingNumberNetworkSpecificFormat = -1;  /* NULL */
434 static int hf_h225_routingNumberWithCalledDirectoryNumber = -1;  /* NULL */
435 static int hf_h225_extAliasAddress = -1;          /* AliasAddress */
436 static int hf_h225_aliasAddress = -1;             /* SEQUENCE_OF_AliasAddress */
437 static int hf_h225_aliasAddress_item = -1;        /* AliasAddress */
438 static int hf_h225_callSignalAddress = -1;        /* SEQUENCE_OF_TransportAddress */
439 static int hf_h225_callSignalAddress_item = -1;   /* TransportAddress */
440 static int hf_h225_rasAddress = -1;               /* SEQUENCE_OF_TransportAddress */
441 static int hf_h225_rasAddress_item = -1;          /* TransportAddress */
442 static int hf_h225_endpointType = -1;             /* EndpointType */
443 static int hf_h225_priority = -1;                 /* INTEGER_0_127 */
444 static int hf_h225_remoteExtensionAddress = -1;   /* SEQUENCE_OF_AliasAddress */
445 static int hf_h225_remoteExtensionAddress_item = -1;  /* AliasAddress */
446 static int hf_h225_alternateTransportAddresses = -1;  /* AlternateTransportAddresses */
447 static int hf_h225_annexE = -1;                   /* SEQUENCE_OF_TransportAddress */
448 static int hf_h225_annexE_item = -1;              /* TransportAddress */
449 static int hf_h225_sctp = -1;                     /* SEQUENCE_OF_TransportAddress */
450 static int hf_h225_sctp_item = -1;                /* TransportAddress */
451 static int hf_h225_tcp = -1;                      /* NULL */
452 static int hf_h225_annexE_flg = -1;               /* NULL */
453 static int hf_h225_sctp_flg = -1;                 /* NULL */
454 static int hf_h225_alternateGK_rasAddress = -1;   /* TransportAddress */
455 static int hf_h225_gatekeeperIdentifier = -1;     /* GatekeeperIdentifier */
456 static int hf_h225_needToRegister = -1;           /* BOOLEAN */
457 static int hf_h225_alternateGatekeeper = -1;      /* SEQUENCE_OF_AlternateGK */
458 static int hf_h225_alternateGatekeeper_item = -1;  /* AlternateGK */
459 static int hf_h225_altGKisPermanent = -1;         /* BOOLEAN */
460 static int hf_h225_default = -1;                  /* NULL */
461 static int hf_h225_encryption = -1;               /* SecurityServiceMode */
462 static int hf_h225_authenticaton = -1;            /* SecurityServiceMode */
463 static int hf_h225_securityCapabilities_integrity = -1;  /* SecurityServiceMode */
464 static int hf_h225_securityWrongSyncTime = -1;    /* NULL */
465 static int hf_h225_securityReplay = -1;           /* NULL */
466 static int hf_h225_securityWrongGeneralID = -1;   /* NULL */
467 static int hf_h225_securityWrongSendersID = -1;   /* NULL */
468 static int hf_h225_securityIntegrityFailed = -1;  /* NULL */
469 static int hf_h225_securityWrongOID = -1;         /* NULL */
470 static int hf_h225_securityDHmismatch = -1;       /* NULL */
471 static int hf_h225_securityCertificateExpired = -1;  /* NULL */
472 static int hf_h225_securityCertificateDateInvalid = -1;  /* NULL */
473 static int hf_h225_securityCertificateRevoked = -1;  /* NULL */
474 static int hf_h225_securityCertificateNotReadable = -1;  /* NULL */
475 static int hf_h225_securityCertificateSignatureInvalid = -1;  /* NULL */
476 static int hf_h225_securityCertificateMissing = -1;  /* NULL */
477 static int hf_h225_securityCertificateIncomplete = -1;  /* NULL */
478 static int hf_h225_securityUnsupportedCertificateAlgOID = -1;  /* NULL */
479 static int hf_h225_securityUnknownCA = -1;        /* NULL */
480 static int hf_h225_noSecurity = -1;               /* NULL */
481 static int hf_h225_tls = -1;                      /* SecurityCapabilities */
482 static int hf_h225_ipsec = -1;                    /* SecurityCapabilities */
483 static int hf_h225_q932Full = -1;                 /* BOOLEAN */
484 static int hf_h225_q951Full = -1;                 /* BOOLEAN */
485 static int hf_h225_q952Full = -1;                 /* BOOLEAN */
486 static int hf_h225_q953Full = -1;                 /* BOOLEAN */
487 static int hf_h225_q955Full = -1;                 /* BOOLEAN */
488 static int hf_h225_q956Full = -1;                 /* BOOLEAN */
489 static int hf_h225_q957Full = -1;                 /* BOOLEAN */
490 static int hf_h225_q954Info = -1;                 /* Q954Details */
491 static int hf_h225_conferenceCalling = -1;        /* BOOLEAN */
492 static int hf_h225_threePartyService = -1;        /* BOOLEAN */
493 static int hf_h225_guid = -1;                     /* T_guid */
494 static int hf_h225_isoAlgorithm = -1;             /* OBJECT_IDENTIFIER */
495 static int hf_h225_hMAC_MD5 = -1;                 /* NULL */
496 static int hf_h225_hMAC_iso10118_2_s = -1;        /* EncryptIntAlg */
497 static int hf_h225_hMAC_iso10118_2_l = -1;        /* EncryptIntAlg */
498 static int hf_h225_hMAC_iso10118_3 = -1;          /* OBJECT_IDENTIFIER */
499 static int hf_h225_digSig = -1;                   /* NULL */
500 static int hf_h225_iso9797 = -1;                  /* OBJECT_IDENTIFIER */
501 static int hf_h225_nonIsoIM = -1;                 /* NonIsoIntegrityMechanism */
502 static int hf_h225_algorithmOID = -1;             /* OBJECT_IDENTIFIER */
503 static int hf_h225_icv = -1;                      /* BIT_STRING */
504 static int hf_h225_cryptoEPPwdHash = -1;          /* T_cryptoEPPwdHash */
505 static int hf_h225_alias = -1;                    /* AliasAddress */
506 static int hf_h225_timeStamp = -1;                /* TimeStamp */
507 static int hf_h225_token = -1;                    /* HASHED */
508 static int hf_h225_cryptoGKPwdHash = -1;          /* T_cryptoGKPwdHash */
509 static int hf_h225_gatekeeperId = -1;             /* GatekeeperIdentifier */
510 static int hf_h225_cryptoEPPwdEncr = -1;          /* ENCRYPTED */
511 static int hf_h225_cryptoGKPwdEncr = -1;          /* ENCRYPTED */
512 static int hf_h225_cryptoEPCert = -1;             /* SIGNED */
513 static int hf_h225_cryptoGKCert = -1;             /* SIGNED */
514 static int hf_h225_cryptoFastStart = -1;          /* SIGNED */
515 static int hf_h225_nestedcryptoToken = -1;        /* CryptoToken */
516 static int hf_h225_channelRate = -1;              /* BandWidth */
517 static int hf_h225_channelMultiplier = -1;        /* INTEGER_1_256 */
518 static int hf_h225_globalCallId = -1;             /* GloballyUniqueID */
519 static int hf_h225_threadId = -1;                 /* GloballyUniqueID */
520 static int hf_h225_prefix = -1;                   /* AliasAddress */
521 static int hf_h225_canReportCallCapacity = -1;    /* BOOLEAN */
522 static int hf_h225_capacityReportingSpecification_when = -1;  /* CapacityReportingSpecification_when */
523 static int hf_h225_callStart = -1;                /* NULL */
524 static int hf_h225_callEnd = -1;                  /* NULL */
525 static int hf_h225_maximumCallCapacity = -1;      /* CallCapacityInfo */
526 static int hf_h225_currentCallCapacity = -1;      /* CallCapacityInfo */
527 static int hf_h225_voiceGwCallsAvailable = -1;    /* SEQUENCE_OF_CallsAvailable */
528 static int hf_h225_voiceGwCallsAvailable_item = -1;  /* CallsAvailable */
529 static int hf_h225_h310GwCallsAvailable = -1;     /* SEQUENCE_OF_CallsAvailable */
530 static int hf_h225_h310GwCallsAvailable_item = -1;  /* CallsAvailable */
531 static int hf_h225_h320GwCallsAvailable = -1;     /* SEQUENCE_OF_CallsAvailable */
532 static int hf_h225_h320GwCallsAvailable_item = -1;  /* CallsAvailable */
533 static int hf_h225_h321GwCallsAvailable = -1;     /* SEQUENCE_OF_CallsAvailable */
534 static int hf_h225_h321GwCallsAvailable_item = -1;  /* CallsAvailable */
535 static int hf_h225_h322GwCallsAvailable = -1;     /* SEQUENCE_OF_CallsAvailable */
536 static int hf_h225_h322GwCallsAvailable_item = -1;  /* CallsAvailable */
537 static int hf_h225_h323GwCallsAvailable = -1;     /* SEQUENCE_OF_CallsAvailable */
538 static int hf_h225_h323GwCallsAvailable_item = -1;  /* CallsAvailable */
539 static int hf_h225_h324GwCallsAvailable = -1;     /* SEQUENCE_OF_CallsAvailable */
540 static int hf_h225_h324GwCallsAvailable_item = -1;  /* CallsAvailable */
541 static int hf_h225_t120OnlyGwCallsAvailable = -1;  /* SEQUENCE_OF_CallsAvailable */
542 static int hf_h225_t120OnlyGwCallsAvailable_item = -1;  /* CallsAvailable */
543 static int hf_h225_t38FaxAnnexbOnlyGwCallsAvailable = -1;  /* SEQUENCE_OF_CallsAvailable */
544 static int hf_h225_t38FaxAnnexbOnlyGwCallsAvailable_item = -1;  /* CallsAvailable */
545 static int hf_h225_terminalCallsAvailable = -1;   /* SEQUENCE_OF_CallsAvailable */
546 static int hf_h225_terminalCallsAvailable_item = -1;  /* CallsAvailable */
547 static int hf_h225_mcuCallsAvailable = -1;        /* SEQUENCE_OF_CallsAvailable */
548 static int hf_h225_mcuCallsAvailable_item = -1;   /* CallsAvailable */
549 static int hf_h225_sipGwCallsAvailable = -1;      /* SEQUENCE_OF_CallsAvailable */
550 static int hf_h225_sipGwCallsAvailable_item = -1;  /* CallsAvailable */
551 static int hf_h225_calls = -1;                    /* INTEGER_0_4294967295 */
552 static int hf_h225_group_IA5String = -1;          /* IA5String_SIZE_1_128 */
553 static int hf_h225_carrier = -1;                  /* CarrierInfo */
554 static int hf_h225_sourceCircuitID = -1;          /* CircuitIdentifier */
555 static int hf_h225_destinationCircuitID = -1;     /* CircuitIdentifier */
556 static int hf_h225_cic = -1;                      /* CicInfo */
557 static int hf_h225_group = -1;                    /* GroupID */
558 static int hf_h225_cic_2_4 = -1;                  /* T_cic_2_4 */
559 static int hf_h225_cic_2_4_item = -1;             /* OCTET_STRING_SIZE_2_4 */
560 static int hf_h225_pointCode = -1;                /* OCTET_STRING_SIZE_2_5 */
561 static int hf_h225_member = -1;                   /* T_member */
562 static int hf_h225_member_item = -1;              /* INTEGER_0_65535 */
563 static int hf_h225_carrierIdentificationCode = -1;  /* OCTET_STRING_SIZE_3_4 */
564 static int hf_h225_carrierName = -1;              /* IA5String_SIZE_1_128 */
565 static int hf_h225_url = -1;                      /* IA5String_SIZE_0_512 */
566 static int hf_h225_signal = -1;                   /* H248SignalsDescriptor */
567 static int hf_h225_callCreditServiceControl = -1;  /* CallCreditServiceControl */
568 static int hf_h225_sessionId_0_255 = -1;          /* INTEGER_0_255 */
569 static int hf_h225_contents = -1;                 /* ServiceControlDescriptor */
570 static int hf_h225_reason = -1;                   /* ServiceControlSession_reason */
571 static int hf_h225_open = -1;                     /* NULL */
572 static int hf_h225_refresh = -1;                  /* NULL */
573 static int hf_h225_close = -1;                    /* NULL */
574 static int hf_h225_nonStandardUsageTypes = -1;    /* SEQUENCE_OF_NonStandardParameter */
575 static int hf_h225_nonStandardUsageTypes_item = -1;  /* NonStandardParameter */
576 static int hf_h225_startTime = -1;                /* NULL */
577 static int hf_h225_endTime_flg = -1;              /* NULL */
578 static int hf_h225_terminationCause_flg = -1;     /* NULL */
579 static int hf_h225_when = -1;                     /* RasUsageSpecification_when */
580 static int hf_h225_start = -1;                    /* NULL */
581 static int hf_h225_end = -1;                      /* NULL */
582 static int hf_h225_inIrr = -1;                    /* NULL */
583 static int hf_h225_ras_callStartingPoint = -1;    /* RasUsageSpecificationcallStartingPoint */
584 static int hf_h225_alerting_flg = -1;             /* NULL */
585 static int hf_h225_connect_flg = -1;              /* NULL */
586 static int hf_h225_required = -1;                 /* RasUsageInfoTypes */
587 static int hf_h225_nonStandardUsageFields = -1;   /* SEQUENCE_OF_NonStandardParameter */
588 static int hf_h225_nonStandardUsageFields_item = -1;  /* NonStandardParameter */
589 static int hf_h225_alertingTime = -1;             /* TimeStamp */
590 static int hf_h225_connectTime = -1;              /* TimeStamp */
591 static int hf_h225_endTime = -1;                  /* TimeStamp */
592 static int hf_h225_releaseCompleteCauseIE = -1;   /* OCTET_STRING_SIZE_2_32 */
593 static int hf_h225_sender = -1;                   /* BOOLEAN */
594 static int hf_h225_multicast = -1;                /* BOOLEAN */
595 static int hf_h225_bandwidth = -1;                /* BandWidth */
596 static int hf_h225_rtcpAddresses = -1;            /* TransportChannelInfo */
597 static int hf_h225_canDisplayAmountString = -1;   /* BOOLEAN */
598 static int hf_h225_canEnforceDurationLimit = -1;  /* BOOLEAN */
599 static int hf_h225_amountString = -1;             /* BMPString_SIZE_1_512 */
600 static int hf_h225_billingMode = -1;              /* T_billingMode */
601 static int hf_h225_credit = -1;                   /* NULL */
602 static int hf_h225_debit = -1;                    /* NULL */
603 static int hf_h225_callDurationLimit = -1;        /* INTEGER_1_4294967295 */
604 static int hf_h225_enforceCallDurationLimit = -1;  /* BOOLEAN */
605 static int hf_h225_callStartingPoint = -1;        /* CallCreditServiceControl_callStartingPoint */
606 static int hf_h225_id = -1;                       /* GenericIdentifier */
607 static int hf_h225_parameters = -1;               /* T_parameters */
608 static int hf_h225_parameters_item = -1;          /* T_parameters_item */
609 static int hf_h225_standard = -1;                 /* T_standard */
610 static int hf_h225_oid = -1;                      /* T_oid */
611 static int hf_h225_genericIdentifier_nonStandard = -1;  /* GloballyUniqueID */
612 static int hf_h225_content = -1;                  /* Content */
613 static int hf_h225_raw = -1;                      /* OCTET_STRING */
614 static int hf_h225_text = -1;                     /* IA5String */
615 static int hf_h225_unicode = -1;                  /* BMPString */
616 static int hf_h225_bool = -1;                     /* BOOLEAN */
617 static int hf_h225_number8 = -1;                  /* INTEGER_0_255 */
618 static int hf_h225_number16 = -1;                 /* INTEGER_0_65535 */
619 static int hf_h225_number32 = -1;                 /* INTEGER_0_4294967295 */
620 static int hf_h225_transport = -1;                /* TransportAddress */
621 static int hf_h225_compound = -1;                 /* SEQUENCE_SIZE_1_512_OF_EnumeratedParameter */
622 static int hf_h225_compound_item = -1;            /* EnumeratedParameter */
623 static int hf_h225_nested = -1;                   /* SEQUENCE_SIZE_1_16_OF_GenericData */
624 static int hf_h225_nested_item = -1;              /* GenericData */
625 static int hf_h225_replacementFeatureSet = -1;    /* BOOLEAN */
626 static int hf_h225_sendAddress = -1;              /* TransportAddress */
627 static int hf_h225_recvAddress = -1;              /* TransportAddress */
628 static int hf_h225_rtpAddress = -1;               /* TransportChannelInfo */
629 static int hf_h225_rtcpAddress = -1;              /* TransportChannelInfo */
630 static int hf_h225_cname = -1;                    /* PrintableString */
631 static int hf_h225_ssrc = -1;                     /* INTEGER_1_4294967295 */
632 static int hf_h225_sessionId = -1;                /* INTEGER_1_255 */
633 static int hf_h225_associatedSessionIds = -1;     /* T_associatedSessionIds */
634 static int hf_h225_associatedSessionIds_item = -1;  /* INTEGER_1_255 */
635 static int hf_h225_multicast_flg = -1;            /* NULL */
636 static int hf_h225_gatekeeperBased = -1;          /* NULL */
637 static int hf_h225_endpointBased = -1;            /* NULL */
638 static int hf_h225_gatekeeperRequest = -1;        /* GatekeeperRequest */
639 static int hf_h225_gatekeeperConfirm = -1;        /* GatekeeperConfirm */
640 static int hf_h225_gatekeeperReject = -1;         /* GatekeeperReject */
641 static int hf_h225_registrationRequest = -1;      /* RegistrationRequest */
642 static int hf_h225_registrationConfirm = -1;      /* RegistrationConfirm */
643 static int hf_h225_registrationReject = -1;       /* RegistrationReject */
644 static int hf_h225_unregistrationRequest = -1;    /* UnregistrationRequest */
645 static int hf_h225_unregistrationConfirm = -1;    /* UnregistrationConfirm */
646 static int hf_h225_unregistrationReject = -1;     /* UnregistrationReject */
647 static int hf_h225_admissionRequest = -1;         /* AdmissionRequest */
648 static int hf_h225_admissionConfirm = -1;         /* AdmissionConfirm */
649 static int hf_h225_admissionReject = -1;          /* AdmissionReject */
650 static int hf_h225_bandwidthRequest = -1;         /* BandwidthRequest */
651 static int hf_h225_bandwidthConfirm = -1;         /* BandwidthConfirm */
652 static int hf_h225_bandwidthReject = -1;          /* BandwidthReject */
653 static int hf_h225_disengageRequest = -1;         /* DisengageRequest */
654 static int hf_h225_disengageConfirm = -1;         /* DisengageConfirm */
655 static int hf_h225_disengageReject = -1;          /* DisengageReject */
656 static int hf_h225_locationRequest = -1;          /* LocationRequest */
657 static int hf_h225_locationConfirm = -1;          /* LocationConfirm */
658 static int hf_h225_locationReject = -1;           /* LocationReject */
659 static int hf_h225_infoRequest = -1;              /* InfoRequest */
660 static int hf_h225_infoRequestResponse = -1;      /* InfoRequestResponse */
661 static int hf_h225_nonStandardMessage = -1;       /* NonStandardMessage */
662 static int hf_h225_unknownMessageResponse = -1;   /* UnknownMessageResponse */
663 static int hf_h225_requestInProgress = -1;        /* RequestInProgress */
664 static int hf_h225_resourcesAvailableIndicate = -1;  /* ResourcesAvailableIndicate */
665 static int hf_h225_resourcesAvailableConfirm = -1;  /* ResourcesAvailableConfirm */
666 static int hf_h225_infoRequestAck = -1;           /* InfoRequestAck */
667 static int hf_h225_infoRequestNak = -1;           /* InfoRequestNak */
668 static int hf_h225_serviceControlIndication = -1;  /* ServiceControlIndication */
669 static int hf_h225_serviceControlResponse = -1;   /* ServiceControlResponse */
670 static int hf_h225_admissionConfirmSequence = -1;  /* SEQUENCE_OF_AdmissionConfirm */
671 static int hf_h225_admissionConfirmSequence_item = -1;  /* AdmissionConfirm */
672 static int hf_h225_requestSeqNum = -1;            /* RequestSeqNum */
673 static int hf_h225_gatekeeperRequest_rasAddress = -1;  /* TransportAddress */
674 static int hf_h225_endpointAlias = -1;            /* SEQUENCE_OF_AliasAddress */
675 static int hf_h225_endpointAlias_item = -1;       /* AliasAddress */
676 static int hf_h225_alternateEndpoints = -1;       /* SEQUENCE_OF_Endpoint */
677 static int hf_h225_alternateEndpoints_item = -1;  /* Endpoint */
678 static int hf_h225_authenticationCapability = -1;  /* SEQUENCE_OF_AuthenticationMechanism */
679 static int hf_h225_authenticationCapability_item = -1;  /* AuthenticationMechanism */
680 static int hf_h225_algorithmOIDs = -1;            /* T_algorithmOIDs */
681 static int hf_h225_algorithmOIDs_item = -1;       /* OBJECT_IDENTIFIER */
682 static int hf_h225_integrity = -1;                /* SEQUENCE_OF_IntegrityMechanism */
683 static int hf_h225_integrity_item = -1;           /* IntegrityMechanism */
684 static int hf_h225_integrityCheckValue = -1;      /* ICV */
685 static int hf_h225_supportsAltGK = -1;            /* NULL */
686 static int hf_h225_supportsAssignedGK = -1;       /* BOOLEAN */
687 static int hf_h225_assignedGatekeeper = -1;       /* AlternateGK */
688 static int hf_h225_gatekeeperConfirm_rasAddress = -1;  /* TransportAddress */
689 static int hf_h225_authenticationMode = -1;       /* AuthenticationMechanism */
690 static int hf_h225_rehomingModel = -1;            /* RehomingModel */
691 static int hf_h225_gatekeeperRejectReason = -1;   /* GatekeeperRejectReason */
692 static int hf_h225_altGKInfo = -1;                /* AltGKInfo */
693 static int hf_h225_resourceUnavailable = -1;      /* NULL */
694 static int hf_h225_terminalExcluded = -1;         /* NULL */
695 static int hf_h225_securityDenial = -1;           /* NULL */
696 static int hf_h225_gkRej_securityError = -1;      /* SecurityErrors */
697 static int hf_h225_discoveryComplete = -1;        /* BOOLEAN */
698 static int hf_h225_terminalType = -1;             /* EndpointType */
699 static int hf_h225_terminalAlias = -1;            /* SEQUENCE_OF_AliasAddress */
700 static int hf_h225_terminalAlias_item = -1;       /* AliasAddress */
701 static int hf_h225_endpointVendor = -1;           /* VendorIdentifier */
702 static int hf_h225_timeToLive = -1;               /* TimeToLive */
703 static int hf_h225_keepAlive = -1;                /* BOOLEAN */
704 static int hf_h225_willSupplyUUIEs = -1;          /* BOOLEAN */
705 static int hf_h225_additiveRegistration = -1;     /* NULL */
706 static int hf_h225_terminalAliasPattern = -1;     /* SEQUENCE_OF_AddressPattern */
707 static int hf_h225_terminalAliasPattern_item = -1;  /* AddressPattern */
708 static int hf_h225_usageReportingCapability = -1;  /* RasUsageInfoTypes */
709 static int hf_h225_supportedH248Packages = -1;    /* SEQUENCE_OF_H248PackagesDescriptor */
710 static int hf_h225_supportedH248Packages_item = -1;  /* H248PackagesDescriptor */
711 static int hf_h225_callCreditCapability = -1;     /* CallCreditCapability */
712 static int hf_h225_capacityReportingCapability = -1;  /* CapacityReportingCapability */
713 static int hf_h225_restart = -1;                  /* NULL */
714 static int hf_h225_supportsACFSequences = -1;     /* NULL */
715 static int hf_h225_transportQOS = -1;             /* TransportQOS */
716 static int hf_h225_willRespondToIRR = -1;         /* BOOLEAN */
717 static int hf_h225_preGrantedARQ = -1;            /* T_preGrantedARQ */
718 static int hf_h225_makeCall = -1;                 /* BOOLEAN */
719 static int hf_h225_useGKCallSignalAddressToMakeCall = -1;  /* BOOLEAN */
720 static int hf_h225_answerCall = -1;               /* BOOLEAN */
721 static int hf_h225_useGKCallSignalAddressToAnswer = -1;  /* BOOLEAN */
722 static int hf_h225_irrFrequencyInCall = -1;       /* INTEGER_1_65535 */
723 static int hf_h225_totalBandwidthRestriction = -1;  /* BandWidth */
724 static int hf_h225_useSpecifiedTransport = -1;    /* UseSpecifiedTransport */
725 static int hf_h225_supportsAdditiveRegistration = -1;  /* NULL */
726 static int hf_h225_usageSpec = -1;                /* SEQUENCE_OF_RasUsageSpecification */
727 static int hf_h225_usageSpec_item = -1;           /* RasUsageSpecification */
728 static int hf_h225_featureServerAlias = -1;       /* AliasAddress */
729 static int hf_h225_capacityReportingSpec = -1;    /* CapacityReportingSpecification */
730 static int hf_h225_registrationRejectReason = -1;  /* RegistrationRejectReason */
731 static int hf_h225_discoveryRequired = -1;        /* NULL */
732 static int hf_h225_invalidCallSignalAddress = -1;  /* NULL */
733 static int hf_h225_invalidRASAddress = -1;        /* NULL */
734 static int hf_h225_duplicateAlias = -1;           /* SEQUENCE_OF_AliasAddress */
735 static int hf_h225_duplicateAlias_item = -1;      /* AliasAddress */
736 static int hf_h225_invalidTerminalType = -1;      /* NULL */
737 static int hf_h225_transportNotSupported = -1;    /* NULL */
738 static int hf_h225_transportQOSNotSupported = -1;  /* NULL */
739 static int hf_h225_invalidAlias = -1;             /* NULL */
740 static int hf_h225_fullRegistrationRequired = -1;  /* NULL */
741 static int hf_h225_additiveRegistrationNotSupported = -1;  /* NULL */
742 static int hf_h225_invalidTerminalAliases = -1;   /* T_invalidTerminalAliases */
743 static int hf_h225_reg_securityError = -1;        /* SecurityErrors */
744 static int hf_h225_registerWithAssignedGK = -1;   /* NULL */
745 static int hf_h225_unregRequestReason = -1;       /* UnregRequestReason */
746 static int hf_h225_endpointAliasPattern = -1;     /* SEQUENCE_OF_AddressPattern */
747 static int hf_h225_endpointAliasPattern_item = -1;  /* AddressPattern */
748 static int hf_h225_reregistrationRequired = -1;   /* NULL */
749 static int hf_h225_ttlExpired = -1;               /* NULL */
750 static int hf_h225_maintenance = -1;              /* NULL */
751 static int hf_h225_securityError = -1;            /* SecurityErrors2 */
752 static int hf_h225_unregRejectReason = -1;        /* UnregRejectReason */
753 static int hf_h225_notCurrentlyRegistered = -1;   /* NULL */
754 static int hf_h225_callInProgress = -1;           /* NULL */
755 static int hf_h225_permissionDenied = -1;         /* NULL */
756 static int hf_h225_callModel = -1;                /* CallModel */
757 static int hf_h225_DestinationInfo_item = -1;     /* DestinationInfo_item */
758 static int hf_h225_destinationInfo = -1;          /* DestinationInfo */
759 static int hf_h225_srcInfo = -1;                  /* SEQUENCE_OF_AliasAddress */
760 static int hf_h225_srcInfo_item = -1;             /* AliasAddress */
761 static int hf_h225_srcCallSignalAddress = -1;     /* TransportAddress */
762 static int hf_h225_bandWidth = -1;                /* BandWidth */
763 static int hf_h225_callReferenceValue = -1;       /* CallReferenceValue */
764 static int hf_h225_canMapAlias = -1;              /* BOOLEAN */
765 static int hf_h225_srcAlternatives = -1;          /* SEQUENCE_OF_Endpoint */
766 static int hf_h225_srcAlternatives_item = -1;     /* Endpoint */
767 static int hf_h225_destAlternatives = -1;         /* SEQUENCE_OF_Endpoint */
768 static int hf_h225_destAlternatives_item = -1;    /* Endpoint */
769 static int hf_h225_gatewayDataRate = -1;          /* DataRate */
770 static int hf_h225_desiredTunnelledProtocol = -1;  /* TunnelledProtocol */
771 static int hf_h225_canMapSrcAlias = -1;           /* BOOLEAN */
772 static int hf_h225_pointToPoint = -1;             /* NULL */
773 static int hf_h225_oneToN = -1;                   /* NULL */
774 static int hf_h225_nToOne = -1;                   /* NULL */
775 static int hf_h225_nToN = -1;                     /* NULL */
776 static int hf_h225_direct = -1;                   /* NULL */
777 static int hf_h225_gatekeeperRouted = -1;         /* NULL */
778 static int hf_h225_endpointControlled = -1;       /* NULL */
779 static int hf_h225_gatekeeperControlled = -1;     /* NULL */
780 static int hf_h225_noControl = -1;                /* NULL */
781 static int hf_h225_qOSCapabilities = -1;          /* SEQUENCE_SIZE_1_256_OF_QOSCapability */
782 static int hf_h225_qOSCapabilities_item = -1;     /* QOSCapability */
783 static int hf_h225_irrFrequency = -1;             /* INTEGER_1_65535 */
784 static int hf_h225_destinationType = -1;          /* EndpointType */
785 static int hf_h225_uuiesRequested = -1;           /* UUIEsRequested */
786 static int hf_h225_supportedProtocols = -1;       /* SEQUENCE_OF_SupportedProtocols */
787 static int hf_h225_supportedProtocols_item = -1;  /* SupportedProtocols */
788 static int hf_h225_modifiedSrcInfo = -1;          /* SEQUENCE_OF_AliasAddress */
789 static int hf_h225_modifiedSrcInfo_item = -1;     /* AliasAddress */
790 static int hf_h225_setup_bool = -1;               /* BOOLEAN */
791 static int hf_h225_callProceeding_flg = -1;       /* BOOLEAN */
792 static int hf_h225_connect_bool = -1;             /* BOOLEAN */
793 static int hf_h225_alerting_bool = -1;            /* BOOLEAN */
794 static int hf_h225_information_bool = -1;         /* BOOLEAN */
795 static int hf_h225_releaseComplete_bool = -1;     /* BOOLEAN */
796 static int hf_h225_facility_bool = -1;            /* BOOLEAN */
797 static int hf_h225_progress_bool = -1;            /* BOOLEAN */
798 static int hf_h225_empty = -1;                    /* BOOLEAN */
799 static int hf_h225_status_bool = -1;              /* BOOLEAN */
800 static int hf_h225_statusInquiry_bool = -1;       /* BOOLEAN */
801 static int hf_h225_setupAcknowledge_bool = -1;    /* BOOLEAN */
802 static int hf_h225_notify_bool = -1;              /* BOOLEAN */
803 static int hf_h225_rejectReason = -1;             /* AdmissionRejectReason */
804 static int hf_h225_invalidPermission = -1;        /* NULL */
805 static int hf_h225_requestDenied = -1;            /* NULL */
806 static int hf_h225_invalidEndpointIdentifier = -1;  /* NULL */
807 static int hf_h225_qosControlNotSupported = -1;   /* NULL */
808 static int hf_h225_incompleteAddress = -1;        /* NULL */
809 static int hf_h225_aliasesInconsistent = -1;      /* NULL */
810 static int hf_h225_routeCallToSCN = -1;           /* SEQUENCE_OF_PartyNumber */
811 static int hf_h225_routeCallToSCN_item = -1;      /* PartyNumber */
812 static int hf_h225_exceedsCallCapacity = -1;      /* NULL */
813 static int hf_h225_collectDestination = -1;       /* NULL */
814 static int hf_h225_collectPIN = -1;               /* NULL */
815 static int hf_h225_noRouteToDestination = -1;     /* NULL */
816 static int hf_h225_unallocatedNumber = -1;        /* NULL */
817 static int hf_h225_answeredCall = -1;             /* BOOLEAN */
818 static int hf_h225_usageInformation = -1;         /* RasUsageInformation */
819 static int hf_h225_bandwidthDetails = -1;         /* SEQUENCE_OF_BandwidthDetails */
820 static int hf_h225_bandwidthDetails_item = -1;    /* BandwidthDetails */
821 static int hf_h225_bandRejectReason = -1;         /* BandRejectReason */
822 static int hf_h225_allowedBandWidth = -1;         /* BandWidth */
823 static int hf_h225_notBound = -1;                 /* NULL */
824 static int hf_h225_invalidConferenceID = -1;      /* NULL */
825 static int hf_h225_insufficientResources = -1;    /* NULL */
826 static int hf_h225_replyAddress = -1;             /* TransportAddress */
827 static int hf_h225_sourceInfo = -1;               /* SEQUENCE_OF_AliasAddress */
828 static int hf_h225_sourceInfo_item = -1;          /* AliasAddress */
829 static int hf_h225_hopCount = -1;                 /* INTEGER_1_255 */
830 static int hf_h225_sourceEndpointInfo = -1;       /* SEQUENCE_OF_AliasAddress */
831 static int hf_h225_sourceEndpointInfo_item = -1;  /* AliasAddress */
832 static int hf_h225_locationConfirm_callSignalAddress = -1;  /* TransportAddress */
833 static int hf_h225_locationConfirm_rasAddress = -1;  /* TransportAddress */
834 static int hf_h225_locationRejectReason = -1;     /* LocationRejectReason */
835 static int hf_h225_notRegistered = -1;            /* NULL */
836 static int hf_h225_routeCalltoSCN = -1;           /* SEQUENCE_OF_PartyNumber */
837 static int hf_h225_routeCalltoSCN_item = -1;      /* PartyNumber */
838 static int hf_h225_disengageReason = -1;          /* DisengageReason */
839 static int hf_h225_terminationCause = -1;         /* CallTerminationCause */
840 static int hf_h225_forcedDrop = -1;               /* NULL */
841 static int hf_h225_normalDrop = -1;               /* NULL */
842 static int hf_h225_disengageRejectReason = -1;    /* DisengageRejectReason */
843 static int hf_h225_requestToDropOther = -1;       /* NULL */
844 static int hf_h225_usageInfoRequested = -1;       /* RasUsageInfoTypes */
845 static int hf_h225_segmentedResponseSupported = -1;  /* NULL */
846 static int hf_h225_nextSegmentRequested = -1;     /* INTEGER_0_65535 */
847 static int hf_h225_capacityInfoRequested = -1;    /* NULL */
848 static int hf_h225_infoRequestResponse_rasAddress = -1;  /* TransportAddress */
849 static int hf_h225_perCallInfo = -1;              /* T_perCallInfo */
850 static int hf_h225_perCallInfo_item = -1;         /* T_perCallInfo_item */
851 static int hf_h225_originator = -1;               /* BOOLEAN */
852 static int hf_h225_audio = -1;                    /* SEQUENCE_OF_RTPSession */
853 static int hf_h225_audio_item = -1;               /* RTPSession */
854 static int hf_h225_video = -1;                    /* SEQUENCE_OF_RTPSession */
855 static int hf_h225_video_item = -1;               /* RTPSession */
856 static int hf_h225_data = -1;                     /* SEQUENCE_OF_TransportChannelInfo */
857 static int hf_h225_data_item = -1;                /* TransportChannelInfo */
858 static int hf_h225_h245 = -1;                     /* TransportChannelInfo */
859 static int hf_h225_callSignaling = -1;            /* TransportChannelInfo */
860 static int hf_h225_substituteConfIDs = -1;        /* SEQUENCE_OF_ConferenceIdentifier */
861 static int hf_h225_substituteConfIDs_item = -1;   /* ConferenceIdentifier */
862 static int hf_h225_pdu = -1;                      /* T_pdu */
863 static int hf_h225_pdu_item = -1;                 /* T_pdu_item */
864 static int hf_h225_h323pdu = -1;                  /* H323_UU_PDU */
865 static int hf_h225_sent = -1;                     /* BOOLEAN */
866 static int hf_h225_needResponse = -1;             /* BOOLEAN */
867 static int hf_h225_irrStatus = -1;                /* InfoRequestResponseStatus */
868 static int hf_h225_unsolicited = -1;              /* BOOLEAN */
869 static int hf_h225_complete = -1;                 /* NULL */
870 static int hf_h225_incomplete = -1;               /* NULL */
871 static int hf_h225_segment = -1;                  /* INTEGER_0_65535 */
872 static int hf_h225_invalidCall = -1;              /* NULL */
873 static int hf_h225_nakReason = -1;                /* InfoRequestNakReason */
874 static int hf_h225_messageNotUnderstood = -1;     /* OCTET_STRING */
875 static int hf_h225_delay = -1;                    /* INTEGER_1_65535 */
876 static int hf_h225_protocols = -1;                /* SEQUENCE_OF_SupportedProtocols */
877 static int hf_h225_protocols_item = -1;           /* SupportedProtocols */
878 static int hf_h225_almostOutOfResources = -1;     /* BOOLEAN */
879 static int hf_h225_callSpecific = -1;             /* T_callSpecific */
880 static int hf_h225_result = -1;                   /* T_result */
881 static int hf_h225_started = -1;                  /* NULL */
882 static int hf_h225_failed = -1;                   /* NULL */
883 static int hf_h225_stopped = -1;                  /* NULL */
884 static int hf_h225_notAvailable = -1;             /* NULL */
885
886 /*--- End of included file: packet-h225-hf.c ---*/
887 #line 110 "packet-h225-template.c"
888
889 /* Initialize the subtree pointers */
890 static gint ett_h225 = -1;
891
892 /*--- Included file: packet-h225-ett.c ---*/
893 #line 1 "packet-h225-ett.c"
894 static gint ett_h225_H323_UserInformation = -1;
895 static gint ett_h225_T_user_data = -1;
896 static gint ett_h225_H323_UU_PDU = -1;
897 static gint ett_h225_T_h323_message_body = -1;
898 static gint ett_h225_T_h4501SupplementaryService = -1;
899 static gint ett_h225_H245Control = -1;
900 static gint ett_h225_SEQUENCE_OF_NonStandardParameter = -1;
901 static gint ett_h225_T_tunnelledSignallingMessage = -1;
902 static gint ett_h225_T_messageContent = -1;
903 static gint ett_h225_SEQUENCE_OF_GenericData = -1;
904 static gint ett_h225_StimulusControl = -1;
905 static gint ett_h225_Alerting_UUIE = -1;
906 static gint ett_h225_SEQUENCE_OF_ClearToken = -1;
907 static gint ett_h225_SEQUENCE_OF_CryptoH323Token = -1;
908 static gint ett_h225_SEQUENCE_OF_AliasAddress = -1;
909 static gint ett_h225_SEQUENCE_OF_ServiceControlSession = -1;
910 static gint ett_h225_CallProceeding_UUIE = -1;
911 static gint ett_h225_Connect_UUIE = -1;
912 static gint ett_h225_Information_UUIE = -1;
913 static gint ett_h225_ReleaseComplete_UUIE = -1;
914 static gint ett_h225_ReleaseCompleteReason = -1;
915 static gint ett_h225_Setup_UUIE = -1;
916 static gint ett_h225_SEQUENCE_OF_CallReferenceValue = -1;
917 static gint ett_h225_T_conferenceGoal = -1;
918 static gint ett_h225_SEQUENCE_OF_H245Security = -1;
919 static gint ett_h225_FastStart = -1;
920 static gint ett_h225_T_connectionParameters = -1;
921 static gint ett_h225_Language = -1;
922 static gint ett_h225_SEQUENCE_OF_SupportedProtocols = -1;
923 static gint ett_h225_SEQUENCE_OF_FeatureDescriptor = -1;
924 static gint ett_h225_ParallelH245Control = -1;
925 static gint ett_h225_SEQUENCE_OF_ExtendedAliasAddress = -1;
926 static gint ett_h225_ScnConnectionType = -1;
927 static gint ett_h225_ScnConnectionAggregation = -1;
928 static gint ett_h225_PresentationIndicator = -1;
929 static gint ett_h225_Facility_UUIE = -1;
930 static gint ett_h225_SEQUENCE_OF_ConferenceList = -1;
931 static gint ett_h225_ConferenceList = -1;
932 static gint ett_h225_FacilityReason = -1;
933 static gint ett_h225_Progress_UUIE = -1;
934 static gint ett_h225_TransportAddress = -1;
935 static gint ett_h225_H245TransportAddress = -1;
936 static gint ett_h225_T_h245IpAddress = -1;
937 static gint ett_h225_T_h245IpSourceRoute = -1;
938 static gint ett_h225_T_h245Route = -1;
939 static gint ett_h225_T_h245Routing = -1;
940 static gint ett_h225_T_h245IpxAddress = -1;
941 static gint ett_h225_T_h245Ip6Address = -1;
942 static gint ett_h225_T_ipAddress = -1;
943 static gint ett_h225_T_ipSourceRoute = -1;
944 static gint ett_h225_T_route = -1;
945 static gint ett_h225_T_routing = -1;
946 static gint ett_h225_T_ipxAddress = -1;
947 static gint ett_h225_T_ip6Address = -1;
948 static gint ett_h225_Status_UUIE = -1;
949 static gint ett_h225_StatusInquiry_UUIE = -1;
950 static gint ett_h225_SetupAcknowledge_UUIE = -1;
951 static gint ett_h225_Notify_UUIE = -1;
952 static gint ett_h225_EndpointType = -1;
953 static gint ett_h225_SEQUENCE_OF_TunnelledProtocol = -1;
954 static gint ett_h225_GatewayInfo = -1;
955 static gint ett_h225_SupportedProtocols = -1;
956 static gint ett_h225_H310Caps = -1;
957 static gint ett_h225_SEQUENCE_OF_DataRate = -1;
958 static gint ett_h225_SEQUENCE_OF_SupportedPrefix = -1;
959 static gint ett_h225_H320Caps = -1;
960 static gint ett_h225_H321Caps = -1;
961 static gint ett_h225_H322Caps = -1;
962 static gint ett_h225_H323Caps = -1;
963 static gint ett_h225_H324Caps = -1;
964 static gint ett_h225_VoiceCaps = -1;
965 static gint ett_h225_T120OnlyCaps = -1;
966 static gint ett_h225_NonStandardProtocol = -1;
967 static gint ett_h225_T38FaxAnnexbOnlyCaps = -1;
968 static gint ett_h225_SIPCaps = -1;
969 static gint ett_h225_McuInfo = -1;
970 static gint ett_h225_TerminalInfo = -1;
971 static gint ett_h225_GatekeeperInfo = -1;
972 static gint ett_h225_VendorIdentifier = -1;
973 static gint ett_h225_H221NonStandard = -1;
974 static gint ett_h225_TunnelledProtocol = -1;
975 static gint ett_h225_TunnelledProtocol_id = -1;
976 static gint ett_h225_TunnelledProtocolAlternateIdentifier = -1;
977 static gint ett_h225_NonStandardParameter = -1;
978 static gint ett_h225_NonStandardIdentifier = -1;
979 static gint ett_h225_AliasAddress = -1;
980 static gint ett_h225_AddressPattern = -1;
981 static gint ett_h225_T_range = -1;
982 static gint ett_h225_PartyNumber = -1;
983 static gint ett_h225_PublicPartyNumber = -1;
984 static gint ett_h225_PrivatePartyNumber = -1;
985 static gint ett_h225_PublicTypeOfNumber = -1;
986 static gint ett_h225_PrivateTypeOfNumber = -1;
987 static gint ett_h225_MobileUIM = -1;
988 static gint ett_h225_ANSI_41_UIM = -1;
989 static gint ett_h225_T_system_id = -1;
990 static gint ett_h225_GSM_UIM = -1;
991 static gint ett_h225_IsupNumber = -1;
992 static gint ett_h225_IsupPublicPartyNumber = -1;
993 static gint ett_h225_IsupPrivatePartyNumber = -1;
994 static gint ett_h225_NatureOfAddress = -1;
995 static gint ett_h225_ExtendedAliasAddress = -1;
996 static gint ett_h225_Endpoint = -1;
997 static gint ett_h225_SEQUENCE_OF_TransportAddress = -1;
998 static gint ett_h225_AlternateTransportAddresses = -1;
999 static gint ett_h225_UseSpecifiedTransport = -1;
1000 static gint ett_h225_AlternateGK = -1;
1001 static gint ett_h225_AltGKInfo = -1;
1002 static gint ett_h225_SEQUENCE_OF_AlternateGK = -1;
1003 static gint ett_h225_SecurityServiceMode = -1;
1004 static gint ett_h225_SecurityCapabilities = -1;
1005 static gint ett_h225_SecurityErrors = -1;
1006 static gint ett_h225_SecurityErrors2 = -1;
1007 static gint ett_h225_H245Security = -1;
1008 static gint ett_h225_QseriesOptions = -1;
1009 static gint ett_h225_Q954Details = -1;
1010 static gint ett_h225_CallIdentifier = -1;
1011 static gint ett_h225_EncryptIntAlg = -1;
1012 static gint ett_h225_NonIsoIntegrityMechanism = -1;
1013 static gint ett_h225_IntegrityMechanism = -1;
1014 static gint ett_h225_ICV = -1;
1015 static gint ett_h225_CryptoH323Token = -1;
1016 static gint ett_h225_T_cryptoEPPwdHash = -1;
1017 static gint ett_h225_T_cryptoGKPwdHash = -1;
1018 static gint ett_h225_DataRate = -1;
1019 static gint ett_h225_CallLinkage = -1;
1020 static gint ett_h225_SupportedPrefix = -1;
1021 static gint ett_h225_CapacityReportingCapability = -1;
1022 static gint ett_h225_CapacityReportingSpecification = -1;
1023 static gint ett_h225_CapacityReportingSpecification_when = -1;
1024 static gint ett_h225_CallCapacity = -1;
1025 static gint ett_h225_CallCapacityInfo = -1;
1026 static gint ett_h225_SEQUENCE_OF_CallsAvailable = -1;
1027 static gint ett_h225_CallsAvailable = -1;
1028 static gint ett_h225_CircuitInfo = -1;
1029 static gint ett_h225_CircuitIdentifier = -1;
1030 static gint ett_h225_CicInfo = -1;
1031 static gint ett_h225_T_cic_2_4 = -1;
1032 static gint ett_h225_GroupID = -1;
1033 static gint ett_h225_T_member = -1;
1034 static gint ett_h225_CarrierInfo = -1;
1035 static gint ett_h225_ServiceControlDescriptor = -1;
1036 static gint ett_h225_ServiceControlSession = -1;
1037 static gint ett_h225_ServiceControlSession_reason = -1;
1038 static gint ett_h225_RasUsageInfoTypes = -1;
1039 static gint ett_h225_RasUsageSpecification = -1;
1040 static gint ett_h225_RasUsageSpecification_when = -1;
1041 static gint ett_h225_RasUsageSpecificationcallStartingPoint = -1;
1042 static gint ett_h225_RasUsageInformation = -1;
1043 static gint ett_h225_CallTerminationCause = -1;
1044 static gint ett_h225_BandwidthDetails = -1;
1045 static gint ett_h225_CallCreditCapability = -1;
1046 static gint ett_h225_CallCreditServiceControl = -1;
1047 static gint ett_h225_T_billingMode = -1;
1048 static gint ett_h225_CallCreditServiceControl_callStartingPoint = -1;
1049 static gint ett_h225_GenericData = -1;
1050 static gint ett_h225_T_parameters = -1;
1051 static gint ett_h225_GenericIdentifier = -1;
1052 static gint ett_h225_EnumeratedParameter = -1;
1053 static gint ett_h225_Content = -1;
1054 static gint ett_h225_SEQUENCE_SIZE_1_512_OF_EnumeratedParameter = -1;
1055 static gint ett_h225_SEQUENCE_SIZE_1_16_OF_GenericData = -1;
1056 static gint ett_h225_FeatureSet = -1;
1057 static gint ett_h225_TransportChannelInfo = -1;
1058 static gint ett_h225_RTPSession = -1;
1059 static gint ett_h225_T_associatedSessionIds = -1;
1060 static gint ett_h225_RehomingModel = -1;
1061 static gint ett_h225_RasMessage = -1;
1062 static gint ett_h225_SEQUENCE_OF_AdmissionConfirm = -1;
1063 static gint ett_h225_GatekeeperRequest = -1;
1064 static gint ett_h225_SEQUENCE_OF_Endpoint = -1;
1065 static gint ett_h225_SEQUENCE_OF_AuthenticationMechanism = -1;
1066 static gint ett_h225_T_algorithmOIDs = -1;
1067 static gint ett_h225_SEQUENCE_OF_IntegrityMechanism = -1;
1068 static gint ett_h225_GatekeeperConfirm = -1;
1069 static gint ett_h225_GatekeeperReject = -1;
1070 static gint ett_h225_GatekeeperRejectReason = -1;
1071 static gint ett_h225_RegistrationRequest = -1;
1072 static gint ett_h225_SEQUENCE_OF_AddressPattern = -1;
1073 static gint ett_h225_SEQUENCE_OF_H248PackagesDescriptor = -1;
1074 static gint ett_h225_RegistrationConfirm = -1;
1075 static gint ett_h225_T_preGrantedARQ = -1;
1076 static gint ett_h225_SEQUENCE_OF_RasUsageSpecification = -1;
1077 static gint ett_h225_RegistrationReject = -1;
1078 static gint ett_h225_RegistrationRejectReason = -1;
1079 static gint ett_h225_T_invalidTerminalAliases = -1;
1080 static gint ett_h225_UnregistrationRequest = -1;
1081 static gint ett_h225_UnregRequestReason = -1;
1082 static gint ett_h225_UnregistrationConfirm = -1;
1083 static gint ett_h225_UnregistrationReject = -1;
1084 static gint ett_h225_UnregRejectReason = -1;
1085 static gint ett_h225_AdmissionRequest = -1;
1086 static gint ett_h225_DestinationInfo = -1;
1087 static gint ett_h225_CallType = -1;
1088 static gint ett_h225_CallModel = -1;
1089 static gint ett_h225_TransportQOS = -1;
1090 static gint ett_h225_SEQUENCE_SIZE_1_256_OF_QOSCapability = -1;
1091 static gint ett_h225_AdmissionConfirm = -1;
1092 static gint ett_h225_UUIEsRequested = -1;
1093 static gint ett_h225_AdmissionReject = -1;
1094 static gint ett_h225_AdmissionRejectReason = -1;
1095 static gint ett_h225_SEQUENCE_OF_PartyNumber = -1;
1096 static gint ett_h225_BandwidthRequest = -1;
1097 static gint ett_h225_SEQUENCE_OF_BandwidthDetails = -1;
1098 static gint ett_h225_BandwidthConfirm = -1;
1099 static gint ett_h225_BandwidthReject = -1;
1100 static gint ett_h225_BandRejectReason = -1;
1101 static gint ett_h225_LocationRequest = -1;
1102 static gint ett_h225_LocationConfirm = -1;
1103 static gint ett_h225_LocationReject = -1;
1104 static gint ett_h225_LocationRejectReason = -1;
1105 static gint ett_h225_DisengageRequest = -1;
1106 static gint ett_h225_DisengageReason = -1;
1107 static gint ett_h225_DisengageConfirm = -1;
1108 static gint ett_h225_DisengageReject = -1;
1109 static gint ett_h225_DisengageRejectReason = -1;
1110 static gint ett_h225_InfoRequest = -1;
1111 static gint ett_h225_InfoRequestResponse = -1;
1112 static gint ett_h225_T_perCallInfo = -1;
1113 static gint ett_h225_T_perCallInfo_item = -1;
1114 static gint ett_h225_SEQUENCE_OF_RTPSession = -1;
1115 static gint ett_h225_SEQUENCE_OF_TransportChannelInfo = -1;
1116 static gint ett_h225_SEQUENCE_OF_ConferenceIdentifier = -1;
1117 static gint ett_h225_T_pdu = -1;
1118 static gint ett_h225_T_pdu_item = -1;
1119 static gint ett_h225_InfoRequestResponseStatus = -1;
1120 static gint ett_h225_InfoRequestAck = -1;
1121 static gint ett_h225_InfoRequestNak = -1;
1122 static gint ett_h225_InfoRequestNakReason = -1;
1123 static gint ett_h225_NonStandardMessage = -1;
1124 static gint ett_h225_UnknownMessageResponse = -1;
1125 static gint ett_h225_RequestInProgress = -1;
1126 static gint ett_h225_ResourcesAvailableIndicate = -1;
1127 static gint ett_h225_ResourcesAvailableConfirm = -1;
1128 static gint ett_h225_ServiceControlIndication = -1;
1129 static gint ett_h225_T_callSpecific = -1;
1130 static gint ett_h225_ServiceControlResponse = -1;
1131 static gint ett_h225_T_result = -1;
1132
1133 /*--- End of included file: packet-h225-ett.c ---*/
1134 #line 114 "packet-h225-template.c"
1135
1136 /* Preferences */
1137 static guint h225_tls_port = TLS_PORT_CS;
1138 static gboolean h225_reassembly = TRUE;
1139 static gboolean h225_h245_in_tree = TRUE;
1140 static gboolean h225_tp_in_tree = TRUE;
1141
1142 /* Global variables */
1143 static guint32  ipv4_address;
1144 static guint32  ipv4_port;
1145 guint32 T38_manufacturer_code;
1146 guint32 value;
1147 static gboolean contains_faststart = FALSE;
1148
1149 /* NonStandardParameter */
1150 static const char *nsiOID;
1151 static guint32 h221NonStandard;
1152 static guint32 t35CountryCode;
1153 static guint32 t35Extension;
1154 static guint32 manufacturerCode;
1155
1156 /* TunnelledProtocol */
1157 static const char *tpOID;
1158
1159
1160 /*--- Included file: packet-h225-fn.c ---*/
1161 #line 1 "packet-h225-fn.c"
1162 /*--- Cyclic dependencies ---*/
1163
1164 /* EnumeratedParameter -> Content -> Content/compound -> EnumeratedParameter */
1165 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_);
1166
1167 /* GenericData -> GenericData/parameters -> GenericData/parameters/_item -> EnumeratedParameter -> Content -> Content/nested -> GenericData */
1168 int dissect_h225_GenericData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
1169
1170
1171
1172
1173 static int
1174 dissect_h225_ProtocolIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1175   offset = dissect_per_object_identifier(tvb, offset, actx, tree, hf_index, NULL);
1176
1177   return offset;
1178 }
1179
1180
1181
1182 static int
1183 dissect_h225_T_h245Ip(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1184 #line 320 "h225.cnf"
1185   tvbuff_t *value_tvb;
1186
1187   ipv4_address = 0;
1188   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1189                                        4, 4, FALSE, &value_tvb);
1190
1191   if (value_tvb)
1192     ipv4_address = tvb_get_ipv4(value_tvb, 0);
1193
1194
1195   return offset;
1196 }
1197
1198
1199
1200 static int
1201 dissect_h225_T_h245IpPort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1202   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1203                                                             0U, 65535U, &ipv4_port, FALSE);
1204
1205   return offset;
1206 }
1207
1208
1209 static const per_sequence_t T_h245IpAddress_sequence[] = {
1210   { &hf_h225_h245Ip         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_T_h245Ip },
1211   { &hf_h225_h245IpPort     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_T_h245IpPort },
1212   { NULL, 0, 0, NULL }
1213 };
1214
1215 static int
1216 dissect_h225_T_h245IpAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1217   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1218                                    ett_h225_T_h245IpAddress, T_h245IpAddress_sequence);
1219
1220   return offset;
1221 }
1222
1223
1224
1225 static int
1226 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_) {
1227   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1228                                        4, 4, FALSE, NULL);
1229
1230   return offset;
1231 }
1232
1233
1234
1235 static int
1236 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_) {
1237   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1238                                                             0U, 65535U, NULL, FALSE);
1239
1240   return offset;
1241 }
1242
1243
1244 static const per_sequence_t T_h245Route_sequence_of[1] = {
1245   { &hf_h225_h245Route_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_4 },
1246 };
1247
1248 static int
1249 dissect_h225_T_h245Route(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1250   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
1251                                       ett_h225_T_h245Route, T_h245Route_sequence_of);
1252
1253   return offset;
1254 }
1255
1256
1257
1258 static int
1259 dissect_h225_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1260   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
1261
1262   return offset;
1263 }
1264
1265
1266 static const value_string h225_T_h245Routing_vals[] = {
1267   {   0, "strict" },
1268   {   1, "loose" },
1269   { 0, NULL }
1270 };
1271
1272 static const per_choice_t T_h245Routing_choice[] = {
1273   {   0, &hf_h225_strict         , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
1274   {   1, &hf_h225_loose          , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
1275   { 0, NULL, 0, NULL }
1276 };
1277
1278 static int
1279 dissect_h225_T_h245Routing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1280   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1281                                  ett_h225_T_h245Routing, T_h245Routing_choice,
1282                                  NULL);
1283
1284   return offset;
1285 }
1286
1287
1288 static const per_sequence_t T_h245IpSourceRoute_sequence[] = {
1289   { &hf_h225_ip             , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_4 },
1290   { &hf_h225_port           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_0_65535 },
1291   { &hf_h225_h245Route      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_T_h245Route },
1292   { &hf_h225_h245Routing    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_T_h245Routing },
1293   { NULL, 0, 0, NULL }
1294 };
1295
1296 static int
1297 dissect_h225_T_h245IpSourceRoute(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1298   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1299                                    ett_h225_T_h245IpSourceRoute, T_h245IpSourceRoute_sequence);
1300
1301   return offset;
1302 }
1303
1304
1305
1306 static int
1307 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_) {
1308   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1309                                        6, 6, FALSE, NULL);
1310
1311   return offset;
1312 }
1313
1314
1315
1316 static int
1317 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_) {
1318   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1319                                        2, 2, FALSE, NULL);
1320
1321   return offset;
1322 }
1323
1324
1325 static const per_sequence_t T_h245IpxAddress_sequence[] = {
1326   { &hf_h225_node           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_6 },
1327   { &hf_h225_netnum         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_4 },
1328   { &hf_h225_h245IpxPort    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_2 },
1329   { NULL, 0, 0, NULL }
1330 };
1331
1332 static int
1333 dissect_h225_T_h245IpxAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1334   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1335                                    ett_h225_T_h245IpxAddress, T_h245IpxAddress_sequence);
1336
1337   return offset;
1338 }
1339
1340
1341
1342 static int
1343 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_) {
1344   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1345                                        16, 16, FALSE, NULL);
1346
1347   return offset;
1348 }
1349
1350
1351 static const per_sequence_t T_h245Ip6Address_sequence[] = {
1352   { &hf_h225_h245Ip6        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_16 },
1353   { &hf_h225_port           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_0_65535 },
1354   { NULL, 0, 0, NULL }
1355 };
1356
1357 static int
1358 dissect_h225_T_h245Ip6Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1359   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1360                                    ett_h225_T_h245Ip6Address, T_h245Ip6Address_sequence);
1361
1362   return offset;
1363 }
1364
1365
1366
1367 static int
1368 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_) {
1369   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1370                                        1, 20, FALSE, NULL);
1371
1372   return offset;
1373 }
1374
1375
1376
1377 static int
1378 dissect_h225_T_nsiOID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1379   offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &nsiOID);
1380
1381   return offset;
1382 }
1383
1384
1385
1386 static int
1387 dissect_h225_T_t35CountryCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1388   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1389                                                             0U, 255U, &t35CountryCode, FALSE);
1390
1391   return offset;
1392 }
1393
1394
1395
1396 static int
1397 dissect_h225_T_t35Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1398   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1399                                                             0U, 255U, &t35Extension, FALSE);
1400
1401   return offset;
1402 }
1403
1404
1405
1406 static int
1407 dissect_h225_T_manufacturerCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1408   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1409                                                             0U, 65535U, &manufacturerCode, FALSE);
1410
1411   return offset;
1412 }
1413
1414
1415 static const per_sequence_t H221NonStandard_sequence[] = {
1416   { &hf_h225_t35CountryCode , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_T_t35CountryCode },
1417   { &hf_h225_t35Extension   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_T_t35Extension },
1418   { &hf_h225_manufacturerCode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_T_manufacturerCode },
1419   { NULL, 0, 0, NULL }
1420 };
1421
1422 static int
1423 dissect_h225_H221NonStandard(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1424 #line 609 "h225.cnf"
1425   t35CountryCode = 0;
1426   t35Extension = 0;
1427   manufacturerCode = 0;
1428
1429   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1430                                    ett_h225_H221NonStandard, H221NonStandard_sequence);
1431
1432 #line 613 "h225.cnf"
1433   h221NonStandard = ((t35CountryCode * 256) + t35Extension) * 65536 + manufacturerCode;
1434   proto_tree_add_uint(tree, hf_h221Manufacturer, tvb, (offset>>3)-4, 4, h221NonStandard);
1435
1436   return offset;
1437 }
1438
1439
1440 static const value_string h225_NonStandardIdentifier_vals[] = {
1441   {   0, "object" },
1442   {   1, "h221NonStandard" },
1443   { 0, NULL }
1444 };
1445
1446 static const per_choice_t NonStandardIdentifier_choice[] = {
1447   {   0, &hf_h225_nsiOID         , ASN1_EXTENSION_ROOT    , dissect_h225_T_nsiOID },
1448   {   1, &hf_h225_h221NonStandard, ASN1_EXTENSION_ROOT    , dissect_h225_H221NonStandard },
1449   { 0, NULL, 0, NULL }
1450 };
1451
1452 static int
1453 dissect_h225_NonStandardIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1454 #line 590 "h225.cnf"
1455         gint32 value;
1456
1457         nsiOID = "";
1458         h221NonStandard = 0;
1459
1460   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1461                                  ett_h225_NonStandardIdentifier, NonStandardIdentifier_choice,
1462                                  &value);
1463
1464         switch (value) {
1465                 case 0 :  /* object */
1466                         nsp_handle = dissector_get_string_handle(nsp_object_dissector_table, nsiOID);
1467                         break;
1468                 case 1 :  /* h221NonStandard */
1469                         nsp_handle = dissector_get_port_handle(nsp_h221_dissector_table, h221NonStandard);
1470                         break;
1471                 default :
1472                         nsp_handle = NULL;
1473     }
1474
1475
1476   return offset;
1477 }
1478
1479
1480
1481 static int
1482 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_) {
1483 #line 624 "h225.cnf"
1484   tvbuff_t *next_tvb = NULL;
1485
1486   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1487                                        NO_BOUND, NO_BOUND, FALSE, &next_tvb);
1488
1489   if (next_tvb && tvb_length(next_tvb)) {
1490     call_dissector((nsp_handle)?nsp_handle:data_handle, next_tvb, actx->pinfo, tree);
1491   }
1492
1493
1494   return offset;
1495 }
1496
1497
1498 static const per_sequence_t NonStandardParameter_sequence[] = {
1499   { &hf_h225_nonStandardIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_NonStandardIdentifier },
1500   { &hf_h225_nsp_data       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_T_nsp_data },
1501   { NULL, 0, 0, NULL }
1502 };
1503
1504 int
1505 dissect_h225_NonStandardParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1506 #line 622 "h225.cnf"
1507   nsp_handle = NULL;
1508
1509   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1510                                    ett_h225_NonStandardParameter, NonStandardParameter_sequence);
1511
1512   return offset;
1513 }
1514
1515
1516 static const value_string h225_H245TransportAddress_vals[] = {
1517   {   0, "ipAddress" },
1518   {   1, "ipSourceRoute" },
1519   {   2, "ipxAddress" },
1520   {   3, "ip6Address" },
1521   {   4, "netBios" },
1522   {   5, "nsap" },
1523   {   6, "nonStandardAddress" },
1524   { 0, NULL }
1525 };
1526
1527 static const per_choice_t H245TransportAddress_choice[] = {
1528   {   0, &hf_h225_h245IpAddress  , ASN1_EXTENSION_ROOT    , dissect_h225_T_h245IpAddress },
1529   {   1, &hf_h225_h245IpSourceRoute, ASN1_EXTENSION_ROOT    , dissect_h225_T_h245IpSourceRoute },
1530   {   2, &hf_h225_h245IpxAddress , ASN1_EXTENSION_ROOT    , dissect_h225_T_h245IpxAddress },
1531   {   3, &hf_h225_h245Ip6Address , ASN1_EXTENSION_ROOT    , dissect_h225_T_h245Ip6Address },
1532   {   4, &hf_h225_netBios        , ASN1_EXTENSION_ROOT    , dissect_h225_OCTET_STRING_SIZE_16 },
1533   {   5, &hf_h225_nsap           , ASN1_EXTENSION_ROOT    , dissect_h225_OCTET_STRING_SIZE_1_20 },
1534   {   6, &hf_h225_nonStandardAddress, ASN1_EXTENSION_ROOT    , dissect_h225_NonStandardParameter },
1535   { 0, NULL, 0, NULL }
1536 };
1537
1538 static int
1539 dissect_h225_H245TransportAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1540 #line 430 "h225.cnf"
1541         ipv4_address=0;
1542         ipv4_port=0;
1543
1544
1545   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1546                                  ett_h225_H245TransportAddress, H245TransportAddress_choice,
1547                                  NULL);
1548
1549 #line 436 "h225.cnf"
1550         /* we need this info for TAPing */
1551         h225_pi->is_h245 = TRUE;
1552         h225_pi->h245_address = ipv4_address;   
1553         h225_pi->h245_port = ipv4_port; 
1554
1555         if((!actx->pinfo->fd->flags.visited) && ipv4_address!=0 && ipv4_port!=0 && h245_handle){
1556                 address src_addr;
1557                 conversation_t *conv=NULL;
1558
1559                 src_addr.type=AT_IPv4;
1560                 src_addr.len=4;
1561                 src_addr.data=(const guint8 *)&ipv4_address;
1562
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);
1567                 }
1568         }
1569
1570
1571   return offset;
1572 }
1573
1574
1575
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 302 "h225.cnf"
1579   tvbuff_t *value_tvb = NULL;
1580   guint len = 0;
1581
1582   offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
1583                                                       1, 128, "0123456789#*,", 13,
1584                                                       &value_tvb);
1585
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);
1593     }
1594     h225_pi->dialedDigits[len] = '\0';
1595     h225_pi->is_destinationInfo = FALSE;
1596   }
1597
1598
1599   return offset;
1600 }
1601
1602
1603
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);
1608
1609   return offset;
1610 }
1611
1612
1613
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);
1618
1619   return offset;
1620 }
1621
1622
1623
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);
1628
1629   return offset;
1630 }
1631
1632
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 }
1637 };
1638
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);
1643
1644   return offset;
1645 }
1646
1647
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 },
1650 };
1651
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);
1656
1657   return offset;
1658 }
1659
1660
1661 static const value_string h225_T_routing_vals[] = {
1662   {   0, "strict" },
1663   {   1, "loose" },
1664   { 0, NULL }
1665 };
1666
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 }
1671 };
1672
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);
1678
1679   return offset;
1680 }
1681
1682
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 }
1689 };
1690
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);
1695
1696   return offset;
1697 }
1698
1699
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 }
1705 };
1706
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);
1711
1712   return offset;
1713 }
1714
1715
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 }
1720 };
1721
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);
1726
1727   return offset;
1728 }
1729
1730
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 }
1740 };
1741
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 }
1751 };
1752
1753 int
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);
1758
1759   return offset;
1760 }
1761
1762
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 }
1771 };
1772
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 }
1781 };
1782
1783 int
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);
1788
1789   return offset;
1790 }
1791
1792
1793
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, "0123456789#*,", 13,
1798                                                       NULL);
1799
1800   return offset;
1801 }
1802
1803
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 }
1808 };
1809
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);
1814
1815   return offset;
1816 }
1817
1818
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 }
1827 };
1828
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 }
1837 };
1838
1839 int
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);
1844
1845   return offset;
1846 }
1847
1848
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 }
1853 };
1854
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);
1859
1860   return offset;
1861 }
1862
1863
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 }
1871 };
1872
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 }
1880 };
1881
1882 int
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);
1887
1888   return offset;
1889 }
1890
1891
1892
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 705 "h225.cnf"
1896   int min_len, max_len;
1897   gboolean has_extension;
1898   
1899   get_size_constraint_from_stack(actx, "TBCD_STRING", &min_len, &max_len, &has_extension);
1900
1901   offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
1902                                                       min_len, max_len, "0123456789#*abc", 15,
1903                                                       NULL);
1904
1905   return offset;
1906 }
1907
1908
1909
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);
1914
1915   return offset;
1916 }
1917
1918
1919
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);
1924
1925   return offset;
1926 }
1927
1928
1929
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);
1934
1935   return offset;
1936 }
1937
1938
1939 static const value_string h225_T_system_id_vals[] = {
1940   {   0, "sid" },
1941   {   1, "mid" },
1942   { 0, NULL }
1943 };
1944
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 }
1949 };
1950
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);
1956
1957   return offset;
1958 }
1959
1960
1961
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);
1966
1967   return offset;
1968 }
1969
1970
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 }
1985 };
1986
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);
1991
1992   return offset;
1993 }
1994
1995
1996
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);
2001
2002   return offset;
2003 }
2004
2005
2006
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);
2011
2012   return offset;
2013 }
2014
2015
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 }
2024 };
2025
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);
2030
2031   return offset;
2032 }
2033
2034
2035 static const value_string h225_MobileUIM_vals[] = {
2036   {   0, "ansi-41-uim" },
2037   {   1, "gsm-uim" },
2038   { 0, NULL }
2039 };
2040
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 }
2045 };
2046
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);
2052
2053   return offset;
2054 }
2055
2056
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 }
2067 };
2068
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 }
2079 };
2080
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);
2086
2087   return offset;
2088 }
2089
2090
2091
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, "0123456789ABCDE", 15,
2096                                                       NULL);
2097
2098   return offset;
2099 }
2100
2101
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 }
2106 };
2107
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);
2112
2113   return offset;
2114 }
2115
2116
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 }
2121 };
2122
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);
2127
2128   return offset;
2129 }
2130
2131
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 }
2139 };
2140
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 }
2148 };
2149
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);
2155
2156   return offset;
2157 }
2158
2159
2160 const value_string AliasAddress_vals[] = {
2161   {   0, "dialedDigits" },
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 }
2170 };
2171
2172 static const per_choice_t AliasAddress_choice[] = {
2173   {   0, &hf_h225_dialedDigits   , 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 }
2182 };
2183
2184 int
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);
2189
2190   return offset;
2191 }
2192
2193
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 },
2196 };
2197
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);
2202
2203   return offset;
2204 }
2205
2206
2207
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);
2212
2213   return offset;
2214 }
2215
2216
2217
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);
2221
2222   return offset;
2223 }
2224
2225
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 }
2232 };
2233
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);
2238
2239   return offset;
2240 }
2241
2242
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 }
2246 };
2247
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);
2252
2253   return offset;
2254 }
2255
2256
2257
2258 int
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);
2262
2263   return offset;
2264 }
2265
2266
2267
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);
2272
2273   return offset;
2274 }
2275
2276
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 }
2282 };
2283
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);
2288
2289   return offset;
2290 }
2291
2292
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 },
2295 };
2296
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);
2301
2302   return offset;
2303 }
2304
2305
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 }
2310 };
2311
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);
2316
2317   return offset;
2318 }
2319
2320
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 },
2323 };
2324
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);
2329
2330   return offset;
2331 }
2332
2333
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 }
2339 };
2340
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);
2345
2346   return offset;
2347 }
2348
2349
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 }
2355 };
2356
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);
2361
2362   return offset;
2363 }
2364
2365
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 }
2371 };
2372
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);
2377
2378   return offset;
2379 }
2380
2381
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 }
2387 };
2388
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);
2393
2394   return offset;
2395 }
2396
2397
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 }
2403 };
2404
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);
2409
2410   return offset;
2411 }
2412
2413
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 }
2419 };
2420
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);
2425
2426   return offset;
2427 }
2428
2429
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 }
2435 };
2436
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);
2441
2442   return offset;
2443 }
2444
2445
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 }
2451 };
2452
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);
2457
2458   return offset;
2459 }
2460
2461
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 }
2467 };
2468
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);
2473
2474   return offset;
2475 }
2476
2477
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 }
2485 };
2486
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);
2491
2492   return offset;
2493 }
2494
2495
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 }
2501 };
2502
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);
2507
2508   return offset;
2509 }
2510
2511
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 }
2526 };
2527
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 }
2542 };
2543
2544 int
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);
2549
2550   return offset;
2551 }
2552
2553
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 },
2556 };
2557
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);
2562
2563   return offset;
2564 }
2565
2566
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 }
2571 };
2572
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);
2577
2578   return offset;
2579 }
2580
2581
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 }
2586 };
2587
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);
2592
2593   return offset;
2594 }
2595
2596
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 }
2600 };
2601
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);
2606
2607   return offset;
2608 }
2609
2610
2611
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);
2615
2616   return offset;
2617 }
2618
2619
2620
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);
2625
2626   return offset;
2627 }
2628
2629
2630
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);
2634
2635   return offset;
2636 }
2637
2638
2639
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);
2644
2645   return offset;
2646 }
2647
2648
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 }
2653 };
2654
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);
2659
2660   return offset;
2661 }
2662
2663
2664 static const value_string h225_TunnelledProtocol_id_vals[] = {
2665   {   0, "tunnelledProtocolObjectID" },
2666   {   1, "tunnelledProtocolAlternateID" },
2667   { 0, NULL }
2668 };
2669
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 }
2674 };
2675
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);
2681
2682   return offset;
2683 }
2684
2685
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 }
2690 };
2691
2692 int
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 567 "h225.cnf"
2695   tpOID = "";
2696
2697   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2698                                    ett_h225_TunnelledProtocol, TunnelledProtocol_sequence);
2699
2700 #line 569 "h225.cnf"
2701   tp_handle = dissector_get_string_handle(tp_dissector_table, tpOID);
2702
2703   return offset;
2704 }
2705
2706
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 },
2709 };
2710
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);
2715
2716   return offset;
2717 }
2718
2719
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 }
2732 };
2733
2734 int
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);
2738
2739   return offset;
2740 }
2741
2742
2743
2744 int
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);
2748
2749   return offset;
2750 }
2751
2752
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 },
2755 };
2756
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);
2761
2762   return offset;
2763 }
2764
2765
2766
2767 int
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, actx->value_ptr);
2771
2772   return offset;
2773 }
2774
2775
2776
2777 int
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);
2780
2781   return offset;
2782 }
2783
2784
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 }
2792 };
2793
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 }
2801 };
2802
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);
2808
2809   return offset;
2810 }
2811
2812
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 }
2817 };
2818
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);
2823
2824   return offset;
2825 }
2826
2827
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 }
2838 };
2839
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);
2844
2845   return offset;
2846 }
2847
2848
2849 static const value_string h225_CallType_vals[] = {
2850   {   0, "pointToPoint" },
2851   {   1, "oneToN" },
2852   {   2, "nToOne" },
2853   {   3, "nToN" },
2854   { 0, NULL }
2855 };
2856
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 }
2863 };
2864
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);
2870
2871   return offset;
2872 }
2873
2874
2875
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 542 "h225.cnf"
2879   tvbuff_t *guid_tvb;
2880
2881   actx->value_ptr = &guid_tvb;
2882   offset = dissect_h225_GloballyUniqueID(tvb, offset, actx, tree, hf_index);
2883
2884   tvb_memcpy(guid_tvb,(guint8 *)&h225_pi->guid,0,GUID_LEN);
2885   actx->value_ptr = NULL;
2886
2887
2888   return offset;
2889 }
2890
2891
2892 static const per_sequence_t CallIdentifier_sequence[] = {
2893   { &hf_h225_guid           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_T_guid },
2894   { NULL, 0, 0, NULL }
2895 };
2896
2897 int
2898 dissect_h225_CallIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2899   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2900                                    ett_h225_CallIdentifier, CallIdentifier_sequence);
2901
2902   return offset;
2903 }
2904
2905
2906 static const value_string h225_SecurityServiceMode_vals[] = {
2907   {   0, "nonStandard" },
2908   {   1, "none" },
2909   {   2, "default" },
2910   { 0, NULL }
2911 };
2912
2913 static const per_choice_t SecurityServiceMode_choice[] = {
2914   {   0, &hf_h225_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h225_NonStandardParameter },
2915   {   1, &hf_h225_none           , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
2916   {   2, &hf_h225_default        , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
2917   { 0, NULL, 0, NULL }
2918 };
2919
2920 static int
2921 dissect_h225_SecurityServiceMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2922   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2923                                  ett_h225_SecurityServiceMode, SecurityServiceMode_choice,
2924                                  NULL);
2925
2926   return offset;
2927 }
2928
2929
2930 static const per_sequence_t SecurityCapabilities_sequence[] = {
2931   { &hf_h225_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
2932   { &hf_h225_encryption     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_SecurityServiceMode },
2933   { &hf_h225_authenticaton  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_SecurityServiceMode },
2934   { &hf_h225_securityCapabilities_integrity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_SecurityServiceMode },
2935   { NULL, 0, 0, NULL }
2936 };
2937
2938 static int
2939 dissect_h225_SecurityCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2940   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2941                                    ett_h225_SecurityCapabilities, SecurityCapabilities_sequence);
2942
2943   return offset;
2944 }
2945
2946
2947 static const value_string h225_H245Security_vals[] = {
2948   {   0, "nonStandard" },
2949   {   1, "noSecurity" },
2950   {   2, "tls" },
2951   {   3, "ipsec" },
2952   { 0, NULL }
2953 };
2954
2955 static const per_choice_t H245Security_choice[] = {
2956   {   0, &hf_h225_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h225_NonStandardParameter },
2957   {   1, &hf_h225_noSecurity     , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
2958   {   2, &hf_h225_tls            , ASN1_EXTENSION_ROOT    , dissect_h225_SecurityCapabilities },
2959   {   3, &hf_h225_ipsec          , ASN1_EXTENSION_ROOT    , dissect_h225_SecurityCapabilities },
2960   { 0, NULL, 0, NULL }
2961 };
2962
2963 static int
2964 dissect_h225_H245Security(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2965   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2966                                  ett_h225_H245Security, H245Security_choice,
2967                                  NULL);
2968
2969   return offset;
2970 }
2971
2972
2973 static const per_sequence_t SEQUENCE_OF_H245Security_sequence_of[1] = {
2974   { &hf_h225_h245SecurityCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_H245Security },
2975 };
2976
2977 static int
2978 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_) {
2979   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
2980                                       ett_h225_SEQUENCE_OF_H245Security, SEQUENCE_OF_H245Security_sequence_of);
2981
2982   return offset;
2983 }
2984
2985
2986 static const per_sequence_t SEQUENCE_OF_ClearToken_sequence_of[1] = {
2987   { &hf_h225_tokens_item    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h235_ClearToken },
2988 };
2989
2990 static int
2991 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_) {
2992   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
2993                                       ett_h225_SEQUENCE_OF_ClearToken, SEQUENCE_OF_ClearToken_sequence_of);
2994
2995   return offset;
2996 }
2997
2998
2999 static const per_sequence_t T_cryptoEPPwdHash_sequence[] = {
3000   { &hf_h225_alias          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_AliasAddress },
3001   { &hf_h225_timeStamp      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h235_TimeStamp },
3002   { &hf_h225_token          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h235_HASHED },
3003   { NULL, 0, 0, NULL }
3004 };
3005
3006 static int
3007 dissect_h225_T_cryptoEPPwdHash(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3008   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3009                                    ett_h225_T_cryptoEPPwdHash, T_cryptoEPPwdHash_sequence);
3010
3011   return offset;
3012 }
3013
3014
3015
3016 int
3017 dissect_h225_GatekeeperIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3018   offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
3019                                           1, 128);
3020
3021   return offset;
3022 }
3023
3024
3025 static const per_sequence_t T_cryptoGKPwdHash_sequence[] = {
3026   { &hf_h225_gatekeeperId   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_GatekeeperIdentifier },
3027   { &hf_h225_timeStamp      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h235_TimeStamp },
3028   { &hf_h225_token          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h235_HASHED },
3029   { NULL, 0, 0, NULL }
3030 };
3031
3032 static int
3033 dissect_h225_T_cryptoGKPwdHash(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3034   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3035                                    ett_h225_T_cryptoGKPwdHash, T_cryptoGKPwdHash_sequence);
3036
3037   return offset;
3038 }
3039
3040
3041 const value_string h225_CryptoH323Token_vals[] = {
3042   {   0, "cryptoEPPwdHash" },
3043   {   1, "cryptoGKPwdHash" },
3044   {   2, "cryptoEPPwdEncr" },
3045   {   3, "cryptoGKPwdEncr" },
3046   {   4, "cryptoEPCert" },
3047   {   5, "cryptoGKCert" },
3048   {   6, "cryptoFastStart" },
3049   {   7, "nestedcryptoToken" },
3050   { 0, NULL }
3051 };
3052
3053 static const per_choice_t CryptoH323Token_choice[] = {
3054   {   0, &hf_h225_cryptoEPPwdHash, ASN1_EXTENSION_ROOT    , dissect_h225_T_cryptoEPPwdHash },
3055   {   1, &hf_h225_cryptoGKPwdHash, ASN1_EXTENSION_ROOT    , dissect_h225_T_cryptoGKPwdHash },
3056   {   2, &hf_h225_cryptoEPPwdEncr, ASN1_EXTENSION_ROOT    , dissect_h235_ENCRYPTED },
3057   {   3, &hf_h225_cryptoGKPwdEncr, ASN1_EXTENSION_ROOT    , dissect_h235_ENCRYPTED },
3058   {   4, &hf_h225_cryptoEPCert   , ASN1_EXTENSION_ROOT    , dissect_h235_SIGNED },
3059   {   5, &hf_h225_cryptoGKCert   , ASN1_EXTENSION_ROOT    , dissect_h235_SIGNED },
3060   {   6, &hf_h225_cryptoFastStart, ASN1_EXTENSION_ROOT    , dissect_h235_SIGNED },
3061   {   7, &hf_h225_nestedcryptoToken, ASN1_EXTENSION_ROOT    , dissect_h235_CryptoToken },
3062   { 0, NULL, 0, NULL }
3063 };
3064
3065 int
3066 dissect_h225_CryptoH323Token(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3067   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3068                                  ett_h225_CryptoH323Token, CryptoH323Token_choice,
3069                                  NULL);
3070
3071   return offset;
3072 }
3073
3074
3075 static const per_sequence_t SEQUENCE_OF_CryptoH323Token_sequence_of[1] = {
3076   { &hf_h225_cryptoTokens_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_CryptoH323Token },
3077 };
3078
3079 static int
3080 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_) {
3081   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3082                                       ett_h225_SEQUENCE_OF_CryptoH323Token, SEQUENCE_OF_CryptoH323Token_sequence_of);
3083
3084   return offset;
3085 }
3086
3087
3088
3089 static int
3090 dissect_h225_FastStart_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3091 #line 269 "h225.cnf"
3092         tvbuff_t *value_tvb = NULL;
3093         char codec_str[50];
3094
3095   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3096                                        NO_BOUND, NO_BOUND, FALSE, &value_tvb);
3097
3098         if (value_tvb && tvb_length(value_tvb)) {
3099                 dissect_h245_FastStart_OLC(value_tvb, actx->pinfo, tree, codec_str);
3100         }
3101
3102     /* Add to packet info */
3103     g_snprintf(h225_pi->frame_label, 50, "%s %s", h225_pi->frame_label, codec_str);
3104
3105         contains_faststart = TRUE;
3106         h225_pi->is_faststart = TRUE;
3107
3108
3109   return offset;
3110 }
3111
3112
3113 static const per_sequence_t FastStart_sequence_of[1] = {
3114   { &hf_h225_FastStart_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_FastStart_item },
3115 };
3116
3117 static int
3118 dissect_h225_FastStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3119   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3120                                       ett_h225_FastStart, FastStart_sequence_of);
3121
3122   return offset;
3123 }
3124
3125
3126
3127 static int
3128 dissect_h225_EndpointIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3129   offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
3130                                           1, 128);
3131
3132   return offset;
3133 }
3134
3135
3136 static const value_string h225_ScnConnectionType_vals[] = {
3137   {   0, "unknown" },
3138   {   1, "bChannel" },
3139   {   2, "hybrid2x64" },
3140   {   3, "hybrid384" },
3141   {   4, "hybrid1536" },
3142   {   5, "hybrid1920" },
3143   {   6, "multirate" },
3144   { 0, NULL }
3145 };
3146
3147 static const per_choice_t ScnConnectionType_choice[] = {
3148   {   0, &hf_h225_unknown        , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3149   {   1, &hf_h225_bChannel       , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3150   {   2, &hf_h225_hybrid2x64     , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3151   {   3, &hf_h225_hybrid384      , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3152   {   4, &hf_h225_hybrid1536     , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3153   {   5, &hf_h225_hybrid1920     , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3154   {   6, &hf_h225_multirate      , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3155   { 0, NULL, 0, NULL }
3156 };
3157
3158 static int
3159 dissect_h225_ScnConnectionType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3160   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3161                                  ett_h225_ScnConnectionType, ScnConnectionType_choice,
3162                                  NULL);
3163
3164   return offset;
3165 }
3166
3167
3168 static const value_string h225_ScnConnectionAggregation_vals[] = {
3169   {   0, "auto" },
3170   {   1, "none" },
3171   {   2, "h221" },
3172   {   3, "bonded-mode1" },
3173   {   4, "bonded-mode2" },
3174   {   5, "bonded-mode3" },
3175   { 0, NULL }
3176 };
3177
3178 static const per_choice_t ScnConnectionAggregation_choice[] = {
3179   {   0, &hf_h225_auto           , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3180   {   1, &hf_h225_none           , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3181   {   2, &hf_h225_h221           , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3182   {   3, &hf_h225_bonded_mode1   , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3183   {   4, &hf_h225_bonded_mode2   , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3184   {   5, &hf_h225_bonded_mode3   , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3185   { 0, NULL, 0, NULL }
3186 };
3187
3188 static int
3189 dissect_h225_ScnConnectionAggregation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3190   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3191                                  ett_h225_ScnConnectionAggregation, ScnConnectionAggregation_choice,
3192                                  NULL);
3193
3194   return offset;
3195 }
3196
3197
3198 static const per_sequence_t T_connectionParameters_sequence[] = {
3199   { &hf_h225_connectionType , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ScnConnectionType },
3200   { &hf_h225_numberOfScnConnections, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_0_65535 },
3201   { &hf_h225_connectionAggregation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ScnConnectionAggregation },
3202   { NULL, 0, 0, NULL }
3203 };
3204
3205 static int
3206 dissect_h225_T_connectionParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3207   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3208                                    ett_h225_T_connectionParameters, T_connectionParameters_sequence);
3209
3210   return offset;
3211 }
3212
3213
3214
3215 static int
3216 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_) {
3217   offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
3218                                           1, 32);
3219
3220   return offset;
3221 }
3222
3223
3224 static const per_sequence_t Language_sequence_of[1] = {
3225   { &hf_h225_Language_item  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_IA5String_SIZE_1_32 },
3226 };
3227
3228 static int
3229 dissect_h225_Language(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3230   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3231                                       ett_h225_Language, Language_sequence_of);
3232
3233   return offset;
3234 }
3235
3236
3237 const value_string h225_PresentationIndicator_vals[] = {
3238   {   0, "presentationAllowed" },
3239   {   1, "presentationRestricted" },
3240   {   2, "addressNotAvailable" },
3241   { 0, NULL }
3242 };
3243
3244 static const per_choice_t PresentationIndicator_choice[] = {
3245   {   0, &hf_h225_presentationAllowed, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3246   {   1, &hf_h225_presentationRestricted, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3247   {   2, &hf_h225_addressNotAvailable, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3248   { 0, NULL, 0, NULL }
3249 };
3250
3251 int
3252 dissect_h225_PresentationIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3253   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3254                                  ett_h225_PresentationIndicator, PresentationIndicator_choice,
3255                                  NULL);
3256
3257   return offset;
3258 }
3259
3260
3261 const value_string h225_ScreeningIndicator_vals[] = {
3262   {   0, "userProvidedNotScreened" },
3263   {   1, "userProvidedVerifiedAndPassed" },
3264   {   2, "userProvidedVerifiedAndFailed" },
3265   {   3, "networkProvided" },
3266   { 0, NULL }
3267 };
3268
3269
3270 int
3271 dissect_h225_ScreeningIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3272   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3273                                      4, NULL, TRUE, 0, NULL);
3274
3275   return offset;
3276 }
3277
3278
3279
3280 static int
3281 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_) {
3282   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3283                                                             0U, 255U, NULL, FALSE);
3284
3285   return offset;
3286 }
3287
3288
3289
3290 static int
3291 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_) {
3292   offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
3293                                           0, 512);
3294
3295   return offset;
3296 }
3297
3298
3299
3300 static int
3301 dissect_h225_H248SignalsDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3302   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3303                                        NO_BOUND, NO_BOUND, FALSE, NULL);
3304
3305   return offset;
3306 }
3307
3308
3309
3310 static int
3311 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_) {
3312   offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
3313                                           1, 512);
3314
3315   return offset;
3316 }
3317
3318
3319 static const value_string h225_T_billingMode_vals[] = {
3320   {   0, "credit" },
3321   {   1, "debit" },
3322   { 0, NULL }
3323 };
3324
3325 static const per_choice_t T_billingMode_choice[] = {
3326   {   0, &hf_h225_credit         , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3327   {   1, &hf_h225_debit          , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3328   { 0, NULL, 0, NULL }
3329 };
3330
3331 static int
3332 dissect_h225_T_billingMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3333   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3334                                  ett_h225_T_billingMode, T_billingMode_choice,
3335                                  NULL);
3336
3337   return offset;
3338 }
3339
3340
3341
3342 static int
3343 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_) {
3344   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3345                                                             1U, 4294967295U, NULL, FALSE);
3346
3347   return offset;
3348 }
3349
3350
3351 static const value_string h225_CallCreditServiceControl_callStartingPoint_vals[] = {
3352   {   0, "alerting" },
3353   {   1, "connect" },
3354   { 0, NULL }
3355 };
3356
3357 static const per_choice_t CallCreditServiceControl_callStartingPoint_choice[] = {
3358   {   0, &hf_h225_alerting_flg   , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3359   {   1, &hf_h225_connect_flg    , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3360   { 0, NULL, 0, NULL }
3361 };
3362
3363 static int
3364 dissect_h225_CallCreditServiceControl_callStartingPoint(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3365   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3366                                  ett_h225_CallCreditServiceControl_callStartingPoint, CallCreditServiceControl_callStartingPoint_choice,
3367                                  NULL);
3368
3369   return offset;
3370 }
3371
3372
3373 static const per_sequence_t CallCreditServiceControl_sequence[] = {
3374   { &hf_h225_amountString   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_BMPString_SIZE_1_512 },
3375   { &hf_h225_billingMode    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_T_billingMode },
3376   { &hf_h225_callDurationLimit, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_INTEGER_1_4294967295 },
3377   { &hf_h225_enforceCallDurationLimit, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_BOOLEAN },
3378   { &hf_h225_callStartingPoint, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_CallCreditServiceControl_callStartingPoint },
3379   { NULL, 0, 0, NULL }
3380 };
3381
3382 static int
3383 dissect_h225_CallCreditServiceControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3384   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3385                                    ett_h225_CallCreditServiceControl, CallCreditServiceControl_sequence);
3386
3387   return offset;
3388 }
3389
3390
3391 static const value_string h225_ServiceControlDescriptor_vals[] = {
3392   {   0, "url" },
3393   {   1, "signal" },
3394   {   2, "nonStandard" },
3395   {   3, "callCreditServiceControl" },
3396   { 0, NULL }
3397 };
3398
3399 static const per_choice_t ServiceControlDescriptor_choice[] = {
3400   {   0, &hf_h225_url            , ASN1_EXTENSION_ROOT    , dissect_h225_IA5String_SIZE_0_512 },
3401   {   1, &hf_h225_signal         , ASN1_EXTENSION_ROOT    , dissect_h225_H248SignalsDescriptor },
3402   {   2, &hf_h225_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h225_NonStandardParameter },
3403   {   3, &hf_h225_callCreditServiceControl, ASN1_EXTENSION_ROOT    , dissect_h225_CallCreditServiceControl },
3404   { 0, NULL, 0, NULL }
3405 };
3406
3407 static int
3408 dissect_h225_ServiceControlDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3409   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3410                                  ett_h225_ServiceControlDescriptor, ServiceControlDescriptor_choice,
3411                                  NULL);
3412
3413   return offset;
3414 }
3415
3416
3417 static const value_string h225_ServiceControlSession_reason_vals[] = {
3418   {   0, "open" },
3419   {   1, "refresh" },
3420   {   2, "close" },
3421   { 0, NULL }
3422 };
3423
3424 static const per_choice_t ServiceControlSession_reason_choice[] = {
3425   {   0, &hf_h225_open           , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3426   {   1, &hf_h225_refresh        , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3427   {   2, &hf_h225_close          , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
3428   { 0, NULL, 0, NULL }
3429 };
3430
3431 static int
3432 dissect_h225_ServiceControlSession_reason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3433   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3434                                  ett_h225_ServiceControlSession_reason, ServiceControlSession_reason_choice,
3435                                  NULL);
3436
3437   return offset;
3438 }
3439
3440
3441 static const per_sequence_t ServiceControlSession_sequence[] = {
3442   { &hf_h225_sessionId_0_255, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_0_255 },
3443   { &hf_h225_contents       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_ServiceControlDescriptor },
3444   { &hf_h225_reason         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ServiceControlSession_reason },
3445   { NULL, 0, 0, NULL }
3446 };
3447
3448 int
3449 dissect_h225_ServiceControlSession(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3450   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3451                                    ett_h225_ServiceControlSession, ServiceControlSession_sequence);
3452
3453   return offset;
3454 }
3455
3456
3457 static const per_sequence_t SEQUENCE_OF_ServiceControlSession_sequence_of[1] = {
3458   { &hf_h225_serviceControl_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_ServiceControlSession },
3459 };
3460
3461 static int
3462 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_) {
3463   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3464                                       ett_h225_SEQUENCE_OF_ServiceControlSession, SEQUENCE_OF_ServiceControlSession_sequence_of);
3465
3466   return offset;
3467 }
3468
3469
3470
3471 static int
3472 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_) {
3473   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3474                                                             0U, 4294967295U, NULL, FALSE);
3475
3476   return offset;
3477 }
3478
3479
3480
3481 static int
3482 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_) {
3483   offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
3484                                           1, 128);
3485
3486   return offset;
3487 }
3488
3489
3490
3491 static int
3492 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_) {
3493   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3494                                        3, 4, FALSE, NULL);
3495
3496   return offset;
3497 }
3498
3499
3500 static const per_sequence_t CarrierInfo_sequence[] = {
3501   { &hf_h225_carrierIdentificationCode, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_OCTET_STRING_SIZE_3_4 },
3502   { &hf_h225_carrierName    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_IA5String_SIZE_1_128 },
3503   { NULL, 0, 0, NULL }
3504 };
3505
3506 static int
3507 dissect_h225_CarrierInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3508   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3509                                    ett_h225_CarrierInfo, CarrierInfo_sequence);
3510
3511   return offset;
3512 }
3513
3514
3515 static const per_sequence_t CallsAvailable_sequence[] = {
3516   { &hf_h225_calls          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_0_4294967295 },
3517   { &hf_h225_group_IA5String, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_IA5String_SIZE_1_128 },
3518   { &hf_h225_carrier        , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CarrierInfo },
3519   { NULL, 0, 0, NULL }
3520 };
3521
3522 static int
3523 dissect_h225_CallsAvailable(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3524   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3525                                    ett_h225_CallsAvailable, CallsAvailable_sequence);
3526
3527   return offset;
3528 }
3529
3530
3531 static const per_sequence_t SEQUENCE_OF_CallsAvailable_sequence_of[1] = {
3532   { &hf_h225_voiceGwCallsAvailable_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_CallsAvailable },
3533 };
3534
3535 static int
3536 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_) {
3537   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3538                                       ett_h225_SEQUENCE_OF_CallsAvailable, SEQUENCE_OF_CallsAvailable_sequence_of);
3539
3540   return offset;
3541 }
3542
3543
3544 static const per_sequence_t CallCapacityInfo_sequence[] = {
3545   { &hf_h225_voiceGwCallsAvailable, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CallsAvailable },
3546   { &hf_h225_h310GwCallsAvailable, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CallsAvailable },
3547   { &hf_h225_h320GwCallsAvailable, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CallsAvailable },
3548   { &hf_h225_h321GwCallsAvailable, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CallsAvailable },
3549   { &hf_h225_h322GwCallsAvailable, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CallsAvailable },
3550   { &hf_h225_h323GwCallsAvailable, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CallsAvailable },
3551   { &hf_h225_h324GwCallsAvailable, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CallsAvailable },
3552   { &hf_h225_t120OnlyGwCallsAvailable, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CallsAvailable },
3553   { &hf_h225_t38FaxAnnexbOnlyGwCallsAvailable, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CallsAvailable },
3554   { &hf_h225_terminalCallsAvailable, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CallsAvailable },
3555   { &hf_h225_mcuCallsAvailable, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CallsAvailable },
3556   { &hf_h225_sipGwCallsAvailable, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CallsAvailable },
3557   { NULL, 0, 0, NULL }
3558 };
3559
3560 static int
3561 dissect_h225_CallCapacityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3562   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3563                                    ett_h225_CallCapacityInfo, CallCapacityInfo_sequence);
3564
3565   return offset;
3566 }
3567
3568
3569 static const per_sequence_t CallCapacity_sequence[] = {
3570   { &hf_h225_maximumCallCapacity, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_CallCapacityInfo },
3571   { &hf_h225_currentCallCapacity, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_CallCapacityInfo },
3572   { NULL, 0, 0, NULL }
3573 };
3574
3575 static int
3576 dissect_h225_CallCapacity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3577   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3578                                    ett_h225_CallCapacity, CallCapacity_sequence);
3579
3580   return offset;
3581 }
3582
3583
3584
3585 static int
3586 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_) {
3587   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3588                                        2, 4, FALSE, NULL);
3589
3590   return offset;
3591 }
3592
3593
3594 static const per_sequence_t T_cic_2_4_sequence_of[1] = {
3595   { &hf_h225_cic_2_4_item   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_2_4 },
3596 };
3597
3598 static int
3599 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_) {
3600   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3601                                       ett_h225_T_cic_2_4, T_cic_2_4_sequence_of);
3602
3603   return offset;
3604 }
3605
3606
3607
3608 static int
3609 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_) {
3610   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3611                                        2, 5, FALSE, NULL);
3612
3613   return offset;
3614 }
3615
3616
3617 static const per_sequence_t CicInfo_sequence[] = {
3618   { &hf_h225_cic_2_4        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_T_cic_2_4 },
3619   { &hf_h225_pointCode      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_2_5 },
3620   { NULL, 0, 0, NULL }
3621 };
3622
3623 static int
3624 dissect_h225_CicInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3625   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3626                                    ett_h225_CicInfo, CicInfo_sequence);
3627
3628   return offset;
3629 }
3630
3631
3632 static const per_sequence_t T_member_sequence_of[1] = {
3633   { &hf_h225_member_item    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_0_65535 },
3634 };
3635
3636 static int
3637 dissect_h225_T_member(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3638   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3639                                       ett_h225_T_member, T_member_sequence_of);
3640
3641   return offset;
3642 }
3643
3644
3645 static const per_sequence_t GroupID_sequence[] = {
3646   { &hf_h225_member         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_T_member },
3647   { &hf_h225_group_IA5String, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_IA5String_SIZE_1_128 },
3648   { NULL, 0, 0, NULL }
3649 };
3650
3651 static int
3652 dissect_h225_GroupID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3653   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3654                                    ett_h225_GroupID, GroupID_sequence);
3655
3656   return offset;
3657 }
3658
3659
3660 static const per_sequence_t CircuitIdentifier_sequence[] = {
3661   { &hf_h225_cic            , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_CicInfo },
3662   { &hf_h225_group          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_GroupID },
3663   { &hf_h225_carrier        , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CarrierInfo },
3664   { NULL, 0, 0, NULL }
3665 };
3666
3667 int
3668 dissect_h225_CircuitIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3669   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3670                                    ett_h225_CircuitIdentifier, CircuitIdentifier_sequence);
3671
3672   return offset;
3673 }
3674
3675
3676
3677 static int
3678 dissect_h225_T_standard(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3679 #line 681 "h225.cnf"
3680   guint32 value_int = (guint32)-1;
3681   gef_ctx_t *gefx;
3682
3683   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3684                                                             0U, 16383U, &value_int, TRUE);
3685
3686   gefx = gef_ctx_get(actx->private_data);
3687   if (gefx) gefx->id = ep_strdup_printf("%u", value_int);
3688
3689
3690   return offset;
3691 }
3692
3693
3694
3695 static int
3696 dissect_h225_T_oid(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3697 #line 690 "h225.cnf"
3698   const gchar *oid_str = NULL;
3699   gef_ctx_t *gefx;
3700
3701   offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &oid_str);
3702
3703   gefx = gef_ctx_get(actx->private_data);
3704   if (gefx) gefx->id = oid_str;
3705
3706
3707   return offset;
3708 }
3709
3710
3711 const value_string h225_GenericIdentifier_vals[] = {
3712   {   0, "standard" },
3713   {   1, "oid" },
3714   {   2, "nonStandard" },
3715   { 0, NULL }
3716 };
3717
3718 static const per_choice_t GenericIdentifier_choice[] = {
3719   {   0, &hf_h225_standard       , ASN1_EXTENSION_ROOT    , dissect_h225_T_standard },
3720   {   1, &hf_h225_oid            , ASN1_EXTENSION_ROOT    , dissect_h225_T_oid },
3721   {   2, &hf_h225_genericIdentifier_nonStandard, ASN1_EXTENSION_ROOT    , dissect_h225_GloballyUniqueID },
3722   { 0, NULL, 0, NULL }
3723 };
3724
3725 int
3726 dissect_h225_GenericIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3727 #line 667 "h225.cnf"
3728   gef_ctx_t *gefx;
3729
3730   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3731                                  ett_h225_GenericIdentifier, GenericIdentifier_choice,
3732                                  NULL);
3733
3734 #line 669 "h225.cnf"
3735   gef_ctx_update_key(gef_ctx_get(actx->private_data));
3736   /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG GenericIdentifier: %s", gef_ctx_get(actx->private_data)->key);*/
3737   gefx = gef_ctx_get(actx->private_data);
3738   if (gefx) {
3739     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3740     actx->pinfo->private_data = actx;
3741     dissector_try_string(gef_name_dissector_table, gefx->key, tvb_new_subset(tvb, offset>>3, 0, 0), actx->pinfo, tree);
3742   }
3743   actx->private_data = gefx;  /* subdissector could overwrite it */
3744
3745   return offset;
3746 }
3747
3748
3749
3750 static int
3751 dissect_h225_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3752   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3753                                        NO_BOUND, NO_BOUND, FALSE, NULL);
3754
3755   return offset;
3756 }
3757
3758
3759
3760 static int
3761 dissect_h225_IA5String(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3762   offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
3763                                           NO_BOUND, NO_BOUND);
3764
3765   return offset;
3766 }
3767
3768
3769
3770 static int
3771 dissect_h225_BMPString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3772   offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
3773                                           NO_BOUND, NO_BOUND);
3774
3775   return offset;
3776 }
3777
3778
3779 static const per_sequence_t SEQUENCE_SIZE_1_512_OF_EnumeratedParameter_sequence_of[1] = {
3780   { &hf_h225_compound_item  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_EnumeratedParameter },
3781 };
3782
3783 static int
3784 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_) {
3785   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3786                                                   ett_h225_SEQUENCE_SIZE_1_512_OF_EnumeratedParameter, SEQUENCE_SIZE_1_512_OF_EnumeratedParameter_sequence_of,
3787                                                   1, 512);
3788
3789   return offset;
3790 }
3791
3792
3793 static const per_sequence_t SEQUENCE_SIZE_1_16_OF_GenericData_sequence_of[1] = {
3794   { &hf_h225_nested_item    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_GenericData },
3795 };
3796
3797 static int
3798 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_) {
3799   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3800                                                   ett_h225_SEQUENCE_SIZE_1_16_OF_GenericData, SEQUENCE_SIZE_1_16_OF_GenericData_sequence_of,
3801                                                   1, 16);
3802
3803   return offset;
3804 }
3805
3806
3807 static const value_string h225_Content_vals[] = {
3808   {   0, "raw" },
3809   {   1, "text" },
3810   {   2, "unicode" },
3811   {   3, "bool" },
3812   {   4, "number8" },
3813   {   5, "number16" },
3814   {   6, "number32" },
3815   {   7, "id" },
3816   {   8, "alias" },
3817   {   9, "transport" },
3818   {  10, "compound" },
3819   {  11, "nested" },
3820   { 0, NULL }
3821 };
3822
3823 static const per_choice_t Content_choice[] = {
3824   {   0, &hf_h225_raw            , ASN1_EXTENSION_ROOT    , dissect_h225_OCTET_STRING },
3825   {   1, &hf_h225_text           , ASN1_EXTENSION_ROOT    , dissect_h225_IA5String },
3826   {   2, &hf_h225_unicode        , ASN1_EXTENSION_ROOT    , dissect_h225_BMPString },
3827   {   3, &hf_h225_bool           , ASN1_EXTENSION_ROOT    , dissect_h225_BOOLEAN },
3828   {   4, &hf_h225_number8        , ASN1_EXTENSION_ROOT    , dissect_h225_INTEGER_0_255 },
3829   {   5, &hf_h225_number16       , ASN1_EXTENSION_ROOT    , dissect_h225_INTEGER_0_65535 },
3830   {   6, &hf_h225_number32       , ASN1_EXTENSION_ROOT    , dissect_h225_INTEGER_0_4294967295 },
3831   {   7, &hf_h225_id             , ASN1_EXTENSION_ROOT    , dissect_h225_GenericIdentifier },
3832   {   8, &hf_h225_alias          , ASN1_EXTENSION_ROOT    , dissect_h225_AliasAddress },
3833   {   9, &hf_h225_transport      , ASN1_EXTENSION_ROOT    , dissect_h225_TransportAddress },
3834   {  10, &hf_h225_compound       , ASN1_EXTENSION_ROOT    , dissect_h225_SEQUENCE_SIZE_1_512_OF_EnumeratedParameter },
3835   {  11, &hf_h225_nested         , ASN1_EXTENSION_ROOT    , dissect_h225_SEQUENCE_SIZE_1_16_OF_GenericData },
3836   { 0, NULL, 0, NULL }
3837 };
3838
3839 static int
3840 dissect_h225_Content(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3841   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3842                                  ett_h225_Content, Content_choice,
3843                                  NULL);
3844
3845   return offset;
3846 }
3847
3848
3849 static const per_sequence_t EnumeratedParameter_sequence[] = {
3850   { &hf_h225_id             , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_GenericIdentifier },
3851   { &hf_h225_content        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_Content },
3852   { NULL, 0, 0, NULL }
3853 };
3854
3855 static int
3856 dissect_h225_EnumeratedParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3857   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3858                                    ett_h225_EnumeratedParameter, EnumeratedParameter_sequence);
3859
3860   return offset;
3861 }
3862
3863
3864
3865 static int
3866 dissect_h225_T_parameters_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3867 #line 649 "h225.cnf"
3868   gef_ctx_t *parent_gefx;
3869
3870   parent_gefx = gef_ctx_get(actx->private_data);
3871   actx->private_data = gef_ctx_alloc(parent_gefx, NULL);
3872
3873   offset = dissect_h225_EnumeratedParameter(tvb, offset, actx, tree, hf_index);
3874
3875 #line 654 "h225.cnf"
3876   actx->private_data = parent_gefx;
3877
3878   return offset;
3879 }
3880
3881
3882 static const per_sequence_t T_parameters_sequence_of[1] = {
3883   { &hf_h225_parameters_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_T_parameters_item },
3884 };
3885
3886 static int
3887 dissect_h225_T_parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3888   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3889                                                   ett_h225_T_parameters, T_parameters_sequence_of,
3890                                                   1, 512);
3891
3892   return offset;
3893 }
3894
3895
3896 static const per_sequence_t GenericData_sequence[] = {
3897   { &hf_h225_id             , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_GenericIdentifier },
3898   { &hf_h225_parameters     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_T_parameters },
3899   { NULL, 0, 0, NULL }
3900 };
3901
3902 int
3903 dissect_h225_GenericData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3904 #line 635 "h225.cnf"
3905   void *priv_data = actx->private_data;
3906   gef_ctx_t *gefx;
3907
3908   /* check if not inherited from FeatureDescriptor */
3909   gefx = gef_ctx_get(actx->private_data);
3910   if (!gefx) {
3911     gefx = gef_ctx_alloc(NULL, "GenericData");
3912     actx->private_data = gefx;
3913   }
3914
3915   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3916                                    ett_h225_GenericData, GenericData_sequence);
3917
3918 #line 645 "h225.cnf"
3919   actx->private_data = priv_data;
3920
3921   return offset;
3922 }
3923
3924
3925 static const per_sequence_t SEQUENCE_OF_GenericData_sequence_of[1] = {
3926   { &hf_h225_genericData_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_GenericData },
3927 };
3928
3929 static int
3930 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_) {
3931   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3932                                       ett_h225_SEQUENCE_OF_GenericData, SEQUENCE_OF_GenericData_sequence_of);
3933
3934   return offset;
3935 }
3936
3937
3938 static const per_sequence_t CircuitInfo_sequence[] = {
3939   { &hf_h225_sourceCircuitID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_CircuitIdentifier },
3940   { &hf_h225_destinationCircuitID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_CircuitIdentifier },
3941   { &hf_h225_genericData    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
3942   { NULL, 0, 0, NULL }
3943 };
3944
3945 int
3946 dissect_h225_CircuitInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3947   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3948                                    ett_h225_CircuitInfo, CircuitInfo_sequence);
3949
3950   return offset;
3951 }
3952
3953
3954
3955 static int
3956 dissect_h225_FeatureDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3957 #line 659 "h225.cnf"
3958   void *priv_data = actx->private_data;
3959   actx->private_data = gef_ctx_alloc(NULL, "FeatureDescriptor");
3960
3961   offset = dissect_h225_GenericData(tvb, offset, actx, tree, hf_index);
3962
3963 #line 662 "h225.cnf"
3964   actx->private_data = priv_data;
3965
3966   return offset;
3967 }
3968
3969
3970 static const per_sequence_t SEQUENCE_OF_FeatureDescriptor_sequence_of[1] = {
3971   { &hf_h225_neededFeatures_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_FeatureDescriptor },
3972 };
3973
3974 static int
3975 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_) {
3976   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3977                                       ett_h225_SEQUENCE_OF_FeatureDescriptor, SEQUENCE_OF_FeatureDescriptor_sequence_of);
3978
3979   return offset;
3980 }
3981
3982
3983
3984 static int
3985 dissect_h225_ParallelH245Control_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3986 #line 331 "h225.cnf"
3987         tvbuff_t *h245_tvb = NULL;
3988
3989   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3990                                        NO_BOUND, NO_BOUND, FALSE, &h245_tvb);
3991
3992   next_tvb_add_handle(&h245_list, h245_tvb, (h225_h245_in_tree)?tree:NULL, h245dg_handle);
3993
3994
3995   return offset;
3996 }
3997
3998
3999 static const per_sequence_t ParallelH245Control_sequence_of[1] = {
4000   { &hf_h225_ParallelH245Control_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_ParallelH245Control_item },
4001 };
4002
4003 static int
4004 dissect_h225_ParallelH245Control(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4005   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4006                                       ett_h225_ParallelH245Control, ParallelH245Control_sequence_of);
4007
4008   return offset;
4009 }
4010
4011
4012 static const per_sequence_t ExtendedAliasAddress_sequence[] = {
4013   { &hf_h225_extAliasAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_AliasAddress },
4014   { &hf_h225_presentationIndicator, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_PresentationIndicator },
4015   { &hf_h225_screeningIndicator, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_ScreeningIndicator },
4016   { NULL, 0, 0, NULL }
4017 };
4018
4019 static int
4020 dissect_h225_ExtendedAliasAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4021   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4022                                    ett_h225_ExtendedAliasAddress, ExtendedAliasAddress_sequence);
4023
4024   return offset;
4025 }
4026
4027
4028 static const per_sequence_t SEQUENCE_OF_ExtendedAliasAddress_sequence_of[1] = {
4029   { &hf_h225_additionalSourceAddresses_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_ExtendedAliasAddress },
4030 };
4031
4032 static int
4033 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_) {
4034   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4035                                       ett_h225_SEQUENCE_OF_ExtendedAliasAddress, SEQUENCE_OF_ExtendedAliasAddress_sequence_of);
4036
4037   return offset;
4038 }
4039
4040
4041
4042 static int
4043 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_) {
4044   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4045                                                             1U, 31U, NULL, FALSE);
4046
4047   return offset;
4048 }
4049
4050
4051 static const per_sequence_t Setup_UUIE_sequence[] = {
4052   { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4053   { &hf_h225_h245Address    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_H245TransportAddress },
4054   { &hf_h225_sourceAddress  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
4055   { &hf_h225_setup_UUIE_sourceInfo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_EndpointType },
4056   { &hf_h225_destinationAddress, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
4057   { &hf_h225_destCallSignalAddress, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_TransportAddress },
4058   { &hf_h225_destExtraCallInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
4059   { &hf_h225_destExtraCRV   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CallReferenceValue },
4060   { &hf_h225_activeMC       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4061   { &hf_h225_conferenceID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ConferenceIdentifier },
4062   { &hf_h225_conferenceGoal , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_T_conferenceGoal },
4063   { &hf_h225_callServices   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_QseriesOptions },
4064   { &hf_h225_callType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_CallType },
4065   { &hf_h225_sourceCallSignalAddress, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_TransportAddress },
4066   { &hf_h225_uUIE_remoteExtensionAddress, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AliasAddress },
4067   { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4068   { &hf_h225_h245SecurityCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_H245Security },
4069   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
4070   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4071   { &hf_h225_fastStart      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FastStart },
4072   { &hf_h225_mediaWaitForConnect, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4073   { &hf_h225_canOverlapSend , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4074   { &hf_h225_endpointIdentifier, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_EndpointIdentifier },
4075   { &hf_h225_multipleCalls  , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4076   { &hf_h225_maintainConnection, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4077   { &hf_h225_connectionParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_T_connectionParameters },
4078   { &hf_h225_language       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_Language },
4079   { &hf_h225_presentationIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_PresentationIndicator },
4080   { &hf_h225_screeningIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ScreeningIndicator },
4081   { &hf_h225_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ServiceControlSession },
4082   { &hf_h225_symmetricOperationRequired, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_NULL },
4083   { &hf_h225_capacity       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CallCapacity },
4084   { &hf_h225_circuitInfo    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CircuitInfo },
4085   { &hf_h225_desiredProtocols, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_SupportedProtocols },
4086   { &hf_h225_neededFeatures , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_FeatureDescriptor },
4087   { &hf_h225_desiredFeatures, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_FeatureDescriptor },
4088   { &hf_h225_supportedFeatures, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_FeatureDescriptor },
4089   { &hf_h225_parallelH245Control, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ParallelH245Control },
4090   { &hf_h225_additionalSourceAddresses, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ExtendedAliasAddress },
4091   { &hf_h225_hopCount_1_31  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_INTEGER_1_31 },
4092   { NULL, 0, 0, NULL }
4093 };
4094
4095 static int
4096 dissect_h225_Setup_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4097 #line 384 "h225.cnf"
4098   contains_faststart = FALSE;
4099
4100   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4101                                    ett_h225_Setup_UUIE, Setup_UUIE_sequence);
4102
4103 #line 388 "h225.cnf"
4104   /* Add to packet info */
4105   h225_pi->cs_type = H225_SETUP;
4106   if (contains_faststart == TRUE )
4107       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);
4108   else
4109       g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
4110
4111   return offset;
4112 }
4113
4114
4115 static const per_sequence_t FeatureSet_sequence[] = {
4116   { &hf_h225_replacementFeatureSet, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4117   { &hf_h225_neededFeatures , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_FeatureDescriptor },
4118   { &hf_h225_desiredFeatures, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_FeatureDescriptor },
4119   { &hf_h225_supportedFeatures, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_FeatureDescriptor },
4120   { NULL, 0, 0, NULL }
4121 };
4122
4123 int
4124 dissect_h225_FeatureSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4125   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4126                                    ett_h225_FeatureSet, FeatureSet_sequence);
4127
4128   return offset;
4129 }
4130
4131
4132 static const per_sequence_t CallProceeding_UUIE_sequence[] = {
4133   { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4134   { &hf_h225_uUIE_destinationInfo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_EndpointType },
4135   { &hf_h225_h245Address    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_H245TransportAddress },
4136   { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4137   { &hf_h225_h245SecurityMode, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_H245Security },
4138   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
4139   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4140   { &hf_h225_fastStart      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FastStart },
4141   { &hf_h225_multipleCalls  , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4142   { &hf_h225_maintainConnection, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4143   { &hf_h225_fastConnectRefused, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_NULL },
4144   { &hf_h225_featureSet     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FeatureSet },
4145   { NULL, 0, 0, NULL }
4146 };
4147
4148 static int
4149 dissect_h225_CallProceeding_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4150   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4151                                    ett_h225_CallProceeding_UUIE, CallProceeding_UUIE_sequence);
4152
4153 #line 397 "h225.cnf"
4154   /* Add to packet info */
4155   h225_pi->cs_type = H225_CALL_PROCEDING;
4156   if (contains_faststart == TRUE )
4157         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);
4158   else
4159         g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
4160
4161   return offset;
4162 }
4163
4164
4165 static const per_sequence_t Connect_UUIE_sequence[] = {
4166   { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4167   { &hf_h225_h245Address    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_H245TransportAddress },
4168   { &hf_h225_uUIE_destinationInfo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_EndpointType },
4169   { &hf_h225_conferenceID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ConferenceIdentifier },
4170   { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4171   { &hf_h225_h245SecurityMode, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_H245Security },
4172   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
4173   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4174   { &hf_h225_fastStart      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FastStart },
4175   { &hf_h225_multipleCalls  , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4176   { &hf_h225_maintainConnection, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4177   { &hf_h225_language       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_Language },
4178   { &hf_h225_connectedAddress, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
4179   { &hf_h225_presentationIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_PresentationIndicator },
4180   { &hf_h225_screeningIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ScreeningIndicator },
4181   { &hf_h225_fastConnectRefused, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_NULL },
4182   { &hf_h225_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ServiceControlSession },
4183   { &hf_h225_capacity       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CallCapacity },
4184   { &hf_h225_featureSet     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FeatureSet },
4185   { NULL, 0, 0, NULL }
4186 };
4187
4188 static int
4189 dissect_h225_Connect_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4190   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4191                                    ett_h225_Connect_UUIE, Connect_UUIE_sequence);
4192
4193 #line 421 "h225.cnf"
4194   /* Add to packet info */
4195   h225_pi->cs_type = H225_CONNECT;
4196   if (contains_faststart == TRUE )
4197       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);
4198   else 
4199       g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
4200
4201   return offset;
4202 }
4203
4204
4205 static const per_sequence_t Alerting_UUIE_sequence[] = {
4206   { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4207   { &hf_h225_uUIE_destinationInfo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_EndpointType },
4208   { &hf_h225_h245Address    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_H245TransportAddress },
4209   { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4210   { &hf_h225_h245SecurityMode, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_H245Security },
4211   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
4212   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4213   { &hf_h225_fastStart      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FastStart },
4214   { &hf_h225_multipleCalls  , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4215   { &hf_h225_maintainConnection, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4216   { &hf_h225_alertingAddress, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
4217   { &hf_h225_presentationIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_PresentationIndicator },
4218   { &hf_h225_screeningIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ScreeningIndicator },
4219   { &hf_h225_fastConnectRefused, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_NULL },
4220   { &hf_h225_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ServiceControlSession },
4221   { &hf_h225_capacity       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CallCapacity },
4222   { &hf_h225_featureSet     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FeatureSet },
4223   { NULL, 0, 0, NULL }
4224 };
4225
4226 static int
4227 dissect_h225_Alerting_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4228   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4229                                    ett_h225_Alerting_UUIE, Alerting_UUIE_sequence);
4230
4231 #line 406 "h225.cnf"
4232   /* Add to packet info */
4233   h225_pi->cs_type = H225_ALERTING;
4234   if (contains_faststart == TRUE )
4235        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);
4236   else 
4237        g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
4238
4239   return offset;
4240 }
4241
4242
4243 static const per_sequence_t Information_UUIE_sequence[] = {
4244   { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4245   { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4246   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
4247   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4248   { &hf_h225_fastStart      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FastStart },
4249   { &hf_h225_fastConnectRefused, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_NULL },
4250   { &hf_h225_circuitInfo    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CircuitInfo },
4251   { NULL, 0, 0, NULL }
4252 };
4253
4254 static int
4255 dissect_h225_Information_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4256   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4257                                    ett_h225_Information_UUIE, Information_UUIE_sequence);
4258
4259 #line 355 "h225.cnf"
4260   /* Add to packet info */
4261   h225_pi->cs_type = H225_INFORMATION;
4262   g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
4263
4264   return offset;
4265 }
4266
4267
4268 static const value_string h225_SecurityErrors_vals[] = {
4269   {   0, "securityWrongSyncTime" },
4270   {   1, "securityReplay" },
4271   {   2, "securityWrongGeneralID" },
4272   {   3, "securityWrongSendersID" },
4273   {   4, "securityIntegrityFailed" },
4274   {   5, "securityWrongOID" },
4275   {   6, "securityDHmismatch" },
4276   {   7, "securityCertificateExpired" },
4277   {   8, "securityCertificateDateInvalid" },
4278   {   9, "securityCertificateRevoked" },
4279   {  10, "securityCertificateNotReadable" },
4280   {  11, "securityCertificateSignatureInvalid" },
4281   {  12, "securityCertificateMissing" },
4282   {  13, "securityCertificateIncomplete" },
4283   {  14, "securityUnsupportedCertificateAlgOID" },
4284   {  15, "securityUnknownCA" },
4285   { 0, NULL }
4286 };
4287
4288 static const per_choice_t SecurityErrors_choice[] = {
4289   {   0, &hf_h225_securityWrongSyncTime, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4290   {   1, &hf_h225_securityReplay , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4291   {   2, &hf_h225_securityWrongGeneralID, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4292   {   3, &hf_h225_securityWrongSendersID, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4293   {   4, &hf_h225_securityIntegrityFailed, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4294   {   5, &hf_h225_securityWrongOID, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4295   {   6, &hf_h225_securityDHmismatch, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4296   {   7, &hf_h225_securityCertificateExpired, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4297   {   8, &hf_h225_securityCertificateDateInvalid, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4298   {   9, &hf_h225_securityCertificateRevoked, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4299   {  10, &hf_h225_securityCertificateNotReadable, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4300   {  11, &hf_h225_securityCertificateSignatureInvalid, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4301   {  12, &hf_h225_securityCertificateMissing, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4302   {  13, &hf_h225_securityCertificateIncomplete, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4303   {  14, &hf_h225_securityUnsupportedCertificateAlgOID, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4304   {  15, &hf_h225_securityUnknownCA, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4305   { 0, NULL, 0, NULL }
4306 };
4307
4308 static int
4309 dissect_h225_SecurityErrors(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4310   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4311                                  ett_h225_SecurityErrors, SecurityErrors_choice,
4312                                  NULL);
4313
4314   return offset;
4315 }
4316
4317
4318 const value_string h225_ReleaseCompleteReason_vals[] = {
4319   {   0, "noBandwidth" },
4320   {   1, "gatekeeperResources" },
4321   {   2, "unreachableDestination" },
4322   {   3, "destinationRejection" },
4323   {   4, "invalidRevision" },
4324   {   5, "noPermission" },
4325   {   6, "unreachableGatekeeper" },
4326   {   7, "gatewayResources" },
4327   {   8, "badFormatAddress" },
4328   {   9, "adaptiveBusy" },
4329   {  10, "inConf" },
4330   {  11, "undefinedReason" },
4331   {  12, "facilityCallDeflection" },
4332   {  13, "securityDenied" },
4333   {  14, "calledPartyNotRegistered" },
4334   {  15, "callerNotRegistered" },
4335   {  16, "newConnectionNeeded" },
4336   {  17, "nonStandardReason" },
4337   {  18, "replaceWithConferenceInvite" },
4338   {  19, "genericDataReason" },
4339   {  20, "neededFeatureNotSupported" },
4340   {  21, "tunnelledSignallingRejected" },
4341   {  22, "invalidCID" },
4342   {  23, "securityError" },
4343   {  24, "hopCountExceeded" },
4344   { 0, NULL }
4345 };
4346
4347 static const per_choice_t ReleaseCompleteReason_choice[] = {
4348   {   0, &hf_h225_noBandwidth    , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4349   {   1, &hf_h225_gatekeeperResources, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4350   {   2, &hf_h225_unreachableDestination, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4351   {   3, &hf_h225_destinationRejection, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4352   {   4, &hf_h225_invalidRevision, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4353   {   5, &hf_h225_noPermission   , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4354   {   6, &hf_h225_unreachableGatekeeper, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4355   {   7, &hf_h225_gatewayResources, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4356   {   8, &hf_h225_badFormatAddress, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4357   {   9, &hf_h225_adaptiveBusy   , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4358   {  10, &hf_h225_inConf         , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4359   {  11, &hf_h225_undefinedReason, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4360   {  12, &hf_h225_facilityCallDeflection, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4361   {  13, &hf_h225_securityDenied , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4362   {  14, &hf_h225_calledPartyNotRegistered, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4363   {  15, &hf_h225_callerNotRegistered, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4364   {  16, &hf_h225_newConnectionNeeded, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4365   {  17, &hf_h225_nonStandardReason, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NonStandardParameter },
4366   {  18, &hf_h225_replaceWithConferenceInvite, ASN1_NOT_EXTENSION_ROOT, dissect_h225_ConferenceIdentifier },
4367   {  19, &hf_h225_genericDataReason, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4368   {  20, &hf_h225_neededFeatureNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4369   {  21, &hf_h225_tunnelledSignallingRejected, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4370   {  22, &hf_h225_invalidCID     , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4371   {  23, &hf_h225_rLC_securityError, ASN1_NOT_EXTENSION_ROOT, dissect_h225_SecurityErrors },
4372   {  24, &hf_h225_hopCountExceeded, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4373   { 0, NULL, 0, NULL }
4374 };
4375
4376 int
4377 dissect_h225_ReleaseCompleteReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4378 #line 535 "h225.cnf"
4379   gint32 value;
4380         
4381   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4382                                  ett_h225_ReleaseCompleteReason, ReleaseCompleteReason_choice,
4383                                  &value);
4384
4385   h225_pi->reason = value;
4386
4387
4388   return offset;
4389 }
4390
4391
4392 static const per_sequence_t ReleaseComplete_UUIE_sequence[] = {
4393   { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4394   { &hf_h225_releaseCompleteReason, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_ReleaseCompleteReason },
4395   { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4396   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
4397   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4398   { &hf_h225_busyAddress    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
4399   { &hf_h225_presentationIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_PresentationIndicator },
4400   { &hf_h225_screeningIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ScreeningIndicator },
4401   { &hf_h225_capacity       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CallCapacity },
4402   { &hf_h225_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ServiceControlSession },
4403   { &hf_h225_featureSet     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FeatureSet },
4404   { NULL, 0, 0, NULL }
4405 };
4406
4407 static int
4408 dissect_h225_ReleaseComplete_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4409   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4410                                    ett_h225_ReleaseComplete_UUIE, ReleaseComplete_UUIE_sequence);
4411
4412 #line 415 "h225.cnf"
4413   /* Add to packet info */
4414   h225_pi->cs_type = H225_RELEASE_COMPLET;
4415   g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
4416
4417   return offset;
4418 }
4419
4420
4421 const value_string FacilityReason_vals[] = {
4422   {   0, "routeCallToGatekeeper" },
4423   {   1, "callForwarded" },
4424   {   2, "routeCallToMC" },
4425   {   3, "undefinedReason" },
4426   {   4, "conferenceListChoice" },
4427   {   5, "startH245" },
4428   {   6, "noH245" },
4429   {   7, "newTokens" },
4430   {   8, "featureSetUpdate" },
4431   {   9, "forwardedElements" },
4432   {  10, "transportedInformation" },
4433   { 0, NULL }
4434 };
4435
4436 static const per_choice_t FacilityReason_choice[] = {
4437   {   0, &hf_h225_routeCallToGatekeeper, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4438   {   1, &hf_h225_callForwarded  , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4439   {   2, &hf_h225_routeCallToMC  , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4440   {   3, &hf_h225_undefinedReason, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
4441   {   4, &hf_h225_conferenceListChoice, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4442   {   5, &hf_h225_startH245      , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4443   {   6, &hf_h225_noH245         , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4444   {   7, &hf_h225_newTokens      , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4445   {   8, &hf_h225_featureSetUpdate, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4446   {   9, &hf_h225_forwardedElements, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4447   {  10, &hf_h225_transportedInformation, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
4448   { 0, NULL, 0, NULL }
4449 };
4450
4451 static int
4452 dissect_h225_FacilityReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4453 #line 459 "h225.cnf"
4454         gint32 value;
4455         
4456   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4457                                  ett_h225_FacilityReason, FacilityReason_choice,
4458                                  &value);
4459
4460         h225_pi->reason = value;
4461
4462
4463   return offset;
4464 }
4465
4466
4467 static const per_sequence_t ConferenceList_sequence[] = {
4468   { &hf_h225_conferenceID   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_ConferenceIdentifier },
4469   { &hf_h225_conferenceAlias, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_AliasAddress },
4470   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
4471   { NULL, 0, 0, NULL }
4472 };
4473
4474 static int
4475 dissect_h225_ConferenceList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4476   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4477                                    ett_h225_ConferenceList, ConferenceList_sequence);
4478
4479   return offset;
4480 }
4481
4482
4483 static const per_sequence_t SEQUENCE_OF_ConferenceList_sequence_of[1] = {
4484   { &hf_h225_conferences_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_ConferenceList },
4485 };
4486
4487 static int
4488 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_) {
4489   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4490                                       ett_h225_SEQUENCE_OF_ConferenceList, SEQUENCE_OF_ConferenceList_sequence_of);
4491
4492   return offset;
4493 }
4494
4495
4496 static const per_sequence_t Facility_UUIE_sequence[] = {
4497   { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4498   { &hf_h225_alternativeAddress, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_TransportAddress },
4499   { &hf_h225_alternativeAliasAddress, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
4500   { &hf_h225_conferenceID   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_ConferenceIdentifier },
4501   { &hf_h225_facilityReason , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_FacilityReason },
4502   { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4503   { &hf_h225_destExtraCallInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
4504   { &hf_h225_uUIE_remoteExtensionAddress, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AliasAddress },
4505   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
4506   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4507   { &hf_h225_conferences    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ConferenceList },
4508   { &hf_h225_h245Address    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_H245TransportAddress },
4509   { &hf_h225_fastStart      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FastStart },
4510   { &hf_h225_multipleCalls  , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4511   { &hf_h225_maintainConnection, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4512   { &hf_h225_fastConnectRefused, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_NULL },
4513   { &hf_h225_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ServiceControlSession },
4514   { &hf_h225_circuitInfo    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CircuitInfo },
4515   { &hf_h225_featureSet     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FeatureSet },
4516   { &hf_h225_uUIE_destinationInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_EndpointType },
4517   { &hf_h225_h245SecurityMode, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_H245Security },
4518   { NULL, 0, 0, NULL }
4519 };
4520
4521 static int
4522 dissect_h225_Facility_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4523   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4524                                    ett_h225_Facility_UUIE, Facility_UUIE_sequence);
4525
4526 #line 376 "h225.cnf"
4527   /* Add to packet info */
4528   h225_pi->cs_type = H225_FACILITY;
4529   g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
4530
4531   return offset;
4532 }
4533
4534
4535 static const per_sequence_t Progress_UUIE_sequence[] = {
4536   { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4537   { &hf_h225_uUIE_destinationInfo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_EndpointType },
4538   { &hf_h225_h245Address    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_H245TransportAddress },
4539   { &hf_h225_callIdentifier , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4540   { &hf_h225_h245SecurityMode, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_H245Security },
4541   { &hf_h225_tokens         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
4542   { &hf_h225_cryptoTokens   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4543   { &hf_h225_fastStart      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_FastStart },
4544   { &hf_h225_multipleCalls  , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4545   { &hf_h225_maintainConnection, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
4546   { &hf_h225_fastConnectRefused, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_NULL },
4547   { NULL, 0, 0, NULL }
4548 };
4549
4550 static int
4551 dissect_h225_Progress_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4552   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4553                                    ett_h225_Progress_UUIE, Progress_UUIE_sequence);
4554
4555 #line 361 "h225.cnf"
4556   /* Add to packet info */
4557   h225_pi->cs_type = H225_PROGRESS;
4558   if (contains_faststart == TRUE )
4559         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);
4560   else 
4561         g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
4562
4563   return offset;
4564 }
4565
4566
4567
4568 static int
4569 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_) {
4570   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
4571
4572 #line 345 "h225.cnf"
4573   h225_pi->cs_type = H225_EMPTY;
4574
4575   return offset;
4576 }
4577
4578
4579 static const per_sequence_t Status_UUIE_sequence[] = {
4580   { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4581   { &hf_h225_callIdentifier , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4582   { &hf_h225_tokens         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
4583   { &hf_h225_cryptoTokens   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4584   { NULL, 0, 0, NULL }
4585 };
4586
4587 static int
4588 dissect_h225_Status_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4589   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4590                                    ett_h225_Status_UUIE, Status_UUIE_sequence);
4591
4592 #line 349 "h225.cnf"
4593   /* Add to packet info */
4594   h225_pi->cs_type = H225_STATUS;
4595   g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
4596
4597   return offset;
4598 }
4599
4600
4601 static const per_sequence_t StatusInquiry_UUIE_sequence[] = {
4602   { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4603   { &hf_h225_callIdentifier , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4604   { &hf_h225_tokens         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
4605   { &hf_h225_cryptoTokens   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4606   { NULL, 0, 0, NULL }
4607 };
4608
4609 static int
4610 dissect_h225_StatusInquiry_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4611   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4612                                    ett_h225_StatusInquiry_UUIE, StatusInquiry_UUIE_sequence);
4613
4614   return offset;
4615 }
4616
4617
4618 static const per_sequence_t SetupAcknowledge_UUIE_sequence[] = {
4619   { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4620   { &hf_h225_callIdentifier , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4621   { &hf_h225_tokens         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
4622   { &hf_h225_cryptoTokens   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4623   { NULL, 0, 0, NULL }
4624 };
4625
4626 static int
4627 dissect_h225_SetupAcknowledge_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4628   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4629                                    ett_h225_SetupAcknowledge_UUIE, SetupAcknowledge_UUIE_sequence);
4630
4631 #line 370 "h225.cnf"
4632   /* Add to packet info */
4633   h225_pi->cs_type = H225_SETUP_ACK;
4634   g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
4635
4636   return offset;
4637 }
4638
4639
4640 static const per_sequence_t Notify_UUIE_sequence[] = {
4641   { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
4642   { &hf_h225_callIdentifier , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
4643   { &hf_h225_tokens         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
4644   { &hf_h225_cryptoTokens   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
4645   { &hf_h225_connectedAddress, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
4646   { &hf_h225_presentationIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_PresentationIndicator },
4647   { &hf_h225_screeningIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ScreeningIndicator },
4648   { NULL, 0, 0, NULL }
4649 };
4650
4651 static int
4652 dissect_h225_Notify_UUIE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4653   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4654                                    ett_h225_Notify_UUIE, Notify_UUIE_sequence);
4655
4656   return offset;
4657 }
4658
4659
4660 const value_string T_h323_message_body_vals[] = {
4661   {   0, "setup" },
4662   {   1, "callProceeding" },
4663   {   2, "connect" },
4664   {   3, "alerting" },
4665   {   4, "information" },
4666   {   5, "releaseComplete" },
4667   {   6, "facility" },
4668   {   7, "progress" },
4669   {   8, "empty" },
4670   {   9, "status" },
4671   {  10, "statusInquiry" },
4672   {  11, "setupAcknowledge" },
4673   {  12, "notify" },
4674   { 0, NULL }
4675 };
4676
4677 static const per_choice_t T_h323_message_body_choice[] = {
4678   {   0, &hf_h225_setup          , ASN1_EXTENSION_ROOT    , dissect_h225_Setup_UUIE },
4679   {   1, &hf_h225_callProceeding , ASN1_EXTENSION_ROOT    , dissect_h225_CallProceeding_UUIE },
4680   {   2, &hf_h225_connect        , ASN1_EXTENSION_ROOT    , dissect_h225_Connect_UUIE },
4681   {   3, &hf_h225_alerting       , ASN1_EXTENSION_ROOT    , dissect_h225_Alerting_UUIE },
4682   {   4, &hf_h225_information    , ASN1_EXTENSION_ROOT    , dissect_h225_Information_UUIE },
4683   {   5, &hf_h225_releaseComplete, ASN1_EXTENSION_ROOT    , dissect_h225_ReleaseComplete_UUIE },
4684   {   6, &hf_h225_facility       , ASN1_EXTENSION_ROOT    , dissect_h225_Facility_UUIE },
4685   {   7, &hf_h225_progress       , ASN1_NOT_EXTENSION_ROOT, dissect_h225_Progress_UUIE },
4686   {   8, &hf_h225_empty_flg      , ASN1_NOT_EXTENSION_ROOT, dissect_h225_T_empty_flg },
4687   {   9, &hf_h225_status         , ASN1_NOT_EXTENSION_ROOT, dissect_h225_Status_UUIE },
4688   {  10, &hf_h225_statusInquiry  , ASN1_NOT_EXTENSION_ROOT, dissect_h225_StatusInquiry_UUIE },
4689   {  11, &hf_h225_setupAcknowledge, ASN1_NOT_EXTENSION_ROOT, dissect_h225_SetupAcknowledge_UUIE },
4690   {  12, &hf_h225_notify         , ASN1_NOT_EXTENSION_ROOT, dissect_h225_Notify_UUIE },
4691   { 0, NULL, 0, NULL }
4692 };
4693
4694 static int
4695 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_) {
4696 #line 242 "h225.cnf"
4697         gint32 message_body_val;
4698
4699         contains_faststart = FALSE;
4700   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4701                                  ett_h225_T_h323_message_body, T_h323_message_body_choice,
4702                                  &message_body_val);
4703
4704         if (check_col(actx->pinfo->cinfo, COL_INFO)){
4705                 col_append_fstr(actx->pinfo->cinfo, COL_INFO, "CS: %s ",
4706                         val_to_str(message_body_val, T_h323_message_body_vals, "<unknown>"));
4707         }
4708
4709         if (h225_pi->msg_type == H225_CS) {
4710                 /* Don't override msg_tag value from IRR */
4711                 h225_pi->msg_tag = message_body_val;
4712         }
4713
4714         if (contains_faststart == TRUE )
4715         {
4716                 if (check_col(actx->pinfo->cinfo, COL_INFO))
4717                 {
4718                         col_append_str(actx->pinfo->cinfo, COL_INFO, "OpenLogicalChannel " );
4719                 }
4720         }
4721
4722         col_set_fence(actx->pinfo->cinfo,COL_INFO);
4723
4724
4725
4726   return offset;
4727 }
4728
4729
4730
4731 static int
4732 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_) {
4733 #line 555 "h225.cnf"
4734         tvbuff_t *h4501_tvb = NULL;
4735
4736   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4737                                        NO_BOUND, NO_BOUND, FALSE, &h4501_tvb);
4738
4739         if (h4501_tvb && tvb_length(h4501_tvb)) {
4740                 call_dissector(h4501_handle, h4501_tvb, actx->pinfo, tree);
4741         }
4742
4743
4744   return offset;
4745 }
4746
4747
4748 static const per_sequence_t T_h4501SupplementaryService_sequence_of[1] = {
4749   { &hf_h225_h4501SupplementaryService_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_T_h4501SupplementaryService_item },
4750 };
4751
4752 static int
4753 dissect_h225_T_h4501SupplementaryService(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4754   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4755                                       ett_h225_T_h4501SupplementaryService, T_h4501SupplementaryService_sequence_of);
4756
4757   return offset;
4758 }
4759
4760
4761
4762 static int
4763 dissect_h225_T_h245Tunneling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4764   offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, &(h225_pi->is_h245Tunneling));
4765
4766   return offset;
4767 }
4768
4769
4770
4771 static int
4772 dissect_h225_H245Control_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4773 #line 338 "h225.cnf"
4774         tvbuff_t *h245_tvb = NULL;
4775
4776   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4777                                        NO_BOUND, NO_BOUND, FALSE, &h245_tvb);
4778
4779   next_tvb_add_handle(&h245_list, h245_tvb, (h225_h245_in_tree)?tree:NULL, h245dg_handle);
4780
4781
4782   return offset;
4783 }
4784
4785
4786 static const per_sequence_t H245Control_sequence_of[1] = {
4787   { &hf_h225_H245Control_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_H245Control_item },
4788 };
4789
4790 static int
4791 dissect_h225_H245Control(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4792   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4793                                       ett_h225_H245Control, H245Control_sequence_of);
4794
4795   return offset;
4796 }
4797
4798
4799 static const per_sequence_t SEQUENCE_OF_NonStandardParameter_sequence_of[1] = {
4800   { &hf_h225_nonStandardControl_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_NonStandardParameter },
4801 };
4802
4803 static int
4804 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_) {
4805   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4806                                       ett_h225_SEQUENCE_OF_NonStandardParameter, SEQUENCE_OF_NonStandardParameter_sequence_of);
4807
4808   return offset;
4809 }
4810
4811
4812 static const per_sequence_t CallLinkage_sequence[] = {
4813   { &hf_h225_globalCallId   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_GloballyUniqueID },
4814   { &hf_h225_threadId       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_GloballyUniqueID },
4815   { NULL, 0, 0, NULL }
4816 };
4817
4818 static int
4819 dissect_h225_CallLinkage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4820   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4821                                    ett_h225_CallLinkage, CallLinkage_sequence);
4822
4823   return offset;
4824 }
4825
4826
4827
4828 static int
4829 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_) {
4830 #line 577 "h225.cnf"
4831   tvbuff_t *next_tvb = NULL;
4832
4833   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4834                                        NO_BOUND, NO_BOUND, FALSE, &next_tvb);
4835
4836   next_tvb_add_handle(&tp_list, next_tvb, (h225_tp_in_tree)?tree:NULL, tp_handle);
4837
4838
4839   return offset;
4840 }
4841
4842
4843 static const per_sequence_t T_messageContent_sequence_of[1] = {
4844   { &hf_h225_messageContent_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_T_messageContent_item },
4845 };
4846
4847 static int
4848 dissect_h225_T_messageContent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4849   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4850                                       ett_h225_T_messageContent, T_messageContent_sequence_of);
4851
4852   return offset;
4853 }
4854
4855
4856 static const per_sequence_t T_tunnelledSignallingMessage_sequence[] = {
4857   { &hf_h225_tunnelledProtocolID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_TunnelledProtocol },
4858   { &hf_h225_messageContent , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_T_messageContent },
4859   { &hf_h225_tunnellingRequired, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NULL },
4860   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
4861   { NULL, 0, 0, NULL }
4862 };
4863
4864 static int
4865 dissect_h225_T_tunnelledSignallingMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4866 #line 575 "h225.cnf"
4867   tp_handle = NULL;
4868
4869   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4870                                    ett_h225_T_tunnelledSignallingMessage, T_tunnelledSignallingMessage_sequence);
4871
4872   return offset;
4873 }
4874
4875
4876 static const per_sequence_t StimulusControl_sequence[] = {
4877   { &hf_h225_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
4878   { &hf_h225_isText         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NULL },
4879   { &hf_h225_h248Message    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_OCTET_STRING },
4880   { NULL, 0, 0, NULL }
4881 };
4882
4883 static int
4884 dissect_h225_StimulusControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4885   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4886                                    ett_h225_StimulusControl, StimulusControl_sequence);
4887
4888   return offset;
4889 }
4890
4891
4892 static const per_sequence_t H323_UU_PDU_sequence[] = {
4893   { &hf_h225_h323_message_body, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_T_h323_message_body },
4894   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
4895   { &hf_h225_h4501SupplementaryService, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_T_h4501SupplementaryService },
4896   { &hf_h225_h245Tunneling  , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_T_h245Tunneling },
4897   { &hf_h225_h245Control    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_H245Control },
4898   { &hf_h225_nonStandardControl, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_NonStandardParameter },
4899   { &hf_h225_callLinkage    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CallLinkage },
4900   { &hf_h225_tunnelledSignallingMessage, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_T_tunnelledSignallingMessage },
4901   { &hf_h225_provisionalRespToH245Tunneling, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_NULL },
4902   { &hf_h225_stimulusControl, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_StimulusControl },
4903   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
4904   { NULL, 0, 0, NULL }
4905 };
4906
4907 static int
4908 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_) {
4909   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4910                                    ett_h225_H323_UU_PDU, H323_UU_PDU_sequence);
4911
4912   return offset;
4913 }
4914
4915
4916
4917 static int
4918 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_) {
4919   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4920                                        1, 131, FALSE, NULL);
4921
4922   return offset;
4923 }
4924
4925
4926 static const per_sequence_t T_user_data_sequence[] = {
4927   { &hf_h225_protocol_discriminator, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_0_255 },
4928   { &hf_h225_user_information, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING_SIZE_1_131 },
4929   { NULL, 0, 0, NULL }
4930 };
4931
4932 static int
4933 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_) {
4934   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4935                                    ett_h225_T_user_data, T_user_data_sequence);
4936
4937   return offset;
4938 }
4939
4940
4941 static const per_sequence_t H323_UserInformation_sequence[] = {
4942   { &hf_h225_h323_uu_pdu    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_H323_UU_PDU },
4943   { &hf_h225_user_data      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_T_user_data },
4944   { NULL, 0, 0, NULL }
4945 };
4946
4947 static int
4948 dissect_h225_H323_UserInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4949   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4950                                    ett_h225_H323_UserInformation, H323_UserInformation_sequence);
4951
4952   return offset;
4953 }
4954
4955
4956 static const per_sequence_t T_range_sequence[] = {
4957   { &hf_h225_startOfRange   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_PartyNumber },
4958   { &hf_h225_endOfRange     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_PartyNumber },
4959   { NULL, 0, 0, NULL }
4960 };
4961
4962 static int
4963 dissect_h225_T_range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4964   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4965                                    ett_h225_T_range, T_range_sequence);
4966
4967   return offset;
4968 }
4969
4970
4971 static const value_string h225_AddressPattern_vals[] = {
4972   {   0, "wildcard" },
4973   {   1, "range" },
4974   { 0, NULL }
4975 };
4976
4977 static const per_choice_t AddressPattern_choice[] = {
4978   {   0, &hf_h225_wildcard       , ASN1_EXTENSION_ROOT    , dissect_h225_AliasAddress },
4979   {   1, &hf_h225_range          , ASN1_EXTENSION_ROOT    , dissect_h225_T_range },
4980   { 0, NULL, 0, NULL }
4981 };
4982
4983 static int
4984 dissect_h225_AddressPattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4985   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4986                                  ett_h225_AddressPattern, AddressPattern_choice,
4987                                  NULL);
4988
4989   return offset;
4990 }
4991
4992
4993 static const per_sequence_t SEQUENCE_OF_TransportAddress_sequence_of[1] = {
4994   { &hf_h225_callSignalAddress_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_TransportAddress },
4995 };
4996
4997 static int
4998 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_) {
4999   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5000                                       ett_h225_SEQUENCE_OF_TransportAddress, SEQUENCE_OF_TransportAddress_sequence_of);
5001
5002   return offset;
5003 }
5004
5005
5006
5007 static int
5008 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_) {
5009   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5010                                                             0U, 127U, NULL, FALSE);
5011
5012   return offset;
5013 }
5014
5015
5016 static const per_sequence_t AlternateTransportAddresses_sequence[] = {
5017   { &hf_h225_annexE         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_TransportAddress },
5018   { &hf_h225_sctp           , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_TransportAddress },
5019   { NULL, 0, 0, NULL }
5020 };
5021
5022 int
5023 dissect_h225_AlternateTransportAddresses(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5024   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5025                                    ett_h225_AlternateTransportAddresses, AlternateTransportAddresses_sequence);
5026
5027   return offset;
5028 }
5029
5030
5031 static const per_sequence_t Endpoint_sequence[] = {
5032   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
5033   { &hf_h225_aliasAddress   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
5034   { &hf_h225_callSignalAddress, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_TransportAddress },
5035   { &hf_h225_rasAddress     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_TransportAddress },
5036   { &hf_h225_endpointType   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_EndpointType },
5037   { &hf_h225_tokens         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
5038   { &hf_h225_cryptoTokens   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
5039   { &hf_h225_priority       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_INTEGER_0_127 },
5040   { &hf_h225_remoteExtensionAddress, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
5041   { &hf_h225_destExtraCallInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
5042   { &hf_h225_alternateTransportAddresses, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AlternateTransportAddresses },
5043   { &hf_h225_circuitInfo    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CircuitInfo },
5044   { &hf_h225_featureSet     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FeatureSet },
5045   { NULL, 0, 0, NULL }
5046 };
5047
5048 static int
5049 dissect_h225_Endpoint(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5050   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5051                                    ett_h225_Endpoint, Endpoint_sequence);
5052
5053   return offset;
5054 }
5055
5056
5057 static const value_string h225_UseSpecifiedTransport_vals[] = {
5058   {   0, "tcp" },
5059   {   1, "annexE" },
5060   {   2, "sctp" },
5061   { 0, NULL }
5062 };
5063
5064 static const per_choice_t UseSpecifiedTransport_choice[] = {
5065   {   0, &hf_h225_tcp            , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5066   {   1, &hf_h225_annexE_flg     , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5067   {   2, &hf_h225_sctp_flg       , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
5068   { 0, NULL, 0, NULL }
5069 };
5070
5071 static int
5072 dissect_h225_UseSpecifiedTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5073   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5074                                  ett_h225_UseSpecifiedTransport, UseSpecifiedTransport_choice,
5075                                  NULL);
5076
5077   return offset;
5078 }
5079
5080
5081 static const per_sequence_t AlternateGK_sequence[] = {
5082   { &hf_h225_alternateGK_rasAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_TransportAddress },
5083   { &hf_h225_gatekeeperIdentifier, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_GatekeeperIdentifier },
5084   { &hf_h225_needToRegister , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5085   { &hf_h225_priority       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_0_127 },
5086   { NULL, 0, 0, NULL }
5087 };
5088
5089 static int
5090 dissect_h225_AlternateGK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5091   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5092                                    ett_h225_AlternateGK, AlternateGK_sequence);
5093
5094   return offset;
5095 }
5096
5097
5098 static const per_sequence_t SEQUENCE_OF_AlternateGK_sequence_of[1] = {
5099   { &hf_h225_alternateGatekeeper_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_AlternateGK },
5100 };
5101
5102 static int
5103 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_) {
5104   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5105                                       ett_h225_SEQUENCE_OF_AlternateGK, SEQUENCE_OF_AlternateGK_sequence_of);
5106
5107   return offset;
5108 }
5109
5110
5111 static const per_sequence_t AltGKInfo_sequence[] = {
5112   { &hf_h225_alternateGatekeeper, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_AlternateGK },
5113   { &hf_h225_altGKisPermanent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5114   { NULL, 0, 0, NULL }
5115 };
5116
5117 static int
5118 dissect_h225_AltGKInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5119   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5120                                    ett_h225_AltGKInfo, AltGKInfo_sequence);
5121
5122   return offset;
5123 }
5124
5125
5126 static const value_string h225_SecurityErrors2_vals[] = {
5127   {   0, "securityWrongSyncTime" },
5128   {   1, "securityReplay" },
5129   {   2, "securityWrongGeneralID" },
5130   {   3, "securityWrongSendersID" },
5131   {   4, "securityIntegrityFailed" },
5132   {   5, "securityWrongOID" },
5133   { 0, NULL }
5134 };
5135
5136 static const per_choice_t SecurityErrors2_choice[] = {
5137   {   0, &hf_h225_securityWrongSyncTime, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5138   {   1, &hf_h225_securityReplay , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5139   {   2, &hf_h225_securityWrongGeneralID, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5140   {   3, &hf_h225_securityWrongSendersID, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5141   {   4, &hf_h225_securityIntegrityFailed, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5142   {   5, &hf_h225_securityWrongOID, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5143   { 0, NULL, 0, NULL }
5144 };
5145
5146 static int
5147 dissect_h225_SecurityErrors2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5148   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5149                                  ett_h225_SecurityErrors2, SecurityErrors2_choice,
5150                                  NULL);
5151
5152   return offset;
5153 }
5154
5155
5156
5157 static int
5158 dissect_h225_RequestSeqNum(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5159   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5160                                                             1U, 65535U, &(h225_pi->requestSeqNum), FALSE);
5161
5162   return offset;
5163 }
5164
5165
5166
5167 int
5168 dissect_h225_TimeToLive(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5169   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5170                                                             1U, 4294967295U, NULL, FALSE);
5171
5172   return offset;
5173 }
5174
5175
5176
5177 static int
5178 dissect_h225_H248PackagesDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5179   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
5180                                        NO_BOUND, NO_BOUND, FALSE, NULL);
5181
5182   return offset;
5183 }
5184
5185
5186 static const value_string h225_EncryptIntAlg_vals[] = {
5187   {   0, "nonStandard" },
5188   {   1, "isoAlgorithm" },
5189   { 0, NULL }
5190 };
5191
5192 static const per_choice_t EncryptIntAlg_choice[] = {
5193   {   0, &hf_h225_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h225_NonStandardParameter },
5194   {   1, &hf_h225_isoAlgorithm   , ASN1_EXTENSION_ROOT    , dissect_h225_OBJECT_IDENTIFIER },
5195   { 0, NULL, 0, NULL }
5196 };
5197
5198 static int
5199 dissect_h225_EncryptIntAlg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5200   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5201                                  ett_h225_EncryptIntAlg, EncryptIntAlg_choice,
5202                                  NULL);
5203
5204   return offset;
5205 }
5206
5207
5208 static const value_string h225_NonIsoIntegrityMechanism_vals[] = {
5209   {   0, "hMAC-MD5" },
5210   {   1, "hMAC-iso10118-2-s" },
5211   {   2, "hMAC-iso10118-2-l" },
5212   {   3, "hMAC-iso10118-3" },
5213   { 0, NULL }
5214 };
5215
5216 static const per_choice_t NonIsoIntegrityMechanism_choice[] = {
5217   {   0, &hf_h225_hMAC_MD5       , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5218   {   1, &hf_h225_hMAC_iso10118_2_s, ASN1_EXTENSION_ROOT    , dissect_h225_EncryptIntAlg },
5219   {   2, &hf_h225_hMAC_iso10118_2_l, ASN1_EXTENSION_ROOT    , dissect_h225_EncryptIntAlg },
5220   {   3, &hf_h225_hMAC_iso10118_3, ASN1_EXTENSION_ROOT    , dissect_h225_OBJECT_IDENTIFIER },
5221   { 0, NULL, 0, NULL }
5222 };
5223
5224 static int
5225 dissect_h225_NonIsoIntegrityMechanism(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5226   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5227                                  ett_h225_NonIsoIntegrityMechanism, NonIsoIntegrityMechanism_choice,
5228                                  NULL);
5229
5230   return offset;
5231 }
5232
5233
5234 const value_string h225_IntegrityMechanism_vals[] = {
5235   {   0, "nonStandard" },
5236   {   1, "digSig" },
5237   {   2, "iso9797" },
5238   {   3, "nonIsoIM" },
5239   { 0, NULL }
5240 };
5241
5242 static const per_choice_t IntegrityMechanism_choice[] = {
5243   {   0, &hf_h225_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h225_NonStandardParameter },
5244   {   1, &hf_h225_digSig         , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5245   {   2, &hf_h225_iso9797        , ASN1_EXTENSION_ROOT    , dissect_h225_OBJECT_IDENTIFIER },
5246   {   3, &hf_h225_nonIsoIM       , ASN1_EXTENSION_ROOT    , dissect_h225_NonIsoIntegrityMechanism },
5247   { 0, NULL, 0, NULL }
5248 };
5249
5250 int
5251 dissect_h225_IntegrityMechanism(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5252   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5253                                  ett_h225_IntegrityMechanism, IntegrityMechanism_choice,
5254                                  NULL);
5255
5256   return offset;
5257 }
5258
5259
5260
5261 static int
5262 dissect_h225_BIT_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5263   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5264                                      NO_BOUND, NO_BOUND, FALSE, NULL);
5265
5266   return offset;
5267 }
5268
5269
5270 static const per_sequence_t ICV_sequence[] = {
5271   { &hf_h225_algorithmOID   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_OBJECT_IDENTIFIER },
5272   { &hf_h225_icv            , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_BIT_STRING },
5273   { NULL, 0, 0, NULL }
5274 };
5275
5276 int
5277 dissect_h225_ICV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5278   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5279                                    ett_h225_ICV, ICV_sequence);
5280
5281   return offset;
5282 }
5283
5284
5285 static const per_sequence_t CapacityReportingCapability_sequence[] = {
5286   { &hf_h225_canReportCallCapacity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5287   { NULL, 0, 0, NULL }
5288 };
5289
5290 static int
5291 dissect_h225_CapacityReportingCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5292   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5293                                    ett_h225_CapacityReportingCapability, CapacityReportingCapability_sequence);
5294
5295   return offset;
5296 }
5297
5298
5299 static const per_sequence_t CapacityReportingSpecification_when_sequence[] = {
5300   { &hf_h225_callStart      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NULL },
5301   { &hf_h225_callEnd        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NULL },
5302   { NULL, 0, 0, NULL }
5303 };
5304
5305 static int
5306 dissect_h225_CapacityReportingSpecification_when(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5307   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5308                                    ett_h225_CapacityReportingSpecification_when, CapacityReportingSpecification_when_sequence);
5309
5310   return offset;
5311 }
5312
5313
5314 static const per_sequence_t CapacityReportingSpecification_sequence[] = {
5315   { &hf_h225_capacityReportingSpecification_when, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_CapacityReportingSpecification_when },
5316   { NULL, 0, 0, NULL }
5317 };
5318
5319 static int
5320 dissect_h225_CapacityReportingSpecification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5321   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5322                                    ett_h225_CapacityReportingSpecification, CapacityReportingSpecification_sequence);
5323
5324   return offset;
5325 }
5326
5327
5328 static const per_sequence_t RasUsageInfoTypes_sequence[] = {
5329   { &hf_h225_nonStandardUsageTypes, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_NonStandardParameter },
5330   { &hf_h225_startTime      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NULL },
5331   { &hf_h225_endTime_flg    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NULL },
5332   { &hf_h225_terminationCause_flg, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NULL },
5333   { NULL, 0, 0, NULL }
5334 };
5335
5336 static int
5337 dissect_h225_RasUsageInfoTypes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5338   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5339                                    ett_h225_RasUsageInfoTypes, RasUsageInfoTypes_sequence);
5340
5341   return offset;
5342 }
5343
5344
5345 static const per_sequence_t RasUsageSpecification_when_sequence[] = {
5346   { &hf_h225_start          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NULL },
5347   { &hf_h225_end            , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NULL },
5348   { &hf_h225_inIrr          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NULL },
5349   { NULL, 0, 0, NULL }
5350 };
5351
5352 static int
5353 dissect_h225_RasUsageSpecification_when(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5354   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5355                                    ett_h225_RasUsageSpecification_when, RasUsageSpecification_when_sequence);
5356
5357   return offset;
5358 }
5359
5360
5361 static const per_sequence_t RasUsageSpecificationcallStartingPoint_sequence[] = {
5362   { &hf_h225_alerting_flg   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NULL },
5363   { &hf_h225_connect_flg    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NULL },
5364   { NULL, 0, 0, NULL }
5365 };
5366
5367 static int
5368 dissect_h225_RasUsageSpecificationcallStartingPoint(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5369   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5370                                    ett_h225_RasUsageSpecificationcallStartingPoint, RasUsageSpecificationcallStartingPoint_sequence);
5371
5372   return offset;
5373 }
5374
5375
5376 static const per_sequence_t RasUsageSpecification_sequence[] = {
5377   { &hf_h225_when           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RasUsageSpecification_when },
5378   { &hf_h225_ras_callStartingPoint, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_RasUsageSpecificationcallStartingPoint },
5379   { &hf_h225_required       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RasUsageInfoTypes },
5380   { NULL, 0, 0, NULL }
5381 };
5382
5383 static int
5384 dissect_h225_RasUsageSpecification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5385   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5386                                    ett_h225_RasUsageSpecification, RasUsageSpecification_sequence);
5387
5388   return offset;
5389 }
5390
5391
5392 static const per_sequence_t RasUsageInformation_sequence[] = {
5393   { &hf_h225_nonStandardUsageFields, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_NonStandardParameter },
5394   { &hf_h225_alertingTime   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h235_TimeStamp },
5395   { &hf_h225_connectTime    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h235_TimeStamp },
5396   { &hf_h225_endTime        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h235_TimeStamp },
5397   { NULL, 0, 0, NULL }
5398 };
5399
5400 static int
5401 dissect_h225_RasUsageInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5402   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5403                                    ett_h225_RasUsageInformation, RasUsageInformation_sequence);
5404
5405   return offset;
5406 }
5407
5408
5409
5410 static int
5411 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_) {
5412   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
5413                                        2, 32, FALSE, NULL);
5414
5415   return offset;
5416 }
5417
5418
5419 static const value_string h225_CallTerminationCause_vals[] = {
5420   {   0, "releaseCompleteReason" },
5421   {   1, "releaseCompleteCauseIE" },
5422   { 0, NULL }
5423 };
5424
5425 static const per_choice_t CallTerminationCause_choice[] = {
5426   {   0, &hf_h225_releaseCompleteReason, ASN1_EXTENSION_ROOT    , dissect_h225_ReleaseCompleteReason },
5427   {   1, &hf_h225_releaseCompleteCauseIE, ASN1_EXTENSION_ROOT    , dissect_h225_OCTET_STRING_SIZE_2_32 },
5428   { 0, NULL, 0, NULL }
5429 };
5430
5431 static int
5432 dissect_h225_CallTerminationCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5433   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5434                                  ett_h225_CallTerminationCause, CallTerminationCause_choice,
5435                                  NULL);
5436
5437   return offset;
5438 }
5439
5440
5441 static const per_sequence_t TransportChannelInfo_sequence[] = {
5442   { &hf_h225_sendAddress    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_TransportAddress },
5443   { &hf_h225_recvAddress    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_TransportAddress },
5444   { NULL, 0, 0, NULL }
5445 };
5446
5447 int
5448 dissect_h225_TransportChannelInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5449   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5450                                    ett_h225_TransportChannelInfo, TransportChannelInfo_sequence);
5451
5452   return offset;
5453 }
5454
5455
5456 static const per_sequence_t BandwidthDetails_sequence[] = {
5457   { &hf_h225_sender         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5458   { &hf_h225_multicast      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5459   { &hf_h225_bandwidth      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BandWidth },
5460   { &hf_h225_rtcpAddresses  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_TransportChannelInfo },
5461   { NULL, 0, 0, NULL }
5462 };
5463
5464 static int
5465 dissect_h225_BandwidthDetails(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5466   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5467                                    ett_h225_BandwidthDetails, BandwidthDetails_sequence);
5468
5469   return offset;
5470 }
5471
5472
5473 static const per_sequence_t CallCreditCapability_sequence[] = {
5474   { &hf_h225_canDisplayAmountString, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_BOOLEAN },
5475   { &hf_h225_canEnforceDurationLimit, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_BOOLEAN },
5476   { NULL, 0, 0, NULL }
5477 };
5478
5479 static int
5480 dissect_h225_CallCreditCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5481   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5482                                    ett_h225_CallCreditCapability, CallCreditCapability_sequence);
5483
5484   return offset;
5485 }
5486
5487
5488
5489 static int
5490 dissect_h225_PrintableString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5491   offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
5492                                           NO_BOUND, NO_BOUND);
5493
5494   return offset;
5495 }
5496
5497
5498
5499 static int
5500 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_) {
5501   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5502                                                             1U, 255U, NULL, FALSE);
5503
5504   return offset;
5505 }
5506
5507
5508 static const per_sequence_t T_associatedSessionIds_sequence_of[1] = {
5509   { &hf_h225_associatedSessionIds_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_1_255 },
5510 };
5511
5512 static int
5513 dissect_h225_T_associatedSessionIds(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5514   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5515                                       ett_h225_T_associatedSessionIds, T_associatedSessionIds_sequence_of);
5516
5517   return offset;
5518 }
5519
5520
5521 static const per_sequence_t RTPSession_sequence[] = {
5522   { &hf_h225_rtpAddress     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_TransportChannelInfo },
5523   { &hf_h225_rtcpAddress    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_TransportChannelInfo },
5524   { &hf_h225_cname          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_PrintableString },
5525   { &hf_h225_ssrc           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_1_4294967295 },
5526   { &hf_h225_sessionId      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_1_255 },
5527   { &hf_h225_associatedSessionIds, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_T_associatedSessionIds },
5528   { &hf_h225_multicast_flg  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_NULL },
5529   { &hf_h225_bandwidth      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_BandWidth },
5530   { NULL, 0, 0, NULL }
5531 };
5532
5533 static int
5534 dissect_h225_RTPSession(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5535   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5536                                    ett_h225_RTPSession, RTPSession_sequence);
5537
5538   return offset;
5539 }
5540
5541
5542 static const value_string h225_RehomingModel_vals[] = {
5543   {   0, "gatekeeperBased" },
5544   {   1, "endpointBased" },
5545   { 0, NULL }
5546 };
5547
5548 static const per_choice_t RehomingModel_choice[] = {
5549   {   0, &hf_h225_gatekeeperBased, ASN1_NO_EXTENSIONS     , dissect_h225_NULL },
5550   {   1, &hf_h225_endpointBased  , ASN1_NO_EXTENSIONS     , dissect_h225_NULL },
5551   { 0, NULL, 0, NULL }
5552 };
5553
5554 static int
5555 dissect_h225_RehomingModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5556   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5557                                  ett_h225_RehomingModel, RehomingModel_choice,
5558                                  NULL);
5559
5560   return offset;
5561 }
5562
5563
5564 static const per_sequence_t SEQUENCE_OF_Endpoint_sequence_of[1] = {
5565   { &hf_h225_alternateEndpoints_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_Endpoint },
5566 };
5567
5568 static int
5569 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_) {
5570   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5571                                       ett_h225_SEQUENCE_OF_Endpoint, SEQUENCE_OF_Endpoint_sequence_of);
5572
5573   return offset;
5574 }
5575
5576
5577 static const per_sequence_t SEQUENCE_OF_AuthenticationMechanism_sequence_of[1] = {
5578   { &hf_h225_authenticationCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h235_AuthenticationMechanism },
5579 };
5580
5581 static int
5582 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_) {
5583   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5584                                       ett_h225_SEQUENCE_OF_AuthenticationMechanism, SEQUENCE_OF_AuthenticationMechanism_sequence_of);
5585
5586   return offset;
5587 }
5588
5589
5590 static const per_sequence_t T_algorithmOIDs_sequence_of[1] = {
5591   { &hf_h225_algorithmOIDs_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_OBJECT_IDENTIFIER },
5592 };
5593
5594 static int
5595 dissect_h225_T_algorithmOIDs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5596   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5597                                       ett_h225_T_algorithmOIDs, T_algorithmOIDs_sequence_of);
5598
5599   return offset;
5600 }
5601
5602
5603 static const per_sequence_t SEQUENCE_OF_IntegrityMechanism_sequence_of[1] = {
5604   { &hf_h225_integrity_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_IntegrityMechanism },
5605 };
5606
5607 static int
5608 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_) {
5609   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5610                                       ett_h225_SEQUENCE_OF_IntegrityMechanism, SEQUENCE_OF_IntegrityMechanism_sequence_of);
5611
5612   return offset;
5613 }
5614
5615
5616 static const per_sequence_t GatekeeperRequest_sequence[] = {
5617   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
5618   { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
5619   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
5620   { &hf_h225_gatekeeperRequest_rasAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_TransportAddress },
5621   { &hf_h225_endpointType   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_EndpointType },
5622   { &hf_h225_gatekeeperIdentifier, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_GatekeeperIdentifier },
5623   { &hf_h225_callServices   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_QseriesOptions },
5624   { &hf_h225_endpointAlias  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
5625   { &hf_h225_alternateEndpoints, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_Endpoint },
5626   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
5627   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
5628   { &hf_h225_authenticationCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AuthenticationMechanism },
5629   { &hf_h225_algorithmOIDs  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_T_algorithmOIDs },
5630   { &hf_h225_integrity      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_IntegrityMechanism },
5631   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
5632   { &hf_h225_supportsAltGK  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_NULL },
5633   { &hf_h225_featureSet     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FeatureSet },
5634   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
5635   { &hf_h225_supportsAssignedGK, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5636   { &hf_h225_assignedGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AlternateGK },
5637   { NULL, 0, 0, NULL }
5638 };
5639
5640 static int
5641 dissect_h225_GatekeeperRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5642   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5643                                    ett_h225_GatekeeperRequest, GatekeeperRequest_sequence);
5644
5645   return offset;
5646 }
5647
5648
5649 static const per_sequence_t GatekeeperConfirm_sequence[] = {
5650   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
5651   { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
5652   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
5653   { &hf_h225_gatekeeperIdentifier, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_GatekeeperIdentifier },
5654   { &hf_h225_gatekeeperConfirm_rasAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_TransportAddress },
5655   { &hf_h225_alternateGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AlternateGK },
5656   { &hf_h225_authenticationMode, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h235_AuthenticationMechanism },
5657   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
5658   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
5659   { &hf_h225_algorithmOID   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_OBJECT_IDENTIFIER },
5660   { &hf_h225_integrity      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_IntegrityMechanism },
5661   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
5662   { &hf_h225_featureSet     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FeatureSet },
5663   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
5664   { &hf_h225_assignedGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AlternateGK },
5665   { &hf_h225_rehomingModel  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_RehomingModel },
5666   { NULL, 0, 0, NULL }
5667 };
5668
5669 static int
5670 dissect_h225_GatekeeperConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5671   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5672                                    ett_h225_GatekeeperConfirm, GatekeeperConfirm_sequence);
5673
5674   return offset;
5675 }
5676
5677
5678 const value_string GatekeeperRejectReason_vals[] = {
5679   {   0, "resourceUnavailable" },
5680   {   1, "terminalExcluded" },
5681   {   2, "invalidRevision" },
5682   {   3, "undefinedReason" },
5683   {   4, "securityDenial" },
5684   {   5, "genericDataReason" },
5685   {   6, "neededFeatureNotSupported" },
5686   {   7, "securityError" },
5687   { 0, NULL }
5688 };
5689
5690 static const per_choice_t GatekeeperRejectReason_choice[] = {
5691   {   0, &hf_h225_resourceUnavailable, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5692   {   1, &hf_h225_terminalExcluded, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5693   {   2, &hf_h225_invalidRevision, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5694   {   3, &hf_h225_undefinedReason, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5695   {   4, &hf_h225_securityDenial , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
5696   {   5, &hf_h225_genericDataReason, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
5697   {   6, &hf_h225_neededFeatureNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
5698   {   7, &hf_h225_gkRej_securityError, ASN1_NOT_EXTENSION_ROOT, dissect_h225_SecurityErrors },
5699   { 0, NULL, 0, NULL }
5700 };
5701
5702 static int
5703 dissect_h225_GatekeeperRejectReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5704 #line 466 "h225.cnf"
5705   gint32 value;
5706         
5707   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5708                                  ett_h225_GatekeeperRejectReason, GatekeeperRejectReason_choice,
5709                                  &value);
5710
5711   h225_pi->reason = value;
5712
5713
5714   return offset;
5715 }
5716
5717
5718 static const per_sequence_t GatekeeperReject_sequence[] = {
5719   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
5720   { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
5721   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
5722   { &hf_h225_gatekeeperIdentifier, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_GatekeeperIdentifier },
5723   { &hf_h225_gatekeeperRejectReason, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_GatekeeperRejectReason },
5724   { &hf_h225_altGKInfo      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AltGKInfo },
5725   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
5726   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
5727   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
5728   { &hf_h225_featureSet     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FeatureSet },
5729   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
5730   { NULL, 0, 0, NULL }
5731 };
5732
5733 static int
5734 dissect_h225_GatekeeperReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5735   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5736                                    ett_h225_GatekeeperReject, GatekeeperReject_sequence);
5737
5738   return offset;
5739 }
5740
5741
5742 static const per_sequence_t SEQUENCE_OF_AddressPattern_sequence_of[1] = {
5743   { &hf_h225_terminalAliasPattern_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_AddressPattern },
5744 };
5745
5746 static int
5747 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_) {
5748   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5749                                       ett_h225_SEQUENCE_OF_AddressPattern, SEQUENCE_OF_AddressPattern_sequence_of);
5750
5751   return offset;
5752 }
5753
5754
5755 static const per_sequence_t SEQUENCE_OF_H248PackagesDescriptor_sequence_of[1] = {
5756   { &hf_h225_supportedH248Packages_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_H248PackagesDescriptor },
5757 };
5758
5759 static int
5760 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_) {
5761   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5762                                       ett_h225_SEQUENCE_OF_H248PackagesDescriptor, SEQUENCE_OF_H248PackagesDescriptor_sequence_of);
5763
5764   return offset;
5765 }
5766
5767
5768 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_QOSCapability_sequence_of[1] = {
5769   { &hf_h225_qOSCapabilities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_QOSCapability },
5770 };
5771
5772 static int
5773 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_) {
5774   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5775                                                   ett_h225_SEQUENCE_SIZE_1_256_OF_QOSCapability, SEQUENCE_SIZE_1_256_OF_QOSCapability_sequence_of,
5776                                                   1, 256);
5777
5778   return offset;
5779 }
5780
5781
5782 const value_string h225_TransportQOS_vals[] = {
5783   {   0, "endpointControlled" },
5784   {   1, "gatekeeperControlled" },
5785   {   2, "noControl" },
5786   {   3, "qOSCapabilities" },
5787   { 0, NULL }
5788 };
5789
5790 static const per_choice_t TransportQOS_choice[] = {
5791   {   0, &hf_h225_endpointControlled, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5792   {   1, &hf_h225_gatekeeperControlled, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5793   {   2, &hf_h225_noControl      , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5794   {   3, &hf_h225_qOSCapabilities, ASN1_NOT_EXTENSION_ROOT, dissect_h225_SEQUENCE_SIZE_1_256_OF_QOSCapability },
5795   { 0, NULL, 0, NULL }
5796 };
5797
5798 int
5799 dissect_h225_TransportQOS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5800   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5801                                  ett_h225_TransportQOS, TransportQOS_choice,
5802                                  NULL);
5803
5804   return offset;
5805 }
5806
5807
5808 static const per_sequence_t RegistrationRequest_sequence[] = {
5809   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
5810   { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
5811   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
5812   { &hf_h225_discoveryComplete, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5813   { &hf_h225_callSignalAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_TransportAddress },
5814   { &hf_h225_rasAddress     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_TransportAddress },
5815   { &hf_h225_terminalType   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_EndpointType },
5816   { &hf_h225_terminalAlias  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
5817   { &hf_h225_gatekeeperIdentifier, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_GatekeeperIdentifier },
5818   { &hf_h225_endpointVendor , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_VendorIdentifier },
5819   { &hf_h225_alternateEndpoints, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_Endpoint },
5820   { &hf_h225_timeToLive     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_TimeToLive },
5821   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
5822   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
5823   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
5824   { &hf_h225_keepAlive      , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5825   { &hf_h225_endpointIdentifier, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_EndpointIdentifier },
5826   { &hf_h225_willSupplyUUIEs, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5827   { &hf_h225_maintainConnection, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5828   { &hf_h225_alternateTransportAddresses, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AlternateTransportAddresses },
5829   { &hf_h225_additiveRegistration, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_NULL },
5830   { &hf_h225_terminalAliasPattern, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AddressPattern },
5831   { &hf_h225_supportsAltGK  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_NULL },
5832   { &hf_h225_usageReportingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_RasUsageInfoTypes },
5833   { &hf_h225_multipleCalls  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_BOOLEAN },
5834   { &hf_h225_supportedH248Packages, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_H248PackagesDescriptor },
5835   { &hf_h225_callCreditCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CallCreditCapability },
5836   { &hf_h225_capacityReportingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CapacityReportingCapability },
5837   { &hf_h225_capacity       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CallCapacity },
5838   { &hf_h225_featureSet     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FeatureSet },
5839   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
5840   { &hf_h225_restart        , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_NULL },
5841   { &hf_h225_supportsACFSequences, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_NULL },
5842   { &hf_h225_supportsAssignedGK, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5843   { &hf_h225_assignedGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AlternateGK },
5844   { &hf_h225_transportQOS   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_TransportQOS },
5845   { &hf_h225_language       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_Language },
5846   { NULL, 0, 0, NULL }
5847 };
5848
5849 static int
5850 dissect_h225_RegistrationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5851   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5852                                    ett_h225_RegistrationRequest, RegistrationRequest_sequence);
5853
5854   return offset;
5855 }
5856
5857
5858
5859 static int
5860 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_) {
5861   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5862                                                             1U, 65535U, NULL, FALSE);
5863
5864   return offset;
5865 }
5866
5867
5868 static const per_sequence_t T_preGrantedARQ_sequence[] = {
5869   { &hf_h225_makeCall       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5870   { &hf_h225_useGKCallSignalAddressToMakeCall, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5871   { &hf_h225_answerCall     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5872   { &hf_h225_useGKCallSignalAddressToAnswer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5873   { &hf_h225_irrFrequencyInCall, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_INTEGER_1_65535 },
5874   { &hf_h225_totalBandwidthRestriction, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_BandWidth },
5875   { &hf_h225_alternateTransportAddresses, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AlternateTransportAddresses },
5876   { &hf_h225_useSpecifiedTransport, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_UseSpecifiedTransport },
5877   { NULL, 0, 0, NULL }
5878 };
5879
5880 static int
5881 dissect_h225_T_preGrantedARQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5882   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5883                                    ett_h225_T_preGrantedARQ, T_preGrantedARQ_sequence);
5884
5885   return offset;
5886 }
5887
5888
5889 static const per_sequence_t SEQUENCE_OF_RasUsageSpecification_sequence_of[1] = {
5890   { &hf_h225_usageSpec_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_RasUsageSpecification },
5891 };
5892
5893 static int
5894 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_) {
5895   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5896                                       ett_h225_SEQUENCE_OF_RasUsageSpecification, SEQUENCE_OF_RasUsageSpecification_sequence_of);
5897
5898   return offset;
5899 }
5900
5901
5902 static const per_sequence_t RegistrationConfirm_sequence[] = {
5903   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
5904   { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
5905   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
5906   { &hf_h225_callSignalAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_TransportAddress },
5907   { &hf_h225_terminalAlias  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
5908   { &hf_h225_gatekeeperIdentifier, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_GatekeeperIdentifier },
5909   { &hf_h225_endpointIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_EndpointIdentifier },
5910   { &hf_h225_alternateGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AlternateGK },
5911   { &hf_h225_timeToLive     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_TimeToLive },
5912   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
5913   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
5914   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
5915   { &hf_h225_willRespondToIRR, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5916   { &hf_h225_preGrantedARQ  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_T_preGrantedARQ },
5917   { &hf_h225_maintainConnection, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
5918   { &hf_h225_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ServiceControlSession },
5919   { &hf_h225_supportsAdditiveRegistration, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_NULL },
5920   { &hf_h225_terminalAliasPattern, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AddressPattern },
5921   { &hf_h225_supportedPrefixes, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_SupportedPrefix },
5922   { &hf_h225_usageSpec      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_RasUsageSpecification },
5923   { &hf_h225_featureServerAlias, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AliasAddress },
5924   { &hf_h225_capacityReportingSpec, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CapacityReportingSpecification },
5925   { &hf_h225_featureSet     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FeatureSet },
5926   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
5927   { &hf_h225_assignedGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AlternateGK },
5928   { &hf_h225_rehomingModel  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_RehomingModel },
5929   { &hf_h225_transportQOS   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_TransportQOS },
5930   { NULL, 0, 0, NULL }
5931 };
5932
5933 static int
5934 dissect_h225_RegistrationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5935   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5936                                    ett_h225_RegistrationConfirm, RegistrationConfirm_sequence);
5937
5938   return offset;
5939 }
5940
5941
5942 static const per_sequence_t T_invalidTerminalAliases_sequence[] = {
5943   { &hf_h225_terminalAlias  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
5944   { &hf_h225_terminalAliasPattern, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AddressPattern },
5945   { &hf_h225_supportedPrefixes, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_SupportedPrefix },
5946   { NULL, 0, 0, NULL }
5947 };
5948
5949 static int
5950 dissect_h225_T_invalidTerminalAliases(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5951   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5952                                    ett_h225_T_invalidTerminalAliases, T_invalidTerminalAliases_sequence);
5953
5954   return offset;
5955 }
5956
5957
5958 const value_string RegistrationRejectReason_vals[] = {
5959   {   0, "discoveryRequired" },
5960   {   1, "invalidRevision" },
5961   {   2, "invalidCallSignalAddress" },
5962   {   3, "invalidRASAddress" },
5963   {   4, "duplicateAlias" },
5964   {   5, "invalidTerminalType" },
5965   {   6, "undefinedReason" },
5966   {   7, "transportNotSupported" },
5967   {   8, "transportQOSNotSupported" },
5968   {   9, "resourceUnavailable" },
5969   {  10, "invalidAlias" },
5970   {  11, "securityDenial" },
5971   {  12, "fullRegistrationRequired" },
5972   {  13, "additiveRegistrationNotSupported" },
5973   {  14, "invalidTerminalAliases" },
5974   {  15, "genericDataReason" },
5975   {  16, "neededFeatureNotSupported" },
5976   {  17, "securityError" },
5977   {  18, "registerWithAssignedGK" },
5978   { 0, NULL }
5979 };
5980
5981 static const per_choice_t RegistrationRejectReason_choice[] = {
5982   {   0, &hf_h225_discoveryRequired, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5983   {   1, &hf_h225_invalidRevision, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5984   {   2, &hf_h225_invalidCallSignalAddress, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5985   {   3, &hf_h225_invalidRASAddress, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5986   {   4, &hf_h225_duplicateAlias , ASN1_EXTENSION_ROOT    , dissect_h225_SEQUENCE_OF_AliasAddress },
5987   {   5, &hf_h225_invalidTerminalType, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5988   {   6, &hf_h225_undefinedReason, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5989   {   7, &hf_h225_transportNotSupported, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
5990   {   8, &hf_h225_transportQOSNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
5991   {   9, &hf_h225_resourceUnavailable, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
5992   {  10, &hf_h225_invalidAlias   , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
5993   {  11, &hf_h225_securityDenial , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
5994   {  12, &hf_h225_fullRegistrationRequired, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
5995   {  13, &hf_h225_additiveRegistrationNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
5996   {  14, &hf_h225_invalidTerminalAliases, ASN1_NOT_EXTENSION_ROOT, dissect_h225_T_invalidTerminalAliases },
5997   {  15, &hf_h225_genericDataReason, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
5998   {  16, &hf_h225_neededFeatureNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
5999   {  17, &hf_h225_reg_securityError, ASN1_NOT_EXTENSION_ROOT, dissect_h225_SecurityErrors },
6000   {  18, &hf_h225_registerWithAssignedGK, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6001   { 0, NULL, 0, NULL }
6002 };
6003
6004 static int
6005 dissect_h225_RegistrationRejectReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6006 #line 521 "h225.cnf"
6007   gint32 value;
6008
6009   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6010                                  ett_h225_RegistrationRejectReason, RegistrationRejectReason_choice,
6011                                  &value);
6012
6013   h225_pi->reason = value;
6014
6015
6016   return offset;
6017 }
6018
6019
6020 static const per_sequence_t RegistrationReject_sequence[] = {
6021   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6022   { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
6023   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
6024   { &hf_h225_registrationRejectReason, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RegistrationRejectReason },
6025   { &hf_h225_gatekeeperIdentifier, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_GatekeeperIdentifier },
6026   { &hf_h225_altGKInfo      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AltGKInfo },
6027   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
6028   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6029   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
6030   { &hf_h225_featureSet     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FeatureSet },
6031   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
6032   { &hf_h225_assignedGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AlternateGK },
6033   { NULL, 0, 0, NULL }
6034 };
6035
6036 static int
6037 dissect_h225_RegistrationReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6038   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6039                                    ett_h225_RegistrationReject, RegistrationReject_sequence);
6040
6041   return offset;
6042 }
6043
6044
6045 const value_string UnregRequestReason_vals[] = {
6046   {   0, "reregistrationRequired" },
6047   {   1, "ttlExpired" },
6048   {   2, "securityDenial" },
6049   {   3, "undefinedReason" },
6050   {   4, "maintenance" },
6051   {   5, "securityError" },
6052   {   6, "registerWithAssignedGK" },
6053   { 0, NULL }
6054 };
6055
6056 static const per_choice_t UnregRequestReason_choice[] = {
6057   {   0, &hf_h225_reregistrationRequired, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6058   {   1, &hf_h225_ttlExpired     , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6059   {   2, &hf_h225_securityDenial , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6060   {   3, &hf_h225_undefinedReason, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6061   {   4, &hf_h225_maintenance    , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6062   {   5, &hf_h225_securityError  , ASN1_NOT_EXTENSION_ROOT, dissect_h225_SecurityErrors2 },
6063   {   6, &hf_h225_registerWithAssignedGK, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6064   { 0, NULL, 0, NULL }
6065 };
6066
6067 static int
6068 dissect_h225_UnregRequestReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6069 #line 473 "h225.cnf"
6070   gint32 value;
6071         
6072   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6073                                  ett_h225_UnregRequestReason, UnregRequestReason_choice,
6074                                  &value);
6075
6076   h225_pi->reason = value;
6077
6078
6079   return offset;
6080 }
6081
6082
6083 static const per_sequence_t UnregistrationRequest_sequence[] = {
6084   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6085   { &hf_h225_callSignalAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_TransportAddress },
6086   { &hf_h225_endpointAlias  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
6087   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
6088   { &hf_h225_endpointIdentifier, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_EndpointIdentifier },
6089   { &hf_h225_alternateEndpoints, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_Endpoint },
6090   { &hf_h225_gatekeeperIdentifier, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_GatekeeperIdentifier },
6091   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
6092   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6093   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
6094   { &hf_h225_unregRequestReason, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_UnregRequestReason },
6095   { &hf_h225_endpointAliasPattern, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AddressPattern },
6096   { &hf_h225_supportedPrefixes, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_SupportedPrefix },
6097   { &hf_h225_alternateGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AlternateGK },
6098   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
6099   { &hf_h225_assignedGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AlternateGK },
6100   { NULL, 0, 0, NULL }
6101 };
6102
6103 static int
6104 dissect_h225_UnregistrationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6105   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6106                                    ett_h225_UnregistrationRequest, UnregistrationRequest_sequence);
6107
6108   return offset;
6109 }
6110
6111
6112 static const per_sequence_t UnregistrationConfirm_sequence[] = {
6113   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6114   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
6115   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
6116   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6117   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
6118   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
6119   { &hf_h225_assignedGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AlternateGK },
6120   { NULL, 0, 0, NULL }
6121 };
6122
6123 static int
6124 dissect_h225_UnregistrationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6125   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6126                                    ett_h225_UnregistrationConfirm, UnregistrationConfirm_sequence);
6127
6128   return offset;
6129 }
6130
6131
6132 const value_string UnregRejectReason_vals[] = {
6133   {   0, "notCurrentlyRegistered" },
6134   {   1, "callInProgress" },
6135   {   2, "undefinedReason" },
6136   {   3, "permissionDenied" },
6137   {   4, "securityDenial" },
6138   {   5, "securityError" },
6139   { 0, NULL }
6140 };
6141
6142 static const per_choice_t UnregRejectReason_choice[] = {
6143   {   0, &hf_h225_notCurrentlyRegistered, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6144   {   1, &hf_h225_callInProgress , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6145   {   2, &hf_h225_undefinedReason, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6146   {   3, &hf_h225_permissionDenied, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6147   {   4, &hf_h225_securityDenial , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6148   {   5, &hf_h225_securityError  , ASN1_NOT_EXTENSION_ROOT, dissect_h225_SecurityErrors2 },
6149   { 0, NULL, 0, NULL }
6150 };
6151
6152 static int
6153 dissect_h225_UnregRejectReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6154 #line 480 "h225.cnf"
6155   gint32 value;
6156
6157   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6158                                  ett_h225_UnregRejectReason, UnregRejectReason_choice,
6159                                  &value);
6160
6161   h225_pi->reason = value;
6162
6163
6164   return offset;
6165 }
6166
6167
6168 static const per_sequence_t UnregistrationReject_sequence[] = {
6169   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6170   { &hf_h225_unregRejectReason, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_UnregRejectReason },
6171   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
6172   { &hf_h225_altGKInfo      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AltGKInfo },
6173   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
6174   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6175   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
6176   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
6177   { NULL, 0, 0, NULL }
6178 };
6179
6180 static int
6181 dissect_h225_UnregistrationReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6182   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6183                                    ett_h225_UnregistrationReject, UnregistrationReject_sequence);
6184
6185   return offset;
6186 }
6187
6188
6189 static const value_string h225_CallModel_vals[] = {
6190   {   0, "direct" },
6191   {   1, "gatekeeperRouted" },
6192   { 0, NULL }
6193 };
6194
6195 static const per_choice_t CallModel_choice[] = {
6196   {   0, &hf_h225_direct         , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6197   {   1, &hf_h225_gatekeeperRouted, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6198   { 0, NULL, 0, NULL }
6199 };
6200
6201 static int
6202 dissect_h225_CallModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6203   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6204                                  ett_h225_CallModel, CallModel_choice,
6205                                  NULL);
6206
6207   return offset;
6208 }
6209
6210
6211
6212 static int
6213 dissect_h225_DestinationInfo_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6214 #line 297 "h225.cnf"
6215
6216   h225_pi->is_destinationInfo = TRUE;
6217
6218   offset = dissect_h225_AliasAddress(tvb, offset, actx, tree, hf_index);
6219
6220   return offset;
6221 }
6222
6223
6224 static const per_sequence_t DestinationInfo_sequence_of[1] = {
6225   { &hf_h225_DestinationInfo_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_DestinationInfo_item },
6226 };
6227
6228 static int
6229 dissect_h225_DestinationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6230   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6231                                       ett_h225_DestinationInfo, DestinationInfo_sequence_of);
6232
6233   return offset;
6234 }
6235
6236
6237 static const per_sequence_t AdmissionRequest_sequence[] = {
6238   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6239   { &hf_h225_callType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_CallType },
6240   { &hf_h225_callModel      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_CallModel },
6241   { &hf_h225_endpointIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_EndpointIdentifier },
6242   { &hf_h225_destinationInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_DestinationInfo },
6243   { &hf_h225_destCallSignalAddress, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_TransportAddress },
6244   { &hf_h225_destExtraCallInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
6245   { &hf_h225_srcInfo        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_AliasAddress },
6246   { &hf_h225_srcCallSignalAddress, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_TransportAddress },
6247   { &hf_h225_bandWidth      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BandWidth },
6248   { &hf_h225_callReferenceValue, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_CallReferenceValue },
6249   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
6250   { &hf_h225_callServices   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_QseriesOptions },
6251   { &hf_h225_conferenceID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ConferenceIdentifier },
6252   { &hf_h225_activeMC       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6253   { &hf_h225_answerCall     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6254   { &hf_h225_canMapAlias    , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6255   { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
6256   { &hf_h225_srcAlternatives, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_Endpoint },
6257   { &hf_h225_destAlternatives, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_Endpoint },
6258   { &hf_h225_gatekeeperIdentifier, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_GatekeeperIdentifier },
6259   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
6260   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6261   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
6262   { &hf_h225_transportQOS   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_TransportQOS },
6263   { &hf_h225_willSupplyUUIEs, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6264   { &hf_h225_callLinkage    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CallLinkage },
6265   { &hf_h225_gatewayDataRate, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_DataRate },
6266   { &hf_h225_capacity       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CallCapacity },
6267   { &hf_h225_circuitInfo    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CircuitInfo },
6268   { &hf_h225_desiredProtocols, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_SupportedProtocols },
6269   { &hf_h225_desiredTunnelledProtocol, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_TunnelledProtocol },
6270   { &hf_h225_featureSet     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FeatureSet },
6271   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
6272   { &hf_h225_canMapSrcAlias , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6273   { NULL, 0, 0, NULL }
6274 };
6275
6276 static int
6277 dissect_h225_AdmissionRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6278   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6279                                    ett_h225_AdmissionRequest, AdmissionRequest_sequence);
6280
6281   return offset;
6282 }
6283
6284
6285 static const per_sequence_t UUIEsRequested_sequence[] = {
6286   { &hf_h225_setup_bool     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6287   { &hf_h225_callProceeding_flg, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6288   { &hf_h225_connect_bool   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6289   { &hf_h225_alerting_bool  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6290   { &hf_h225_information_bool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6291   { &hf_h225_releaseComplete_bool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6292   { &hf_h225_facility_bool  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6293   { &hf_h225_progress_bool  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6294   { &hf_h225_empty          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6295   { &hf_h225_status_bool    , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6296   { &hf_h225_statusInquiry_bool, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6297   { &hf_h225_setupAcknowledge_bool, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6298   { &hf_h225_notify_bool    , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6299   { NULL, 0, 0, NULL }
6300 };
6301
6302 static int
6303 dissect_h225_UUIEsRequested(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6304   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6305                                    ett_h225_UUIEsRequested, UUIEsRequested_sequence);
6306
6307   return offset;
6308 }
6309
6310
6311 static const per_sequence_t AdmissionConfirm_sequence[] = {
6312   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6313   { &hf_h225_bandWidth      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BandWidth },
6314   { &hf_h225_callModel      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_CallModel },
6315   { &hf_h225_destCallSignalAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_TransportAddress },
6316   { &hf_h225_irrFrequency   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_INTEGER_1_65535 },
6317   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
6318   { &hf_h225_destinationInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_DestinationInfo },
6319   { &hf_h225_destExtraCallInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
6320   { &hf_h225_destinationType, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_EndpointType },
6321   { &hf_h225_remoteExtensionAddress, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
6322   { &hf_h225_alternateEndpoints, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_Endpoint },
6323   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
6324   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6325   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
6326   { &hf_h225_transportQOS   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_TransportQOS },
6327   { &hf_h225_willRespondToIRR, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6328   { &hf_h225_uuiesRequested , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_UUIEsRequested },
6329   { &hf_h225_language       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_Language },
6330   { &hf_h225_alternateTransportAddresses, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AlternateTransportAddresses },
6331   { &hf_h225_useSpecifiedTransport, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_UseSpecifiedTransport },
6332   { &hf_h225_circuitInfo    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CircuitInfo },
6333   { &hf_h225_usageSpec      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_RasUsageSpecification },
6334   { &hf_h225_supportedProtocols, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_SupportedProtocols },
6335   { &hf_h225_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ServiceControlSession },
6336   { &hf_h225_multipleCalls  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_BOOLEAN },
6337   { &hf_h225_featureSet     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FeatureSet },
6338   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
6339   { &hf_h225_modifiedSrcInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
6340   { &hf_h225_assignedGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AlternateGK },
6341   { NULL, 0, 0, NULL }
6342 };
6343
6344 static int
6345 dissect_h225_AdmissionConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6346   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6347                                    ett_h225_AdmissionConfirm, AdmissionConfirm_sequence);
6348
6349   return offset;
6350 }
6351
6352
6353 static const per_sequence_t SEQUENCE_OF_PartyNumber_sequence_of[1] = {
6354   { &hf_h225_routeCallToSCN_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_PartyNumber },
6355 };
6356
6357 static int
6358 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_) {
6359   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6360                                       ett_h225_SEQUENCE_OF_PartyNumber, SEQUENCE_OF_PartyNumber_sequence_of);
6361
6362   return offset;
6363 }
6364
6365
6366 const value_string AdmissionRejectReason_vals[] = {
6367   {   0, "calledPartyNotRegistered" },
6368   {   1, "invalidPermission" },
6369   {   2, "requestDenied" },
6370   {   3, "undefinedReason" },
6371   {   4, "callerNotRegistered" },
6372   {   5, "routeCallToGatekeeper" },
6373   {   6, "invalidEndpointIdentifier" },
6374   {   7, "resourceUnavailable" },
6375   {   8, "securityDenial" },
6376   {   9, "qosControlNotSupported" },
6377   {  10, "incompleteAddress" },
6378   {  11, "aliasesInconsistent" },
6379   {  12, "routeCallToSCN" },
6380   {  13, "exceedsCallCapacity" },
6381   {  14, "collectDestination" },
6382   {  15, "collectPIN" },
6383   {  16, "genericDataReason" },
6384   {  17, "neededFeatureNotSupported" },
6385   {  18, "securityError" },
6386   {  19, "securityDHmismatch" },
6387   {  20, "noRouteToDestination" },
6388   {  21, "unallocatedNumber" },
6389   {  22, "registerWithAssignedGK" },
6390   { 0, NULL }
6391 };
6392
6393 static const per_choice_t AdmissionRejectReason_choice[] = {
6394   {   0, &hf_h225_calledPartyNotRegistered, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6395   {   1, &hf_h225_invalidPermission, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6396   {   2, &hf_h225_requestDenied  , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6397   {   3, &hf_h225_undefinedReason, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6398   {   4, &hf_h225_callerNotRegistered, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6399   {   5, &hf_h225_routeCallToGatekeeper, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6400   {   6, &hf_h225_invalidEndpointIdentifier, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6401   {   7, &hf_h225_resourceUnavailable, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6402   {   8, &hf_h225_securityDenial , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6403   {   9, &hf_h225_qosControlNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6404   {  10, &hf_h225_incompleteAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6405   {  11, &hf_h225_aliasesInconsistent, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6406   {  12, &hf_h225_routeCallToSCN , ASN1_NOT_EXTENSION_ROOT, dissect_h225_SEQUENCE_OF_PartyNumber },
6407   {  13, &hf_h225_exceedsCallCapacity, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6408   {  14, &hf_h225_collectDestination, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6409   {  15, &hf_h225_collectPIN     , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6410   {  16, &hf_h225_genericDataReason, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6411   {  17, &hf_h225_neededFeatureNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6412   {  18, &hf_h225_securityError  , ASN1_NOT_EXTENSION_ROOT, dissect_h225_SecurityErrors2 },
6413   {  19, &hf_h225_securityDHmismatch, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6414   {  20, &hf_h225_noRouteToDestination, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6415   {  21, &hf_h225_unallocatedNumber, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6416   {  22, &hf_h225_registerWithAssignedGK, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6417   { 0, NULL, 0, NULL }
6418 };
6419
6420 static int
6421 dissect_h225_AdmissionRejectReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6422 #line 507 "h225.cnf"
6423   gint32 value;
6424
6425   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6426                                  ett_h225_AdmissionRejectReason, AdmissionRejectReason_choice,
6427                                  &value);
6428
6429   h225_pi->reason = value;
6430
6431
6432   return offset;
6433 }
6434
6435
6436 static const per_sequence_t AdmissionReject_sequence[] = {
6437   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6438   { &hf_h225_rejectReason   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_AdmissionRejectReason },
6439   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
6440   { &hf_h225_altGKInfo      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AltGKInfo },
6441   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
6442   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6443   { &hf_h225_callSignalAddress, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_TransportAddress },
6444   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
6445   { &hf_h225_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ServiceControlSession },
6446   { &hf_h225_featureSet     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FeatureSet },
6447   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
6448   { &hf_h225_assignedGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AlternateGK },
6449   { NULL, 0, 0, NULL }
6450 };
6451
6452 static int
6453 dissect_h225_AdmissionReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6454   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6455                                    ett_h225_AdmissionReject, AdmissionReject_sequence);
6456
6457   return offset;
6458 }
6459
6460
6461 static const per_sequence_t SEQUENCE_OF_BandwidthDetails_sequence_of[1] = {
6462   { &hf_h225_bandwidthDetails_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_BandwidthDetails },
6463 };
6464
6465 static int
6466 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_) {
6467   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6468                                       ett_h225_SEQUENCE_OF_BandwidthDetails, SEQUENCE_OF_BandwidthDetails_sequence_of);
6469
6470   return offset;
6471 }
6472
6473
6474 static const per_sequence_t BandwidthRequest_sequence[] = {
6475   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6476   { &hf_h225_endpointIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_EndpointIdentifier },
6477   { &hf_h225_conferenceID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ConferenceIdentifier },
6478   { &hf_h225_callReferenceValue, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_CallReferenceValue },
6479   { &hf_h225_callType       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_CallType },
6480   { &hf_h225_bandWidth      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BandWidth },
6481   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
6482   { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
6483   { &hf_h225_gatekeeperIdentifier, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_GatekeeperIdentifier },
6484   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
6485   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6486   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
6487   { &hf_h225_answeredCall   , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6488   { &hf_h225_callLinkage    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CallLinkage },
6489   { &hf_h225_capacity       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CallCapacity },
6490   { &hf_h225_usageInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_RasUsageInformation },
6491   { &hf_h225_bandwidthDetails, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_BandwidthDetails },
6492   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
6493   { &hf_h225_transportQOS   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_TransportQOS },
6494   { NULL, 0, 0, NULL }
6495 };
6496
6497 static int
6498 dissect_h225_BandwidthRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6499   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6500                                    ett_h225_BandwidthRequest, BandwidthRequest_sequence);
6501
6502   return offset;
6503 }
6504
6505
6506 static const per_sequence_t BandwidthConfirm_sequence[] = {
6507   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6508   { &hf_h225_bandWidth      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BandWidth },
6509   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
6510   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
6511   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6512   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
6513   { &hf_h225_capacity       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CallCapacity },
6514   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
6515   { &hf_h225_transportQOS   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_TransportQOS },
6516   { NULL, 0, 0, NULL }
6517 };
6518
6519 static int
6520 dissect_h225_BandwidthConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6521   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6522                                    ett_h225_BandwidthConfirm, BandwidthConfirm_sequence);
6523
6524   return offset;
6525 }
6526
6527
6528 const value_string BandRejectReason_vals[] = {
6529   {   0, "notBound" },
6530   {   1, "invalidConferenceID" },
6531   {   2, "invalidPermission" },
6532   {   3, "insufficientResources" },
6533   {   4, "invalidRevision" },
6534   {   5, "undefinedReason" },
6535   {   6, "securityDenial" },
6536   {   7, "securityError" },
6537   { 0, NULL }
6538 };
6539
6540 static const per_choice_t BandRejectReason_choice[] = {
6541   {   0, &hf_h225_notBound       , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6542   {   1, &hf_h225_invalidConferenceID, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6543   {   2, &hf_h225_invalidPermission, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6544   {   3, &hf_h225_insufficientResources, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6545   {   4, &hf_h225_invalidRevision, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6546   {   5, &hf_h225_undefinedReason, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6547   {   6, &hf_h225_securityDenial , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6548   {   7, &hf_h225_securityError  , ASN1_NOT_EXTENSION_ROOT, dissect_h225_SecurityErrors2 },
6549   { 0, NULL, 0, NULL }
6550 };
6551
6552 static int
6553 dissect_h225_BandRejectReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6554 #line 487 "h225.cnf"
6555   gint32 value;
6556
6557   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6558                                  ett_h225_BandRejectReason, BandRejectReason_choice,
6559                                  &value);
6560
6561   h225_pi->reason = value;
6562
6563
6564   return offset;
6565 }
6566
6567
6568 static const per_sequence_t BandwidthReject_sequence[] = {
6569   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6570   { &hf_h225_bandRejectReason, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BandRejectReason },
6571   { &hf_h225_allowedBandWidth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BandWidth },
6572   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
6573   { &hf_h225_altGKInfo      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AltGKInfo },
6574   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
6575   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6576   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
6577   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
6578   { NULL, 0, 0, NULL }
6579 };
6580
6581 static int
6582 dissect_h225_BandwidthReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6583   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6584                                    ett_h225_BandwidthReject, BandwidthReject_sequence);
6585
6586   return offset;
6587 }
6588
6589
6590 const value_string DisengageReason_vals[] = {
6591   {   0, "forcedDrop" },
6592   {   1, "normalDrop" },
6593   {   2, "undefinedReason" },
6594   { 0, NULL }
6595 };
6596
6597 static const per_choice_t DisengageReason_choice[] = {
6598   {   0, &hf_h225_forcedDrop     , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6599   {   1, &hf_h225_normalDrop     , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6600   {   2, &hf_h225_undefinedReason, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6601   { 0, NULL, 0, NULL }
6602 };
6603
6604 static int
6605 dissect_h225_DisengageReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6606 #line 494 "h225.cnf"
6607   gint32 value;
6608         
6609   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6610                                  ett_h225_DisengageReason, DisengageReason_choice,
6611                                  &value);
6612
6613   h225_pi->reason = value;
6614
6615
6616   return offset;
6617 }
6618
6619
6620 static const per_sequence_t DisengageRequest_sequence[] = {
6621   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6622   { &hf_h225_endpointIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_EndpointIdentifier },
6623   { &hf_h225_conferenceID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ConferenceIdentifier },
6624   { &hf_h225_callReferenceValue, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_CallReferenceValue },
6625   { &hf_h225_disengageReason, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_DisengageReason },
6626   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
6627   { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
6628   { &hf_h225_gatekeeperIdentifier, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_GatekeeperIdentifier },
6629   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
6630   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6631   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
6632   { &hf_h225_answeredCall   , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6633   { &hf_h225_callLinkage    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CallLinkage },
6634   { &hf_h225_capacity       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CallCapacity },
6635   { &hf_h225_circuitInfo    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CircuitInfo },
6636   { &hf_h225_usageInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_RasUsageInformation },
6637   { &hf_h225_terminationCause, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CallTerminationCause },
6638   { &hf_h225_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ServiceControlSession },
6639   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
6640   { NULL, 0, 0, NULL }
6641 };
6642
6643 static int
6644 dissect_h225_DisengageRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6645   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6646                                    ett_h225_DisengageRequest, DisengageRequest_sequence);
6647
6648   return offset;
6649 }
6650
6651
6652 static const per_sequence_t DisengageConfirm_sequence[] = {
6653   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6654   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
6655   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
6656   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6657   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
6658   { &hf_h225_capacity       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CallCapacity },
6659   { &hf_h225_circuitInfo    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CircuitInfo },
6660   { &hf_h225_usageInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_RasUsageInformation },
6661   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
6662   { &hf_h225_assignedGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AlternateGK },
6663   { NULL, 0, 0, NULL }
6664 };
6665
6666 static int
6667 dissect_h225_DisengageConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6668   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6669                                    ett_h225_DisengageConfirm, DisengageConfirm_sequence);
6670
6671   return offset;
6672 }
6673
6674
6675 const value_string DisengageRejectReason_vals[] = {
6676   {   0, "notRegistered" },
6677   {   1, "requestToDropOther" },
6678   {   2, "securityDenial" },
6679   {   3, "securityError" },
6680   { 0, NULL }
6681 };
6682
6683 static const per_choice_t DisengageRejectReason_choice[] = {
6684   {   0, &hf_h225_notRegistered  , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6685   {   1, &hf_h225_requestToDropOther, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6686   {   2, &hf_h225_securityDenial , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6687   {   3, &hf_h225_securityError  , ASN1_NOT_EXTENSION_ROOT, dissect_h225_SecurityErrors2 },
6688   { 0, NULL, 0, NULL }
6689 };
6690
6691 static int
6692 dissect_h225_DisengageRejectReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6693 #line 500 "h225.cnf"
6694   gint32 value;
6695         
6696   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6697                                  ett_h225_DisengageRejectReason, DisengageRejectReason_choice,
6698                                  &value);
6699
6700   h225_pi->reason = value;
6701
6702
6703   return offset;
6704 }
6705
6706
6707 static const per_sequence_t DisengageReject_sequence[] = {
6708   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6709   { &hf_h225_disengageRejectReason, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_DisengageRejectReason },
6710   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
6711   { &hf_h225_altGKInfo      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AltGKInfo },
6712   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
6713   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6714   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
6715   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
6716   { NULL, 0, 0, NULL }
6717 };
6718
6719 static int
6720 dissect_h225_DisengageReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6721   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6722                                    ett_h225_DisengageReject, DisengageReject_sequence);
6723
6724   return offset;
6725 }
6726
6727
6728 static const per_sequence_t LocationRequest_sequence[] = {
6729   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6730   { &hf_h225_endpointIdentifier, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_EndpointIdentifier },
6731   { &hf_h225_destinationInfo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_DestinationInfo },
6732   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
6733   { &hf_h225_replyAddress   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_TransportAddress },
6734   { &hf_h225_sourceInfo     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
6735   { &hf_h225_canMapAlias    , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6736   { &hf_h225_gatekeeperIdentifier, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_GatekeeperIdentifier },
6737   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
6738   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6739   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
6740   { &hf_h225_desiredProtocols, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_SupportedProtocols },
6741   { &hf_h225_desiredTunnelledProtocol, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_TunnelledProtocol },
6742   { &hf_h225_featureSet     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FeatureSet },
6743   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
6744   { &hf_h225_hopCount       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_INTEGER_1_255 },
6745   { &hf_h225_circuitInfo    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CircuitInfo },
6746   { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CallIdentifier },
6747   { &hf_h225_bandWidth      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_BandWidth },
6748   { &hf_h225_sourceEndpointInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
6749   { &hf_h225_canMapSrcAlias , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6750   { &hf_h225_language       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_Language },
6751   { NULL, 0, 0, NULL }
6752 };
6753
6754 static int
6755 dissect_h225_LocationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6756   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6757                                    ett_h225_LocationRequest, LocationRequest_sequence);
6758
6759   return offset;
6760 }
6761
6762
6763 static const per_sequence_t LocationConfirm_sequence[] = {
6764   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6765   { &hf_h225_locationConfirm_callSignalAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_TransportAddress },
6766   { &hf_h225_locationConfirm_rasAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_TransportAddress },
6767   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
6768   { &hf_h225_destinationInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_DestinationInfo },
6769   { &hf_h225_destExtraCallInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
6770   { &hf_h225_destinationType, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_EndpointType },
6771   { &hf_h225_remoteExtensionAddress, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
6772   { &hf_h225_alternateEndpoints, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_Endpoint },
6773   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
6774   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6775   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
6776   { &hf_h225_alternateTransportAddresses, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AlternateTransportAddresses },
6777   { &hf_h225_supportedProtocols, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_SupportedProtocols },
6778   { &hf_h225_multipleCalls  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_BOOLEAN },
6779   { &hf_h225_featureSet     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FeatureSet },
6780   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
6781   { &hf_h225_circuitInfo    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CircuitInfo },
6782   { &hf_h225_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ServiceControlSession },
6783   { &hf_h225_modifiedSrcInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
6784   { &hf_h225_bandWidth      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_BandWidth },
6785   { NULL, 0, 0, NULL }
6786 };
6787
6788 static int
6789 dissect_h225_LocationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6790   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6791                                    ett_h225_LocationConfirm, LocationConfirm_sequence);
6792
6793   return offset;
6794 }
6795
6796
6797 const value_string LocationRejectReason_vals[] = {
6798   {   0, "notRegistered" },
6799   {   1, "invalidPermission" },
6800   {   2, "requestDenied" },
6801   {   3, "undefinedReason" },
6802   {   4, "securityDenial" },
6803   {   5, "aliasesInconsistent" },
6804   {   6, "routeCalltoSCN" },
6805   {   7, "resourceUnavailable" },
6806   {   8, "genericDataReason" },
6807   {   9, "neededFeatureNotSupported" },
6808   {  10, "hopCountExceeded" },
6809   {  11, "incompleteAddress" },
6810   {  12, "securityError" },
6811   {  13, "securityDHmismatch" },
6812   {  14, "noRouteToDestination" },
6813   {  15, "unallocatedNumber" },
6814   { 0, NULL }
6815 };
6816
6817 static const per_choice_t LocationRejectReason_choice[] = {
6818   {   0, &hf_h225_notRegistered  , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6819   {   1, &hf_h225_invalidPermission, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6820   {   2, &hf_h225_requestDenied  , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6821   {   3, &hf_h225_undefinedReason, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
6822   {   4, &hf_h225_securityDenial , ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6823   {   5, &hf_h225_aliasesInconsistent, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6824   {   6, &hf_h225_routeCalltoSCN , ASN1_NOT_EXTENSION_ROOT, dissect_h225_SEQUENCE_OF_PartyNumber },
6825   {   7, &hf_h225_resourceUnavailable, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6826   {   8, &hf_h225_genericDataReason, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6827   {   9, &hf_h225_neededFeatureNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6828   {  10, &hf_h225_hopCountExceeded, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6829   {  11, &hf_h225_incompleteAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6830   {  12, &hf_h225_securityError  , ASN1_NOT_EXTENSION_ROOT, dissect_h225_SecurityErrors2 },
6831   {  13, &hf_h225_securityDHmismatch, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6832   {  14, &hf_h225_noRouteToDestination, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6833   {  15, &hf_h225_unallocatedNumber, ASN1_NOT_EXTENSION_ROOT, dissect_h225_NULL },
6834   { 0, NULL, 0, NULL }
6835 };
6836
6837 static int
6838 dissect_h225_LocationRejectReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6839 #line 514 "h225.cnf"
6840   gint32 value;
6841
6842   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6843                                  ett_h225_LocationRejectReason, LocationRejectReason_choice,
6844                                  &value);
6845
6846   h225_pi->reason = value;
6847
6848
6849   return offset;
6850 }
6851
6852
6853 static const per_sequence_t LocationReject_sequence[] = {
6854   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6855   { &hf_h225_locationRejectReason, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_LocationRejectReason },
6856   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
6857   { &hf_h225_altGKInfo      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AltGKInfo },
6858   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
6859   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6860   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
6861   { &hf_h225_featureSet     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FeatureSet },
6862   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
6863   { &hf_h225_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ServiceControlSession },
6864   { NULL, 0, 0, NULL }
6865 };
6866
6867 static int
6868 dissect_h225_LocationReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6869   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6870                                    ett_h225_LocationReject, LocationReject_sequence);
6871
6872   return offset;
6873 }
6874
6875
6876 static const per_sequence_t InfoRequest_sequence[] = {
6877   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
6878   { &hf_h225_callReferenceValue, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_CallReferenceValue },
6879   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
6880   { &hf_h225_replyAddress   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_TransportAddress },
6881   { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
6882   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
6883   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6884   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
6885   { &hf_h225_uuiesRequested , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_UUIEsRequested },
6886   { &hf_h225_callLinkage    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CallLinkage },
6887   { &hf_h225_usageInfoRequested, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_RasUsageInfoTypes },
6888   { &hf_h225_segmentedResponseSupported, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_NULL },
6889   { &hf_h225_nextSegmentRequested, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_INTEGER_0_65535 },
6890   { &hf_h225_capacityInfoRequested, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_NULL },
6891   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
6892   { &hf_h225_assignedGatekeeper, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_AlternateGK },
6893   { NULL, 0, 0, NULL }
6894 };
6895
6896 static int
6897 dissect_h225_InfoRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6898   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6899                                    ett_h225_InfoRequest, InfoRequest_sequence);
6900
6901   return offset;
6902 }
6903
6904
6905 static const per_sequence_t SEQUENCE_OF_RTPSession_sequence_of[1] = {
6906   { &hf_h225_audio_item     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_RTPSession },
6907 };
6908
6909 static int
6910 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_) {
6911   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6912                                       ett_h225_SEQUENCE_OF_RTPSession, SEQUENCE_OF_RTPSession_sequence_of);
6913
6914   return offset;
6915 }
6916
6917
6918 static const per_sequence_t SEQUENCE_OF_TransportChannelInfo_sequence_of[1] = {
6919   { &hf_h225_data_item      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_TransportChannelInfo },
6920 };
6921
6922 static int
6923 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_) {
6924   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6925                                       ett_h225_SEQUENCE_OF_TransportChannelInfo, SEQUENCE_OF_TransportChannelInfo_sequence_of);
6926
6927   return offset;
6928 }
6929
6930
6931 static const per_sequence_t SEQUENCE_OF_ConferenceIdentifier_sequence_of[1] = {
6932   { &hf_h225_substituteConfIDs_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_ConferenceIdentifier },
6933 };
6934
6935 static int
6936 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_) {
6937   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6938                                       ett_h225_SEQUENCE_OF_ConferenceIdentifier, SEQUENCE_OF_ConferenceIdentifier_sequence_of);
6939
6940   return offset;
6941 }
6942
6943
6944 static const per_sequence_t T_pdu_item_sequence[] = {
6945   { &hf_h225_h323pdu        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_H323_UU_PDU },
6946   { &hf_h225_sent           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
6947   { NULL, 0, 0, NULL }
6948 };
6949
6950 static int
6951 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_) {
6952   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6953                                    ett_h225_T_pdu_item, T_pdu_item_sequence);
6954
6955   return offset;
6956 }
6957
6958
6959 static const per_sequence_t T_pdu_sequence_of[1] = {
6960   { &hf_h225_pdu_item       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_T_pdu_item },
6961 };
6962
6963 static int
6964 dissect_h225_T_pdu(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6965   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6966                                       ett_h225_T_pdu, T_pdu_sequence_of);
6967
6968   return offset;
6969 }
6970
6971
6972 static const per_sequence_t T_perCallInfo_item_sequence[] = {
6973   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
6974   { &hf_h225_callReferenceValue, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_CallReferenceValue },
6975   { &hf_h225_conferenceID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ConferenceIdentifier },
6976   { &hf_h225_originator     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_BOOLEAN },
6977   { &hf_h225_audio          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_RTPSession },
6978   { &hf_h225_video          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_RTPSession },
6979   { &hf_h225_data           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_TransportChannelInfo },
6980   { &hf_h225_h245           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_TransportChannelInfo },
6981   { &hf_h225_callSignaling  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_TransportChannelInfo },
6982   { &hf_h225_callType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_CallType },
6983   { &hf_h225_bandWidth      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BandWidth },
6984   { &hf_h225_callModel      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_CallModel },
6985   { &hf_h225_callIdentifier , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
6986   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
6987   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
6988   { &hf_h225_substituteConfIDs, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_ConferenceIdentifier },
6989   { &hf_h225_pdu            , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_T_pdu },
6990   { &hf_h225_callLinkage    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CallLinkage },
6991   { &hf_h225_usageInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_RasUsageInformation },
6992   { &hf_h225_circuitInfo    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CircuitInfo },
6993   { NULL, 0, 0, NULL }
6994 };
6995
6996 static int
6997 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_) {
6998   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6999                                    ett_h225_T_perCallInfo_item, T_perCallInfo_item_sequence);
7000
7001   return offset;
7002 }
7003
7004
7005 static const per_sequence_t T_perCallInfo_sequence_of[1] = {
7006   { &hf_h225_perCallInfo_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_T_perCallInfo_item },
7007 };
7008
7009 static int
7010 dissect_h225_T_perCallInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7011   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
7012                                       ett_h225_T_perCallInfo, T_perCallInfo_sequence_of);
7013
7014   return offset;
7015 }
7016
7017
7018 static const value_string h225_InfoRequestResponseStatus_vals[] = {
7019   {   0, "complete" },
7020   {   1, "incomplete" },
7021   {   2, "segment" },
7022   {   3, "invalidCall" },
7023   { 0, NULL }
7024 };
7025
7026 static const per_choice_t InfoRequestResponseStatus_choice[] = {
7027   {   0, &hf_h225_complete       , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
7028   {   1, &hf_h225_incomplete     , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
7029   {   2, &hf_h225_segment        , ASN1_EXTENSION_ROOT    , dissect_h225_INTEGER_0_65535 },
7030   {   3, &hf_h225_invalidCall    , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
7031   { 0, NULL, 0, NULL }
7032 };
7033
7034 static int
7035 dissect_h225_InfoRequestResponseStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7036   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7037                                  ett_h225_InfoRequestResponseStatus, InfoRequestResponseStatus_choice,
7038                                  NULL);
7039
7040   return offset;
7041 }
7042
7043
7044 static const per_sequence_t InfoRequestResponse_sequence[] = {
7045   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
7046   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
7047   { &hf_h225_endpointType   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_EndpointType },
7048   { &hf_h225_endpointIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_EndpointIdentifier },
7049   { &hf_h225_infoRequestResponse_rasAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_TransportAddress },
7050   { &hf_h225_callSignalAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_TransportAddress },
7051   { &hf_h225_endpointAlias  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_AliasAddress },
7052   { &hf_h225_perCallInfo    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_T_perCallInfo },
7053   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
7054   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
7055   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
7056   { &hf_h225_needResponse   , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
7057   { &hf_h225_capacity       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CallCapacity },
7058   { &hf_h225_irrStatus      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_InfoRequestResponseStatus },
7059   { &hf_h225_unsolicited    , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
7060   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
7061   { NULL, 0, 0, NULL }
7062 };
7063
7064 static int
7065 dissect_h225_InfoRequestResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7066   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7067                                    ett_h225_InfoRequestResponse, InfoRequestResponse_sequence);
7068
7069   return offset;
7070 }
7071
7072
7073 static const per_sequence_t NonStandardMessage_sequence[] = {
7074   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
7075   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_NonStandardParameter },
7076   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
7077   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
7078   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
7079   { &hf_h225_featureSet     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_FeatureSet },
7080   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
7081   { NULL, 0, 0, NULL }
7082 };
7083
7084 static int
7085 dissect_h225_NonStandardMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7086   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7087                                    ett_h225_NonStandardMessage, NonStandardMessage_sequence);
7088
7089   return offset;
7090 }
7091
7092
7093 static const per_sequence_t UnknownMessageResponse_sequence[] = {
7094   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
7095   { &hf_h225_tokens         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
7096   { &hf_h225_cryptoTokens   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
7097   { &hf_h225_integrityCheckValue, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ICV },
7098   { &hf_h225_messageNotUnderstood, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h225_OCTET_STRING },
7099   { NULL, 0, 0, NULL }
7100 };
7101
7102 static int
7103 dissect_h225_UnknownMessageResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7104   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7105                                    ett_h225_UnknownMessageResponse, UnknownMessageResponse_sequence);
7106
7107   return offset;
7108 }
7109
7110
7111 static const per_sequence_t RequestInProgress_sequence[] = {
7112   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
7113   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
7114   { &hf_h225_tokens         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
7115   { &hf_h225_cryptoTokens   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
7116   { &hf_h225_integrityCheckValue, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_ICV },
7117   { &hf_h225_delay          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_INTEGER_1_65535 },
7118   { NULL, 0, 0, NULL }
7119 };
7120
7121 static int
7122 dissect_h225_RequestInProgress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7123   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7124                                    ett_h225_RequestInProgress, RequestInProgress_sequence);
7125
7126   return offset;
7127 }
7128
7129
7130 static const per_sequence_t ResourcesAvailableIndicate_sequence[] = {
7131   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
7132   { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
7133   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
7134   { &hf_h225_endpointIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_EndpointIdentifier },
7135   { &hf_h225_protocols      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_SupportedProtocols },
7136   { &hf_h225_almostOutOfResources, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
7137   { &hf_h225_tokens         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
7138   { &hf_h225_cryptoTokens   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
7139   { &hf_h225_integrityCheckValue, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_ICV },
7140   { &hf_h225_capacity       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_CallCapacity },
7141   { &hf_h225_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
7142   { NULL, 0, 0, NULL }
7143 };
7144
7145 static int
7146 dissect_h225_ResourcesAvailableIndicate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7147   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7148                                    ett_h225_ResourcesAvailableIndicate, ResourcesAvailableIndicate_sequence);
7149
7150   return offset;
7151 }
7152
7153
7154 static const per_sequence_t ResourcesAvailableConfirm_sequence[] = {
7155   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
7156   { &hf_h225_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ProtocolIdentifier },
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_genericData    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
7162   { NULL, 0, 0, NULL }
7163 };
7164
7165 static int
7166 dissect_h225_ResourcesAvailableConfirm(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_ResourcesAvailableConfirm, ResourcesAvailableConfirm_sequence);
7169
7170   return offset;
7171 }
7172
7173
7174 static const per_sequence_t InfoRequestAck_sequence[] = {
7175   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
7176   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
7177   { &hf_h225_tokens         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
7178   { &hf_h225_cryptoTokens   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
7179   { &hf_h225_integrityCheckValue, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_ICV },
7180   { NULL, 0, 0, NULL }
7181 };
7182
7183 static int
7184 dissect_h225_InfoRequestAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7185   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7186                                    ett_h225_InfoRequestAck, InfoRequestAck_sequence);
7187
7188   return offset;
7189 }
7190
7191
7192 const value_string InfoRequestNakReason_vals[] = {
7193   {   0, "notRegistered" },
7194   {   1, "securityDenial" },
7195   {   2, "undefinedReason" },
7196   {   3, "securityError" },
7197   { 0, NULL }
7198 };
7199
7200 static const per_choice_t InfoRequestNakReason_choice[] = {
7201   {   0, &hf_h225_notRegistered  , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
7202   {   1, &hf_h225_securityDenial , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
7203   {   2, &hf_h225_undefinedReason, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
7204   {   3, &hf_h225_securityError  , ASN1_NOT_EXTENSION_ROOT, dissect_h225_SecurityErrors2 },
7205   { 0, NULL, 0, NULL }
7206 };
7207
7208 static int
7209 dissect_h225_InfoRequestNakReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7210 #line 528 "h225.cnf"
7211   gint32 value;
7212         
7213   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7214                                  ett_h225_InfoRequestNakReason, InfoRequestNakReason_choice,
7215                                  &value);
7216
7217   h225_pi->reason = value;
7218
7219
7220   return offset;
7221 }
7222
7223
7224 static const per_sequence_t InfoRequestNak_sequence[] = {
7225   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
7226   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
7227   { &hf_h225_nakReason      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_InfoRequestNakReason },
7228   { &hf_h225_altGKInfo      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_AltGKInfo },
7229   { &hf_h225_tokens         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
7230   { &hf_h225_cryptoTokens   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
7231   { &hf_h225_integrityCheckValue, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_ICV },
7232   { NULL, 0, 0, NULL }
7233 };
7234
7235 static int
7236 dissect_h225_InfoRequestNak(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7237   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7238                                    ett_h225_InfoRequestNak, InfoRequestNak_sequence);
7239
7240   return offset;
7241 }
7242
7243
7244 static const per_sequence_t T_callSpecific_sequence[] = {
7245   { &hf_h225_callIdentifier , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
7246   { &hf_h225_conferenceID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_ConferenceIdentifier },
7247   { &hf_h225_answeredCall   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_BOOLEAN },
7248   { NULL, 0, 0, NULL }
7249 };
7250
7251 static int
7252 dissect_h225_T_callSpecific(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7253   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7254                                    ett_h225_T_callSpecific, T_callSpecific_sequence);
7255
7256   return offset;
7257 }
7258
7259
7260 static const per_sequence_t ServiceControlIndication_sequence[] = {
7261   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
7262   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
7263   { &hf_h225_serviceControl , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_SEQUENCE_OF_ServiceControlSession },
7264   { &hf_h225_endpointIdentifier, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_EndpointIdentifier },
7265   { &hf_h225_callSpecific   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_T_callSpecific },
7266   { &hf_h225_tokens         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
7267   { &hf_h225_cryptoTokens   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
7268   { &hf_h225_integrityCheckValue, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_ICV },
7269   { &hf_h225_featureSet     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_FeatureSet },
7270   { &hf_h225_genericData    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
7271   { NULL, 0, 0, NULL }
7272 };
7273
7274 static int
7275 dissect_h225_ServiceControlIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7276   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7277                                    ett_h225_ServiceControlIndication, ServiceControlIndication_sequence);
7278
7279   return offset;
7280 }
7281
7282
7283 static const value_string h225_T_result_vals[] = {
7284   {   0, "started" },
7285   {   1, "failed" },
7286   {   2, "stopped" },
7287   {   3, "notAvailable" },
7288   {   4, "neededFeatureNotSupported" },
7289   { 0, NULL }
7290 };
7291
7292 static const per_choice_t T_result_choice[] = {
7293   {   0, &hf_h225_started        , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
7294   {   1, &hf_h225_failed         , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
7295   {   2, &hf_h225_stopped        , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
7296   {   3, &hf_h225_notAvailable   , ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
7297   {   4, &hf_h225_neededFeatureNotSupported, ASN1_EXTENSION_ROOT    , dissect_h225_NULL },
7298   { 0, NULL, 0, NULL }
7299 };
7300
7301 static int
7302 dissect_h225_T_result(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7303   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7304                                  ett_h225_T_result, T_result_choice,
7305                                  NULL);
7306
7307   return offset;
7308 }
7309
7310
7311 static const per_sequence_t ServiceControlResponse_sequence[] = {
7312   { &hf_h225_requestSeqNum  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_RequestSeqNum },
7313   { &hf_h225_result         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_T_result },
7314   { &hf_h225_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_NonStandardParameter },
7315   { &hf_h225_tokens         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_ClearToken },
7316   { &hf_h225_cryptoTokens   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_CryptoH323Token },
7317   { &hf_h225_integrityCheckValue, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_ICV },
7318   { &hf_h225_featureSet     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_FeatureSet },
7319   { &hf_h225_genericData    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_SEQUENCE_OF_GenericData },
7320   { NULL, 0, 0, NULL }
7321 };
7322
7323 static int
7324 dissect_h225_ServiceControlResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7325   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7326                                    ett_h225_ServiceControlResponse, ServiceControlResponse_sequence);
7327
7328   return offset;
7329 }
7330
7331
7332 static const per_sequence_t SEQUENCE_OF_AdmissionConfirm_sequence_of[1] = {
7333   { &hf_h225_admissionConfirmSequence_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_AdmissionConfirm },
7334 };
7335
7336 static int
7337 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_) {
7338   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
7339                                       ett_h225_SEQUENCE_OF_AdmissionConfirm, SEQUENCE_OF_AdmissionConfirm_sequence_of);
7340
7341   return offset;
7342 }
7343
7344
7345 const value_string h225_RasMessage_vals[] = {
7346   {   0, "gatekeeperRequest" },
7347   {   1, "gatekeeperConfirm" },
7348   {   2, "gatekeeperReject" },
7349   {   3, "registrationRequest" },
7350   {   4, "registrationConfirm" },
7351   {   5, "registrationReject" },
7352   {   6, "unregistrationRequest" },
7353   {   7, "unregistrationConfirm" },
7354   {   8, "unregistrationReject" },
7355   {   9, "admissionRequest" },
7356   {  10, "admissionConfirm" },
7357   {  11, "admissionReject" },
7358   {  12, "bandwidthRequest" },
7359   {  13, "bandwidthConfirm" },
7360   {  14, "bandwidthReject" },
7361   {  15, "disengageRequest" },
7362   {  16, "disengageConfirm" },
7363   {  17, "disengageReject" },
7364   {  18, "locationRequest" },
7365   {  19, "locationConfirm" },
7366   {  20, "locationReject" },
7367   {  21, "infoRequest" },
7368   {  22, "infoRequestResponse" },
7369   {  23, "nonStandardMessage" },
7370   {  24, "unknownMessageResponse" },
7371   {  25, "requestInProgress" },
7372   {  26, "resourcesAvailableIndicate" },
7373   {  27, "resourcesAvailableConfirm" },
7374   {  28, "infoRequestAck" },
7375   {  29, "infoRequestNak" },
7376   {  30, "serviceControlIndication" },
7377   {  31, "serviceControlResponse" },
7378   {  32, "admissionConfirmSequence" },
7379   { 0, NULL }
7380 };
7381
7382 static const per_choice_t RasMessage_choice[] = {
7383   {   0, &hf_h225_gatekeeperRequest, ASN1_EXTENSION_ROOT    , dissect_h225_GatekeeperRequest },
7384   {   1, &hf_h225_gatekeeperConfirm, ASN1_EXTENSION_ROOT    , dissect_h225_GatekeeperConfirm },
7385   {   2, &hf_h225_gatekeeperReject, ASN1_EXTENSION_ROOT    , dissect_h225_GatekeeperReject },
7386   {   3, &hf_h225_registrationRequest, ASN1_EXTENSION_ROOT    , dissect_h225_RegistrationRequest },
7387   {   4, &hf_h225_registrationConfirm, ASN1_EXTENSION_ROOT    , dissect_h225_RegistrationConfirm },
7388   {   5, &hf_h225_registrationReject, ASN1_EXTENSION_ROOT    , dissect_h225_RegistrationReject },
7389   {   6, &hf_h225_unregistrationRequest, ASN1_EXTENSION_ROOT    , dissect_h225_UnregistrationRequest },
7390   {   7, &hf_h225_unregistrationConfirm, ASN1_EXTENSION_ROOT    , dissect_h225_UnregistrationConfirm },
7391   {   8, &hf_h225_unregistrationReject, ASN1_EXTENSION_ROOT    , dissect_h225_UnregistrationReject },
7392   {   9, &hf_h225_admissionRequest, ASN1_EXTENSION_ROOT    , dissect_h225_AdmissionRequest },
7393   {  10, &hf_h225_admissionConfirm, ASN1_EXTENSION_ROOT    , dissect_h225_AdmissionConfirm },
7394   {  11, &hf_h225_admissionReject, ASN1_EXTENSION_ROOT    , dissect_h225_AdmissionReject },
7395   {  12, &hf_h225_bandwidthRequest, ASN1_EXTENSION_ROOT    , dissect_h225_BandwidthRequest },
7396   {  13, &hf_h225_bandwidthConfirm, ASN1_EXTENSION_ROOT    , dissect_h225_BandwidthConfirm },
7397   {  14, &hf_h225_bandwidthReject, ASN1_EXTENSION_ROOT    , dissect_h225_BandwidthReject },
7398   {  15, &hf_h225_disengageRequest, ASN1_EXTENSION_ROOT    , dissect_h225_DisengageRequest },
7399   {  16, &hf_h225_disengageConfirm, ASN1_EXTENSION_ROOT    , dissect_h225_DisengageConfirm },
7400   {  17, &hf_h225_disengageReject, ASN1_EXTENSION_ROOT    , dissect_h225_DisengageReject },
7401   {  18, &hf_h225_locationRequest, ASN1_EXTENSION_ROOT    , dissect_h225_LocationRequest },
7402   {  19, &hf_h225_locationConfirm, ASN1_EXTENSION_ROOT    , dissect_h225_LocationConfirm },
7403   {  20, &hf_h225_locationReject , ASN1_EXTENSION_ROOT    , dissect_h225_LocationReject },
7404   {  21, &hf_h225_infoRequest    , ASN1_EXTENSION_ROOT    , dissect_h225_InfoRequest },
7405   {  22, &hf_h225_infoRequestResponse, ASN1_EXTENSION_ROOT    , dissect_h225_InfoRequestResponse },
7406   {  23, &hf_h225_nonStandardMessage, ASN1_EXTENSION_ROOT    , dissect_h225_NonStandardMessage },
7407   {  24, &hf_h225_unknownMessageResponse, ASN1_EXTENSION_ROOT    , dissect_h225_UnknownMessageResponse },
7408   {  25, &hf_h225_requestInProgress, ASN1_NOT_EXTENSION_ROOT, dissect_h225_RequestInProgress },
7409   {  26, &hf_h225_resourcesAvailableIndicate, ASN1_NOT_EXTENSION_ROOT, dissect_h225_ResourcesAvailableIndicate },
7410   {  27, &hf_h225_resourcesAvailableConfirm, ASN1_NOT_EXTENSION_ROOT, dissect_h225_ResourcesAvailableConfirm },
7411   {  28, &hf_h225_infoRequestAck , ASN1_NOT_EXTENSION_ROOT, dissect_h225_InfoRequestAck },
7412   {  29, &hf_h225_infoRequestNak , ASN1_NOT_EXTENSION_ROOT, dissect_h225_InfoRequestNak },
7413   {  30, &hf_h225_serviceControlIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h225_ServiceControlIndication },
7414   {  31, &hf_h225_serviceControlResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h225_ServiceControlResponse },
7415   {  32, &hf_h225_admissionConfirmSequence, ASN1_NOT_EXTENSION_ROOT, dissect_h225_SEQUENCE_OF_AdmissionConfirm },
7416   { 0, NULL, 0, NULL }
7417 };
7418
7419 int
7420 dissect_h225_RasMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7421 #line 285 "h225.cnf"
7422         gint32 rasmessage_value;
7423
7424   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7425                                  ett_h225_RasMessage, RasMessage_choice,
7426                                  &rasmessage_value);
7427
7428         if (check_col(actx->pinfo->cinfo, COL_INFO)){
7429                 col_add_fstr(actx->pinfo->cinfo, COL_INFO, "RAS: %s ",
7430                         val_to_str(rasmessage_value, h225_RasMessage_vals, "<unknown>"));
7431         }
7432
7433         h225_pi->msg_tag = rasmessage_value;
7434
7435
7436   return offset;
7437 }
7438
7439 /*--- PDUs ---*/
7440
7441 static int dissect_H323_UserInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7442   int offset = 0;
7443   asn1_ctx_t asn1_ctx;
7444   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
7445   offset = dissect_h225_H323_UserInformation(tvb, offset, &asn1_ctx, tree, hf_h225_H323_UserInformation_PDU);
7446   offset += 7; offset >>= 3;
7447   return offset;
7448 }
7449 int dissect_h225_ExtendedAliasAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7450   int offset = 0;
7451   asn1_ctx_t asn1_ctx;
7452   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
7453   offset = dissect_h225_ExtendedAliasAddress(tvb, offset, &asn1_ctx, tree, hf_h225_h225_ExtendedAliasAddress_PDU);
7454   offset += 7; offset >>= 3;
7455   return offset;
7456 }
7457 static int dissect_RasMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7458   int offset = 0;
7459   asn1_ctx_t asn1_ctx;
7460   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
7461   offset = dissect_h225_RasMessage(tvb, offset, &asn1_ctx, tree, hf_h225_RasMessage_PDU);
7462   offset += 7; offset >>= 3;
7463   return offset;
7464 }
7465
7466
7467 /*--- End of included file: packet-h225-fn.c ---*/
7468 #line 139 "packet-h225-template.c"
7469
7470
7471 /* Forward declaration we need below */
7472 void proto_reg_handoff_h225(void);
7473
7474 static int
7475 dissect_h225_H323UserInformation(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
7476 {
7477         proto_item *it;
7478         proto_tree *tr;
7479         int offset = 0;
7480
7481         pi_current++;
7482         if(pi_current==5){
7483                 pi_current=0;
7484         }
7485         h225_pi=&pi_arr[pi_current];
7486
7487         /* Init struct for collecting h225_packet_info */
7488         reset_h225_packet_info(h225_pi);
7489         h225_pi->msg_type = H225_CS;
7490
7491         next_tvb_init(&h245_list);
7492         next_tvb_init(&tp_list);
7493
7494         if (check_col(pinfo->cinfo, COL_PROTOCOL)){
7495                 col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
7496         }
7497         if (check_col(pinfo->cinfo, COL_INFO)){
7498                 col_clear(pinfo->cinfo, COL_INFO);
7499         }
7500
7501         it=proto_tree_add_protocol_format(tree, proto_h225, tvb, 0, tvb_length(tvb), PSNAME" CS");
7502         tr=proto_item_add_subtree(it, ett_h225);
7503
7504         offset = dissect_H323_UserInformation_PDU(tvb, pinfo, tr);
7505
7506         if (h245_list.count && check_col(pinfo->cinfo, COL_PROTOCOL)){
7507                 col_append_str(pinfo->cinfo, COL_PROTOCOL, "/");
7508                 col_set_fence(pinfo->cinfo, COL_PROTOCOL);
7509         }
7510
7511         next_tvb_call(&h245_list, pinfo, tree, h245dg_handle, data_handle);
7512         next_tvb_call(&tp_list, pinfo, tree, NULL, data_handle);
7513
7514         tap_queue_packet(h225_tap, pinfo, h225_pi);
7515
7516         return offset;
7517 }
7518 static int
7519 dissect_h225_h225_RasMessage(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree){
7520         proto_item *it;
7521         proto_tree *tr;
7522         guint32 offset=0;
7523
7524         pi_current++;
7525         if(pi_current==5){
7526                 pi_current=0;
7527         }
7528         h225_pi=&pi_arr[pi_current];
7529
7530         /* Init struct for collecting h225_packet_info */
7531         reset_h225_packet_info(h225_pi);
7532         h225_pi->msg_type = H225_RAS;
7533
7534         if (check_col(pinfo->cinfo, COL_PROTOCOL)){
7535                 col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
7536         }
7537
7538         it=proto_tree_add_protocol_format(tree, proto_h225, tvb, offset, tvb_length(tvb), PSNAME" RAS");
7539         tr=proto_item_add_subtree(it, ett_h225);
7540
7541         offset = dissect_RasMessage_PDU(tvb, pinfo, tr);
7542
7543         ras_call_matching(tvb, pinfo, tr, h225_pi);
7544
7545         tap_queue_packet(h225_tap, pinfo, h225_pi);
7546
7547         return offset;
7548 }
7549
7550 /*--- proto_register_h225 -------------------------------------------*/
7551 void proto_register_h225(void) {
7552
7553   /* List of fields */
7554   static hf_register_info hf[] = {
7555         { &hf_h221Manufacturer,
7556                 { "H.221 Manufacturer", "h221.Manufacturer", FT_UINT32, BASE_HEX,
7557                 VALS(H221ManufacturerCode_vals), 0, "H.221 Manufacturer", HFILL }},
7558         { &hf_h225_ras_req_frame,
7559                 { "RAS Request Frame", "h225.ras.reqframe", FT_FRAMENUM, BASE_NONE,
7560                 NULL, 0, "RAS Request Frame", HFILL }},
7561         { &hf_h225_ras_rsp_frame,
7562                 { "RAS Response Frame", "h225.ras.rspframe", FT_FRAMENUM, BASE_NONE,
7563                 NULL, 0, "RAS Response Frame", HFILL }},
7564         { &hf_h225_ras_dup,
7565                 { "Duplicate RAS Message", "h225.ras.dup", FT_UINT32, BASE_DEC,
7566                 NULL, 0, "Duplicate RAS Message", HFILL }},
7567         { &hf_h225_ras_deltatime,
7568                 { "RAS Service Response Time", "h225.ras.timedelta", FT_RELATIVE_TIME, BASE_NONE,
7569                 NULL, 0, "Timedelta between RAS-Request and RAS-Response", HFILL }},
7570
7571
7572 /*--- Included file: packet-h225-hfarr.c ---*/
7573 #line 1 "packet-h225-hfarr.c"
7574     { &hf_h225_H323_UserInformation_PDU,
7575       { "H323-UserInformation", "h225.H323_UserInformation",
7576         FT_NONE, BASE_NONE, NULL, 0,
7577         "h225.H323_UserInformation", HFILL }},
7578     { &hf_h225_h225_ExtendedAliasAddress_PDU,
7579       { "ExtendedAliasAddress", "h225.ExtendedAliasAddress",
7580         FT_NONE, BASE_NONE, NULL, 0,
7581         "h225.ExtendedAliasAddress", HFILL }},
7582     { &hf_h225_RasMessage_PDU,
7583       { "RasMessage", "h225.RasMessage",
7584         FT_UINT32, BASE_DEC, VALS(h225_RasMessage_vals), 0,
7585         "h225.RasMessage", HFILL }},
7586     { &hf_h225_h323_uu_pdu,
7587       { "h323-uu-pdu", "h225.h323_uu_pdu",
7588         FT_NONE, BASE_NONE, NULL, 0,
7589         "h225.H323_UU_PDU", HFILL }},
7590     { &hf_h225_user_data,
7591       { "user-data", "h225.user_data",
7592         FT_NONE, BASE_NONE, NULL, 0,
7593         "h225.T_user_data", HFILL }},
7594     { &hf_h225_protocol_discriminator,
7595       { "protocol-discriminator", "h225.protocol_discriminator",
7596         FT_UINT32, BASE_DEC, VALS(q931_protocol_discriminator_vals), 0,
7597         "h225.INTEGER_0_255", HFILL }},
7598     { &hf_h225_user_information,
7599       { "user-information", "h225.user_information",
7600         FT_BYTES, BASE_HEX, NULL, 0,
7601         "h225.OCTET_STRING_SIZE_1_131", HFILL }},
7602     { &hf_h225_h323_message_body,
7603       { "h323-message-body", "h225.h323_message_body",
7604         FT_UINT32, BASE_DEC, VALS(T_h323_message_body_vals), 0,
7605         "h225.T_h323_message_body", HFILL }},
7606     { &hf_h225_setup,
7607       { "setup", "h225.setup",
7608         FT_NONE, BASE_NONE, NULL, 0,
7609         "h225.Setup_UUIE", HFILL }},
7610     { &hf_h225_callProceeding,
7611       { "callProceeding", "h225.callProceeding",
7612         FT_NONE, BASE_NONE, NULL, 0,
7613         "h225.CallProceeding_UUIE", HFILL }},
7614     { &hf_h225_connect,
7615       { "connect", "h225.connect",
7616         FT_NONE, BASE_NONE, NULL, 0,
7617         "h225.Connect_UUIE", HFILL }},
7618     { &hf_h225_alerting,
7619       { "alerting", "h225.alerting",
7620         FT_NONE, BASE_NONE, NULL, 0,
7621         "h225.Alerting_UUIE", HFILL }},
7622     { &hf_h225_information,
7623       { "information", "h225.information",
7624         FT_NONE, BASE_NONE, NULL, 0,
7625         "h225.Information_UUIE", HFILL }},
7626     { &hf_h225_releaseComplete,
7627       { "releaseComplete", "h225.releaseComplete",
7628         FT_NONE, BASE_NONE, NULL, 0,
7629         "h225.ReleaseComplete_UUIE", HFILL }},
7630     { &hf_h225_facility,
7631       { "facility", "h225.facility",
7632         FT_NONE, BASE_NONE, NULL, 0,
7633         "h225.Facility_UUIE", HFILL }},
7634     { &hf_h225_progress,
7635       { "progress", "h225.progress",
7636         FT_NONE, BASE_NONE, NULL, 0,
7637         "h225.Progress_UUIE", HFILL }},
7638     { &hf_h225_empty_flg,
7639       { "empty", "h225.empty",
7640         FT_NONE, BASE_NONE, NULL, 0,
7641         "h225.T_empty_flg", HFILL }},
7642     { &hf_h225_status,
7643       { "status", "h225.status",
7644         FT_NONE, BASE_NONE, NULL, 0,
7645         "h225.Status_UUIE", HFILL }},
7646     { &hf_h225_statusInquiry,
7647       { "statusInquiry", "h225.statusInquiry",
7648         FT_NONE, BASE_NONE, NULL, 0,
7649         "h225.StatusInquiry_UUIE", HFILL }},
7650     { &hf_h225_setupAcknowledge,
7651       { "setupAcknowledge", "h225.setupAcknowledge",
7652         FT_NONE, BASE_NONE, NULL, 0,
7653         "h225.SetupAcknowledge_UUIE", HFILL }},
7654     { &hf_h225_notify,
7655       { "notify", "h225.notify",
7656         FT_NONE, BASE_NONE, NULL, 0,
7657         "h225.Notify_UUIE", HFILL }},
7658     { &hf_h225_nonStandardData,
7659       { "nonStandardData", "h225.nonStandardData",
7660         FT_NONE, BASE_NONE, NULL, 0,
7661         "h225.NonStandardParameter", HFILL }},
7662     { &hf_h225_h4501SupplementaryService,
7663       { "h4501SupplementaryService", "h225.h4501SupplementaryService",
7664         FT_UINT32, BASE_DEC, NULL, 0,
7665         "h225.T_h4501SupplementaryService", HFILL }},
7666     { &hf_h225_h4501SupplementaryService_item,
7667       { "h4501SupplementaryService", "h225.h4501SupplementaryService_item",
7668         FT_UINT32, BASE_DEC, NULL, 0,
7669         "h225.T_h4501SupplementaryService_item", HFILL }},
7670     { &hf_h225_h245Tunneling,
7671       { "h245Tunneling", "h225.h245Tunneling",
7672         FT_BOOLEAN, 8, NULL, 0,
7673         "h225.T_h245Tunneling", HFILL }},
7674     { &hf_h225_H245Control_item,
7675       { "H245Control", "h225.H245Control_item",
7676         FT_UINT32, BASE_DEC, NULL, 0,
7677         "h225.H245Control_item", HFILL }},
7678     { &hf_h225_h245Control,
7679       { "h245Control", "h225.h245Control",
7680         FT_UINT32, BASE_DEC, NULL, 0,
7681         "h225.H245Control", HFILL }},
7682     { &hf_h225_nonStandardControl,
7683       { "nonStandardControl", "h225.nonStandardControl",
7684         FT_UINT32, BASE_DEC, NULL, 0,
7685         "h225.SEQUENCE_OF_NonStandardParameter", HFILL }},
7686     { &hf_h225_nonStandardControl_item,
7687       { "nonStandardControl", "h225.nonStandardControl_item",
7688         FT_NONE, BASE_NONE, NULL, 0,
7689         "h225.NonStandardParameter", HFILL }},
7690     { &hf_h225_callLinkage,
7691       { "callLinkage", "h225.callLinkage",
7692         FT_NONE, BASE_NONE, NULL, 0,
7693         "h225.CallLinkage", HFILL }},
7694     { &hf_h225_tunnelledSignallingMessage,
7695       { "tunnelledSignallingMessage", "h225.tunnelledSignallingMessage",
7696         FT_NONE, BASE_NONE, NULL, 0,
7697         "h225.T_tunnelledSignallingMessage", HFILL }},
7698     { &hf_h225_tunnelledProtocolID,
7699       { "tunnelledProtocolID", "h225.tunnelledProtocolID",
7700         FT_NONE, BASE_NONE, NULL, 0,
7701         "h225.TunnelledProtocol", HFILL }},
7702     { &hf_h225_messageContent,
7703       { "messageContent", "h225.messageContent",
7704         FT_UINT32, BASE_DEC, NULL, 0,
7705         "h225.T_messageContent", HFILL }},
7706     { &hf_h225_messageContent_item,
7707       { "messageContent", "h225.messageContent_item",
7708         FT_UINT32, BASE_DEC, NULL, 0,
7709         "h225.T_messageContent_item", HFILL }},
7710     { &hf_h225_tunnellingRequired,
7711       { "tunnellingRequired", "h225.tunnellingRequired",
7712         FT_NONE, BASE_NONE, NULL, 0,
7713         "h225.NULL", HFILL }},
7714     { &hf_h225_provisionalRespToH245Tunneling,
7715       { "provisionalRespToH245Tunneling", "h225.provisionalRespToH245Tunneling",
7716         FT_NONE, BASE_NONE, NULL, 0,
7717         "h225.NULL", HFILL }},
7718     { &hf_h225_stimulusControl,
7719       { "stimulusControl", "h225.stimulusControl",
7720         FT_NONE, BASE_NONE, NULL, 0,
7721         "h225.StimulusControl", HFILL }},
7722     { &hf_h225_genericData,
7723       { "genericData", "h225.genericData",
7724         FT_UINT32, BASE_DEC, NULL, 0,
7725         "h225.SEQUENCE_OF_GenericData", HFILL }},
7726     { &hf_h225_genericData_item,
7727       { "genericData", "h225.genericData_item",
7728         FT_NONE, BASE_NONE, NULL, 0,
7729         "h225.GenericData", HFILL }},
7730     { &hf_h225_nonStandard,
7731       { "nonStandard", "h225.nonStandard",
7732         FT_NONE, BASE_NONE, NULL, 0,
7733         "h225.NonStandardParameter", HFILL }},
7734     { &hf_h225_isText,
7735       { "isText", "h225.isText",
7736         FT_NONE, BASE_NONE, NULL, 0,
7737         "h225.NULL", HFILL }},
7738     { &hf_h225_h248Message,
7739       { "h248Message", "h225.h248Message",
7740         FT_BYTES, BASE_HEX, NULL, 0,
7741         "h225.OCTET_STRING", HFILL }},
7742     { &hf_h225_protocolIdentifier,
7743       { "protocolIdentifier", "h225.protocolIdentifier",
7744         FT_OID, BASE_NONE, NULL, 0,
7745         "h225.ProtocolIdentifier", HFILL }},
7746     { &hf_h225_uUIE_destinationInfo,
7747       { "destinationInfo", "h225.destinationInfo",
7748         FT_NONE, BASE_NONE, NULL, 0,
7749         "h225.EndpointType", HFILL }},
7750     { &hf_h225_h245Address,
7751       { "h245Address", "h225.h245Address",
7752         FT_UINT32, BASE_DEC, VALS(h225_H245TransportAddress_vals), 0,
7753         "h225.H245TransportAddress", HFILL }},
7754     { &hf_h225_callIdentifier,
7755       { "callIdentifier", "h225.callIdentifier",
7756         FT_NONE, BASE_NONE, NULL, 0,
7757         "h225.CallIdentifier", HFILL }},
7758     { &hf_h225_h245SecurityMode,
7759       { "h245SecurityMode", "h225.h245SecurityMode",
7760         FT_UINT32, BASE_DEC, VALS(h225_H245Security_vals), 0,
7761         "h225.H245Security", HFILL }},
7762     { &hf_h225_tokens,
7763       { "tokens", "h225.tokens",
7764         FT_UINT32, BASE_DEC, NULL, 0,
7765         "h225.SEQUENCE_OF_ClearToken", HFILL }},
7766     { &hf_h225_tokens_item,
7767       { "tokens", "h225.tokens_item",
7768         FT_NONE, BASE_NONE, NULL, 0,
7769         "h235.ClearToken", HFILL }},
7770     { &hf_h225_cryptoTokens,
7771       { "cryptoTokens", "h225.cryptoTokens",
7772         FT_UINT32, BASE_DEC, NULL, 0,
7773         "h225.SEQUENCE_OF_CryptoH323Token", HFILL }},
7774     { &hf_h225_cryptoTokens_item,
7775       { "cryptoTokens", "h225.cryptoTokens_item",
7776         FT_UINT32, BASE_DEC, VALS(h225_CryptoH323Token_vals), 0,
7777         "h225.CryptoH323Token", HFILL }},
7778     { &hf_h225_fastStart,
7779       { "fastStart", "h225.fastStart",
7780         FT_UINT32, BASE_DEC, NULL, 0,
7781         "h225.FastStart", HFILL }},
7782     { &hf_h225_multipleCalls,
7783       { "multipleCalls", "h225.multipleCalls",
7784         FT_BOOLEAN, 8, NULL, 0,
7785         "h225.BOOLEAN", HFILL }},
7786     { &hf_h225_maintainConnection,
7787       { "maintainConnection", "h225.maintainConnection",
7788         FT_BOOLEAN, 8, NULL, 0,
7789         "h225.BOOLEAN", HFILL }},
7790     { &hf_h225_alertingAddress,
7791       { "alertingAddress", "h225.alertingAddress",
7792         FT_UINT32, BASE_DEC, NULL, 0,
7793         "h225.SEQUENCE_OF_AliasAddress", HFILL }},
7794     { &hf_h225_alertingAddress_item,
7795       { "alertingAddress", "h225.alertingAddress_item",
7796         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
7797         "h225.AliasAddress", HFILL }},
7798     { &hf_h225_presentationIndicator,
7799       { "presentationIndicator", "h225.presentationIndicator",
7800         FT_UINT32, BASE_DEC, VALS(h225_PresentationIndicator_vals), 0,
7801         "h225.PresentationIndicator", HFILL }},
7802     { &hf_h225_screeningIndicator,
7803       { "screeningIndicator", "h225.screeningIndicator",
7804         FT_UINT32, BASE_DEC, VALS(h225_ScreeningIndicator_vals), 0,
7805         "h225.ScreeningIndicator", HFILL }},
7806     { &hf_h225_fastConnectRefused,
7807       { "fastConnectRefused", "h225.fastConnectRefused",
7808         FT_NONE, BASE_NONE, NULL, 0,
7809         "h225.NULL", HFILL }},
7810     { &hf_h225_serviceControl,
7811       { "serviceControl", "h225.serviceControl",
7812         FT_UINT32, BASE_DEC, NULL, 0,
7813         "h225.SEQUENCE_OF_ServiceControlSession", HFILL }},
7814     { &hf_h225_serviceControl_item,
7815       { "serviceControl", "h225.serviceControl_item",
7816         FT_NONE, BASE_NONE, NULL, 0,
7817         "h225.ServiceControlSession", HFILL }},
7818     { &hf_h225_capacity,
7819       { "capacity", "h225.capacity",
7820         FT_NONE, BASE_NONE, NULL, 0,
7821         "h225.CallCapacity", HFILL }},
7822     { &hf_h225_featureSet,
7823       { "featureSet", "h225.featureSet",
7824         FT_NONE, BASE_NONE, NULL, 0,
7825         "h225.FeatureSet", HFILL }},
7826     { &hf_h225_conferenceID,
7827       { "conferenceID", "h225.conferenceID",
7828         FT_GUID, BASE_NONE, NULL, 0,
7829         "h225.ConferenceIdentifier", HFILL }},
7830     { &hf_h225_language,
7831       { "language", "h225.language",
7832         FT_UINT32, BASE_DEC, NULL, 0,
7833         "h225.Language", HFILL }},
7834     { &hf_h225_connectedAddress,
7835       { "connectedAddress", "h225.connectedAddress",
7836         FT_UINT32, BASE_DEC, NULL, 0,
7837         "h225.SEQUENCE_OF_AliasAddress", HFILL }},
7838     { &hf_h225_connectedAddress_item,
7839       { "connectedAddress", "h225.connectedAddress_item",
7840         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
7841         "h225.AliasAddress", HFILL }},
7842     { &hf_h225_circuitInfo,
7843       { "circuitInfo", "h225.circuitInfo",
7844         FT_NONE, BASE_NONE, NULL, 0,
7845         "h225.CircuitInfo", HFILL }},
7846     { &hf_h225_releaseCompleteReason,
7847       { "reason", "h225.reason",
7848         FT_UINT32, BASE_DEC, VALS(h225_ReleaseCompleteReason_vals), 0,
7849         "h225.ReleaseCompleteReason", HFILL }},
7850     { &hf_h225_busyAddress,
7851       { "busyAddress", "h225.busyAddress",
7852         FT_UINT32, BASE_DEC, NULL, 0,
7853         "h225.SEQUENCE_OF_AliasAddress", HFILL }},
7854     { &hf_h225_busyAddress_item,
7855       { "busyAddress", "h225.busyAddress_item",
7856         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
7857         "h225.AliasAddress", HFILL }},
7858     { &hf_h225_noBandwidth,
7859       { "noBandwidth", "h225.noBandwidth",
7860         FT_NONE, BASE_NONE, NULL, 0,
7861         "h225.NULL", HFILL }},
7862     { &hf_h225_gatekeeperResources,
7863       { "gatekeeperResources", "h225.gatekeeperResources",
7864         FT_NONE, BASE_NONE, NULL, 0,
7865         "h225.NULL", HFILL }},
7866     { &hf_h225_unreachableDestination,
7867       { "unreachableDestination", "h225.unreachableDestination",
7868         FT_NONE, BASE_NONE, NULL, 0,
7869         "h225.NULL", HFILL }},
7870     { &hf_h225_destinationRejection,
7871       { "destinationRejection", "h225.destinationRejection",
7872         FT_NONE, BASE_NONE, NULL, 0,
7873         "h225.NULL", HFILL }},
7874     { &hf_h225_invalidRevision,
7875       { "invalidRevision", "h225.invalidRevision",
7876         FT_NONE, BASE_NONE, NULL, 0,
7877         "h225.NULL", HFILL }},
7878     { &hf_h225_noPermission,
7879       { "noPermission", "h225.noPermission",
7880         FT_NONE, BASE_NONE, NULL, 0,
7881         "h225.NULL", HFILL }},
7882     { &hf_h225_unreachableGatekeeper,
7883       { "unreachableGatekeeper", "h225.unreachableGatekeeper",
7884         FT_NONE, BASE_NONE, NULL, 0,
7885         "h225.NULL", HFILL }},
7886     { &hf_h225_gatewayResources,
7887       { "gatewayResources", "h225.gatewayResources",
7888         FT_NONE, BASE_NONE, NULL, 0,
7889         "h225.NULL", HFILL }},
7890     { &hf_h225_badFormatAddress,
7891       { "badFormatAddress", "h225.badFormatAddress",
7892         FT_NONE, BASE_NONE, NULL, 0,
7893         "h225.NULL", HFILL }},
7894     { &hf_h225_adaptiveBusy,
7895       { "adaptiveBusy", "h225.adaptiveBusy",
7896         FT_NONE, BASE_NONE, NULL, 0,
7897         "h225.NULL", HFILL }},
7898     { &hf_h225_inConf,
7899       { "inConf", "h225.inConf",
7900         FT_NONE, BASE_NONE, NULL, 0,
7901         "h225.NULL", HFILL }},
7902     { &hf_h225_undefinedReason,
7903       { "undefinedReason", "h225.undefinedReason",
7904         FT_NONE, BASE_NONE, NULL, 0,
7905         "h225.NULL", HFILL }},
7906     { &hf_h225_facilityCallDeflection,
7907       { "facilityCallDeflection", "h225.facilityCallDeflection",
7908         FT_NONE, BASE_NONE, NULL, 0,
7909         "h225.NULL", HFILL }},
7910     { &hf_h225_securityDenied,
7911       { "securityDenied", "h225.securityDenied",
7912         FT_NONE, BASE_NONE, NULL, 0,
7913         "h225.NULL", HFILL }},
7914     { &hf_h225_calledPartyNotRegistered,
7915       { "calledPartyNotRegistered", "h225.calledPartyNotRegistered",
7916         FT_NONE, BASE_NONE, NULL, 0,
7917         "h225.NULL", HFILL }},
7918     { &hf_h225_callerNotRegistered,
7919       { "callerNotRegistered", "h225.callerNotRegistered",
7920         FT_NONE, BASE_NONE, NULL, 0,
7921         "h225.NULL", HFILL }},
7922     { &hf_h225_newConnectionNeeded,
7923       { "newConnectionNeeded", "h225.newConnectionNeeded",
7924         FT_NONE, BASE_NONE, NULL, 0,
7925         "h225.NULL", HFILL }},
7926     { &hf_h225_nonStandardReason,
7927       { "nonStandardReason", "h225.nonStandardReason",
7928         FT_NONE, BASE_NONE, NULL, 0,
7929         "h225.NonStandardParameter", HFILL }},
7930     { &hf_h225_replaceWithConferenceInvite,
7931       { "replaceWithConferenceInvite", "h225.replaceWithConferenceInvite",
7932         FT_GUID, BASE_NONE, NULL, 0,
7933         "h225.ConferenceIdentifier", HFILL }},
7934     { &hf_h225_genericDataReason,
7935       { "genericDataReason", "h225.genericDataReason",
7936         FT_NONE, BASE_NONE, NULL, 0,
7937         "h225.NULL", HFILL }},
7938     { &hf_h225_neededFeatureNotSupported,
7939       { "neededFeatureNotSupported", "h225.neededFeatureNotSupported",
7940         FT_NONE, BASE_NONE, NULL, 0,
7941         "h225.NULL", HFILL }},
7942     { &hf_h225_tunnelledSignallingRejected,
7943       { "tunnelledSignallingRejected", "h225.tunnelledSignallingRejected",
7944         FT_NONE, BASE_NONE, NULL, 0,
7945         "h225.NULL", HFILL }},
7946     { &hf_h225_invalidCID,
7947       { "invalidCID", "h225.invalidCID",
7948         FT_NONE, BASE_NONE, NULL, 0,
7949         "h225.NULL", HFILL }},
7950     { &hf_h225_rLC_securityError,
7951       { "securityError", "h225.securityError",
7952         FT_UINT32, BASE_DEC, VALS(h225_SecurityErrors_vals), 0,
7953         "h225.SecurityErrors", HFILL }},
7954     { &hf_h225_hopCountExceeded,
7955       { "hopCountExceeded", "h225.hopCountExceeded",
7956         FT_NONE, BASE_NONE, NULL, 0,
7957         "h225.NULL", HFILL }},
7958     { &hf_h225_sourceAddress,
7959       { "sourceAddress", "h225.sourceAddress",
7960         FT_UINT32, BASE_DEC, NULL, 0,
7961         "h225.SEQUENCE_OF_AliasAddress", HFILL }},
7962     { &hf_h225_sourceAddress_item,
7963       { "sourceAddress", "h225.sourceAddress_item",
7964         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
7965         "h225.AliasAddress", HFILL }},
7966     { &hf_h225_setup_UUIE_sourceInfo,
7967       { "sourceInfo", "h225.sourceInfo",
7968         FT_NONE, BASE_NONE, NULL, 0,
7969         "h225.EndpointType", HFILL }},
7970     { &hf_h225_destinationAddress,
7971       { "destinationAddress", "h225.destinationAddress",
7972         FT_UINT32, BASE_DEC, NULL, 0,
7973         "h225.SEQUENCE_OF_AliasAddress", HFILL }},
7974     { &hf_h225_destinationAddress_item,
7975       { "destinationAddress", "h225.destinationAddress_item",
7976         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
7977         "h225.AliasAddress", HFILL }},
7978     { &hf_h225_destCallSignalAddress,
7979       { "destCallSignalAddress", "h225.destCallSignalAddress",
7980         FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
7981         "h225.TransportAddress", HFILL }},
7982     { &hf_h225_destExtraCallInfo,
7983       { "destExtraCallInfo", "h225.destExtraCallInfo",
7984         FT_UINT32, BASE_DEC, NULL, 0,
7985         "h225.SEQUENCE_OF_AliasAddress", HFILL }},
7986     { &hf_h225_destExtraCallInfo_item,
7987       { "destExtraCallInfo", "h225.destExtraCallInfo_item",
7988         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
7989         "h225.AliasAddress", HFILL }},
7990     { &hf_h225_destExtraCRV,
7991       { "destExtraCRV", "h225.destExtraCRV",
7992         FT_UINT32, BASE_DEC, NULL, 0,
7993         "h225.SEQUENCE_OF_CallReferenceValue", HFILL }},
7994     { &hf_h225_destExtraCRV_item,
7995       { "destExtraCRV", "h225.destExtraCRV_item",
7996         FT_UINT32, BASE_DEC, NULL, 0,
7997         "h225.CallReferenceValue", HFILL }},
7998     { &hf_h225_activeMC,
7999       { "activeMC", "h225.activeMC",
8000         FT_BOOLEAN, 8, NULL, 0,
8001         "h225.BOOLEAN", HFILL }},
8002     { &hf_h225_conferenceGoal,
8003       { "conferenceGoal", "h225.conferenceGoal",
8004         FT_UINT32, BASE_DEC, VALS(h225_T_conferenceGoal_vals), 0,
8005         "h225.T_conferenceGoal", HFILL }},
8006     { &hf_h225_create,
8007       { "create", "h225.create",
8008         FT_NONE, BASE_NONE, NULL, 0,
8009         "h225.NULL", HFILL }},
8010     { &hf_h225_join,
8011       { "join", "h225.join",
8012         FT_NONE, BASE_NONE, NULL, 0,
8013         "h225.NULL", HFILL }},
8014     { &hf_h225_invite,
8015       { "invite", "h225.invite",
8016         FT_NONE, BASE_NONE, NULL, 0,
8017         "h225.NULL", HFILL }},
8018     { &hf_h225_capability_negotiation,
8019       { "capability-negotiation", "h225.capability_negotiation",
8020         FT_NONE, BASE_NONE, NULL, 0,
8021         "h225.NULL", HFILL }},
8022     { &hf_h225_callIndependentSupplementaryService,
8023       { "callIndependentSupplementaryService", "h225.callIndependentSupplementaryService",
8024         FT_NONE, BASE_NONE, NULL, 0,
8025         "h225.NULL", HFILL }},
8026     { &hf_h225_callServices,
8027       { "callServices", "h225.callServices",
8028         FT_NONE, BASE_NONE, NULL, 0,
8029         "h225.QseriesOptions", HFILL }},
8030     { &hf_h225_callType,
8031       { "callType", "h225.callType",
8032         FT_UINT32, BASE_DEC, VALS(h225_CallType_vals), 0,
8033         "h225.CallType", HFILL }},
8034     { &hf_h225_sourceCallSignalAddress,
8035       { "sourceCallSignalAddress", "h225.sourceCallSignalAddress",
8036         FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
8037         "h225.TransportAddress", HFILL }},
8038     { &hf_h225_uUIE_remoteExtensionAddress,
8039       { "remoteExtensionAddress", "h225.remoteExtensionAddress",
8040         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
8041         "h225.AliasAddress", HFILL }},
8042     { &hf_h225_h245SecurityCapability,
8043       { "h245SecurityCapability", "h225.h245SecurityCapability",
8044         FT_UINT32, BASE_DEC, NULL, 0,
8045         "h225.SEQUENCE_OF_H245Security", HFILL }},
8046     { &hf_h225_h245SecurityCapability_item,
8047       { "h245SecurityCapability", "h225.h245SecurityCapability_item",
8048         FT_UINT32, BASE_DEC, VALS(h225_H245Security_vals), 0,
8049         "h225.H245Security", HFILL }},
8050     { &hf_h225_FastStart_item,
8051       { "FastStart", "h225.FastStart_item",
8052         FT_UINT32, BASE_DEC, NULL, 0,
8053         "h225.FastStart_item", HFILL }},
8054     { &hf_h225_mediaWaitForConnect,
8055       { "mediaWaitForConnect", "h225.mediaWaitForConnect",
8056         FT_BOOLEAN, 8, NULL, 0,
8057         "h225.BOOLEAN", HFILL }},
8058     { &hf_h225_canOverlapSend,
8059       { "canOverlapSend", "h225.canOverlapSend",
8060         FT_BOOLEAN, 8, NULL, 0,
8061         "h225.BOOLEAN", HFILL }},
8062     { &hf_h225_endpointIdentifier,
8063       { "endpointIdentifier", "h225.endpointIdentifier",
8064         FT_STRING, BASE_NONE, NULL, 0,
8065         "h225.EndpointIdentifier", HFILL }},
8066     { &hf_h225_connectionParameters,
8067       { "connectionParameters", "h225.connectionParameters",
8068         FT_NONE, BASE_NONE, NULL, 0,
8069         "h225.T_connectionParameters", HFILL }},
8070     { &hf_h225_connectionType,
8071       { "connectionType", "h225.connectionType",
8072         FT_UINT32, BASE_DEC, VALS(h225_ScnConnectionType_vals), 0,
8073         "h225.ScnConnectionType", HFILL }},
8074     { &hf_h225_numberOfScnConnections,
8075       { "numberOfScnConnections", "h225.numberOfScnConnections",
8076         FT_UINT32, BASE_DEC, NULL, 0,
8077         "h225.INTEGER_0_65535", HFILL }},
8078     { &hf_h225_connectionAggregation,
8079       { "connectionAggregation", "h225.connectionAggregation",
8080         FT_UINT32, BASE_DEC, VALS(h225_ScnConnectionAggregation_vals), 0,
8081         "h225.ScnConnectionAggregation", HFILL }},
8082     { &hf_h225_Language_item,
8083       { "Language", "h225.Language_item",
8084         FT_STRING, BASE_NONE, NULL, 0,
8085         "h225.IA5String_SIZE_1_32", HFILL }},
8086     { &hf_h225_symmetricOperationRequired,
8087       { "symmetricOperationRequired", "h225.symmetricOperationRequired",
8088         FT_NONE, BASE_NONE, NULL, 0,
8089         "h225.NULL", HFILL }},
8090     { &hf_h225_desiredProtocols,
8091       { "desiredProtocols", "h225.desiredProtocols",
8092         FT_UINT32, BASE_DEC, NULL, 0,
8093         "h225.SEQUENCE_OF_SupportedProtocols", HFILL }},
8094     { &hf_h225_desiredProtocols_item,
8095       { "desiredProtocols", "h225.desiredProtocols_item",
8096         FT_UINT32, BASE_DEC, VALS(h225_SupportedProtocols_vals), 0,
8097         "h225.SupportedProtocols", HFILL }},
8098     { &hf_h225_neededFeatures,
8099       { "neededFeatures", "h225.neededFeatures",
8100         FT_UINT32, BASE_DEC, NULL, 0,
8101         "h225.SEQUENCE_OF_FeatureDescriptor", HFILL }},
8102     { &hf_h225_neededFeatures_item,
8103       { "neededFeatures", "h225.neededFeatures_item",
8104         FT_NONE, BASE_NONE, NULL, 0,
8105         "h225.FeatureDescriptor", HFILL }},
8106     { &hf_h225_desiredFeatures,
8107       { "desiredFeatures", "h225.desiredFeatures",
8108         FT_UINT32, BASE_DEC, NULL, 0,
8109         "h225.SEQUENCE_OF_FeatureDescriptor", HFILL }},
8110     { &hf_h225_desiredFeatures_item,
8111       { "desiredFeatures", "h225.desiredFeatures_item",
8112         FT_NONE, BASE_NONE, NULL, 0,
8113         "h225.FeatureDescriptor", HFILL }},
8114     { &hf_h225_supportedFeatures,
8115       { "supportedFeatures", "h225.supportedFeatures",
8116         FT_UINT32, BASE_DEC, NULL, 0,
8117         "h225.SEQUENCE_OF_FeatureDescriptor", HFILL }},
8118     { &hf_h225_supportedFeatures_item,
8119       { "supportedFeatures", "h225.supportedFeatures_item",
8120         FT_NONE, BASE_NONE, NULL, 0,
8121         "h225.FeatureDescriptor", HFILL }},
8122     { &hf_h225_ParallelH245Control_item,
8123       { "ParallelH245Control", "h225.ParallelH245Control_item",
8124         FT_UINT32, BASE_DEC, NULL, 0,
8125         "h225.ParallelH245Control_item", HFILL }},
8126     { &hf_h225_parallelH245Control,
8127       { "parallelH245Control", "h225.parallelH245Control",
8128         FT_UINT32, BASE_DEC, NULL, 0,
8129         "h225.ParallelH245Control", HFILL }},
8130     { &hf_h225_additionalSourceAddresses,
8131       { "additionalSourceAddresses", "h225.additionalSourceAddresses",
8132         FT_UINT32, BASE_DEC, NULL, 0,
8133         "h225.SEQUENCE_OF_ExtendedAliasAddress", HFILL }},
8134     { &hf_h225_additionalSourceAddresses_item,
8135       { "additionalSourceAddresses", "h225.additionalSourceAddresses_item",
8136         FT_NONE, BASE_NONE, NULL, 0,
8137         "h225.ExtendedAliasAddress", HFILL }},
8138     { &hf_h225_hopCount_1_31,
8139       { "hopCount", "h225.hopCount",
8140         FT_UINT32, BASE_DEC, NULL, 0,
8141         "h225.INTEGER_1_31", HFILL }},
8142     { &hf_h225_unknown,
8143       { "unknown", "h225.unknown",
8144         FT_NONE, BASE_NONE, NULL, 0,
8145         "h225.NULL", HFILL }},
8146     { &hf_h225_bChannel,
8147       { "bChannel", "h225.bChannel",
8148         FT_NONE, BASE_NONE, NULL, 0,
8149         "h225.NULL", HFILL }},
8150     { &hf_h225_hybrid2x64,
8151       { "hybrid2x64", "h225.hybrid2x64",
8152         FT_NONE, BASE_NONE, NULL, 0,
8153         "h225.NULL", HFILL }},
8154     { &hf_h225_hybrid384,
8155       { "hybrid384", "h225.hybrid384",
8156         FT_NONE, BASE_NONE, NULL, 0,
8157         "h225.NULL", HFILL }},
8158     { &hf_h225_hybrid1536,
8159       { "hybrid1536", "h225.hybrid1536",
8160         FT_NONE, BASE_NONE, NULL, 0,
8161         "h225.NULL", HFILL }},
8162     { &hf_h225_hybrid1920,
8163       { "hybrid1920", "h225.hybrid1920",
8164         FT_NONE, BASE_NONE, NULL, 0,
8165         "h225.NULL", HFILL }},
8166     { &hf_h225_multirate,
8167       { "multirate", "h225.multirate",
8168         FT_NONE, BASE_NONE, NULL, 0,
8169         "h225.NULL", HFILL }},
8170     { &hf_h225_auto,
8171       { "auto", "h225.auto",
8172         FT_NONE, BASE_NONE, NULL, 0,
8173         "h225.NULL", HFILL }},
8174     { &hf_h225_none,
8175       { "none", "h225.none",
8176         FT_NONE, BASE_NONE, NULL, 0,
8177         "h225.NULL", HFILL }},
8178     { &hf_h225_h221,
8179       { "h221", "h225.h221",
8180         FT_NONE, BASE_NONE, NULL, 0,
8181         "h225.NULL", HFILL }},
8182     { &hf_h225_bonded_mode1,
8183       { "bonded-mode1", "h225.bonded_mode1",
8184         FT_NONE, BASE_NONE, NULL, 0,
8185         "h225.NULL", HFILL }},
8186     { &hf_h225_bonded_mode2,
8187       { "bonded-mode2", "h225.bonded_mode2",
8188         FT_NONE, BASE_NONE, NULL, 0,
8189         "h225.NULL", HFILL }},
8190     { &hf_h225_bonded_mode3,
8191       { "bonded-mode3", "h225.bonded_mode3",
8192         FT_NONE, BASE_NONE, NULL, 0,
8193         "h225.NULL", HFILL }},
8194     { &hf_h225_presentationAllowed,
8195       { "presentationAllowed", "h225.presentationAllowed",
8196         FT_NONE, BASE_NONE, NULL, 0,
8197         "h225.NULL", HFILL }},
8198     { &hf_h225_presentationRestricted,
8199       { "presentationRestricted", "h225.presentationRestricted",
8200         FT_NONE, BASE_NONE, NULL, 0,
8201         "h225.NULL", HFILL }},
8202     { &hf_h225_addressNotAvailable,
8203       { "addressNotAvailable", "h225.addressNotAvailable",
8204         FT_NONE, BASE_NONE, NULL, 0,
8205         "h225.NULL", HFILL }},
8206     { &hf_h225_alternativeAddress,
8207       { "alternativeAddress", "h225.alternativeAddress",
8208         FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
8209         "h225.TransportAddress", HFILL }},
8210     { &hf_h225_alternativeAliasAddress,
8211       { "alternativeAliasAddress", "h225.alternativeAliasAddress",
8212         FT_UINT32, BASE_DEC, NULL, 0,
8213         "h225.SEQUENCE_OF_AliasAddress", HFILL }},
8214     { &hf_h225_alternativeAliasAddress_item,
8215       { "alternativeAliasAddress", "h225.alternativeAliasAddress_item",
8216         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
8217         "h225.AliasAddress", HFILL }},
8218     { &hf_h225_facilityReason,
8219       { "reason", "h225.reason",
8220         FT_UINT32, BASE_DEC, VALS(FacilityReason_vals), 0,
8221         "h225.FacilityReason", HFILL }},
8222     { &hf_h225_conferences,
8223       { "conferences", "h225.conferences",
8224         FT_UINT32, BASE_DEC, NULL, 0,
8225         "h225.SEQUENCE_OF_ConferenceList", HFILL }},
8226     { &hf_h225_conferences_item,
8227       { "conferences", "h225.conferences_item",
8228         FT_NONE, BASE_NONE, NULL, 0,
8229         "h225.ConferenceList", HFILL }},
8230     { &hf_h225_conferenceAlias,
8231       { "conferenceAlias", "h225.conferenceAlias",
8232         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
8233         "h225.AliasAddress", HFILL }},
8234     { &hf_h225_routeCallToGatekeeper,
8235       { "routeCallToGatekeeper", "h225.routeCallToGatekeeper",
8236         FT_NONE, BASE_NONE, NULL, 0,
8237         "h225.NULL", HFILL }},
8238     { &hf_h225_callForwarded,
8239       { "callForwarded", "h225.callForwarded",
8240         FT_NONE, BASE_NONE, NULL, 0,
8241         "h225.NULL", HFILL }},
8242     { &hf_h225_routeCallToMC,
8243       { "routeCallToMC", "h225.routeCallToMC",
8244         FT_NONE, BASE_NONE, NULL, 0,
8245         "h225.NULL", HFILL }},
8246     { &hf_h225_conferenceListChoice,
8247       { "conferenceListChoice", "h225.conferenceListChoice",
8248         FT_NONE, BASE_NONE, NULL, 0,
8249         "h225.NULL", HFILL }},
8250     { &hf_h225_startH245,
8251       { "startH245", "h225.startH245",
8252         FT_NONE, BASE_NONE, NULL, 0,
8253         "h225.NULL", HFILL }},
8254     { &hf_h225_noH245,
8255       { "noH245", "h225.noH245",
8256         FT_NONE, BASE_NONE, NULL, 0,
8257         "h225.NULL", HFILL }},
8258     { &hf_h225_newTokens,
8259       { "newTokens", "h225.newTokens",
8260         FT_NONE, BASE_NONE, NULL, 0,
8261         "h225.NULL", HFILL }},
8262     { &hf_h225_featureSetUpdate,
8263       { "featureSetUpdate", "h225.featureSetUpdate",
8264         FT_NONE, BASE_NONE, NULL, 0,
8265         "h225.NULL", HFILL }},
8266     { &hf_h225_forwardedElements,
8267       { "forwardedElements", "h225.forwardedElements",
8268         FT_NONE, BASE_NONE, NULL, 0,
8269         "h225.NULL", HFILL }},
8270     { &hf_h225_transportedInformation,
8271       { "transportedInformation", "h225.transportedInformation",
8272         FT_NONE, BASE_NONE, NULL, 0,
8273         "h225.NULL", HFILL }},
8274     { &hf_h225_h245IpAddress,
8275       { "ipAddress", "h225.ipAddress",
8276         FT_NONE, BASE_NONE, NULL, 0,
8277         "h225.T_h245IpAddress", HFILL }},
8278     { &hf_h225_h245Ip,
8279       { "ip", "h225.ip",
8280         FT_IPv4, BASE_NONE, NULL, 0,
8281         "h225.T_h245Ip", HFILL }},
8282     { &hf_h225_h245IpPort,
8283       { "port", "h225.port",
8284         FT_UINT32, BASE_DEC, NULL, 0,
8285         "h225.T_h245IpPort", HFILL }},
8286     { &hf_h225_h245IpSourceRoute,
8287       { "ipSourceRoute", "h225.ipSourceRoute",
8288         FT_NONE, BASE_NONE, NULL, 0,
8289         "h225.T_h245IpSourceRoute", HFILL }},
8290     { &hf_h225_ip,
8291       { "ip", "h225.ip",
8292         FT_BYTES, BASE_HEX, NULL, 0,
8293         "h225.OCTET_STRING_SIZE_4", HFILL }},
8294     { &hf_h225_port,
8295       { "port", "h225.port",
8296         FT_UINT32, BASE_DEC, NULL, 0,
8297         "h225.INTEGER_0_65535", HFILL }},
8298     { &hf_h225_h245Route,
8299       { "route", "h225.route",
8300         FT_UINT32, BASE_DEC, NULL, 0,
8301         "h225.T_h245Route", HFILL }},
8302     { &hf_h225_h245Route_item,
8303       { "route", "h225.route_item",
8304         FT_BYTES, BASE_HEX, NULL, 0,
8305         "h225.OCTET_STRING_SIZE_4", HFILL }},
8306     { &hf_h225_h245Routing,
8307       { "routing", "h225.routing",
8308         FT_UINT32, BASE_DEC, VALS(h225_T_h245Routing_vals), 0,
8309         "h225.T_h245Routing", HFILL }},
8310     { &hf_h225_strict,
8311       { "strict", "h225.strict",
8312         FT_NONE, BASE_NONE, NULL, 0,
8313         "h225.NULL", HFILL }},
8314     { &hf_h225_loose,
8315       { "loose", "h225.loose",
8316         FT_NONE, BASE_NONE, NULL, 0,
8317         "h225.NULL", HFILL }},
8318     { &hf_h225_h245IpxAddress,
8319       { "ipxAddress", "h225.ipxAddress",
8320         FT_NONE, BASE_NONE, NULL, 0,
8321         "h225.T_h245IpxAddress", HFILL }},
8322     { &hf_h225_node,
8323       { "node", "h225.node",
8324         FT_BYTES, BASE_HEX, NULL, 0,
8325         "h225.OCTET_STRING_SIZE_6", HFILL }},
8326     { &hf_h225_netnum,
8327       { "netnum", "h225.netnum",
8328         FT_BYTES, BASE_HEX, NULL, 0,
8329         "h225.OCTET_STRING_SIZE_4", HFILL }},
8330     { &hf_h225_h245IpxPort,
8331       { "port", "h225.port",
8332         FT_BYTES, BASE_HEX, NULL, 0,
8333         "h225.OCTET_STRING_SIZE_2", HFILL }},
8334     { &hf_h225_h245Ip6Address,
8335       { "ip6Address", "h225.ip6Address",
8336         FT_NONE, BASE_NONE, NULL, 0,
8337         "h225.T_h245Ip6Address", HFILL }},
8338     { &hf_h225_h245Ip6,
8339       { "ip", "h225.ip",
8340         FT_IPv6, BASE_NONE, NULL, 0,
8341         "h225.OCTET_STRING_SIZE_16", HFILL }},
8342     { &hf_h225_netBios,
8343       { "netBios", "h225.netBios",
8344         FT_BYTES, BASE_HEX, NULL, 0,
8345         "h225.OCTET_STRING_SIZE_16", HFILL }},
8346     { &hf_h225_nsap,
8347       { "nsap", "h225.nsap",
8348         FT_BYTES, BASE_HEX, NULL, 0,
8349         "h225.OCTET_STRING_SIZE_1_20", HFILL }},
8350     { &hf_h225_nonStandardAddress,
8351       { "nonStandardAddress", "h225.nonStandardAddress",
8352         FT_NONE, BASE_NONE, NULL, 0,
8353         "h225.NonStandardParameter", HFILL }},
8354     { &hf_h225_ipAddress,
8355       { "ipAddress", "h225.ipAddress",
8356         FT_NONE, BASE_NONE, NULL, 0,
8357         "h225.T_ipAddress", HFILL }},
8358     { &hf_h225_ipV4,
8359       { "ip", "h225.ip",
8360         FT_IPv4, BASE_NONE, NULL, 0,
8361         "h225.IpV4", HFILL }},
8362     { &hf_h225_ipV4_port,
8363       { "port", "h225.port",
8364         FT_UINT32, BASE_DEC, NULL, 0,
8365         "h225.INTEGER_0_65535", HFILL }},
8366     { &hf_h225_ipSourceRoute,
8367       { "ipSourceRoute", "h225.ipSourceRoute",
8368         FT_NONE, BASE_NONE, NULL, 0,
8369         "h225.T_ipSourceRoute", HFILL }},
8370     { &hf_h225_src_route_ipV4,
8371       { "ip", "h225.ip",
8372         FT_BYTES, BASE_HEX, NULL, 0,
8373         "h225.OCTET_STRING_SIZE_4", HFILL }},
8374     { &hf_h225_ipV4_src_port,
8375       { "port", "h225.port",
8376         FT_UINT32, BASE_DEC, NULL, 0,
8377         "h225.INTEGER_0_65535", HFILL }},
8378     { &hf_h225_route,
8379       { "route", "h225.route",
8380         FT_UINT32, BASE_DEC, NULL, 0,
8381         "h225.T_route", HFILL }},
8382     { &hf_h225_route_item,
8383       { "route", "h225.route_item",
8384         FT_BYTES, BASE_HEX, NULL, 0,
8385         "h225.OCTET_STRING_SIZE_4", HFILL }},
8386     { &hf_h225_routing,
8387       { "routing", "h225.routing",
8388         FT_UINT32, BASE_DEC, VALS(h225_T_routing_vals), 0,
8389         "h225.T_routing", HFILL }},
8390     { &hf_h225_ipxAddress,
8391       { "ipxAddress", "h225.ipxAddress",
8392         FT_NONE, BASE_NONE, NULL, 0,
8393         "h225.T_ipxAddress", HFILL }},
8394     { &hf_h225_ipx_port,
8395       { "port", "h225.port",
8396         FT_BYTES, BASE_HEX, NULL, 0,
8397         "h225.OCTET_STRING_SIZE_2", HFILL }},
8398     { &hf_h225_ip6Address,
8399       { "ip6Address", "h225.ip6Address",
8400         FT_NONE, BASE_NONE, NULL, 0,
8401         "h225.T_ip6Address", HFILL }},
8402     { &hf_h225_ipV6,
8403       { "ip", "h225.ip",
8404         FT_IPv6, BASE_NONE, NULL, 0,
8405         "h225.OCTET_STRING_SIZE_16", HFILL }},
8406     { &hf_h225_ipV6_port,
8407       { "port", "h225.port",
8408         FT_UINT32, BASE_DEC, NULL, 0,
8409         "h225.INTEGER_0_65535", HFILL }},
8410     { &hf_h225_vendor,
8411       { "vendor", "h225.vendor",
8412         FT_NONE, BASE_NONE, NULL, 0,
8413         "h225.VendorIdentifier", HFILL }},
8414     { &hf_h225_gatekeeper,
8415       { "gatekeeper", "h225.gatekeeper",
8416         FT_NONE, BASE_NONE, NULL, 0,
8417         "h225.GatekeeperInfo", HFILL }},
8418     { &hf_h225_gateway,
8419       { "gateway", "h225.gateway",
8420         FT_NONE, BASE_NONE, NULL, 0,
8421         "h225.GatewayInfo", HFILL }},
8422     { &hf_h225_mcu,
8423       { "mcu", "h225.mcu",
8424         FT_NONE, BASE_NONE, NULL, 0,
8425         "h225.McuInfo", HFILL }},
8426     { &hf_h225_terminal,
8427       { "terminal", "h225.terminal",
8428         FT_NONE, BASE_NONE, NULL, 0,
8429         "h225.TerminalInfo", HFILL }},
8430     { &hf_h225_mc,
8431       { "mc", "h225.mc",
8432         FT_BOOLEAN, 8, NULL, 0,
8433         "h225.BOOLEAN", HFILL }},
8434     { &hf_h225_undefinedNode,
8435       { "undefinedNode", "h225.undefinedNode",
8436         FT_BOOLEAN, 8, NULL, 0,
8437         "h225.BOOLEAN", HFILL }},
8438     { &hf_h225_set,
8439       { "set", "h225.set",
8440         FT_BYTES, BASE_HEX, NULL, 0,
8441         "h225.BIT_STRING_SIZE_32", HFILL }},
8442     { &hf_h225_supportedTunnelledProtocols,
8443       { "supportedTunnelledProtocols", "h225.supportedTunnelledProtocols",
8444         FT_UINT32, BASE_DEC, NULL, 0,
8445         "h225.SEQUENCE_OF_TunnelledProtocol", HFILL }},
8446     { &hf_h225_supportedTunnelledProtocols_item,
8447       { "supportedTunnelledProtocols", "h225.supportedTunnelledProtocols_item",
8448         FT_NONE, BASE_NONE, NULL, 0,
8449         "h225.TunnelledProtocol", HFILL }},
8450     { &hf_h225_protocol,
8451       { "protocol", "h225.protocol",
8452         FT_UINT32, BASE_DEC, NULL, 0,
8453         "h225.SEQUENCE_OF_SupportedProtocols", HFILL }},
8454     { &hf_h225_protocol_item,
8455       { "protocol", "h225.protocol_item",
8456         FT_UINT32, BASE_DEC, VALS(h225_SupportedProtocols_vals), 0,
8457         "h225.SupportedProtocols", HFILL }},
8458     { &hf_h225_h310,
8459       { "h310", "h225.h310",
8460         FT_NONE, BASE_NONE, NULL, 0,
8461         "h225.H310Caps", HFILL }},
8462     { &hf_h225_h320,
8463       { "h320", "h225.h320",
8464         FT_NONE, BASE_NONE, NULL, 0,
8465         "h225.H320Caps", HFILL }},
8466     { &hf_h225_h321,
8467       { "h321", "h225.h321",
8468         FT_NONE, BASE_NONE, NULL, 0,
8469         "h225.H321Caps", HFILL }},
8470     { &hf_h225_h322,
8471       { "h322", "h225.h322",
8472         FT_NONE, BASE_NONE, NULL, 0,
8473         "h225.H322Caps", HFILL }},
8474     { &hf_h225_h323,
8475       { "h323", "h225.h323",
8476         FT_NONE, BASE_NONE, NULL, 0,
8477         "h225.H323Caps", HFILL }},
8478     { &hf_h225_h324,
8479       { "h324", "h225.h324",
8480         FT_NONE, BASE_NONE, NULL, 0,
8481         "h225.H324Caps", HFILL }},
8482     { &hf_h225_voice,
8483       { "voice", "h225.voice",
8484         FT_NONE, BASE_NONE, NULL, 0,
8485         "h225.VoiceCaps", HFILL }},
8486     { &hf_h225_t120_only,
8487       { "t120-only", "h225.t120_only",
8488         FT_NONE, BASE_NONE, NULL, 0,
8489         "h225.T120OnlyCaps", HFILL }},
8490     { &hf_h225_nonStandardProtocol,
8491       { "nonStandardProtocol", "h225.nonStandardProtocol",
8492         FT_NONE, BASE_NONE, NULL, 0,
8493         "h225.NonStandardProtocol", HFILL }},
8494     { &hf_h225_t38FaxAnnexbOnly,
8495       { "t38FaxAnnexbOnly", "h225.t38FaxAnnexbOnly",
8496         FT_NONE, BASE_NONE, NULL, 0,
8497         "h225.T38FaxAnnexbOnlyCaps", HFILL }},
8498     { &hf_h225_sip,
8499       { "sip", "h225.sip",
8500         FT_NONE, BASE_NONE, NULL, 0,
8501         "h225.SIPCaps", HFILL }},
8502     { &hf_h225_dataRatesSupported,
8503       { "dataRatesSupported", "h225.dataRatesSupported",
8504         FT_UINT32, BASE_DEC, NULL, 0,
8505         "h225.SEQUENCE_OF_DataRate", HFILL }},
8506     { &hf_h225_dataRatesSupported_item,
8507       { "dataRatesSupported", "h225.dataRatesSupported_item",
8508         FT_NONE, BASE_NONE, NULL, 0,
8509         "h225.DataRate", HFILL }},
8510     { &hf_h225_supportedPrefixes,
8511       { "supportedPrefixes", "h225.supportedPrefixes",
8512         FT_UINT32, BASE_DEC, NULL, 0,
8513         "h225.SEQUENCE_OF_SupportedPrefix", HFILL }},
8514     { &hf_h225_supportedPrefixes_item,
8515       { "supportedPrefixes", "h225.supportedPrefixes_item",
8516         FT_NONE, BASE_NONE, NULL, 0,
8517         "h225.SupportedPrefix", HFILL }},
8518     { &hf_h225_t38FaxProtocol,
8519       { "t38FaxProtocol", "h225.t38FaxProtocol",
8520         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
8521         "h245.DataProtocolCapability", HFILL }},
8522     { &hf_h225_t38FaxProfile,
8523       { "t38FaxProfile", "h225.t38FaxProfile",
8524         FT_NONE, BASE_NONE, NULL, 0,
8525         "h245.T38FaxProfile", HFILL }},
8526     { &hf_h225_vendorIdentifier_vendor,
8527       { "vendor", "h225.vendor",
8528         FT_NONE, BASE_NONE, NULL, 0,
8529         "h225.H221NonStandard", HFILL }},
8530     { &hf_h225_productId,
8531       { "productId", "h225.productId",
8532         FT_STRING, BASE_HEX, NULL, 0,
8533         "h225.OCTET_STRING_SIZE_1_256", HFILL }},
8534     { &hf_h225_versionId,
8535       { "versionId", "h225.versionId",
8536         FT_STRING, BASE_HEX, NULL, 0,
8537         "h225.OCTET_STRING_SIZE_1_256", HFILL }},
8538     { &hf_h225_enterpriseNumber,
8539       { "enterpriseNumber", "h225.enterpriseNumber",
8540         FT_OID, BASE_NONE, NULL, 0,
8541         "h225.OBJECT_IDENTIFIER", HFILL }},
8542     { &hf_h225_t35CountryCode,
8543       { "t35CountryCode", "h225.t35CountryCode",
8544         FT_UINT32, BASE_DEC, VALS(T35CountryCode_vals), 0,
8545         "h225.T_t35CountryCode", HFILL }},
8546     { &hf_h225_t35Extension,
8547       { "t35Extension", "h225.t35Extension",
8548         FT_UINT32, BASE_DEC, NULL, 0,
8549         "h225.T_t35Extension", HFILL }},
8550     { &hf_h225_manufacturerCode,
8551       { "manufacturerCode", "h225.manufacturerCode",
8552         FT_UINT32, BASE_DEC, NULL, 0,
8553         "h225.T_manufacturerCode", HFILL }},
8554     { &hf_h225_tunnelledProtocol_id,
8555       { "id", "h225.id",
8556         FT_UINT32, BASE_DEC, VALS(h225_TunnelledProtocol_id_vals), 0,
8557         "h225.TunnelledProtocol_id", HFILL }},
8558     { &hf_h225_tunnelledProtocolObjectID,
8559       { "tunnelledProtocolObjectID", "h225.tunnelledProtocolObjectID",
8560         FT_OID, BASE_NONE, NULL, 0,
8561         "h225.T_tunnelledProtocolObjectID", HFILL }},
8562     { &hf_h225_tunnelledProtocolAlternateID,
8563       { "tunnelledProtocolAlternateID", "h225.tunnelledProtocolAlternateID",
8564         FT_NONE, BASE_NONE, NULL, 0,
8565         "h225.TunnelledProtocolAlternateIdentifier", HFILL }},
8566     { &hf_h225_subIdentifier,
8567       { "subIdentifier", "h225.subIdentifier",
8568         FT_STRING, BASE_NONE, NULL, 0,
8569         "h225.IA5String_SIZE_1_64", HFILL }},
8570     { &hf_h225_protocolType,
8571       { "protocolType", "h225.protocolType",
8572         FT_STRING, BASE_NONE, NULL, 0,
8573         "h225.IA5String_SIZE_1_64", HFILL }},
8574     { &hf_h225_protocolVariant,
8575       { "protocolVariant", "h225.protocolVariant",
8576         FT_STRING, BASE_NONE, NULL, 0,
8577         "h225.IA5String_SIZE_1_64", HFILL }},
8578     { &hf_h225_nonStandardIdentifier,
8579       { "nonStandardIdentifier", "h225.nonStandardIdentifier",
8580         FT_UINT32, BASE_DEC, VALS(h225_NonStandardIdentifier_vals), 0,
8581         "h225.NonStandardIdentifier", HFILL }},
8582     { &hf_h225_nsp_data,
8583       { "data", "h225.data",
8584         FT_UINT32, BASE_DEC, NULL, 0,
8585         "h225.T_nsp_data", HFILL }},
8586     { &hf_h225_nsiOID,
8587       { "object", "h225.object",
8588         FT_OID, BASE_NONE, NULL, 0,
8589         "h225.T_nsiOID", HFILL }},
8590     { &hf_h225_h221NonStandard,
8591       { "h221NonStandard", "h225.h221NonStandard",
8592         FT_NONE, BASE_NONE, NULL, 0,
8593         "h225.H221NonStandard", HFILL }},
8594     { &hf_h225_dialedDigits,
8595       { "dialedDigits", "h225.dialedDigits",
8596         FT_STRING, BASE_NONE, NULL, 0,
8597         "h225.DialedDigits", HFILL }},
8598     { &hf_h225_h323_ID,
8599       { "h323-ID", "h225.h323_ID",
8600         FT_STRING, BASE_NONE, NULL, 0,
8601         "h225.BMPString_SIZE_1_256", HFILL }},
8602     { &hf_h225_url_ID,
8603       { "url-ID", "h225.url_ID",
8604         FT_STRING, BASE_NONE, NULL, 0,
8605         "h225.IA5String_SIZE_1_512", HFILL }},
8606     { &hf_h225_transportID,
8607       { "transportID", "h225.transportID",
8608         FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
8609         "h225.TransportAddress", HFILL }},
8610     { &hf_h225_email_ID,
8611       { "email-ID", "h225.email_ID",
8612         FT_STRING, BASE_NONE, NULL, 0,
8613         "h225.IA5String_SIZE_1_512", HFILL }},
8614     { &hf_h225_partyNumber,
8615       { "partyNumber", "h225.partyNumber",
8616         FT_UINT32, BASE_DEC, VALS(h225_PartyNumber_vals), 0,
8617         "h225.PartyNumber", HFILL }},
8618     { &hf_h225_mobileUIM,
8619       { "mobileUIM", "h225.mobileUIM",
8620         FT_UINT32, BASE_DEC, VALS(h225_MobileUIM_vals), 0,
8621         "h225.MobileUIM", HFILL }},
8622     { &hf_h225_isupNumber,
8623       { "isupNumber", "h225.isupNumber",
8624         FT_UINT32, BASE_DEC, VALS(h225_IsupNumber_vals), 0,
8625         "h225.IsupNumber", HFILL }},
8626     { &hf_h225_wildcard,
8627       { "wildcard", "h225.wildcard",
8628         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
8629         "h225.AliasAddress", HFILL }},
8630     { &hf_h225_range,
8631       { "range", "h225.range",
8632         FT_NONE, BASE_NONE, NULL, 0,
8633         "h225.T_range", HFILL }},
8634     { &hf_h225_startOfRange,
8635       { "startOfRange", "h225.startOfRange",
8636         FT_UINT32, BASE_DEC, VALS(h225_PartyNumber_vals), 0,
8637         "h225.PartyNumber", HFILL }},
8638     { &hf_h225_endOfRange,
8639       { "endOfRange", "h225.endOfRange",
8640         FT_UINT32, BASE_DEC, VALS(h225_PartyNumber_vals), 0,
8641         "h225.PartyNumber", HFILL }},
8642     { &hf_h225_e164Number,
8643       { "e164Number", "h225.e164Number",
8644         FT_NONE, BASE_NONE, NULL, 0,
8645         "h225.PublicPartyNumber", HFILL }},
8646     { &hf_h225_dataPartyNumber,
8647       { "dataPartyNumber", "h225.dataPartyNumber",
8648         FT_STRING, BASE_NONE, NULL, 0,
8649         "h225.NumberDigits", HFILL }},
8650     { &hf_h225_telexPartyNumber,
8651       { "telexPartyNumber", "h225.telexPartyNumber",
8652         FT_STRING, BASE_NONE, NULL, 0,
8653         "h225.NumberDigits", HFILL }},
8654     { &hf_h225_privateNumber,
8655       { "privateNumber", "h225.privateNumber",
8656         FT_NONE, BASE_NONE, NULL, 0,
8657         "h225.PrivatePartyNumber", HFILL }},
8658     { &hf_h225_nationalStandardPartyNumber,
8659       { "nationalStandardPartyNumber", "h225.nationalStandardPartyNumber",
8660         FT_STRING, BASE_NONE, NULL, 0,
8661         "h225.NumberDigits", HFILL }},
8662     { &hf_h225_publicTypeOfNumber,
8663       { "publicTypeOfNumber", "h225.publicTypeOfNumber",
8664         FT_UINT32, BASE_DEC, VALS(h225_PublicTypeOfNumber_vals), 0,
8665         "h225.PublicTypeOfNumber", HFILL }},
8666     { &hf_h225_publicNumberDigits,
8667       { "publicNumberDigits", "h225.publicNumberDigits",
8668         FT_STRING, BASE_NONE, NULL, 0,
8669         "h225.NumberDigits", HFILL }},
8670     { &hf_h225_privateTypeOfNumber,
8671       { "privateTypeOfNumber", "h225.privateTypeOfNumber",
8672         FT_UINT32, BASE_DEC, VALS(h225_PrivateTypeOfNumber_vals), 0,
8673         "h225.PrivateTypeOfNumber", HFILL }},
8674     { &hf_h225_privateNumberDigits,
8675       { "privateNumberDigits", "h225.privateNumberDigits",
8676         FT_STRING, BASE_NONE, NULL, 0,
8677         "h225.NumberDigits", HFILL }},
8678     { &hf_h225_internationalNumber,
8679       { "internationalNumber", "h225.internationalNumber",
8680         FT_NONE, BASE_NONE, NULL, 0,
8681         "h225.NULL", HFILL }},
8682     { &hf_h225_nationalNumber,
8683       { "nationalNumber", "h225.nationalNumber",
8684         FT_NONE, BASE_NONE, NULL, 0,
8685         "h225.NULL", HFILL }},
8686     { &hf_h225_networkSpecificNumber,
8687       { "networkSpecificNumber", "h225.networkSpecificNumber",
8688         FT_NONE, BASE_NONE, NULL, 0,
8689         "h225.NULL", HFILL }},
8690     { &hf_h225_subscriberNumber,
8691       { "subscriberNumber", "h225.subscriberNumber",
8692         FT_NONE, BASE_NONE, NULL, 0,
8693         "h225.NULL", HFILL }},
8694     { &hf_h225_abbreviatedNumber,
8695       { "abbreviatedNumber", "h225.abbreviatedNumber",
8696         FT_NONE, BASE_NONE, NULL, 0,
8697         "h225.NULL", HFILL }},
8698     { &hf_h225_level2RegionalNumber,
8699       { "level2RegionalNumber", "h225.level2RegionalNumber",
8700         FT_NONE, BASE_NONE, NULL, 0,
8701         "h225.NULL", HFILL }},
8702     { &hf_h225_level1RegionalNumber,
8703       { "level1RegionalNumber", "h225.level1RegionalNumber",
8704         FT_NONE, BASE_NONE, NULL, 0,
8705         "h225.NULL", HFILL }},
8706     { &hf_h225_pISNSpecificNumber,
8707       { "pISNSpecificNumber", "h225.pISNSpecificNumber",
8708         FT_NONE, BASE_NONE, NULL, 0,
8709         "h225.NULL", HFILL }},
8710     { &hf_h225_localNumber,
8711       { "localNumber", "h225.localNumber",
8712         FT_NONE, BASE_NONE, NULL, 0,
8713         "h225.NULL", HFILL }},
8714     { &hf_h225_ansi_41_uim,
8715       { "ansi-41-uim", "h225.ansi_41_uim",
8716         FT_NONE, BASE_NONE, NULL, 0,
8717         "h225.ANSI_41_UIM", HFILL }},
8718     { &hf_h225_gsm_uim,
8719       { "gsm-uim", "h225.gsm_uim",
8720         FT_NONE, BASE_NONE, NULL, 0,
8721         "h225.GSM_UIM", HFILL }},
8722     { &hf_h225_imsi,
8723       { "imsi", "h225.imsi",
8724         FT_STRING, BASE_NONE, NULL, 0,
8725         "h225.TBCD_STRING_SIZE_3_16", HFILL }},
8726     { &hf_h225_min,
8727       { "min", "h225.min",
8728         FT_STRING, BASE_NONE, NULL, 0,
8729         "h225.TBCD_STRING_SIZE_3_16", HFILL }},
8730     { &hf_h225_mdn,
8731       { "mdn", "h225.mdn",
8732         FT_STRING, BASE_NONE, NULL, 0,
8733         "h225.TBCD_STRING_SIZE_3_16", HFILL }},
8734     { &hf_h225_msisdn,
8735       { "msisdn", "h225.msisdn",
8736         FT_STRING, BASE_NONE, NULL, 0,
8737         "h225.TBCD_STRING_SIZE_3_16", HFILL }},
8738     { &hf_h225_esn,
8739       { "esn", "h225.esn",
8740         FT_STRING, BASE_NONE, NULL, 0,
8741         "h225.TBCD_STRING_SIZE_16", HFILL }},
8742     { &hf_h225_mscid,
8743       { "mscid", "h225.mscid",
8744         FT_STRING, BASE_NONE, NULL, 0,
8745         "h225.TBCD_STRING_SIZE_3_16", HFILL }},
8746     { &hf_h225_system_id,
8747       { "system-id", "h225.system_id",
8748         FT_UINT32, BASE_DEC, VALS(h225_T_system_id_vals), 0,
8749         "h225.T_system_id", HFILL }},
8750     { &hf_h225_sid,
8751       { "sid", "h225.sid",
8752         FT_STRING, BASE_NONE, NULL, 0,
8753         "h225.TBCD_STRING_SIZE_1_4", HFILL }},
8754     { &hf_h225_mid,
8755       { "mid", "h225.mid",
8756         FT_STRING, BASE_NONE, NULL, 0,
8757         "h225.TBCD_STRING_SIZE_1_4", HFILL }},
8758     { &hf_h225_systemMyTypeCode,
8759       { "systemMyTypeCode", "h225.systemMyTypeCode",
8760         FT_BYTES, BASE_HEX, NULL, 0,
8761         "h225.OCTET_STRING_SIZE_1", HFILL }},
8762     { &hf_h225_systemAccessType,
8763       { "systemAccessType", "h225.systemAccessType",
8764         FT_BYTES, BASE_HEX, NULL, 0,
8765         "h225.OCTET_STRING_SIZE_1", HFILL }},
8766     { &hf_h225_qualificationInformationCode,
8767       { "qualificationInformationCode", "h225.qualificationInformationCode",
8768         FT_BYTES, BASE_HEX, NULL, 0,
8769         "h225.OCTET_STRING_SIZE_1", HFILL }},
8770     { &hf_h225_sesn,
8771       { "sesn", "h225.sesn",
8772         FT_STRING, BASE_NONE, NULL, 0,
8773         "h225.TBCD_STRING_SIZE_16", HFILL }},
8774     { &hf_h225_soc,
8775       { "soc", "h225.soc",
8776         FT_STRING, BASE_NONE, NULL, 0,
8777         "h225.TBCD_STRING_SIZE_3_16", HFILL }},
8778     { &hf_h225_tmsi,
8779       { "tmsi", "h225.tmsi",
8780         FT_BYTES, BASE_HEX, NULL, 0,
8781         "h225.OCTET_STRING_SIZE_1_4", HFILL }},
8782     { &hf_h225_imei,
8783       { "imei", "h225.imei",
8784         FT_STRING, BASE_NONE, NULL, 0,
8785         "h225.TBCD_STRING_SIZE_15_16", HFILL }},
8786     { &hf_h225_hplmn,
8787       { "hplmn", "h225.hplmn",
8788         FT_STRING, BASE_NONE, NULL, 0,
8789         "h225.TBCD_STRING_SIZE_1_4", HFILL }},
8790     { &hf_h225_vplmn,
8791       { "vplmn", "h225.vplmn",
8792         FT_STRING, BASE_NONE, NULL, 0,
8793         "h225.TBCD_STRING_SIZE_1_4", HFILL }},
8794     { &hf_h225_isupE164Number,
8795       { "e164Number", "h225.e164Number",
8796         FT_NONE, BASE_NONE, NULL, 0,
8797         "h225.IsupPublicPartyNumber", HFILL }},
8798     { &hf_h225_isupDataPartyNumber,
8799       { "dataPartyNumber", "h225.dataPartyNumber",
8800         FT_STRING, BASE_NONE, NULL, 0,
8801         "h225.IsupDigits", HFILL }},
8802     { &hf_h225_isupTelexPartyNumber,
8803       { "telexPartyNumber", "h225.telexPartyNumber",
8804         FT_STRING, BASE_NONE, NULL, 0,
8805         "h225.IsupDigits", HFILL }},
8806     { &hf_h225_isupPrivateNumber,
8807       { "privateNumber", "h225.privateNumber",
8808         FT_NONE, BASE_NONE, NULL, 0,
8809         "h225.IsupPrivatePartyNumber", HFILL }},
8810     { &hf_h225_isupNationalStandardPartyNumber,
8811       { "nationalStandardPartyNumber", "h225.nationalStandardPartyNumber",
8812         FT_STRING, BASE_NONE, NULL, 0,
8813         "h225.IsupDigits", HFILL }},
8814     { &hf_h225_natureOfAddress,
8815       { "natureOfAddress", "h225.natureOfAddress",
8816         FT_UINT32, BASE_DEC, VALS(h225_NatureOfAddress_vals), 0,
8817         "h225.NatureOfAddress", HFILL }},
8818     { &hf_h225_address,
8819       { "address", "h225.address",
8820         FT_STRING, BASE_NONE, NULL, 0,
8821         "h225.IsupDigits", HFILL }},
8822     { &hf_h225_routingNumberNationalFormat,
8823       { "routingNumberNationalFormat", "h225.routingNumberNationalFormat",
8824         FT_NONE, BASE_NONE, NULL, 0,
8825         "h225.NULL", HFILL }},
8826     { &hf_h225_routingNumberNetworkSpecificFormat,
8827       { "routingNumberNetworkSpecificFormat", "h225.routingNumberNetworkSpecificFormat",
8828         FT_NONE, BASE_NONE, NULL, 0,
8829         "h225.NULL", HFILL }},
8830     { &hf_h225_routingNumberWithCalledDirectoryNumber,
8831       { "routingNumberWithCalledDirectoryNumber", "h225.routingNumberWithCalledDirectoryNumber",
8832         FT_NONE, BASE_NONE, NULL, 0,
8833         "h225.NULL", HFILL }},
8834     { &hf_h225_extAliasAddress,
8835       { "address", "h225.address",
8836         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
8837         "h225.AliasAddress", HFILL }},
8838     { &hf_h225_aliasAddress,
8839       { "aliasAddress", "h225.aliasAddress",
8840         FT_UINT32, BASE_DEC, NULL, 0,
8841         "h225.SEQUENCE_OF_AliasAddress", HFILL }},
8842     { &hf_h225_aliasAddress_item,
8843       { "aliasAddress", "h225.aliasAddress_item",
8844         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
8845         "h225.AliasAddress", HFILL }},
8846     { &hf_h225_callSignalAddress,
8847       { "callSignalAddress", "h225.callSignalAddress",
8848         FT_UINT32, BASE_DEC, NULL, 0,
8849         "h225.SEQUENCE_OF_TransportAddress", HFILL }},
8850     { &hf_h225_callSignalAddress_item,
8851       { "callSignalAddress", "h225.callSignalAddress_item",
8852         FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
8853         "h225.TransportAddress", HFILL }},
8854     { &hf_h225_rasAddress,
8855       { "rasAddress", "h225.rasAddress",
8856         FT_UINT32, BASE_DEC, NULL, 0,
8857         "h225.SEQUENCE_OF_TransportAddress", HFILL }},
8858     { &hf_h225_rasAddress_item,
8859       { "rasAddress", "h225.rasAddress_item",
8860         FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
8861         "h225.TransportAddress", HFILL }},
8862     { &hf_h225_endpointType,
8863       { "endpointType", "h225.endpointType",
8864         FT_NONE, BASE_NONE, NULL, 0,
8865         "h225.EndpointType", HFILL }},
8866     { &hf_h225_priority,
8867       { "priority", "h225.priority",
8868         FT_UINT32, BASE_DEC, NULL, 0,
8869         "h225.INTEGER_0_127", HFILL }},
8870     { &hf_h225_remoteExtensionAddress,
8871       { "remoteExtensionAddress", "h225.remoteExtensionAddress",
8872         FT_UINT32, BASE_DEC, NULL, 0,
8873         "h225.SEQUENCE_OF_AliasAddress", HFILL }},
8874     { &hf_h225_remoteExtensionAddress_item,
8875       { "remoteExtensionAddress", "h225.remoteExtensionAddress_item",
8876         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
8877         "h225.AliasAddress", HFILL }},
8878     { &hf_h225_alternateTransportAddresses,
8879       { "alternateTransportAddresses", "h225.alternateTransportAddresses",
8880         FT_NONE, BASE_NONE, NULL, 0,
8881         "h225.AlternateTransportAddresses", HFILL }},
8882     { &hf_h225_annexE,
8883       { "annexE", "h225.annexE",
8884         FT_UINT32, BASE_DEC, NULL, 0,
8885         "h225.SEQUENCE_OF_TransportAddress", HFILL }},
8886     { &hf_h225_annexE_item,
8887       { "annexE", "h225.annexE_item",
8888         FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
8889         "h225.TransportAddress", HFILL }},
8890     { &hf_h225_sctp,
8891       { "sctp", "h225.sctp",
8892         FT_UINT32, BASE_DEC, NULL, 0,
8893         "h225.SEQUENCE_OF_TransportAddress", HFILL }},
8894     { &hf_h225_sctp_item,
8895       { "sctp", "h225.sctp_item",
8896         FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
8897         "h225.TransportAddress", HFILL }},
8898     { &hf_h225_tcp,
8899       { "tcp", "h225.tcp",
8900         FT_NONE, BASE_NONE, NULL, 0,
8901         "h225.NULL", HFILL }},
8902     { &hf_h225_annexE_flg,
8903       { "annexE", "h225.annexE",
8904         FT_NONE, BASE_NONE, NULL, 0,
8905         "h225.NULL", HFILL }},
8906     { &hf_h225_sctp_flg,
8907       { "sctp", "h225.sctp",
8908         FT_NONE, BASE_NONE, NULL, 0,
8909         "h225.NULL", HFILL }},
8910     { &hf_h225_alternateGK_rasAddress,
8911       { "rasAddress", "h225.rasAddress",
8912         FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
8913         "h225.TransportAddress", HFILL }},
8914     { &hf_h225_gatekeeperIdentifier,
8915       { "gatekeeperIdentifier", "h225.gatekeeperIdentifier",
8916         FT_STRING, BASE_NONE, NULL, 0,
8917         "h225.GatekeeperIdentifier", HFILL }},
8918     { &hf_h225_needToRegister,
8919       { "needToRegister", "h225.needToRegister",
8920         FT_BOOLEAN, 8, NULL, 0,
8921         "h225.BOOLEAN", HFILL }},
8922     { &hf_h225_alternateGatekeeper,
8923       { "alternateGatekeeper", "h225.alternateGatekeeper",
8924         FT_UINT32, BASE_DEC, NULL, 0,
8925         "h225.SEQUENCE_OF_AlternateGK", HFILL }},
8926     { &hf_h225_alternateGatekeeper_item,
8927       { "alternateGatekeeper", "h225.alternateGatekeeper_item",
8928         FT_NONE, BASE_NONE, NULL, 0,
8929         "h225.AlternateGK", HFILL }},
8930     { &hf_h225_altGKisPermanent,
8931       { "altGKisPermanent", "h225.altGKisPermanent",
8932         FT_BOOLEAN, 8, NULL, 0,
8933         "h225.BOOLEAN", HFILL }},
8934     { &hf_h225_default,
8935       { "default", "h225.default",
8936         FT_NONE, BASE_NONE, NULL, 0,
8937         "h225.NULL", HFILL }},
8938     { &hf_h225_encryption,
8939       { "encryption", "h225.encryption",
8940         FT_UINT32, BASE_DEC, VALS(h225_SecurityServiceMode_vals), 0,
8941         "h225.SecurityServiceMode", HFILL }},
8942     { &hf_h225_authenticaton,
8943       { "authenticaton", "h225.authenticaton",
8944         FT_UINT32, BASE_DEC, VALS(h225_SecurityServiceMode_vals), 0,
8945         "h225.SecurityServiceMode", HFILL }},
8946     { &hf_h225_securityCapabilities_integrity,
8947       { "integrity", "h225.integrity",
8948         FT_UINT32, BASE_DEC, VALS(h225_SecurityServiceMode_vals), 0,
8949         "h225.SecurityServiceMode", HFILL }},
8950     { &hf_h225_securityWrongSyncTime,
8951       { "securityWrongSyncTime", "h225.securityWrongSyncTime",
8952         FT_NONE, BASE_NONE, NULL, 0,
8953         "h225.NULL", HFILL }},
8954     { &hf_h225_securityReplay,
8955       { "securityReplay", "h225.securityReplay",
8956         FT_NONE, BASE_NONE, NULL, 0,
8957         "h225.NULL", HFILL }},
8958     { &hf_h225_securityWrongGeneralID,
8959       { "securityWrongGeneralID", "h225.securityWrongGeneralID",
8960         FT_NONE, BASE_NONE, NULL, 0,
8961         "h225.NULL", HFILL }},
8962     { &hf_h225_securityWrongSendersID,
8963       { "securityWrongSendersID", "h225.securityWrongSendersID",
8964         FT_NONE, BASE_NONE, NULL, 0,
8965         "h225.NULL", HFILL }},
8966     { &hf_h225_securityIntegrityFailed,
8967       { "securityIntegrityFailed", "h225.securityIntegrityFailed",
8968         FT_NONE, BASE_NONE, NULL, 0,
8969         "h225.NULL", HFILL }},
8970     { &hf_h225_securityWrongOID,
8971       { "securityWrongOID", "h225.securityWrongOID",
8972         FT_NONE, BASE_NONE, NULL, 0,
8973         "h225.NULL", HFILL }},
8974     { &hf_h225_securityDHmismatch,
8975       { "securityDHmismatch", "h225.securityDHmismatch",
8976         FT_NONE, BASE_NONE, NULL, 0,
8977         "h225.NULL", HFILL }},
8978     { &hf_h225_securityCertificateExpired,
8979       { "securityCertificateExpired", "h225.securityCertificateExpired",
8980         FT_NONE, BASE_NONE, NULL, 0,
8981         "h225.NULL", HFILL }},
8982     { &hf_h225_securityCertificateDateInvalid,
8983       { "securityCertificateDateInvalid", "h225.securityCertificateDateInvalid",
8984         FT_NONE, BASE_NONE, NULL, 0,
8985         "h225.NULL", HFILL }},
8986     { &hf_h225_securityCertificateRevoked,
8987       { "securityCertificateRevoked", "h225.securityCertificateRevoked",
8988         FT_NONE, BASE_NONE, NULL, 0,
8989         "h225.NULL", HFILL }},
8990     { &hf_h225_securityCertificateNotReadable,
8991       { "securityCertificateNotReadable", "h225.securityCertificateNotReadable",
8992         FT_NONE, BASE_NONE, NULL, 0,
8993         "h225.NULL", HFILL }},
8994     { &hf_h225_securityCertificateSignatureInvalid,
8995       { "securityCertificateSignatureInvalid", "h225.securityCertificateSignatureInvalid",
8996         FT_NONE, BASE_NONE, NULL, 0,
8997         "h225.NULL", HFILL }},
8998     { &hf_h225_securityCertificateMissing,
8999       { "securityCertificateMissing", "h225.securityCertificateMissing",
9000         FT_NONE, BASE_NONE, NULL, 0,
9001         "h225.NULL", HFILL }},
9002     { &hf_h225_securityCertificateIncomplete,
9003       { "securityCertificateIncomplete", "h225.securityCertificateIncomplete",
9004         FT_NONE, BASE_NONE, NULL, 0,
9005         "h225.NULL", HFILL }},
9006     { &hf_h225_securityUnsupportedCertificateAlgOID,
9007       { "securityUnsupportedCertificateAlgOID", "h225.securityUnsupportedCertificateAlgOID",
9008         FT_NONE, BASE_NONE, NULL, 0,
9009         "h225.NULL", HFILL }},
9010     { &hf_h225_securityUnknownCA,
9011       { "securityUnknownCA", "h225.securityUnknownCA",
9012         FT_NONE, BASE_NONE, NULL, 0,
9013         "h225.NULL", HFILL }},
9014     { &hf_h225_noSecurity,
9015       { "noSecurity", "h225.noSecurity",
9016         FT_NONE, BASE_NONE, NULL, 0,
9017         "h225.NULL", HFILL }},
9018     { &hf_h225_tls,
9019       { "tls", "h225.tls",
9020         FT_NONE, BASE_NONE, NULL, 0,
9021         "h225.SecurityCapabilities", HFILL }},
9022     { &hf_h225_ipsec,
9023       { "ipsec", "h225.ipsec",
9024         FT_NONE, BASE_NONE, NULL, 0,
9025         "h225.SecurityCapabilities", HFILL }},
9026     { &hf_h225_q932Full,
9027       { "q932Full", "h225.q932Full",
9028         FT_BOOLEAN, 8, NULL, 0,
9029         "h225.BOOLEAN", HFILL }},
9030     { &hf_h225_q951Full,
9031       { "q951Full", "h225.q951Full",
9032         FT_BOOLEAN, 8, NULL, 0,
9033         "h225.BOOLEAN", HFILL }},
9034     { &hf_h225_q952Full,
9035       { "q952Full", "h225.q952Full",
9036         FT_BOOLEAN, 8, NULL, 0,
9037         "h225.BOOLEAN", HFILL }},
9038     { &hf_h225_q953Full,
9039       { "q953Full", "h225.q953Full",
9040         FT_BOOLEAN, 8, NULL, 0,
9041         "h225.BOOLEAN", HFILL }},
9042     { &hf_h225_q955Full,
9043       { "q955Full", "h225.q955Full",
9044         FT_BOOLEAN, 8, NULL, 0,
9045         "h225.BOOLEAN", HFILL }},
9046     { &hf_h225_q956Full,
9047       { "q956Full", "h225.q956Full",
9048         FT_BOOLEAN, 8, NULL, 0,
9049         "h225.BOOLEAN", HFILL }},
9050     { &hf_h225_q957Full,
9051       { "q957Full", "h225.q957Full",
9052         FT_BOOLEAN, 8, NULL, 0,
9053         "h225.BOOLEAN", HFILL }},
9054     { &hf_h225_q954Info,
9055       { "q954Info", "h225.q954Info",
9056         FT_NONE, BASE_NONE, NULL, 0,
9057         "h225.Q954Details", HFILL }},
9058     { &hf_h225_conferenceCalling,
9059       { "conferenceCalling", "h225.conferenceCalling",
9060         FT_BOOLEAN, 8, NULL, 0,
9061         "h225.BOOLEAN", HFILL }},
9062     { &hf_h225_threePartyService,
9063       { "threePartyService", "h225.threePartyService",
9064         FT_BOOLEAN, 8, NULL, 0,
9065         "h225.BOOLEAN", HFILL }},
9066     { &hf_h225_guid,
9067       { "guid", "h225.guid",
9068         FT_GUID, BASE_NONE, NULL, 0,
9069         "h225.T_guid", HFILL }},
9070     { &hf_h225_isoAlgorithm,
9071       { "isoAlgorithm", "h225.isoAlgorithm",
9072         FT_OID, BASE_NONE, NULL, 0,
9073         "h225.OBJECT_IDENTIFIER", HFILL }},
9074     { &hf_h225_hMAC_MD5,
9075       { "hMAC-MD5", "h225.hMAC_MD5",
9076         FT_NONE, BASE_NONE, NULL, 0,
9077         "h225.NULL", HFILL }},
9078     { &hf_h225_hMAC_iso10118_2_s,
9079       { "hMAC-iso10118-2-s", "h225.hMAC_iso10118_2_s",
9080         FT_UINT32, BASE_DEC, VALS(h225_EncryptIntAlg_vals), 0,
9081         "h225.EncryptIntAlg", HFILL }},
9082     { &hf_h225_hMAC_iso10118_2_l,
9083       { "hMAC-iso10118-2-l", "h225.hMAC_iso10118_2_l",
9084         FT_UINT32, BASE_DEC, VALS(h225_EncryptIntAlg_vals), 0,
9085         "h225.EncryptIntAlg", HFILL }},
9086     { &hf_h225_hMAC_iso10118_3,
9087       { "hMAC-iso10118-3", "h225.hMAC_iso10118_3",
9088         FT_OID, BASE_NONE, NULL, 0,
9089         "h225.OBJECT_IDENTIFIER", HFILL }},
9090     { &hf_h225_digSig,
9091       { "digSig", "h225.digSig",
9092         FT_NONE, BASE_NONE, NULL, 0,
9093         "h225.NULL", HFILL }},
9094     { &hf_h225_iso9797,
9095       { "iso9797", "h225.iso9797",
9096         FT_OID, BASE_NONE, NULL, 0,
9097         "h225.OBJECT_IDENTIFIER", HFILL }},
9098     { &hf_h225_nonIsoIM,
9099       { "nonIsoIM", "h225.nonIsoIM",
9100         FT_UINT32, BASE_DEC, VALS(h225_NonIsoIntegrityMechanism_vals), 0,
9101         "h225.NonIsoIntegrityMechanism", HFILL }},
9102     { &hf_h225_algorithmOID,
9103       { "algorithmOID", "h225.algorithmOID",
9104         FT_OID, BASE_NONE, NULL, 0,
9105         "h225.OBJECT_IDENTIFIER", HFILL }},
9106     { &hf_h225_icv,
9107       { "icv", "h225.icv",
9108         FT_BYTES, BASE_HEX, NULL, 0,
9109         "h225.BIT_STRING", HFILL }},
9110     { &hf_h225_cryptoEPPwdHash,
9111       { "cryptoEPPwdHash", "h225.cryptoEPPwdHash",
9112         FT_NONE, BASE_NONE, NULL, 0,
9113         "h225.T_cryptoEPPwdHash", HFILL }},
9114     { &hf_h225_alias,
9115       { "alias", "h225.alias",
9116         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
9117         "h225.AliasAddress", HFILL }},
9118     { &hf_h225_timeStamp,
9119       { "timeStamp", "h225.timeStamp",
9120         FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0,
9121         "h235.TimeStamp", HFILL }},
9122     { &hf_h225_token,
9123       { "token", "h225.token",
9124         FT_NONE, BASE_NONE, NULL, 0,
9125         "h235.HASHED", HFILL }},
9126     { &hf_h225_cryptoGKPwdHash,
9127       { "cryptoGKPwdHash", "h225.cryptoGKPwdHash",
9128         FT_NONE, BASE_NONE, NULL, 0,
9129         "h225.T_cryptoGKPwdHash", HFILL }},
9130     { &hf_h225_gatekeeperId,
9131       { "gatekeeperId", "h225.gatekeeperId",
9132         FT_STRING, BASE_NONE, NULL, 0,
9133         "h225.GatekeeperIdentifier", HFILL }},
9134     { &hf_h225_cryptoEPPwdEncr,
9135       { "cryptoEPPwdEncr", "h225.cryptoEPPwdEncr",
9136         FT_NONE, BASE_NONE, NULL, 0,
9137         "h235.ENCRYPTED", HFILL }},
9138     { &hf_h225_cryptoGKPwdEncr,
9139       { "cryptoGKPwdEncr", "h225.cryptoGKPwdEncr",
9140         FT_NONE, BASE_NONE, NULL, 0,
9141         "h235.ENCRYPTED", HFILL }},
9142     { &hf_h225_cryptoEPCert,
9143       { "cryptoEPCert", "h225.cryptoEPCert",
9144         FT_NONE, BASE_NONE, NULL, 0,
9145         "h235.SIGNED", HFILL }},
9146     { &hf_h225_cryptoGKCert,
9147       { "cryptoGKCert", "h225.cryptoGKCert",
9148         FT_NONE, BASE_NONE, NULL, 0,
9149         "h235.SIGNED", HFILL }},
9150     { &hf_h225_cryptoFastStart,
9151       { "cryptoFastStart", "h225.cryptoFastStart",
9152         FT_NONE, BASE_NONE, NULL, 0,
9153         "h235.SIGNED", HFILL }},
9154     { &hf_h225_nestedcryptoToken,
9155       { "nestedcryptoToken", "h225.nestedcryptoToken",
9156         FT_UINT32, BASE_DEC, VALS(h235_CryptoToken_vals), 0,
9157         "h235.CryptoToken", HFILL }},
9158     { &hf_h225_channelRate,
9159       { "channelRate", "h225.channelRate",
9160         FT_UINT32, BASE_DEC, NULL, 0,
9161         "h225.BandWidth", HFILL }},
9162     { &hf_h225_channelMultiplier,
9163       { "channelMultiplier", "h225.channelMultiplier",
9164         FT_UINT32, BASE_DEC, NULL, 0,
9165         "h225.INTEGER_1_256", HFILL }},
9166     { &hf_h225_globalCallId,
9167       { "globalCallId", "h225.globalCallId",
9168         FT_GUID, BASE_NONE, NULL, 0,
9169         "h225.GloballyUniqueID", HFILL }},
9170     { &hf_h225_threadId,
9171       { "threadId", "h225.threadId",
9172         FT_GUID, BASE_NONE, NULL, 0,
9173         "h225.GloballyUniqueID", HFILL }},
9174     { &hf_h225_prefix,
9175       { "prefix", "h225.prefix",
9176         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
9177         "h225.AliasAddress", HFILL }},
9178     { &hf_h225_canReportCallCapacity,
9179       { "canReportCallCapacity", "h225.canReportCallCapacity",
9180         FT_BOOLEAN, 8, NULL, 0,
9181         "h225.BOOLEAN", HFILL }},
9182     { &hf_h225_capacityReportingSpecification_when,
9183       { "when", "h225.when",
9184         FT_NONE, BASE_NONE, NULL, 0,
9185         "h225.CapacityReportingSpecification_when", HFILL }},
9186     { &hf_h225_callStart,
9187       { "callStart", "h225.callStart",
9188         FT_NONE, BASE_NONE, NULL, 0,
9189         "h225.NULL", HFILL }},
9190     { &hf_h225_callEnd,
9191       { "callEnd", "h225.callEnd",
9192         FT_NONE, BASE_NONE, NULL, 0,
9193         "h225.NULL", HFILL }},
9194     { &hf_h225_maximumCallCapacity,
9195       { "maximumCallCapacity", "h225.maximumCallCapacity",
9196         FT_NONE, BASE_NONE, NULL, 0,
9197         "h225.CallCapacityInfo", HFILL }},
9198     { &hf_h225_currentCallCapacity,
9199       { "currentCallCapacity", "h225.currentCallCapacity",
9200         FT_NONE, BASE_NONE, NULL, 0,
9201         "h225.CallCapacityInfo", HFILL }},
9202     { &hf_h225_voiceGwCallsAvailable,
9203       { "voiceGwCallsAvailable", "h225.voiceGwCallsAvailable",
9204         FT_UINT32, BASE_DEC, NULL, 0,
9205         "h225.SEQUENCE_OF_CallsAvailable", HFILL }},
9206     { &hf_h225_voiceGwCallsAvailable_item,
9207       { "voiceGwCallsAvailable", "h225.voiceGwCallsAvailable_item",
9208         FT_NONE, BASE_NONE, NULL, 0,
9209         "h225.CallsAvailable", HFILL }},
9210     { &hf_h225_h310GwCallsAvailable,
9211       { "h310GwCallsAvailable", "h225.h310GwCallsAvailable",
9212         FT_UINT32, BASE_DEC, NULL, 0,
9213         "h225.SEQUENCE_OF_CallsAvailable", HFILL }},
9214     { &hf_h225_h310GwCallsAvailable_item,
9215       { "h310GwCallsAvailable", "h225.h310GwCallsAvailable_item",
9216         FT_NONE, BASE_NONE, NULL, 0,
9217         "h225.CallsAvailable", HFILL }},
9218     { &hf_h225_h320GwCallsAvailable,
9219       { "h320GwCallsAvailable", "h225.h320GwCallsAvailable",
9220         FT_UINT32, BASE_DEC, NULL, 0,
9221         "h225.SEQUENCE_OF_CallsAvailable", HFILL }},
9222     { &hf_h225_h320GwCallsAvailable_item,
9223       { "h320GwCallsAvailable", "h225.h320GwCallsAvailable_item",
9224         FT_NONE, BASE_NONE, NULL, 0,
9225         "h225.CallsAvailable", HFILL }},
9226     { &hf_h225_h321GwCallsAvailable,
9227       { "h321GwCallsAvailable", "h225.h321GwCallsAvailable",
9228         FT_UINT32, BASE_DEC, NULL, 0,
9229         "h225.SEQUENCE_OF_CallsAvailable", HFILL }},
9230     { &hf_h225_h321GwCallsAvailable_item,
9231       { "h321GwCallsAvailable", "h225.h321GwCallsAvailable_item",
9232         FT_NONE, BASE_NONE, NULL, 0,
9233         "h225.CallsAvailable", HFILL }},
9234     { &hf_h225_h322GwCallsAvailable,
9235       { "h322GwCallsAvailable", "h225.h322GwCallsAvailable",
9236         FT_UINT32, BASE_DEC, NULL, 0,
9237         "h225.SEQUENCE_OF_CallsAvailable", HFILL }},
9238     { &hf_h225_h322GwCallsAvailable_item,
9239       { "h322GwCallsAvailable", "h225.h322GwCallsAvailable_item",
9240         FT_NONE, BASE_NONE, NULL, 0,
9241         "h225.CallsAvailable", HFILL }},
9242     { &hf_h225_h323GwCallsAvailable,
9243       { "h323GwCallsAvailable", "h225.h323GwCallsAvailable",
9244         FT_UINT32, BASE_DEC, NULL, 0,
9245         "h225.SEQUENCE_OF_CallsAvailable", HFILL }},
9246     { &hf_h225_h323GwCallsAvailable_item,
9247       { "h323GwCallsAvailable", "h225.h323GwCallsAvailable_item",
9248         FT_NONE, BASE_NONE, NULL, 0,
9249         "h225.CallsAvailable", HFILL }},
9250     { &hf_h225_h324GwCallsAvailable,
9251       { "h324GwCallsAvailable", "h225.h324GwCallsAvailable",
9252         FT_UINT32, BASE_DEC, NULL, 0,
9253         "h225.SEQUENCE_OF_CallsAvailable", HFILL }},
9254     { &hf_h225_h324GwCallsAvailable_item,
9255       { "h324GwCallsAvailable", "h225.h324GwCallsAvailable_item",
9256         FT_NONE, BASE_NONE, NULL, 0,
9257         "h225.CallsAvailable", HFILL }},
9258     { &hf_h225_t120OnlyGwCallsAvailable,
9259       { "t120OnlyGwCallsAvailable", "h225.t120OnlyGwCallsAvailable",
9260         FT_UINT32, BASE_DEC, NULL, 0,
9261         "h225.SEQUENCE_OF_CallsAvailable", HFILL }},
9262     { &hf_h225_t120OnlyGwCallsAvailable_item,
9263       { "t120OnlyGwCallsAvailable", "h225.t120OnlyGwCallsAvailable_item",
9264         FT_NONE, BASE_NONE, NULL, 0,
9265         "h225.CallsAvailable", HFILL }},
9266     { &hf_h225_t38FaxAnnexbOnlyGwCallsAvailable,
9267       { "t38FaxAnnexbOnlyGwCallsAvailable", "h225.t38FaxAnnexbOnlyGwCallsAvailable",
9268         FT_UINT32, BASE_DEC, NULL, 0,
9269         "h225.SEQUENCE_OF_CallsAvailable", HFILL }},
9270     { &hf_h225_t38FaxAnnexbOnlyGwCallsAvailable_item,
9271       { "t38FaxAnnexbOnlyGwCallsAvailable", "h225.t38FaxAnnexbOnlyGwCallsAvailable_item",
9272         FT_NONE, BASE_NONE, NULL, 0,
9273         "h225.CallsAvailable", HFILL }},
9274     { &hf_h225_terminalCallsAvailable,
9275       { "terminalCallsAvailable", "h225.terminalCallsAvailable",
9276         FT_UINT32, BASE_DEC, NULL, 0,
9277         "h225.SEQUENCE_OF_CallsAvailable", HFILL }},
9278     { &hf_h225_terminalCallsAvailable_item,
9279       { "terminalCallsAvailable", "h225.terminalCallsAvailable_item",
9280         FT_NONE, BASE_NONE, NULL, 0,
9281         "h225.CallsAvailable", HFILL }},
9282     { &hf_h225_mcuCallsAvailable,
9283       { "mcuCallsAvailable", "h225.mcuCallsAvailable",
9284         FT_UINT32, BASE_DEC, NULL, 0,
9285         "h225.SEQUENCE_OF_CallsAvailable", HFILL }},
9286     { &hf_h225_mcuCallsAvailable_item,
9287       { "mcuCallsAvailable", "h225.mcuCallsAvailable_item",
9288         FT_NONE, BASE_NONE, NULL, 0,
9289         "h225.CallsAvailable", HFILL }},
9290     { &hf_h225_sipGwCallsAvailable,
9291       { "sipGwCallsAvailable", "h225.sipGwCallsAvailable",
9292         FT_UINT32, BASE_DEC, NULL, 0,
9293         "h225.SEQUENCE_OF_CallsAvailable", HFILL }},
9294     { &hf_h225_sipGwCallsAvailable_item,
9295       { "sipGwCallsAvailable", "h225.sipGwCallsAvailable_item",
9296         FT_NONE, BASE_NONE, NULL, 0,
9297         "h225.CallsAvailable", HFILL }},
9298     { &hf_h225_calls,
9299       { "calls", "h225.calls",
9300         FT_UINT32, BASE_DEC, NULL, 0,
9301         "h225.INTEGER_0_4294967295", HFILL }},
9302     { &hf_h225_group_IA5String,
9303       { "group", "h225.group",
9304         FT_STRING, BASE_NONE, NULL, 0,
9305         "h225.IA5String_SIZE_1_128", HFILL }},
9306     { &hf_h225_carrier,
9307       { "carrier", "h225.carrier",
9308         FT_NONE, BASE_NONE, NULL, 0,
9309         "h225.CarrierInfo", HFILL }},
9310     { &hf_h225_sourceCircuitID,
9311       { "sourceCircuitID", "h225.sourceCircuitID",
9312         FT_NONE, BASE_NONE, NULL, 0,
9313         "h225.CircuitIdentifier", HFILL }},
9314     { &hf_h225_destinationCircuitID,
9315       { "destinationCircuitID", "h225.destinationCircuitID",
9316         FT_NONE, BASE_NONE, NULL, 0,
9317         "h225.CircuitIdentifier", HFILL }},
9318     { &hf_h225_cic,
9319       { "cic", "h225.cic",
9320         FT_NONE, BASE_NONE, NULL, 0,
9321         "h225.CicInfo", HFILL }},
9322     { &hf_h225_group,
9323       { "group", "h225.group",
9324         FT_NONE, BASE_NONE, NULL, 0,
9325         "h225.GroupID", HFILL }},
9326     { &hf_h225_cic_2_4,
9327       { "cic", "h225.cic",
9328         FT_UINT32, BASE_DEC, NULL, 0,
9329         "h225.T_cic_2_4", HFILL }},
9330     { &hf_h225_cic_2_4_item,
9331       { "cic", "h225.cic_item",
9332         FT_BYTES, BASE_HEX, NULL, 0,
9333         "h225.OCTET_STRING_SIZE_2_4", HFILL }},
9334     { &hf_h225_pointCode,
9335       { "pointCode", "h225.pointCode",
9336         FT_BYTES, BASE_HEX, NULL, 0,
9337         "h225.OCTET_STRING_SIZE_2_5", HFILL }},
9338     { &hf_h225_member,
9339       { "member", "h225.member",
9340         FT_UINT32, BASE_DEC, NULL, 0,
9341         "h225.T_member", HFILL }},
9342     { &hf_h225_member_item,
9343       { "member", "h225.member_item",
9344         FT_UINT32, BASE_DEC, NULL, 0,
9345         "h225.INTEGER_0_65535", HFILL }},
9346     { &hf_h225_carrierIdentificationCode,
9347       { "carrierIdentificationCode", "h225.carrierIdentificationCode",
9348         FT_BYTES, BASE_HEX, NULL, 0,
9349         "h225.OCTET_STRING_SIZE_3_4", HFILL }},
9350     { &hf_h225_carrierName,
9351       { "carrierName", "h225.carrierName",
9352         FT_STRING, BASE_NONE, NULL, 0,
9353         "h225.IA5String_SIZE_1_128", HFILL }},
9354     { &hf_h225_url,
9355       { "url", "h225.url",
9356         FT_STRING, BASE_NONE, NULL, 0,
9357         "h225.IA5String_SIZE_0_512", HFILL }},
9358     { &hf_h225_signal,
9359       { "signal", "h225.signal",
9360         FT_BYTES, BASE_HEX, NULL, 0,
9361         "h225.H248SignalsDescriptor", HFILL }},
9362     { &hf_h225_callCreditServiceControl,
9363       { "callCreditServiceControl", "h225.callCreditServiceControl",
9364         FT_NONE, BASE_NONE, NULL, 0,
9365         "h225.CallCreditServiceControl", HFILL }},
9366     { &hf_h225_sessionId_0_255,
9367       { "sessionId", "h225.sessionId",
9368         FT_UINT32, BASE_DEC, NULL, 0,
9369         "h225.INTEGER_0_255", HFILL }},
9370     { &hf_h225_contents,
9371       { "contents", "h225.contents",
9372         FT_UINT32, BASE_DEC, VALS(h225_ServiceControlDescriptor_vals), 0,
9373         "h225.ServiceControlDescriptor", HFILL }},
9374     { &hf_h225_reason,
9375       { "reason", "h225.reason",
9376         FT_UINT32, BASE_DEC, VALS(h225_ServiceControlSession_reason_vals), 0,
9377         "h225.ServiceControlSession_reason", HFILL }},
9378     { &hf_h225_open,
9379       { "open", "h225.open",
9380         FT_NONE, BASE_NONE, NULL, 0,
9381         "h225.NULL", HFILL }},
9382     { &hf_h225_refresh,
9383       { "refresh", "h225.refresh",
9384         FT_NONE, BASE_NONE, NULL, 0,
9385         "h225.NULL", HFILL }},
9386     { &hf_h225_close,
9387       { "close", "h225.close",
9388         FT_NONE, BASE_NONE, NULL, 0,
9389         "h225.NULL", HFILL }},
9390     { &hf_h225_nonStandardUsageTypes,
9391       { "nonStandardUsageTypes", "h225.nonStandardUsageTypes",
9392         FT_UINT32, BASE_DEC, NULL, 0,
9393         "h225.SEQUENCE_OF_NonStandardParameter", HFILL }},
9394     { &hf_h225_nonStandardUsageTypes_item,
9395       { "nonStandardUsageTypes", "h225.nonStandardUsageTypes_item",
9396         FT_NONE, BASE_NONE, NULL, 0,
9397         "h225.NonStandardParameter", HFILL }},
9398     { &hf_h225_startTime,
9399       { "startTime", "h225.startTime",
9400         FT_NONE, BASE_NONE, NULL, 0,
9401         "h225.NULL", HFILL }},
9402     { &hf_h225_endTime_flg,
9403       { "endTime", "h225.endTime",
9404         FT_NONE, BASE_NONE, NULL, 0,
9405         "h225.NULL", HFILL }},
9406     { &hf_h225_terminationCause_flg,
9407       { "terminationCause", "h225.terminationCause",
9408         FT_NONE, BASE_NONE, NULL, 0,
9409         "h225.NULL", HFILL }},
9410     { &hf_h225_when,
9411       { "when", "h225.when",
9412         FT_NONE, BASE_NONE, NULL, 0,
9413         "h225.RasUsageSpecification_when", HFILL }},
9414     { &hf_h225_start,
9415       { "start", "h225.start",
9416         FT_NONE, BASE_NONE, NULL, 0,
9417         "h225.NULL", HFILL }},
9418     { &hf_h225_end,
9419       { "end", "h225.end",
9420         FT_NONE, BASE_NONE, NULL, 0,
9421         "h225.NULL", HFILL }},
9422     { &hf_h225_inIrr,
9423       { "inIrr", "h225.inIrr",
9424         FT_NONE, BASE_NONE, NULL, 0,
9425         "h225.NULL", HFILL }},
9426     { &hf_h225_ras_callStartingPoint,
9427       { "callStartingPoint", "h225.callStartingPoint",
9428         FT_NONE, BASE_NONE, NULL, 0,
9429         "h225.RasUsageSpecificationcallStartingPoint", HFILL }},
9430     { &hf_h225_alerting_flg,
9431       { "alerting", "h225.alerting",
9432         FT_NONE, BASE_NONE, NULL, 0,
9433         "h225.NULL", HFILL }},
9434     { &hf_h225_connect_flg,
9435       { "connect", "h225.connect",
9436         FT_NONE, BASE_NONE, NULL, 0,
9437         "h225.NULL", HFILL }},
9438     { &hf_h225_required,
9439       { "required", "h225.required",
9440         FT_NONE, BASE_NONE, NULL, 0,
9441         "h225.RasUsageInfoTypes", HFILL }},
9442     { &hf_h225_nonStandardUsageFields,
9443       { "nonStandardUsageFields", "h225.nonStandardUsageFields",
9444         FT_UINT32, BASE_DEC, NULL, 0,
9445         "h225.SEQUENCE_OF_NonStandardParameter", HFILL }},
9446     { &hf_h225_nonStandardUsageFields_item,
9447       { "nonStandardUsageFields", "h225.nonStandardUsageFields_item",
9448         FT_NONE, BASE_NONE, NULL, 0,
9449         "h225.NonStandardParameter", HFILL }},
9450     { &hf_h225_alertingTime,
9451       { "alertingTime", "h225.alertingTime",
9452         FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0,
9453         "h235.TimeStamp", HFILL }},
9454     { &hf_h225_connectTime,
9455       { "connectTime", "h225.connectTime",
9456         FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0,
9457         "h235.TimeStamp", HFILL }},
9458     { &hf_h225_endTime,
9459       { "endTime", "h225.endTime",
9460         FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0,
9461         "h235.TimeStamp", HFILL }},
9462     { &hf_h225_releaseCompleteCauseIE,
9463       { "releaseCompleteCauseIE", "h225.releaseCompleteCauseIE",
9464         FT_BYTES, BASE_HEX, NULL, 0,
9465         "h225.OCTET_STRING_SIZE_2_32", HFILL }},
9466     { &hf_h225_sender,
9467       { "sender", "h225.sender",
9468         FT_BOOLEAN, 8, NULL, 0,
9469         "h225.BOOLEAN", HFILL }},
9470     { &hf_h225_multicast,
9471       { "multicast", "h225.multicast",
9472         FT_BOOLEAN, 8, NULL, 0,
9473         "h225.BOOLEAN", HFILL }},
9474     { &hf_h225_bandwidth,
9475       { "bandwidth", "h225.bandwidth",
9476         FT_UINT32, BASE_DEC, NULL, 0,
9477         "h225.BandWidth", HFILL }},
9478     { &hf_h225_rtcpAddresses,
9479       { "rtcpAddresses", "h225.rtcpAddresses",
9480         FT_NONE, BASE_NONE, NULL, 0,
9481         "h225.TransportChannelInfo", HFILL }},
9482     { &hf_h225_canDisplayAmountString,
9483       { "canDisplayAmountString", "h225.canDisplayAmountString",
9484         FT_BOOLEAN, 8, NULL, 0,
9485         "h225.BOOLEAN", HFILL }},
9486     { &hf_h225_canEnforceDurationLimit,
9487       { "canEnforceDurationLimit", "h225.canEnforceDurationLimit",
9488         FT_BOOLEAN, 8, NULL, 0,
9489         "h225.BOOLEAN", HFILL }},
9490     { &hf_h225_amountString,
9491       { "amountString", "h225.amountString",
9492         FT_STRING, BASE_NONE, NULL, 0,
9493         "h225.BMPString_SIZE_1_512", HFILL }},
9494     { &hf_h225_billingMode,
9495       { "billingMode", "h225.billingMode",
9496         FT_UINT32, BASE_DEC, VALS(h225_T_billingMode_vals), 0,
9497         "h225.T_billingMode", HFILL }},
9498     { &hf_h225_credit,
9499       { "credit", "h225.credit",
9500         FT_NONE, BASE_NONE, NULL, 0,
9501         "h225.NULL", HFILL }},
9502     { &hf_h225_debit,
9503       { "debit", "h225.debit",
9504         FT_NONE, BASE_NONE, NULL, 0,
9505         "h225.NULL", HFILL }},
9506     { &hf_h225_callDurationLimit,
9507       { "callDurationLimit", "h225.callDurationLimit",
9508         FT_UINT32, BASE_DEC, NULL, 0,
9509         "h225.INTEGER_1_4294967295", HFILL }},
9510     { &hf_h225_enforceCallDurationLimit,
9511       { "enforceCallDurationLimit", "h225.enforceCallDurationLimit",
9512         FT_BOOLEAN, 8, NULL, 0,
9513         "h225.BOOLEAN", HFILL }},
9514     { &hf_h225_callStartingPoint,
9515       { "callStartingPoint", "h225.callStartingPoint",
9516         FT_UINT32, BASE_DEC, VALS(h225_CallCreditServiceControl_callStartingPoint_vals), 0,
9517         "h225.CallCreditServiceControl_callStartingPoint", HFILL }},
9518     { &hf_h225_id,
9519       { "id", "h225.id",
9520         FT_UINT32, BASE_DEC, VALS(h225_GenericIdentifier_vals), 0,
9521         "h225.GenericIdentifier", HFILL }},
9522     { &hf_h225_parameters,
9523       { "parameters", "h225.parameters",
9524         FT_UINT32, BASE_DEC, NULL, 0,
9525         "h225.T_parameters", HFILL }},
9526     { &hf_h225_parameters_item,
9527       { "parameters", "h225.parameters_item",
9528         FT_NONE, BASE_NONE, NULL, 0,
9529         "h225.T_parameters_item", HFILL }},
9530     { &hf_h225_standard,
9531       { "standard", "h225.standard",
9532         FT_UINT32, BASE_DEC, NULL, 0,
9533         "h225.T_standard", HFILL }},
9534     { &hf_h225_oid,
9535       { "oid", "h225.oid",
9536         FT_OID, BASE_NONE, NULL, 0,
9537         "h225.T_oid", HFILL }},
9538     { &hf_h225_genericIdentifier_nonStandard,
9539       { "nonStandard", "h225.nonStandard",
9540         FT_GUID, BASE_NONE, NULL, 0,
9541         "h225.GloballyUniqueID", HFILL }},
9542     { &hf_h225_content,
9543       { "content", "h225.content",
9544         FT_UINT32, BASE_DEC, VALS(h225_Content_vals), 0,
9545         "h225.Content", HFILL }},
9546     { &hf_h225_raw,
9547       { "raw", "h225.raw",
9548         FT_BYTES, BASE_HEX, NULL, 0,
9549         "h225.OCTET_STRING", HFILL }},
9550     { &hf_h225_text,
9551       { "text", "h225.text",
9552         FT_STRING, BASE_NONE, NULL, 0,
9553         "h225.IA5String", HFILL }},
9554     { &hf_h225_unicode,
9555       { "unicode", "h225.unicode",
9556         FT_STRING, BASE_NONE, NULL, 0,
9557         "h225.BMPString", HFILL }},
9558     { &hf_h225_bool,
9559       { "bool", "h225.bool",
9560         FT_BOOLEAN, 8, NULL, 0,
9561         "h225.BOOLEAN", HFILL }},
9562     { &hf_h225_number8,
9563       { "number8", "h225.number8",
9564         FT_UINT32, BASE_DEC, NULL, 0,
9565         "h225.INTEGER_0_255", HFILL }},
9566     { &hf_h225_number16,
9567       { "number16", "h225.number16",
9568         FT_UINT32, BASE_DEC, NULL, 0,
9569         "h225.INTEGER_0_65535", HFILL }},
9570     { &hf_h225_number32,
9571       { "number32", "h225.number32",
9572         FT_UINT32, BASE_DEC, NULL, 0,
9573         "h225.INTEGER_0_4294967295", HFILL }},
9574     { &hf_h225_transport,
9575       { "transport", "h225.transport",
9576         FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
9577         "h225.TransportAddress", HFILL }},
9578     { &hf_h225_compound,
9579       { "compound", "h225.compound",
9580         FT_UINT32, BASE_DEC, NULL, 0,
9581         "h225.SEQUENCE_SIZE_1_512_OF_EnumeratedParameter", HFILL }},
9582     { &hf_h225_compound_item,
9583       { "compound", "h225.compound_item",
9584         FT_NONE, BASE_NONE, NULL, 0,
9585         "h225.EnumeratedParameter", HFILL }},
9586     { &hf_h225_nested,
9587       { "nested", "h225.nested",
9588         FT_UINT32, BASE_DEC, NULL, 0,
9589         "h225.SEQUENCE_SIZE_1_16_OF_GenericData", HFILL }},
9590     { &hf_h225_nested_item,
9591       { "nested", "h225.nested_item",
9592         FT_NONE, BASE_NONE, NULL, 0,
9593         "h225.GenericData", HFILL }},
9594     { &hf_h225_replacementFeatureSet,
9595       { "replacementFeatureSet", "h225.replacementFeatureSet",
9596         FT_BOOLEAN, 8, NULL, 0,
9597         "h225.BOOLEAN", HFILL }},
9598     { &hf_h225_sendAddress,
9599       { "sendAddress", "h225.sendAddress",
9600         FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
9601         "h225.TransportAddress", HFILL }},
9602     { &hf_h225_recvAddress,
9603       { "recvAddress", "h225.recvAddress",
9604         FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
9605         "h225.TransportAddress", HFILL }},
9606     { &hf_h225_rtpAddress,
9607       { "rtpAddress", "h225.rtpAddress",
9608         FT_NONE, BASE_NONE, NULL, 0,
9609         "h225.TransportChannelInfo", HFILL }},
9610     { &hf_h225_rtcpAddress,
9611       { "rtcpAddress", "h225.rtcpAddress",
9612         FT_NONE, BASE_NONE, NULL, 0,
9613         "h225.TransportChannelInfo", HFILL }},
9614     { &hf_h225_cname,
9615       { "cname", "h225.cname",
9616         FT_STRING, BASE_NONE, NULL, 0,
9617         "h225.PrintableString", HFILL }},
9618     { &hf_h225_ssrc,
9619       { "ssrc", "h225.ssrc",
9620         FT_UINT32, BASE_DEC, NULL, 0,
9621         "h225.INTEGER_1_4294967295", HFILL }},
9622     { &hf_h225_sessionId,
9623       { "sessionId", "h225.sessionId",
9624         FT_UINT32, BASE_DEC, NULL, 0,
9625         "h225.INTEGER_1_255", HFILL }},
9626     { &hf_h225_associatedSessionIds,
9627       { "associatedSessionIds", "h225.associatedSessionIds",
9628         FT_UINT32, BASE_DEC, NULL, 0,
9629         "h225.T_associatedSessionIds", HFILL }},
9630     { &hf_h225_associatedSessionIds_item,
9631       { "associatedSessionIds", "h225.associatedSessionIds_item",
9632         FT_UINT32, BASE_DEC, NULL, 0,
9633         "h225.INTEGER_1_255", HFILL }},
9634     { &hf_h225_multicast_flg,
9635       { "multicast", "h225.multicast",
9636         FT_NONE, BASE_NONE, NULL, 0,
9637         "h225.NULL", HFILL }},
9638     { &hf_h225_gatekeeperBased,
9639       { "gatekeeperBased", "h225.gatekeeperBased",
9640         FT_NONE, BASE_NONE, NULL, 0,
9641         "h225.NULL", HFILL }},
9642     { &hf_h225_endpointBased,
9643       { "endpointBased", "h225.endpointBased",
9644         FT_NONE, BASE_NONE, NULL, 0,
9645         "h225.NULL", HFILL }},
9646     { &hf_h225_gatekeeperRequest,
9647       { "gatekeeperRequest", "h225.gatekeeperRequest",
9648         FT_NONE, BASE_NONE, NULL, 0,
9649         "h225.GatekeeperRequest", HFILL }},
9650     { &hf_h225_gatekeeperConfirm,
9651       { "gatekeeperConfirm", "h225.gatekeeperConfirm",
9652         FT_NONE, BASE_NONE, NULL, 0,
9653         "h225.GatekeeperConfirm", HFILL }},
9654     { &hf_h225_gatekeeperReject,
9655       { "gatekeeperReject", "h225.gatekeeperReject",
9656         FT_NONE, BASE_NONE, NULL, 0,
9657         "h225.GatekeeperReject", HFILL }},
9658     { &hf_h225_registrationRequest,
9659       { "registrationRequest", "h225.registrationRequest",
9660         FT_NONE, BASE_NONE, NULL, 0,
9661         "h225.RegistrationRequest", HFILL }},
9662     { &hf_h225_registrationConfirm,
9663       { "registrationConfirm", "h225.registrationConfirm",
9664         FT_NONE, BASE_NONE, NULL, 0,
9665         "h225.RegistrationConfirm", HFILL }},
9666     { &hf_h225_registrationReject,
9667       { "registrationReject", "h225.registrationReject",
9668         FT_NONE, BASE_NONE, NULL, 0,
9669         "h225.RegistrationReject", HFILL }},
9670     { &hf_h225_unregistrationRequest,
9671       { "unregistrationRequest", "h225.unregistrationRequest",
9672         FT_NONE, BASE_NONE, NULL, 0,
9673         "h225.UnregistrationRequest", HFILL }},
9674     { &hf_h225_unregistrationConfirm,
9675       { "unregistrationConfirm", "h225.unregistrationConfirm",
9676         FT_NONE, BASE_NONE, NULL, 0,
9677         "h225.UnregistrationConfirm", HFILL }},
9678     { &hf_h225_unregistrationReject,
9679       { "unregistrationReject", "h225.unregistrationReject",
9680         FT_NONE, BASE_NONE, NULL, 0,
9681         "h225.UnregistrationReject", HFILL }},
9682     { &hf_h225_admissionRequest,
9683       { "admissionRequest", "h225.admissionRequest",
9684         FT_NONE, BASE_NONE, NULL, 0,
9685         "h225.AdmissionRequest", HFILL }},
9686     { &hf_h225_admissionConfirm,
9687       { "admissionConfirm", "h225.admissionConfirm",
9688         FT_NONE, BASE_NONE, NULL, 0,
9689         "h225.AdmissionConfirm", HFILL }},
9690     { &hf_h225_admissionReject,
9691       { "admissionReject", "h225.admissionReject",
9692         FT_NONE, BASE_NONE, NULL, 0,
9693         "h225.AdmissionReject", HFILL }},
9694     { &hf_h225_bandwidthRequest,
9695       { "bandwidthRequest", "h225.bandwidthRequest",
9696         FT_NONE, BASE_NONE, NULL, 0,
9697         "h225.BandwidthRequest", HFILL }},
9698     { &hf_h225_bandwidthConfirm,
9699       { "bandwidthConfirm", "h225.bandwidthConfirm",
9700         FT_NONE, BASE_NONE, NULL, 0,
9701         "h225.BandwidthConfirm", HFILL }},
9702     { &hf_h225_bandwidthReject,
9703       { "bandwidthReject", "h225.bandwidthReject",
9704         FT_NONE, BASE_NONE, NULL, 0,
9705         "h225.BandwidthReject", HFILL }},
9706     { &hf_h225_disengageRequest,
9707       { "disengageRequest", "h225.disengageRequest",
9708         FT_NONE, BASE_NONE, NULL, 0,
9709         "h225.DisengageRequest", HFILL }},
9710     { &hf_h225_disengageConfirm,
9711       { "disengageConfirm", "h225.disengageConfirm",
9712         FT_NONE, BASE_NONE, NULL, 0,
9713         "h225.DisengageConfirm", HFILL }},
9714     { &hf_h225_disengageReject,
9715       { "disengageReject", "h225.disengageReject",
9716         FT_NONE, BASE_NONE, NULL, 0,
9717         "h225.DisengageReject", HFILL }},
9718     { &hf_h225_locationRequest,
9719       { "locationRequest", "h225.locationRequest",
9720         FT_NONE, BASE_NONE, NULL, 0,
9721         "h225.LocationRequest", HFILL }},
9722     { &hf_h225_locationConfirm,
9723       { "locationConfirm", "h225.locationConfirm",
9724         FT_NONE, BASE_NONE, NULL, 0,
9725         "h225.LocationConfirm", HFILL }},
9726     { &hf_h225_locationReject,
9727       { "locationReject", "h225.locationReject",
9728         FT_NONE, BASE_NONE, NULL, 0,
9729         "h225.LocationReject", HFILL }},
9730     { &hf_h225_infoRequest,
9731       { "infoRequest", "h225.infoRequest",
9732         FT_NONE, BASE_NONE, NULL, 0,
9733         "h225.InfoRequest", HFILL }},
9734     { &hf_h225_infoRequestResponse,
9735       { "infoRequestResponse", "h225.infoRequestResponse",
9736         FT_NONE, BASE_NONE, NULL, 0,
9737         "h225.InfoRequestResponse", HFILL }},
9738     { &hf_h225_nonStandardMessage,
9739       { "nonStandardMessage", "h225.nonStandardMessage",
9740         FT_NONE, BASE_NONE, NULL, 0,
9741         "h225.NonStandardMessage", HFILL }},
9742     { &hf_h225_unknownMessageResponse,
9743       { "unknownMessageResponse", "h225.unknownMessageResponse",
9744         FT_NONE, BASE_NONE, NULL, 0,
9745         "h225.UnknownMessageResponse", HFILL }},
9746     { &hf_h225_requestInProgress,
9747       { "requestInProgress", "h225.requestInProgress",
9748         FT_NONE, BASE_NONE, NULL, 0,
9749         "h225.RequestInProgress", HFILL }},
9750     { &hf_h225_resourcesAvailableIndicate,
9751       { "resourcesAvailableIndicate", "h225.resourcesAvailableIndicate",
9752         FT_NONE, BASE_NONE, NULL, 0,
9753         "h225.ResourcesAvailableIndicate", HFILL }},
9754     { &hf_h225_resourcesAvailableConfirm,
9755       { "resourcesAvailableConfirm", "h225.resourcesAvailableConfirm",
9756         FT_NONE, BASE_NONE, NULL, 0,
9757         "h225.ResourcesAvailableConfirm", HFILL }},
9758     { &hf_h225_infoRequestAck,
9759       { "infoRequestAck", "h225.infoRequestAck",
9760         FT_NONE, BASE_NONE, NULL, 0,
9761         "h225.InfoRequestAck", HFILL }},
9762     { &hf_h225_infoRequestNak,
9763       { "infoRequestNak", "h225.infoRequestNak",
9764         FT_NONE, BASE_NONE, NULL, 0,
9765         "h225.InfoRequestNak", HFILL }},
9766     { &hf_h225_serviceControlIndication,
9767       { "serviceControlIndication", "h225.serviceControlIndication",
9768         FT_NONE, BASE_NONE, NULL, 0,
9769         "h225.ServiceControlIndication", HFILL }},
9770     { &hf_h225_serviceControlResponse,
9771       { "serviceControlResponse", "h225.serviceControlResponse",
9772         FT_NONE, BASE_NONE, NULL, 0,
9773         "h225.ServiceControlResponse", HFILL }},
9774     { &hf_h225_admissionConfirmSequence,
9775       { "admissionConfirmSequence", "h225.admissionConfirmSequence",
9776         FT_UINT32, BASE_DEC, NULL, 0,
9777         "h225.SEQUENCE_OF_AdmissionConfirm", HFILL }},
9778     { &hf_h225_admissionConfirmSequence_item,
9779       { "admissionConfirmSequence", "h225.admissionConfirmSequence_item",
9780         FT_NONE, BASE_NONE, NULL, 0,
9781         "h225.AdmissionConfirm", HFILL }},
9782     { &hf_h225_requestSeqNum,
9783       { "requestSeqNum", "h225.requestSeqNum",
9784         FT_UINT32, BASE_DEC, NULL, 0,
9785         "h225.RequestSeqNum", HFILL }},
9786     { &hf_h225_gatekeeperRequest_rasAddress,
9787       { "rasAddress", "h225.rasAddress",
9788         FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
9789         "h225.TransportAddress", HFILL }},
9790     { &hf_h225_endpointAlias,
9791       { "endpointAlias", "h225.endpointAlias",
9792         FT_UINT32, BASE_DEC, NULL, 0,
9793         "h225.SEQUENCE_OF_AliasAddress", HFILL }},
9794     { &hf_h225_endpointAlias_item,
9795       { "endpointAlias", "h225.endpointAlias_item",
9796         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
9797         "h225.AliasAddress", HFILL }},
9798     { &hf_h225_alternateEndpoints,
9799       { "alternateEndpoints", "h225.alternateEndpoints",
9800         FT_UINT32, BASE_DEC, NULL, 0,
9801         "h225.SEQUENCE_OF_Endpoint", HFILL }},
9802     { &hf_h225_alternateEndpoints_item,
9803       { "alternateEndpoints", "h225.alternateEndpoints_item",
9804         FT_NONE, BASE_NONE, NULL, 0,
9805         "h225.Endpoint", HFILL }},
9806     { &hf_h225_authenticationCapability,
9807       { "authenticationCapability", "h225.authenticationCapability",
9808         FT_UINT32, BASE_DEC, NULL, 0,
9809         "h225.SEQUENCE_OF_AuthenticationMechanism", HFILL }},
9810     { &hf_h225_authenticationCapability_item,
9811       { "authenticationCapability", "h225.authenticationCapability_item",
9812         FT_UINT32, BASE_DEC, VALS(h235_AuthenticationMechanism_vals), 0,
9813         "h235.AuthenticationMechanism", HFILL }},
9814     { &hf_h225_algorithmOIDs,
9815       { "algorithmOIDs", "h225.algorithmOIDs",
9816         FT_UINT32, BASE_DEC, NULL, 0,
9817         "h225.T_algorithmOIDs", HFILL }},
9818     { &hf_h225_algorithmOIDs_item,
9819       { "algorithmOIDs", "h225.algorithmOIDs_item",
9820         FT_OID, BASE_NONE, NULL, 0,
9821         "h225.OBJECT_IDENTIFIER", HFILL }},
9822     { &hf_h225_integrity,
9823       { "integrity", "h225.integrity",
9824         FT_UINT32, BASE_DEC, NULL, 0,
9825         "h225.SEQUENCE_OF_IntegrityMechanism", HFILL }},
9826     { &hf_h225_integrity_item,
9827       { "integrity", "h225.integrity_item",
9828         FT_UINT32, BASE_DEC, VALS(h225_IntegrityMechanism_vals), 0,
9829         "h225.IntegrityMechanism", HFILL }},
9830     { &hf_h225_integrityCheckValue,
9831       { "integrityCheckValue", "h225.integrityCheckValue",
9832         FT_NONE, BASE_NONE, NULL, 0,
9833         "h225.ICV", HFILL }},
9834     { &hf_h225_supportsAltGK,
9835       { "supportsAltGK", "h225.supportsAltGK",
9836         FT_NONE, BASE_NONE, NULL, 0,
9837         "h225.NULL", HFILL }},
9838     { &hf_h225_supportsAssignedGK,
9839       { "supportsAssignedGK", "h225.supportsAssignedGK",
9840         FT_BOOLEAN, 8, NULL, 0,
9841         "h225.BOOLEAN", HFILL }},
9842     { &hf_h225_assignedGatekeeper,
9843       { "assignedGatekeeper", "h225.assignedGatekeeper",
9844         FT_NONE, BASE_NONE, NULL, 0,
9845         "h225.AlternateGK", HFILL }},
9846     { &hf_h225_gatekeeperConfirm_rasAddress,
9847       { "rasAddress", "h225.rasAddress",
9848         FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
9849         "h225.TransportAddress", HFILL }},
9850     { &hf_h225_authenticationMode,
9851       { "authenticationMode", "h225.authenticationMode",
9852         FT_UINT32, BASE_DEC, VALS(h235_AuthenticationMechanism_vals), 0,
9853         "h235.AuthenticationMechanism", HFILL }},
9854     { &hf_h225_rehomingModel,
9855       { "rehomingModel", "h225.rehomingModel",
9856         FT_UINT32, BASE_DEC, VALS(h225_RehomingModel_vals), 0,
9857         "h225.RehomingModel", HFILL }},
9858     { &hf_h225_gatekeeperRejectReason,
9859       { "rejectReason", "h225.rejectReason",
9860         FT_UINT32, BASE_DEC, VALS(GatekeeperRejectReason_vals), 0,
9861         "h225.GatekeeperRejectReason", HFILL }},
9862     { &hf_h225_altGKInfo,
9863       { "altGKInfo", "h225.altGKInfo",
9864         FT_NONE, BASE_NONE, NULL, 0,
9865         "h225.AltGKInfo", HFILL }},
9866     { &hf_h225_resourceUnavailable,
9867       { "resourceUnavailable", "h225.resourceUnavailable",
9868         FT_NONE, BASE_NONE, NULL, 0,
9869         "h225.NULL", HFILL }},
9870     { &hf_h225_terminalExcluded,
9871       { "terminalExcluded", "h225.terminalExcluded",
9872         FT_NONE, BASE_NONE, NULL, 0,
9873         "h225.NULL", HFILL }},
9874     { &hf_h225_securityDenial,
9875       { "securityDenial", "h225.securityDenial",
9876         FT_NONE, BASE_NONE, NULL, 0,
9877         "h225.NULL", HFILL }},
9878     { &hf_h225_gkRej_securityError,
9879       { "securityError", "h225.securityError",
9880         FT_UINT32, BASE_DEC, VALS(h225_SecurityErrors_vals), 0,
9881         "h225.SecurityErrors", HFILL }},
9882     { &hf_h225_discoveryComplete,
9883       { "discoveryComplete", "h225.discoveryComplete",
9884         FT_BOOLEAN, 8, NULL, 0,
9885         "h225.BOOLEAN", HFILL }},
9886     { &hf_h225_terminalType,
9887       { "terminalType", "h225.terminalType",
9888         FT_NONE, BASE_NONE, NULL, 0,
9889         "h225.EndpointType", HFILL }},
9890     { &hf_h225_terminalAlias,
9891       { "terminalAlias", "h225.terminalAlias",
9892         FT_UINT32, BASE_DEC, NULL, 0,
9893         "h225.SEQUENCE_OF_AliasAddress", HFILL }},
9894     { &hf_h225_terminalAlias_item,
9895       { "terminalAlias", "h225.terminalAlias_item",
9896         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
9897         "h225.AliasAddress", HFILL }},
9898     { &hf_h225_endpointVendor,
9899       { "endpointVendor", "h225.endpointVendor",
9900         FT_NONE, BASE_NONE, NULL, 0,
9901         "h225.VendorIdentifier", HFILL }},
9902     { &hf_h225_timeToLive,
9903       { "timeToLive", "h225.timeToLive",
9904         FT_UINT32, BASE_DEC, NULL, 0,
9905         "h225.TimeToLive", HFILL }},
9906     { &hf_h225_keepAlive,
9907       { "keepAlive", "h225.keepAlive",
9908         FT_BOOLEAN, 8, NULL, 0,
9909         "h225.BOOLEAN", HFILL }},
9910     { &hf_h225_willSupplyUUIEs,
9911       { "willSupplyUUIEs", "h225.willSupplyUUIEs",
9912         FT_BOOLEAN, 8, NULL, 0,
9913         "h225.BOOLEAN", HFILL }},
9914     { &hf_h225_additiveRegistration,
9915       { "additiveRegistration", "h225.additiveRegistration",
9916         FT_NONE, BASE_NONE, NULL, 0,
9917         "h225.NULL", HFILL }},
9918     { &hf_h225_terminalAliasPattern,
9919       { "terminalAliasPattern", "h225.terminalAliasPattern",
9920         FT_UINT32, BASE_DEC, NULL, 0,
9921         "h225.SEQUENCE_OF_AddressPattern", HFILL }},
9922     { &hf_h225_terminalAliasPattern_item,
9923       { "terminalAliasPattern", "h225.terminalAliasPattern_item",
9924         FT_UINT32, BASE_DEC, VALS(h225_AddressPattern_vals), 0,
9925         "h225.AddressPattern", HFILL }},
9926     { &hf_h225_usageReportingCapability,
9927       { "usageReportingCapability", "h225.usageReportingCapability",
9928         FT_NONE, BASE_NONE, NULL, 0,
9929         "h225.RasUsageInfoTypes", HFILL }},
9930     { &hf_h225_supportedH248Packages,
9931       { "supportedH248Packages", "h225.supportedH248Packages",
9932         FT_UINT32, BASE_DEC, NULL, 0,
9933         "h225.SEQUENCE_OF_H248PackagesDescriptor", HFILL }},
9934     { &hf_h225_supportedH248Packages_item,
9935       { "supportedH248Packages", "h225.supportedH248Packages_item",
9936         FT_BYTES, BASE_HEX, NULL, 0,
9937         "h225.H248PackagesDescriptor", HFILL }},
9938     { &hf_h225_callCreditCapability,
9939       { "callCreditCapability", "h225.callCreditCapability",
9940         FT_NONE, BASE_NONE, NULL, 0,
9941         "h225.CallCreditCapability", HFILL }},
9942     { &hf_h225_capacityReportingCapability,
9943       { "capacityReportingCapability", "h225.capacityReportingCapability",
9944         FT_NONE, BASE_NONE, NULL, 0,
9945         "h225.CapacityReportingCapability", HFILL }},
9946     { &hf_h225_restart,
9947       { "restart", "h225.restart",
9948         FT_NONE, BASE_NONE, NULL, 0,
9949         "h225.NULL", HFILL }},
9950     { &hf_h225_supportsACFSequences,
9951       { "supportsACFSequences", "h225.supportsACFSequences",
9952         FT_NONE, BASE_NONE, NULL, 0,
9953         "h225.NULL", HFILL }},
9954     { &hf_h225_transportQOS,
9955       { "transportQOS", "h225.transportQOS",
9956         FT_UINT32, BASE_DEC, VALS(h225_TransportQOS_vals), 0,
9957         "h225.TransportQOS", HFILL }},
9958     { &hf_h225_willRespondToIRR,
9959       { "willRespondToIRR", "h225.willRespondToIRR",
9960         FT_BOOLEAN, 8, NULL, 0,
9961         "h225.BOOLEAN", HFILL }},
9962     { &hf_h225_preGrantedARQ,
9963       { "preGrantedARQ", "h225.preGrantedARQ",
9964         FT_NONE, BASE_NONE, NULL, 0,
9965         "h225.T_preGrantedARQ", HFILL }},
9966     { &hf_h225_makeCall,
9967       { "makeCall", "h225.makeCall",
9968         FT_BOOLEAN, 8, NULL, 0,
9969         "h225.BOOLEAN", HFILL }},
9970     { &hf_h225_useGKCallSignalAddressToMakeCall,
9971       { "useGKCallSignalAddressToMakeCall", "h225.useGKCallSignalAddressToMakeCall",
9972         FT_BOOLEAN, 8, NULL, 0,
9973         "h225.BOOLEAN", HFILL }},
9974     { &hf_h225_answerCall,
9975       { "answerCall", "h225.answerCall",
9976         FT_BOOLEAN, 8, NULL, 0,
9977         "h225.BOOLEAN", HFILL }},
9978     { &hf_h225_useGKCallSignalAddressToAnswer,
9979       { "useGKCallSignalAddressToAnswer", "h225.useGKCallSignalAddressToAnswer",
9980         FT_BOOLEAN, 8, NULL, 0,
9981         "h225.BOOLEAN", HFILL }},
9982     { &hf_h225_irrFrequencyInCall,
9983       { "irrFrequencyInCall", "h225.irrFrequencyInCall",
9984         FT_UINT32, BASE_DEC, NULL, 0,
9985         "h225.INTEGER_1_65535", HFILL }},
9986     { &hf_h225_totalBandwidthRestriction,
9987       { "totalBandwidthRestriction", "h225.totalBandwidthRestriction",
9988         FT_UINT32, BASE_DEC, NULL, 0,
9989         "h225.BandWidth", HFILL }},
9990     { &hf_h225_useSpecifiedTransport,
9991       { "useSpecifiedTransport", "h225.useSpecifiedTransport",
9992         FT_UINT32, BASE_DEC, VALS(h225_UseSpecifiedTransport_vals), 0,
9993         "h225.UseSpecifiedTransport", HFILL }},
9994     { &hf_h225_supportsAdditiveRegistration,
9995       { "supportsAdditiveRegistration", "h225.supportsAdditiveRegistration",
9996         FT_NONE, BASE_NONE, NULL, 0,
9997         "h225.NULL", HFILL }},
9998     { &hf_h225_usageSpec,
9999       { "usageSpec", "h225.usageSpec",
10000         FT_UINT32, BASE_DEC, NULL, 0,
10001         "h225.SEQUENCE_OF_RasUsageSpecification", HFILL }},
10002     { &hf_h225_usageSpec_item,
10003       { "usageSpec", "h225.usageSpec_item",
10004         FT_NONE, BASE_NONE, NULL, 0,
10005         "h225.RasUsageSpecification", HFILL }},
10006     { &hf_h225_featureServerAlias,
10007       { "featureServerAlias", "h225.featureServerAlias",
10008         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
10009         "h225.AliasAddress", HFILL }},
10010     { &hf_h225_capacityReportingSpec,
10011       { "capacityReportingSpec", "h225.capacityReportingSpec",
10012         FT_NONE, BASE_NONE, NULL, 0,
10013         "h225.CapacityReportingSpecification", HFILL }},
10014     { &hf_h225_registrationRejectReason,
10015       { "rejectReason", "h225.rejectReason",
10016         FT_UINT32, BASE_DEC, VALS(RegistrationRejectReason_vals), 0,
10017         "h225.RegistrationRejectReason", HFILL }},
10018     { &hf_h225_discoveryRequired,
10019       { "discoveryRequired", "h225.discoveryRequired",
10020         FT_NONE, BASE_NONE, NULL, 0,
10021         "h225.NULL", HFILL }},
10022     { &hf_h225_invalidCallSignalAddress,
10023       { "invalidCallSignalAddress", "h225.invalidCallSignalAddress",
10024         FT_NONE, BASE_NONE, NULL, 0,
10025         "h225.NULL", HFILL }},
10026     { &hf_h225_invalidRASAddress,
10027       { "invalidRASAddress", "h225.invalidRASAddress",
10028         FT_NONE, BASE_NONE, NULL, 0,
10029         "h225.NULL", HFILL }},
10030     { &hf_h225_duplicateAlias,
10031       { "duplicateAlias", "h225.duplicateAlias",
10032         FT_UINT32, BASE_DEC, NULL, 0,
10033         "h225.SEQUENCE_OF_AliasAddress", HFILL }},
10034     { &hf_h225_duplicateAlias_item,
10035       { "duplicateAlias", "h225.duplicateAlias_item",
10036         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
10037         "h225.AliasAddress", HFILL }},
10038     { &hf_h225_invalidTerminalType,
10039       { "invalidTerminalType", "h225.invalidTerminalType",
10040         FT_NONE, BASE_NONE, NULL, 0,
10041         "h225.NULL", HFILL }},
10042     { &hf_h225_transportNotSupported,
10043       { "transportNotSupported", "h225.transportNotSupported",
10044         FT_NONE, BASE_NONE, NULL, 0,
10045         "h225.NULL", HFILL }},
10046     { &hf_h225_transportQOSNotSupported,
10047       { "transportQOSNotSupported", "h225.transportQOSNotSupported",
10048         FT_NONE, BASE_NONE, NULL, 0,
10049         "h225.NULL", HFILL }},
10050     { &hf_h225_invalidAlias,
10051       { "invalidAlias", "h225.invalidAlias",
10052         FT_NONE, BASE_NONE, NULL, 0,
10053         "h225.NULL", HFILL }},
10054     { &hf_h225_fullRegistrationRequired,
10055       { "fullRegistrationRequired", "h225.fullRegistrationRequired",
10056         FT_NONE, BASE_NONE, NULL, 0,
10057         "h225.NULL", HFILL }},
10058     { &hf_h225_additiveRegistrationNotSupported,
10059       { "additiveRegistrationNotSupported", "h225.additiveRegistrationNotSupported",
10060         FT_NONE, BASE_NONE, NULL, 0,
10061         "h225.NULL", HFILL }},
10062     { &hf_h225_invalidTerminalAliases,
10063       { "invalidTerminalAliases", "h225.invalidTerminalAliases",
10064         FT_NONE, BASE_NONE, NULL, 0,
10065         "h225.T_invalidTerminalAliases", HFILL }},
10066     { &hf_h225_reg_securityError,
10067       { "securityError", "h225.securityError",
10068         FT_UINT32, BASE_DEC, VALS(h225_SecurityErrors_vals), 0,
10069         "h225.SecurityErrors", HFILL }},
10070     { &hf_h225_registerWithAssignedGK,
10071       { "registerWithAssignedGK", "h225.registerWithAssignedGK",
10072         FT_NONE, BASE_NONE, NULL, 0,
10073         "h225.NULL", HFILL }},
10074     { &hf_h225_unregRequestReason,
10075       { "reason", "h225.reason",
10076         FT_UINT32, BASE_DEC, VALS(UnregRequestReason_vals), 0,
10077         "h225.UnregRequestReason", HFILL }},
10078     { &hf_h225_endpointAliasPattern,
10079       { "endpointAliasPattern", "h225.endpointAliasPattern",
10080         FT_UINT32, BASE_DEC, NULL, 0,
10081         "h225.SEQUENCE_OF_AddressPattern", HFILL }},
10082     { &hf_h225_endpointAliasPattern_item,
10083       { "endpointAliasPattern", "h225.endpointAliasPattern_item",
10084         FT_UINT32, BASE_DEC, VALS(h225_AddressPattern_vals), 0,
10085         "h225.AddressPattern", HFILL }},
10086     { &hf_h225_reregistrationRequired,
10087       { "reregistrationRequired", "h225.reregistrationRequired",
10088         FT_NONE, BASE_NONE, NULL, 0,
10089         "h225.NULL", HFILL }},
10090     { &hf_h225_ttlExpired,
10091       { "ttlExpired", "h225.ttlExpired",
10092         FT_NONE, BASE_NONE, NULL, 0,
10093         "h225.NULL", HFILL }},
10094     { &hf_h225_maintenance,
10095       { "maintenance", "h225.maintenance",
10096         FT_NONE, BASE_NONE, NULL, 0,
10097         "h225.NULL", HFILL }},
10098     { &hf_h225_securityError,
10099       { "securityError", "h225.securityError",
10100         FT_UINT32, BASE_DEC, VALS(h225_SecurityErrors2_vals), 0,
10101         "h225.SecurityErrors2", HFILL }},
10102     { &hf_h225_unregRejectReason,
10103       { "rejectReason", "h225.rejectReason",
10104         FT_UINT32, BASE_DEC, VALS(UnregRejectReason_vals), 0,
10105         "h225.UnregRejectReason", HFILL }},
10106     { &hf_h225_notCurrentlyRegistered,
10107       { "notCurrentlyRegistered", "h225.notCurrentlyRegistered",
10108         FT_NONE, BASE_NONE, NULL, 0,
10109         "h225.NULL", HFILL }},
10110     { &hf_h225_callInProgress,
10111       { "callInProgress", "h225.callInProgress",
10112         FT_NONE, BASE_NONE, NULL, 0,
10113         "h225.NULL", HFILL }},
10114     { &hf_h225_permissionDenied,
10115       { "permissionDenied", "h225.permissionDenied",
10116         FT_NONE, BASE_NONE, NULL, 0,
10117         "h225.NULL", HFILL }},
10118     { &hf_h225_callModel,
10119       { "callModel", "h225.callModel",
10120         FT_UINT32, BASE_DEC, VALS(h225_CallModel_vals), 0,
10121         "h225.CallModel", HFILL }},
10122     { &hf_h225_DestinationInfo_item,
10123       { "DestinationInfo", "h225.DestinationInfo_item",
10124         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
10125         "h225.DestinationInfo_item", HFILL }},
10126     { &hf_h225_destinationInfo,
10127       { "destinationInfo", "h225.destinationInfo",
10128         FT_UINT32, BASE_DEC, NULL, 0,
10129         "h225.DestinationInfo", HFILL }},
10130     { &hf_h225_srcInfo,
10131       { "srcInfo", "h225.srcInfo",
10132         FT_UINT32, BASE_DEC, NULL, 0,
10133         "h225.SEQUENCE_OF_AliasAddress", HFILL }},
10134     { &hf_h225_srcInfo_item,
10135       { "srcInfo", "h225.srcInfo_item",
10136         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
10137         "h225.AliasAddress", HFILL }},
10138     { &hf_h225_srcCallSignalAddress,
10139       { "srcCallSignalAddress", "h225.srcCallSignalAddress",
10140         FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
10141         "h225.TransportAddress", HFILL }},
10142     { &hf_h225_bandWidth,
10143       { "bandWidth", "h225.bandWidth",
10144         FT_UINT32, BASE_DEC, NULL, 0,
10145         "h225.BandWidth", HFILL }},
10146     { &hf_h225_callReferenceValue,
10147       { "callReferenceValue", "h225.callReferenceValue",
10148         FT_UINT32, BASE_DEC, NULL, 0,
10149         "h225.CallReferenceValue", HFILL }},
10150     { &hf_h225_canMapAlias,
10151       { "canMapAlias", "h225.canMapAlias",
10152         FT_BOOLEAN, 8, NULL, 0,
10153         "h225.BOOLEAN", HFILL }},
10154     { &hf_h225_srcAlternatives,
10155       { "srcAlternatives", "h225.srcAlternatives",
10156         FT_UINT32, BASE_DEC, NULL, 0,
10157         "h225.SEQUENCE_OF_Endpoint", HFILL }},
10158     { &hf_h225_srcAlternatives_item,
10159       { "srcAlternatives", "h225.srcAlternatives_item",
10160         FT_NONE, BASE_NONE, NULL, 0,
10161         "h225.Endpoint", HFILL }},
10162     { &hf_h225_destAlternatives,
10163       { "destAlternatives", "h225.destAlternatives",
10164         FT_UINT32, BASE_DEC, NULL, 0,
10165         "h225.SEQUENCE_OF_Endpoint", HFILL }},
10166     { &hf_h225_destAlternatives_item,
10167       { "destAlternatives", "h225.destAlternatives_item",
10168         FT_NONE, BASE_NONE, NULL, 0,
10169         "h225.Endpoint", HFILL }},
10170     { &hf_h225_gatewayDataRate,
10171       { "gatewayDataRate", "h225.gatewayDataRate",
10172         FT_NONE, BASE_NONE, NULL, 0,
10173         "h225.DataRate", HFILL }},
10174     { &hf_h225_desiredTunnelledProtocol,
10175       { "desiredTunnelledProtocol", "h225.desiredTunnelledProtocol",
10176         FT_NONE, BASE_NONE, NULL, 0,
10177         "h225.TunnelledProtocol", HFILL }},
10178     { &hf_h225_canMapSrcAlias,
10179       { "canMapSrcAlias", "h225.canMapSrcAlias",
10180         FT_BOOLEAN, 8, NULL, 0,
10181         "h225.BOOLEAN", HFILL }},
10182     { &hf_h225_pointToPoint,
10183       { "pointToPoint", "h225.pointToPoint",
10184         FT_NONE, BASE_NONE, NULL, 0,
10185         "h225.NULL", HFILL }},
10186     { &hf_h225_oneToN,
10187       { "oneToN", "h225.oneToN",
10188         FT_NONE, BASE_NONE, NULL, 0,
10189         "h225.NULL", HFILL }},
10190     { &hf_h225_nToOne,
10191       { "nToOne", "h225.nToOne",
10192         FT_NONE, BASE_NONE, NULL, 0,
10193         "h225.NULL", HFILL }},
10194     { &hf_h225_nToN,
10195       { "nToN", "h225.nToN",
10196         FT_NONE, BASE_NONE, NULL, 0,
10197         "h225.NULL", HFILL }},
10198     { &hf_h225_direct,
10199       { "direct", "h225.direct",
10200         FT_NONE, BASE_NONE, NULL, 0,
10201         "h225.NULL", HFILL }},
10202     { &hf_h225_gatekeeperRouted,
10203       { "gatekeeperRouted", "h225.gatekeeperRouted",
10204         FT_NONE, BASE_NONE, NULL, 0,
10205         "h225.NULL", HFILL }},
10206     { &hf_h225_endpointControlled,
10207       { "endpointControlled", "h225.endpointControlled",
10208         FT_NONE, BASE_NONE, NULL, 0,
10209         "h225.NULL", HFILL }},
10210     { &hf_h225_gatekeeperControlled,
10211       { "gatekeeperControlled", "h225.gatekeeperControlled",
10212         FT_NONE, BASE_NONE, NULL, 0,
10213         "h225.NULL", HFILL }},
10214     { &hf_h225_noControl,
10215       { "noControl", "h225.noControl",
10216         FT_NONE, BASE_NONE, NULL, 0,
10217         "h225.NULL", HFILL }},
10218     { &hf_h225_qOSCapabilities,
10219       { "qOSCapabilities", "h225.qOSCapabilities",
10220         FT_UINT32, BASE_DEC, NULL, 0,
10221         "h225.SEQUENCE_SIZE_1_256_OF_QOSCapability", HFILL }},
10222     { &hf_h225_qOSCapabilities_item,
10223       { "qOSCapabilities", "h225.qOSCapabilities_item",
10224         FT_NONE, BASE_NONE, NULL, 0,
10225         "h245.QOSCapability", HFILL }},
10226     { &hf_h225_irrFrequency,
10227       { "irrFrequency", "h225.irrFrequency",
10228         FT_UINT32, BASE_DEC, NULL, 0,
10229         "h225.INTEGER_1_65535", HFILL }},
10230     { &hf_h225_destinationType,
10231       { "destinationType", "h225.destinationType",
10232         FT_NONE, BASE_NONE, NULL, 0,
10233         "h225.EndpointType", HFILL }},
10234     { &hf_h225_uuiesRequested,
10235       { "uuiesRequested", "h225.uuiesRequested",
10236         FT_NONE, BASE_NONE, NULL, 0,
10237         "h225.UUIEsRequested", HFILL }},
10238     { &hf_h225_supportedProtocols,
10239       { "supportedProtocols", "h225.supportedProtocols",
10240         FT_UINT32, BASE_DEC, NULL, 0,
10241         "h225.SEQUENCE_OF_SupportedProtocols", HFILL }},
10242     { &hf_h225_supportedProtocols_item,
10243       { "supportedProtocols", "h225.supportedProtocols_item",
10244         FT_UINT32, BASE_DEC, VALS(h225_SupportedProtocols_vals), 0,
10245         "h225.SupportedProtocols", HFILL }},
10246     { &hf_h225_modifiedSrcInfo,
10247       { "modifiedSrcInfo", "h225.modifiedSrcInfo",
10248         FT_UINT32, BASE_DEC, NULL, 0,
10249         "h225.SEQUENCE_OF_AliasAddress", HFILL }},
10250     { &hf_h225_modifiedSrcInfo_item,
10251       { "modifiedSrcInfo", "h225.modifiedSrcInfo_item",
10252         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
10253         "h225.AliasAddress", HFILL }},
10254     { &hf_h225_setup_bool,
10255       { "setup", "h225.setup",
10256         FT_BOOLEAN, 8, NULL, 0,
10257         "h225.BOOLEAN", HFILL }},
10258     { &hf_h225_callProceeding_flg,
10259       { "callProceeding", "h225.callProceeding",
10260         FT_BOOLEAN, 8, NULL, 0,
10261         "h225.BOOLEAN", HFILL }},
10262     { &hf_h225_connect_bool,
10263       { "connect", "h225.connect",
10264         FT_BOOLEAN, 8, NULL, 0,
10265         "h225.BOOLEAN", HFILL }},
10266     { &hf_h225_alerting_bool,
10267       { "alerting", "h225.alerting",
10268         FT_BOOLEAN, 8, NULL, 0,
10269         "h225.BOOLEAN", HFILL }},
10270     { &hf_h225_information_bool,
10271       { "information", "h225.information",
10272         FT_BOOLEAN, 8, NULL, 0,
10273         "h225.BOOLEAN", HFILL }},
10274     { &hf_h225_releaseComplete_bool,
10275       { "releaseComplete", "h225.releaseComplete",
10276         FT_BOOLEAN, 8, NULL, 0,
10277         "h225.BOOLEAN", HFILL }},
10278     { &hf_h225_facility_bool,
10279       { "facility", "h225.facility",
10280         FT_BOOLEAN, 8, NULL, 0,
10281         "h225.BOOLEAN", HFILL }},
10282     { &hf_h225_progress_bool,
10283       { "progress", "h225.progress",
10284         FT_BOOLEAN, 8, NULL, 0,
10285         "h225.BOOLEAN", HFILL }},
10286     { &hf_h225_empty,
10287       { "empty", "h225.empty",
10288         FT_BOOLEAN, 8, NULL, 0,
10289         "h225.BOOLEAN", HFILL }},
10290     { &hf_h225_status_bool,
10291       { "status", "h225.status",
10292         FT_BOOLEAN, 8, NULL, 0,
10293         "h225.BOOLEAN", HFILL }},
10294     { &hf_h225_statusInquiry_bool,
10295       { "statusInquiry", "h225.statusInquiry",
10296         FT_BOOLEAN, 8, NULL, 0,
10297         "h225.BOOLEAN", HFILL }},
10298     { &hf_h225_setupAcknowledge_bool,
10299       { "setupAcknowledge", "h225.setupAcknowledge",
10300         FT_BOOLEAN, 8, NULL, 0,
10301         "h225.BOOLEAN", HFILL }},
10302     { &hf_h225_notify_bool,
10303       { "notify", "h225.notify",
10304         FT_BOOLEAN, 8, NULL, 0,
10305         "h225.BOOLEAN", HFILL }},
10306     { &hf_h225_rejectReason,
10307       { "rejectReason", "h225.rejectReason",
10308         FT_UINT32, BASE_DEC, VALS(AdmissionRejectReason_vals), 0,
10309         "h225.AdmissionRejectReason", HFILL }},
10310     { &hf_h225_invalidPermission,
10311       { "invalidPermission", "h225.invalidPermission",
10312         FT_NONE, BASE_NONE, NULL, 0,
10313         "h225.NULL", HFILL }},
10314     { &hf_h225_requestDenied,
10315       { "requestDenied", "h225.requestDenied",
10316         FT_NONE, BASE_NONE, NULL, 0,
10317         "h225.NULL", HFILL }},
10318     { &hf_h225_invalidEndpointIdentifier,
10319       { "invalidEndpointIdentifier", "h225.invalidEndpointIdentifier",
10320         FT_NONE, BASE_NONE, NULL, 0,
10321         "h225.NULL", HFILL }},
10322     { &hf_h225_qosControlNotSupported,
10323       { "qosControlNotSupported", "h225.qosControlNotSupported",
10324         FT_NONE, BASE_NONE, NULL, 0,
10325         "h225.NULL", HFILL }},
10326     { &hf_h225_incompleteAddress,
10327       { "incompleteAddress", "h225.incompleteAddress",
10328         FT_NONE, BASE_NONE, NULL, 0,
10329         "h225.NULL", HFILL }},
10330     { &hf_h225_aliasesInconsistent,
10331       { "aliasesInconsistent", "h225.aliasesInconsistent",
10332         FT_NONE, BASE_NONE, NULL, 0,
10333         "h225.NULL", HFILL }},
10334     { &hf_h225_routeCallToSCN,
10335       { "routeCallToSCN", "h225.routeCallToSCN",
10336         FT_UINT32, BASE_DEC, NULL, 0,
10337         "h225.SEQUENCE_OF_PartyNumber", HFILL }},
10338     { &hf_h225_routeCallToSCN_item,
10339       { "routeCallToSCN", "h225.routeCallToSCN_item",
10340         FT_UINT32, BASE_DEC, VALS(h225_PartyNumber_vals), 0,
10341         "h225.PartyNumber", HFILL }},
10342     { &hf_h225_exceedsCallCapacity,
10343       { "exceedsCallCapacity", "h225.exceedsCallCapacity",
10344         FT_NONE, BASE_NONE, NULL, 0,
10345         "h225.NULL", HFILL }},
10346     { &hf_h225_collectDestination,
10347       { "collectDestination", "h225.collectDestination",
10348         FT_NONE, BASE_NONE, NULL, 0,
10349         "h225.NULL", HFILL }},
10350     { &hf_h225_collectPIN,
10351       { "collectPIN", "h225.collectPIN",
10352         FT_NONE, BASE_NONE, NULL, 0,
10353         "h225.NULL", HFILL }},
10354     { &hf_h225_noRouteToDestination,
10355       { "noRouteToDestination", "h225.noRouteToDestination",
10356         FT_NONE, BASE_NONE, NULL, 0,
10357         "h225.NULL", HFILL }},
10358     { &hf_h225_unallocatedNumber,
10359       { "unallocatedNumber", "h225.unallocatedNumber",
10360         FT_NONE, BASE_NONE, NULL, 0,
10361         "h225.NULL", HFILL }},
10362     { &hf_h225_answeredCall,
10363       { "answeredCall", "h225.answeredCall",
10364         FT_BOOLEAN, 8, NULL, 0,
10365         "h225.BOOLEAN", HFILL }},
10366     { &hf_h225_usageInformation,
10367       { "usageInformation", "h225.usageInformation",
10368         FT_NONE, BASE_NONE, NULL, 0,
10369         "h225.RasUsageInformation", HFILL }},
10370     { &hf_h225_bandwidthDetails,
10371       { "bandwidthDetails", "h225.bandwidthDetails",
10372         FT_UINT32, BASE_DEC, NULL, 0,
10373         "h225.SEQUENCE_OF_BandwidthDetails", HFILL }},
10374     { &hf_h225_bandwidthDetails_item,
10375       { "bandwidthDetails", "h225.bandwidthDetails_item",
10376         FT_NONE, BASE_NONE, NULL, 0,
10377         "h225.BandwidthDetails", HFILL }},
10378     { &hf_h225_bandRejectReason,
10379       { "rejectReason", "h225.rejectReason",
10380         FT_UINT32, BASE_DEC, VALS(BandRejectReason_vals), 0,
10381         "h225.BandRejectReason", HFILL }},
10382     { &hf_h225_allowedBandWidth,
10383       { "allowedBandWidth", "h225.allowedBandWidth",
10384         FT_UINT32, BASE_DEC, NULL, 0,
10385         "h225.BandWidth", HFILL }},
10386     { &hf_h225_notBound,
10387       { "notBound", "h225.notBound",
10388         FT_NONE, BASE_NONE, NULL, 0,
10389         "h225.NULL", HFILL }},
10390     { &hf_h225_invalidConferenceID,
10391       { "invalidConferenceID", "h225.invalidConferenceID",
10392         FT_NONE, BASE_NONE, NULL, 0,
10393         "h225.NULL", HFILL }},
10394     { &hf_h225_insufficientResources,
10395       { "insufficientResources", "h225.insufficientResources",
10396         FT_NONE, BASE_NONE, NULL, 0,
10397         "h225.NULL", HFILL }},
10398     { &hf_h225_replyAddress,
10399       { "replyAddress", "h225.replyAddress",
10400         FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
10401         "h225.TransportAddress", HFILL }},
10402     { &hf_h225_sourceInfo,
10403       { "sourceInfo", "h225.sourceInfo",
10404         FT_UINT32, BASE_DEC, NULL, 0,
10405         "h225.SEQUENCE_OF_AliasAddress", HFILL }},
10406     { &hf_h225_sourceInfo_item,
10407       { "sourceInfo", "h225.sourceInfo_item",
10408         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
10409         "h225.AliasAddress", HFILL }},
10410     { &hf_h225_hopCount,
10411       { "hopCount", "h225.hopCount",
10412         FT_UINT32, BASE_DEC, NULL, 0,
10413         "h225.INTEGER_1_255", HFILL }},
10414     { &hf_h225_sourceEndpointInfo,
10415       { "sourceEndpointInfo", "h225.sourceEndpointInfo",
10416         FT_UINT32, BASE_DEC, NULL, 0,
10417         "h225.SEQUENCE_OF_AliasAddress", HFILL }},
10418     { &hf_h225_sourceEndpointInfo_item,
10419       { "sourceEndpointInfo", "h225.sourceEndpointInfo_item",
10420         FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
10421         "h225.AliasAddress", HFILL }},
10422     { &hf_h225_locationConfirm_callSignalAddress,
10423       { "callSignalAddress", "h225.callSignalAddress",
10424         FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
10425         "h225.TransportAddress", HFILL }},
10426     { &hf_h225_locationConfirm_rasAddress,
10427       { "rasAddress", "h225.rasAddress",
10428         FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
10429         "h225.TransportAddress", HFILL }},
10430     { &hf_h225_locationRejectReason,
10431       { "rejectReason", "h225.rejectReason",
10432         FT_UINT32, BASE_DEC, VALS(LocationRejectReason_vals), 0,
10433         "h225.LocationRejectReason", HFILL }},
10434     { &hf_h225_notRegistered,
10435       { "notRegistered", "h225.notRegistered",
10436         FT_NONE, BASE_NONE, NULL, 0,
10437         "h225.NULL", HFILL }},
10438     { &hf_h225_routeCalltoSCN,
10439       { "routeCalltoSCN", "h225.routeCalltoSCN",
10440         FT_UINT32, BASE_DEC, NULL, 0,
10441         "h225.SEQUENCE_OF_PartyNumber", HFILL }},
10442     { &hf_h225_routeCalltoSCN_item,
10443       { "routeCalltoSCN", "h225.routeCalltoSCN_item",
10444         FT_UINT32, BASE_DEC, VALS(h225_PartyNumber_vals), 0,
10445         "h225.PartyNumber", HFILL }},
10446     { &hf_h225_disengageReason,
10447       { "disengageReason", "h225.disengageReason",
10448         FT_UINT32, BASE_DEC, VALS(DisengageReason_vals), 0,
10449         "h225.DisengageReason", HFILL }},
10450     { &hf_h225_terminationCause,
10451       { "terminationCause", "h225.terminationCause",
10452         FT_UINT32, BASE_DEC, VALS(h225_CallTerminationCause_vals), 0,
10453         "h225.CallTerminationCause", HFILL }},
10454     { &hf_h225_forcedDrop,
10455       { "forcedDrop", "h225.forcedDrop",
10456         FT_NONE, BASE_NONE, NULL, 0,
10457         "h225.NULL", HFILL }},
10458     { &hf_h225_normalDrop,
10459       { "normalDrop", "h225.normalDrop",
10460         FT_NONE, BASE_NONE, NULL, 0,
10461         "h225.NULL", HFILL }},
10462     { &hf_h225_disengageRejectReason,
10463       { "rejectReason", "h225.rejectReason",
10464         FT_UINT32, BASE_DEC, VALS(DisengageRejectReason_vals), 0,
10465         "h225.DisengageRejectReason", HFILL }},
10466     { &hf_h225_requestToDropOther,
10467       { "requestToDropOther", "h225.requestToDropOther",
10468         FT_NONE, BASE_NONE, NULL, 0,
10469         "h225.NULL", HFILL }},
10470     { &hf_h225_usageInfoRequested,
10471       { "usageInfoRequested", "h225.usageInfoRequested",
10472         FT_NONE, BASE_NONE, NULL, 0,
10473         "h225.RasUsageInfoTypes", HFILL }},
10474     { &hf_h225_segmentedResponseSupported,
10475       { "segmentedResponseSupported", "h225.segmentedResponseSupported",
10476         FT_NONE, BASE_NONE, NULL, 0,
10477         "h225.NULL", HFILL }},
10478     { &hf_h225_nextSegmentRequested,
10479       { "nextSegmentRequested", "h225.nextSegmentRequested",
10480         FT_UINT32, BASE_DEC, NULL, 0,
10481         "h225.INTEGER_0_65535", HFILL }},
10482     { &hf_h225_capacityInfoRequested,
10483       { "capacityInfoRequested", "h225.capacityInfoRequested",
10484         FT_NONE, BASE_NONE, NULL, 0,
10485         "h225.NULL", HFILL }},
10486     { &hf_h225_infoRequestResponse_rasAddress,
10487       { "rasAddress", "h225.rasAddress",
10488         FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
10489         "h225.TransportAddress", HFILL }},
10490     { &hf_h225_perCallInfo,
10491       { "perCallInfo", "h225.perCallInfo",
10492         FT_UINT32, BASE_DEC, NULL, 0,
10493         "h225.T_perCallInfo", HFILL }},
10494     { &hf_h225_perCallInfo_item,
10495       { "perCallInfo", "h225.perCallInfo_item",
10496         FT_NONE, BASE_NONE, NULL, 0,
10497         "h225.T_perCallInfo_item", HFILL }},
10498     { &hf_h225_originator,
10499       { "originator", "h225.originator",
10500         FT_BOOLEAN, 8, NULL, 0,
10501         "h225.BOOLEAN", HFILL }},
10502     { &hf_h225_audio,
10503       { "audio", "h225.audio",
10504         FT_UINT32, BASE_DEC, NULL, 0,
10505         "h225.SEQUENCE_OF_RTPSession", HFILL }},
10506     { &hf_h225_audio_item,
10507       { "audio", "h225.audio_item",
10508         FT_NONE, BASE_NONE, NULL, 0,
10509         "h225.RTPSession", HFILL }},
10510     { &hf_h225_video,
10511       { "video", "h225.video",
10512         FT_UINT32, BASE_DEC, NULL, 0,
10513         "h225.SEQUENCE_OF_RTPSession", HFILL }},
10514     { &hf_h225_video_item,
10515       { "video", "h225.video_item",
10516         FT_NONE, BASE_NONE, NULL, 0,
10517         "h225.RTPSession", HFILL }},
10518     { &hf_h225_data,
10519       { "data", "h225.data",
10520         FT_UINT32, BASE_DEC, NULL, 0,
10521         "h225.SEQUENCE_OF_TransportChannelInfo", HFILL }},
10522     { &hf_h225_data_item,
10523       { "data", "h225.data_item",
10524         FT_NONE, BASE_NONE, NULL, 0,
10525         "h225.TransportChannelInfo", HFILL }},
10526     { &hf_h225_h245,
10527       { "h245", "h225.h245",
10528         FT_NONE, BASE_NONE, NULL, 0,
10529         "h225.TransportChannelInfo", HFILL }},
10530     { &hf_h225_callSignaling,
10531       { "callSignaling", "h225.callSignaling",
10532         FT_NONE, BASE_NONE, NULL, 0,
10533         "h225.TransportChannelInfo", HFILL }},
10534     { &hf_h225_substituteConfIDs,
10535       { "substituteConfIDs", "h225.substituteConfIDs",
10536         FT_UINT32, BASE_DEC, NULL, 0,
10537         "h225.SEQUENCE_OF_ConferenceIdentifier", HFILL }},
10538     { &hf_h225_substituteConfIDs_item,
10539       { "substituteConfIDs", "h225.substituteConfIDs_item",
10540         FT_GUID, BASE_NONE, NULL, 0,
10541         "h225.ConferenceIdentifier", HFILL }},
10542     { &hf_h225_pdu,
10543       { "pdu", "h225.pdu",
10544         FT_UINT32, BASE_DEC, NULL, 0,
10545         "h225.T_pdu", HFILL }},
10546     { &hf_h225_pdu_item,
10547       { "pdu", "h225.pdu_item",
10548         FT_NONE, BASE_NONE, NULL, 0,
10549         "h225.T_pdu_item", HFILL }},
10550     { &hf_h225_h323pdu,
10551       { "h323pdu", "h225.h323pdu",
10552         FT_NONE, BASE_NONE, NULL, 0,
10553         "h225.H323_UU_PDU", HFILL }},
10554     { &hf_h225_sent,
10555       { "sent", "h225.sent",
10556         FT_BOOLEAN, 8, NULL, 0,
10557         "h225.BOOLEAN", HFILL }},
10558     { &hf_h225_needResponse,
10559       { "needResponse", "h225.needResponse",
10560         FT_BOOLEAN, 8, NULL, 0,
10561         "h225.BOOLEAN", HFILL }},
10562     { &hf_h225_irrStatus,
10563       { "irrStatus", "h225.irrStatus",
10564         FT_UINT32, BASE_DEC, VALS(h225_InfoRequestResponseStatus_vals), 0,
10565         "h225.InfoRequestResponseStatus", HFILL }},
10566     { &hf_h225_unsolicited,
10567       { "unsolicited", "h225.unsolicited",
10568         FT_BOOLEAN, 8, NULL, 0,
10569         "h225.BOOLEAN", HFILL }},
10570     { &hf_h225_complete,
10571       { "complete", "h225.complete",
10572         FT_NONE, BASE_NONE, NULL, 0,
10573         "h225.NULL", HFILL }},
10574     { &hf_h225_incomplete,
10575       { "incomplete", "h225.incomplete",
10576         FT_NONE, BASE_NONE, NULL, 0,
10577         "h225.NULL", HFILL }},
10578     { &hf_h225_segment,
10579       { "segment", "h225.segment",
10580         FT_UINT32, BASE_DEC, NULL, 0,
10581         "h225.INTEGER_0_65535", HFILL }},
10582     { &hf_h225_invalidCall,
10583       { "invalidCall", "h225.invalidCall",
10584         FT_NONE, BASE_NONE, NULL, 0,
10585         "h225.NULL", HFILL }},
10586     { &hf_h225_nakReason,
10587       { "nakReason", "h225.nakReason",
10588         FT_UINT32, BASE_DEC, VALS(InfoRequestNakReason_vals), 0,
10589         "h225.InfoRequestNakReason", HFILL }},
10590     { &hf_h225_messageNotUnderstood,
10591       { "messageNotUnderstood", "h225.messageNotUnderstood",
10592         FT_BYTES, BASE_HEX, NULL, 0,
10593         "h225.OCTET_STRING", HFILL }},
10594     { &hf_h225_delay,
10595       { "delay", "h225.delay",
10596         FT_UINT32, BASE_DEC, NULL, 0,
10597         "h225.INTEGER_1_65535", HFILL }},
10598     { &hf_h225_protocols,
10599       { "protocols", "h225.protocols",
10600         FT_UINT32, BASE_DEC, NULL, 0,
10601         "h225.SEQUENCE_OF_SupportedProtocols", HFILL }},
10602     { &hf_h225_protocols_item,
10603       { "protocols", "h225.protocols_item",
10604         FT_UINT32, BASE_DEC, VALS(h225_SupportedProtocols_vals), 0,
10605         "h225.SupportedProtocols", HFILL }},
10606     { &hf_h225_almostOutOfResources,
10607       { "almostOutOfResources", "h225.almostOutOfResources",
10608         FT_BOOLEAN, 8, NULL, 0,
10609         "h225.BOOLEAN", HFILL }},
10610     { &hf_h225_callSpecific,
10611       { "callSpecific", "h225.callSpecific",
10612         FT_NONE, BASE_NONE, NULL, 0,
10613         "h225.T_callSpecific", HFILL }},
10614     { &hf_h225_result,
10615       { "result", "h225.result",
10616         FT_UINT32, BASE_DEC, VALS(h225_T_result_vals), 0,
10617         "h225.T_result", HFILL }},
10618     { &hf_h225_started,
10619       { "started", "h225.started",
10620         FT_NONE, BASE_NONE, NULL, 0,
10621         "h225.NULL", HFILL }},
10622     { &hf_h225_failed,
10623       { "failed", "h225.failed",
10624         FT_NONE, BASE_NONE, NULL, 0,
10625         "h225.NULL", HFILL }},
10626     { &hf_h225_stopped,
10627       { "stopped", "h225.stopped",
10628         FT_NONE, BASE_NONE, NULL, 0,
10629         "h225.NULL", HFILL }},
10630     { &hf_h225_notAvailable,
10631       { "notAvailable", "h225.notAvailable",
10632         FT_NONE, BASE_NONE, NULL, 0,
10633         "h225.NULL", HFILL }},
10634
10635 /*--- End of included file: packet-h225-hfarr.c ---*/
10636 #line 242 "packet-h225-template.c"
10637   };
10638
10639   /* List of subtrees */
10640   static gint *ett[] = {
10641           &ett_h225,
10642
10643 /*--- Included file: packet-h225-ettarr.c ---*/
10644 #line 1 "packet-h225-ettarr.c"
10645     &ett_h225_H323_UserInformation,
10646     &ett_h225_T_user_data,
10647     &ett_h225_H323_UU_PDU,
10648     &ett_h225_T_h323_message_body,
10649     &ett_h225_T_h4501SupplementaryService,
10650     &ett_h225_H245Control,
10651     &ett_h225_SEQUENCE_OF_NonStandardParameter,
10652     &ett_h225_T_tunnelledSignallingMessage,
10653     &ett_h225_T_messageContent,
10654     &ett_h225_SEQUENCE_OF_GenericData,
10655     &ett_h225_StimulusControl,
10656     &ett_h225_Alerting_UUIE,
10657     &ett_h225_SEQUENCE_OF_ClearToken,
10658     &ett_h225_SEQUENCE_OF_CryptoH323Token,
10659     &ett_h225_SEQUENCE_OF_AliasAddress,
10660     &ett_h225_SEQUENCE_OF_ServiceControlSession,
10661     &ett_h225_CallProceeding_UUIE,
10662     &ett_h225_Connect_UUIE,
10663     &ett_h225_Information_UUIE,
10664     &ett_h225_ReleaseComplete_UUIE,
10665     &ett_h225_ReleaseCompleteReason,
10666     &ett_h225_Setup_UUIE,
10667     &ett_h225_SEQUENCE_OF_CallReferenceValue,
10668     &ett_h225_T_conferenceGoal,
10669     &ett_h225_SEQUENCE_OF_H245Security,
10670     &ett_h225_FastStart,
10671     &ett_h225_T_connectionParameters,
10672     &ett_h225_Language,
10673     &ett_h225_SEQUENCE_OF_SupportedProtocols,
10674     &ett_h225_SEQUENCE_OF_FeatureDescriptor,
10675     &ett_h225_ParallelH245Control,
10676     &ett_h225_SEQUENCE_OF_ExtendedAliasAddress,
10677     &ett_h225_ScnConnectionType,
10678     &ett_h225_ScnConnectionAggregation,
10679     &ett_h225_PresentationIndicator,
10680     &ett_h225_Facility_UUIE,
10681     &ett_h225_SEQUENCE_OF_ConferenceList,
10682     &ett_h225_ConferenceList,
10683     &ett_h225_FacilityReason,
10684     &ett_h225_Progress_UUIE,
10685     &ett_h225_TransportAddress,
10686     &ett_h225_H245TransportAddress,
10687     &ett_h225_T_h245IpAddress,
10688     &ett_h225_T_h245IpSourceRoute,
10689     &ett_h225_T_h245Route,
10690     &ett_h225_T_h245Routing,
10691     &ett_h225_T_h245IpxAddress,
10692     &ett_h225_T_h245Ip6Address,
10693     &ett_h225_T_ipAddress,
10694     &ett_h225_T_ipSourceRoute,
10695     &ett_h225_T_route,
10696     &ett_h225_T_routing,
10697     &ett_h225_T_ipxAddress,
10698     &ett_h225_T_ip6Address,
10699     &ett_h225_Status_UUIE,
10700     &ett_h225_StatusInquiry_UUIE,
10701     &ett_h225_SetupAcknowledge_UUIE,
10702     &ett_h225_Notify_UUIE,
10703     &ett_h225_EndpointType,
10704     &ett_h225_SEQUENCE_OF_TunnelledProtocol,
10705     &ett_h225_GatewayInfo,
10706     &ett_h225_SupportedProtocols,
10707     &ett_h225_H310Caps,
10708     &ett_h225_SEQUENCE_OF_DataRate,
10709     &ett_h225_SEQUENCE_OF_SupportedPrefix,
10710     &ett_h225_H320Caps,
10711     &ett_h225_H321Caps,
10712     &ett_h225_H322Caps,
10713     &ett_h225_H323Caps,
10714     &ett_h225_H324Caps,
10715     &ett_h225_VoiceCaps,
10716     &ett_h225_T120OnlyCaps,
10717     &ett_h225_NonStandardProtocol,
10718     &ett_h225_T38FaxAnnexbOnlyCaps,
10719     &ett_h225_SIPCaps,
10720     &ett_h225_McuInfo,
10721     &ett_h225_TerminalInfo,
10722     &ett_h225_GatekeeperInfo,
10723     &ett_h225_VendorIdentifier,
10724     &ett_h225_H221NonStandard,
10725     &ett_h225_TunnelledProtocol,
10726     &ett_h225_TunnelledProtocol_id,
10727     &ett_h225_TunnelledProtocolAlternateIdentifier,
10728     &ett_h225_NonStandardParameter,
10729     &ett_h225_NonStandardIdentifier,
10730     &ett_h225_AliasAddress,
10731     &ett_h225_AddressPattern,
10732     &ett_h225_T_range,
10733     &ett_h225_PartyNumber,
10734     &ett_h225_PublicPartyNumber,
10735     &ett_h225_PrivatePartyNumber,
10736     &ett_h225_PublicTypeOfNumber,
10737     &ett_h225_PrivateTypeOfNumber,
10738     &ett_h225_MobileUIM,
10739     &ett_h225_ANSI_41_UIM,
10740     &ett_h225_T_system_id,
10741     &ett_h225_GSM_UIM,
10742     &ett_h225_IsupNumber,
10743     &ett_h225_IsupPublicPartyNumber,
10744     &ett_h225_IsupPrivatePartyNumber,
10745     &ett_h225_NatureOfAddress,
10746     &ett_h225_ExtendedAliasAddress,
10747     &ett_h225_Endpoint,
10748     &ett_h225_SEQUENCE_OF_TransportAddress,
10749     &ett_h225_AlternateTransportAddresses,
10750     &ett_h225_UseSpecifiedTransport,
10751     &ett_h225_AlternateGK,
10752     &ett_h225_AltGKInfo,
10753     &ett_h225_SEQUENCE_OF_AlternateGK,
10754     &ett_h225_SecurityServiceMode,
10755     &ett_h225_SecurityCapabilities,
10756     &ett_h225_SecurityErrors,
10757     &ett_h225_SecurityErrors2,
10758     &ett_h225_H245Security,
10759     &ett_h225_QseriesOptions,
10760     &ett_h225_Q954Details,
10761     &ett_h225_CallIdentifier,
10762     &ett_h225_EncryptIntAlg,
10763     &ett_h225_NonIsoIntegrityMechanism,
10764     &ett_h225_IntegrityMechanism,
10765     &ett_h225_ICV,
10766     &ett_h225_CryptoH323Token,
10767     &ett_h225_T_cryptoEPPwdHash,
10768     &ett_h225_T_cryptoGKPwdHash,
10769     &ett_h225_DataRate,
10770     &ett_h225_CallLinkage,
10771     &ett_h225_SupportedPrefix,
10772     &ett_h225_CapacityReportingCapability,
10773     &ett_h225_CapacityReportingSpecification,
10774     &ett_h225_CapacityReportingSpecification_when,
10775     &ett_h225_CallCapacity,
10776     &ett_h225_CallCapacityInfo,
10777     &ett_h225_SEQUENCE_OF_CallsAvailable,
10778     &ett_h225_CallsAvailable,
10779     &ett_h225_CircuitInfo,
10780     &ett_h225_CircuitIdentifier,
10781     &ett_h225_CicInfo,
10782     &ett_h225_T_cic_2_4,
10783     &ett_h225_GroupID,
10784     &ett_h225_T_member,
10785     &ett_h225_CarrierInfo,
10786     &ett_h225_ServiceControlDescriptor,
10787     &ett_h225_ServiceControlSession,
10788     &ett_h225_ServiceControlSession_reason,
10789     &ett_h225_RasUsageInfoTypes,
10790     &ett_h225_RasUsageSpecification,
10791     &ett_h225_RasUsageSpecification_when,
10792     &ett_h225_RasUsageSpecificationcallStartingPoint,
10793     &ett_h225_RasUsageInformation,
10794     &ett_h225_CallTerminationCause,
10795     &ett_h225_BandwidthDetails,
10796     &ett_h225_CallCreditCapability,
10797     &ett_h225_CallCreditServiceControl,
10798     &ett_h225_T_billingMode,
10799     &ett_h225_CallCreditServiceControl_callStartingPoint,
10800     &ett_h225_GenericData,
10801     &ett_h225_T_parameters,
10802     &ett_h225_GenericIdentifier,
10803     &ett_h225_EnumeratedParameter,
10804     &ett_h225_Content,
10805     &ett_h225_SEQUENCE_SIZE_1_512_OF_EnumeratedParameter,
10806     &ett_h225_SEQUENCE_SIZE_1_16_OF_GenericData,
10807     &ett_h225_FeatureSet,
10808     &ett_h225_TransportChannelInfo,
10809     &ett_h225_RTPSession,
10810     &ett_h225_T_associatedSessionIds,
10811     &ett_h225_RehomingModel,
10812     &ett_h225_RasMessage,
10813     &ett_h225_SEQUENCE_OF_AdmissionConfirm,
10814     &ett_h225_GatekeeperRequest,
10815     &ett_h225_SEQUENCE_OF_Endpoint,
10816     &ett_h225_SEQUENCE_OF_AuthenticationMechanism,
10817     &ett_h225_T_algorithmOIDs,
10818     &ett_h225_SEQUENCE_OF_IntegrityMechanism,
10819     &ett_h225_GatekeeperConfirm,
10820     &ett_h225_GatekeeperReject,
10821     &ett_h225_GatekeeperRejectReason,
10822     &ett_h225_RegistrationRequest,
10823     &ett_h225_SEQUENCE_OF_AddressPattern,
10824     &ett_h225_SEQUENCE_OF_H248PackagesDescriptor,
10825     &ett_h225_RegistrationConfirm,
10826     &ett_h225_T_preGrantedARQ,
10827     &ett_h225_SEQUENCE_OF_RasUsageSpecification,
10828     &ett_h225_RegistrationReject,
10829     &ett_h225_RegistrationRejectReason,
10830     &ett_h225_T_invalidTerminalAliases,
10831     &ett_h225_UnregistrationRequest,
10832     &ett_h225_UnregRequestReason,
10833     &ett_h225_UnregistrationConfirm,
10834     &ett_h225_UnregistrationReject,
10835     &ett_h225_UnregRejectReason,
10836     &ett_h225_AdmissionRequest,
10837     &ett_h225_DestinationInfo,
10838     &ett_h225_CallType,
10839     &ett_h225_CallModel,
10840     &ett_h225_TransportQOS,
10841     &ett_h225_SEQUENCE_SIZE_1_256_OF_QOSCapability,
10842     &ett_h225_AdmissionConfirm,
10843     &ett_h225_UUIEsRequested,
10844     &ett_h225_AdmissionReject,
10845     &ett_h225_AdmissionRejectReason,
10846     &ett_h225_SEQUENCE_OF_PartyNumber,
10847     &ett_h225_BandwidthRequest,
10848     &ett_h225_SEQUENCE_OF_BandwidthDetails,
10849     &ett_h225_BandwidthConfirm,
10850     &ett_h225_BandwidthReject,
10851     &ett_h225_BandRejectReason,
10852     &ett_h225_LocationRequest,
10853     &ett_h225_LocationConfirm,
10854     &ett_h225_LocationReject,
10855     &ett_h225_LocationRejectReason,
10856     &ett_h225_DisengageRequest,
10857     &ett_h225_DisengageReason,
10858     &ett_h225_DisengageConfirm,
10859     &ett_h225_DisengageReject,
10860     &ett_h225_DisengageRejectReason,
10861     &ett_h225_InfoRequest,
10862     &ett_h225_InfoRequestResponse,
10863     &ett_h225_T_perCallInfo,
10864     &ett_h225_T_perCallInfo_item,
10865     &ett_h225_SEQUENCE_OF_RTPSession,
10866     &ett_h225_SEQUENCE_OF_TransportChannelInfo,
10867     &ett_h225_SEQUENCE_OF_ConferenceIdentifier,
10868     &ett_h225_T_pdu,
10869     &ett_h225_T_pdu_item,
10870     &ett_h225_InfoRequestResponseStatus,
10871     &ett_h225_InfoRequestAck,
10872     &ett_h225_InfoRequestNak,
10873     &ett_h225_InfoRequestNakReason,
10874     &ett_h225_NonStandardMessage,
10875     &ett_h225_UnknownMessageResponse,
10876     &ett_h225_RequestInProgress,
10877     &ett_h225_ResourcesAvailableIndicate,
10878     &ett_h225_ResourcesAvailableConfirm,
10879     &ett_h225_ServiceControlIndication,
10880     &ett_h225_T_callSpecific,
10881     &ett_h225_ServiceControlResponse,
10882     &ett_h225_T_result,
10883
10884 /*--- End of included file: packet-h225-ettarr.c ---*/
10885 #line 248 "packet-h225-template.c"
10886   };
10887   module_t *h225_module;
10888
10889   /* Register protocol */
10890   proto_h225 = proto_register_protocol(PNAME, PSNAME, PFNAME);
10891   /* Register fields and subtrees */
10892   proto_register_field_array(proto_h225, hf, array_length(hf));
10893   proto_register_subtree_array(ett, array_length(ett));
10894
10895   h225_module = prefs_register_protocol(proto_h225, proto_reg_handoff_h225);
10896   prefs_register_uint_preference(h225_module, "tls.port",
10897                                  "H.225 TLS Port",
10898                                  "H.225 Server TLS Port",
10899                                  10, &h225_tls_port);
10900   prefs_register_bool_preference(h225_module, "reassembly",
10901                 "Reassemble H.225 messages spanning multiple TCP segments",
10902                 "Whether the H.225 dissector should reassemble messages spanning multiple TCP segments."
10903                 " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
10904                 &h225_reassembly);
10905   prefs_register_bool_preference(h225_module, "h245_in_tree",
10906                 "Display tunnelled H.245 inside H.225.0 tree",
10907                 "ON - display tunnelled H.245 inside H.225.0 tree, OFF - display tunnelled H.245 in root tree after H.225.0",
10908                 &h225_h245_in_tree);
10909   prefs_register_bool_preference(h225_module, "tp_in_tree",
10910                 "Display tunnelled protocols inside H.225.0 tree",
10911                 "ON - display tunnelled protocols inside H.225.0 tree, OFF - display tunnelled protocols in root tree after H.225.0",
10912                 &h225_tp_in_tree);
10913
10914   new_register_dissector("h225", dissect_h225_H323UserInformation, proto_h225);
10915   new_register_dissector("h323ui",dissect_h225_H323UserInformation, proto_h225);
10916   new_register_dissector("h225.ras", dissect_h225_h225_RasMessage, proto_h225);
10917
10918   nsp_object_dissector_table = register_dissector_table("h225.nsp.object", "H.225 NonStandardParameter (object)", FT_STRING, BASE_NONE);
10919   nsp_h221_dissector_table = register_dissector_table("h225.nsp.h221", "H.225 NonStandardParameter (h221)", FT_UINT32, BASE_HEX);
10920   tp_dissector_table = register_dissector_table("h225.tp", "H.225 TunnelledProtocol", FT_STRING, BASE_NONE);
10921   gef_name_dissector_table = register_dissector_table("h225.gef.name", "H.225 Generic Extensible Framework (names)", FT_STRING, BASE_NONE);
10922   gef_content_dissector_table = register_dissector_table("h225.gef.content", "H.225 Generic Extensible Framework", FT_STRING, BASE_NONE);
10923
10924   register_init_routine(&h225_init_routine);
10925   h225_tap = register_tap("h225");
10926
10927   oid_add_from_string("Version 1","0.0.8.2250.0.1");
10928   oid_add_from_string("Version 2","0.0.8.2250.0.2");
10929   oid_add_from_string("Version 3","0.0.8.2250.0.3");
10930   oid_add_from_string("Version 4","0.0.8.2250.0.4");
10931   oid_add_from_string("Version 5","0.0.8.2250.0.5");
10932   oid_add_from_string("Version 6","0.0.8.2250.0.6");
10933
10934 }
10935
10936
10937 /*--- proto_reg_handoff_h225 ---------------------------------------*/
10938 void
10939 proto_reg_handoff_h225(void)
10940 {
10941         static gboolean h225_prefs_initialized = FALSE;
10942         static dissector_handle_t h225ras_handle;
10943         static guint saved_h225_tls_port;
10944
10945         if (!h225_prefs_initialized) {
10946                 h225ras_handle=find_dissector("h225.ras");
10947                 dissector_add("udp.port", UDP_PORT_RAS1, h225ras_handle);
10948                 dissector_add("udp.port", UDP_PORT_RAS2, h225ras_handle);
10949
10950                 h245_handle = find_dissector("h245");
10951                 h245dg_handle = find_dissector("h245dg");
10952                 h4501_handle = find_dissector("h4501");
10953                 data_handle = find_dissector("data");
10954                 h225_prefs_initialized = TRUE;
10955         } else {
10956                 ssl_dissector_delete(saved_h225_tls_port, "q931.tpkt", TRUE);
10957         }
10958
10959         saved_h225_tls_port = h225_tls_port;
10960         ssl_dissector_add(saved_h225_tls_port, "q931.tpkt", TRUE);
10961 }
10962
10963
10964 static void reset_h225_packet_info(h225_packet_info *pi)
10965 {
10966         if(pi == NULL) {
10967                 return;
10968         }
10969
10970         pi->msg_type = H225_OTHERS;
10971         pi->cs_type = H225_OTHER;
10972         pi->msg_tag = -1;
10973         pi->reason = -1;
10974         pi->requestSeqNum = 0;
10975         memset(&pi->guid,0,sizeof pi->guid);
10976         pi->is_duplicate = FALSE;
10977         pi->request_available = FALSE;
10978         pi->is_faststart = FALSE;
10979         pi->is_h245 = FALSE;
10980         pi->is_h245Tunneling = FALSE;
10981         pi->h245_address = 0;
10982         pi->h245_port = 0;
10983         pi->frame_label[0] = '\0';
10984         pi->dialedDigits[0] = '\0';
10985         pi->is_destinationInfo = FALSE;
10986 }
10987
10988 /*
10989         The following function contains the routines for RAS request/response matching.
10990         A RAS response matches with a request, if both messages have the same
10991         RequestSequenceNumber, belong to the same IP conversation and belong to the same
10992         RAS "category" (e.g. Admission, Registration).
10993
10994         We use hashtables to access the lists of RAS calls (request/response pairs).
10995         We have one hashtable for each RAS category. The hashkeys consist of the
10996         non-unique 16-bit RequestSequenceNumber and values representing the conversation.
10997
10998         In big capture files, we might get different requests with identical keys.
10999         These requests aren't necessarily duplicates. They might be valid new requests.
11000         At the moment we just use the timedelta between the last valid and the new request
11001         to decide if the new request is a duplicate or not. There might be better ways.
11002         Two thresholds are defined below.
11003
11004         However the decision is made, another problem arises. We can't just add those
11005         requests to our hashtables. Instead we create lists of RAS calls with identical keys.
11006         The hashtables for RAS calls contain now pointers to the first RAS call in a list of
11007         RAS calls with identical keys.
11008         These lists aren't expected to contain more than 3 items and are usually single item
11009         lists. So we don't need an expensive but intelligent way to access these lists
11010         (e.g. hashtables). Just walk through such a list.
11011 */
11012
11013 #define THRESHOLD_REPEATED_RESPONDED_CALL 300
11014 #define THRESHOLD_REPEATED_NOT_RESPONDED_CALL 1800
11015
11016 static void ras_call_matching(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, h225_packet_info *pi)
11017 {
11018         proto_item *hidden_item;
11019         conversation_t* conversation = NULL;
11020         h225ras_call_info_key h225ras_call_key;
11021         h225ras_call_t *h225ras_call = NULL;
11022         nstime_t delta;
11023         guint msg_category;
11024
11025         if(pi->msg_type == H225_RAS && pi->msg_tag < 21) {
11026                 /* make RAS request/response matching only for tags from 0 to 20 for now */
11027
11028                 msg_category = pi->msg_tag / 3;
11029                 if(pi->msg_tag % 3 == 0) {              /* Request Message */
11030                         conversation = find_conversation(pinfo->fd->num, &pinfo->src,
11031                                 &pinfo->dst, pinfo->ptype, pinfo->srcport,
11032                                 pinfo->destport, 0);
11033
11034                         if (conversation == NULL) {
11035                                 /* It's not part of any conversation - create a new one. */
11036                                 conversation = conversation_new(pinfo->fd->num, &pinfo->src,
11037                                     &pinfo->dst, pinfo->ptype, pinfo->srcport,
11038                                     pinfo->destport, 0);
11039
11040                         }
11041
11042                         /* prepare the key data */
11043                         h225ras_call_key.reqSeqNum = pi->requestSeqNum;
11044                         h225ras_call_key.conversation = conversation;
11045
11046                         /* look up the request */
11047                         h225ras_call = find_h225ras_call(&h225ras_call_key ,msg_category);
11048
11049                         if (h225ras_call != NULL) {
11050                                 /* We've seen requests with this reqSeqNum, with the same
11051                                    source and destination, before - do we have
11052                                    *this* request already? */
11053                                 /* Walk through list of ras requests with identical keys */
11054                                 do {
11055                                         if (pinfo->fd->num == h225ras_call->req_num) {
11056                                                 /* We have seen this request before -> do nothing */
11057                                                 break;
11058                                         }
11059
11060                                         /* if end of list is reached, exit loop and decide if request is duplicate or not. */
11061                                         if (h225ras_call->next_call == NULL) {
11062                                                 if ( (pinfo->fd->num > h225ras_call->rsp_num && h225ras_call->rsp_num != 0
11063                                                    && pinfo->fd->abs_ts.secs > (h225ras_call->req_time.secs + THRESHOLD_REPEATED_RESPONDED_CALL) )
11064                                                    ||(pinfo->fd->num > h225ras_call->req_num && h225ras_call->rsp_num == 0
11065                                                    && pinfo->fd->abs_ts.secs > (h225ras_call->req_time.secs + THRESHOLD_REPEATED_NOT_RESPONDED_CALL) ) )
11066                                                 {
11067                                                         /* if last request has been responded
11068                                                            and this request appears after last response (has bigger frame number)
11069                                                            and last request occured more than 300 seconds ago,
11070                                                            or if last request hasn't been responded
11071                                                            and this request appears after last request (has bigger frame number)
11072                                                            and last request occured more than 1800 seconds ago,
11073                                                            we decide that we have a new request */
11074                                                         /* Append new ras call to list */
11075                                                         h225ras_call = append_h225ras_call(h225ras_call, pinfo, &pi->guid, msg_category);
11076                                                 } else {
11077                                                         /* No, so it's a duplicate request.
11078                                                            Mark it as such. */
11079                                                         pi->is_duplicate = TRUE;
11080                                                         hidden_item = proto_tree_add_uint(tree, hf_h225_ras_dup, tvb, 0,0, pi->requestSeqNum);
11081                                                         PROTO_ITEM_SET_HIDDEN(hidden_item);
11082                                                 }
11083                                                 break;
11084                                         }
11085                                         h225ras_call = h225ras_call->next_call;
11086                                 } while (h225ras_call != NULL );
11087                         }
11088                         else {
11089                                 h225ras_call = new_h225ras_call(&h225ras_call_key, pinfo, &pi->guid, msg_category);
11090                         }
11091
11092                         /* add link to response frame, if available */
11093                         if(h225ras_call->rsp_num != 0){
11094                                 proto_item *ti =
11095                                 proto_tree_add_uint_format(tree, hf_h225_ras_rsp_frame, tvb, 0, 0, h225ras_call->rsp_num,
11096                                                                    "The response to this request is in frame %u",
11097                                                                    h225ras_call->rsp_num);
11098                                 PROTO_ITEM_SET_GENERATED(ti);
11099                         }
11100
11101                 /* end of request message handling*/
11102                 }
11103                 else {                                  /* Confirm or Reject Message */
11104                         conversation = find_conversation(pinfo->fd->num, &pinfo->src,
11105                                 &pinfo->dst, pinfo->ptype, pinfo->srcport,
11106                                 pinfo->destport, 0);
11107                         if (conversation != NULL) {
11108                                 /* look only for matching request, if
11109                                    matching conversation is available. */
11110                                 h225ras_call_key.reqSeqNum = pi->requestSeqNum;
11111                                 h225ras_call_key.conversation = conversation;
11112                                 h225ras_call = find_h225ras_call(&h225ras_call_key ,msg_category);
11113                                 if(h225ras_call) {
11114                                         /* find matching ras_call in list of ras calls with identical keys */
11115                                         do {
11116                                                 if (pinfo->fd->num == h225ras_call->rsp_num) {
11117                                                         /* We have seen this response before -> stop now with matching ras call */
11118                                                         break;
11119                                                 }
11120
11121                                                 /* Break when list end is reached */
11122                                                 if(h225ras_call->next_call == NULL) {
11123                                                         break;
11124                                                 }
11125                                                 h225ras_call = h225ras_call->next_call;
11126                                         } while (h225ras_call != NULL) ;
11127
11128                                         /* if this is an ACF, ARJ or DCF, DRJ, give guid to tap and make it filterable */
11129                                         if (msg_category == 3 || msg_category == 5) {
11130                                                 pi->guid = h225ras_call->guid;
11131                                                 hidden_item = proto_tree_add_guid(tree, hf_h225_guid, tvb, 0, GUID_LEN, &pi->guid);
11132                                                 PROTO_ITEM_SET_HIDDEN(hidden_item);
11133                                         }
11134
11135                                         if (h225ras_call->rsp_num == 0) {
11136                                                 /* We have not yet seen a response to that call, so
11137                                                    this must be the first response; remember its
11138                                                    frame number. */
11139                                                 h225ras_call->rsp_num = pinfo->fd->num;
11140                                         }
11141                                         else {
11142                                                 /* We have seen a response to this call - but was it
11143                                                    *this* response? */
11144                                                 if (h225ras_call->rsp_num != pinfo->fd->num) {
11145                                                         /* No, so it's a duplicate response.
11146                                                            Mark it as such. */
11147                                                         pi->is_duplicate = TRUE;
11148                                                         hidden_item = proto_tree_add_uint(tree, hf_h225_ras_dup, tvb, 0,0, pi->requestSeqNum);
11149                                                         PROTO_ITEM_SET_HIDDEN(hidden_item);
11150                                                 }
11151                                         }
11152
11153                                         if(h225ras_call->req_num != 0){
11154                                                 proto_item *ti;
11155                                                 h225ras_call->responded = TRUE;
11156                                                 pi->request_available = TRUE;
11157
11158                                                 /* Indicate the frame to which this is a reply. */
11159                                                 ti = proto_tree_add_uint_format(tree, hf_h225_ras_req_frame, tvb, 0, 0, h225ras_call->req_num,
11160                                                         "This is a response to a request in frame %u", h225ras_call->req_num);
11161                                                 PROTO_ITEM_SET_GENERATED(ti);
11162
11163                                                 /* Calculate RAS Service Response Time */
11164                                                 nstime_delta(&delta, &pinfo->fd->abs_ts, &h225ras_call->req_time);
11165                                                 pi->delta_time = delta; /* give it to tap */
11166
11167                                                 /* display Ras Service Response Time and make it filterable */
11168                                                 ti = proto_tree_add_time(tree, hf_h225_ras_deltatime, tvb, 0, 0, &(pi->delta_time));
11169                                                 PROTO_ITEM_SET_GENERATED(ti);
11170                                         }
11171                                 }
11172                         }
11173                 }
11174         }
11175 }
11176
11177
11178
11179
11180