1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
4 /* ../../tools/asn2wrs.py -c ./h460.cnf -s ./packet-h460-template -D . -O ../../epan/dissectors NUMBER-PORTABILITY.asn CIRCUIT-STATUS-MAP.asn CALL-PRIORITY.asn QOS-MONITORING-REPORT.asn QOS-MONITORING-EXTENDED-VOIP-REPORT.asn CALL-PARTY-CATEGORY.asn MLPP.asn SIGNALLING-CHANNEL-SUSPEND-REDIRECT.asn SIGNALLING-TRAVERSAL.asn MEDIA-TRAVERSAL.asn MESSAGE-BROADCAST.asn */
6 /* Input file: packet-h460-template.c */
8 #line 1 "../../asn1/h460/packet-h460-template.c"
10 * Routines for H.460.x packet dissection
13 * Wireshark - Network traffic analyzer
14 * By Gerald Combs <gerald@wireshark.org>
15 * Copyright 1998 Gerald Combs
17 * This program is free software; you can redistribute it and/or
18 * modify it under the terms of the GNU General Public License
19 * as published by the Free Software Foundation; either version 2
20 * of the License, or (at your option) any later version.
22 * This program is distributed in the hope that it will be useful,
23 * but WITHOUT ANY WARRANTY; without even the implied warranty of
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 * GNU General Public License for more details.
27 * You should have received a copy of the GNU General Public License
28 * along with this program; if not, write to the Free Software
29 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
35 #include <epan/packet.h>
36 #include <epan/oids.h>
37 #include <epan/asn1.h>
41 #include "packet-per.h"
42 #include "packet-h225.h"
43 #include "packet-h235.h"
44 #include "packet-h245.h"
46 #define PNAME "H.460 Supplementary Services"
47 #define PSNAME "H.460"
50 void proto_register_h460(void);
51 void proto_reg_handoff_h460(void);
53 /* Initialize the protocol and registered fields */
54 static int proto_h460 = -1;
56 /*--- Included file: packet-h460-hf.c ---*/
57 #line 1 "../../asn1/h460/packet-h460-hf.c"
59 /* --- Module NUMBER-PORTABILITY --- --- --- */
61 static int hf_h460_2_h460_2_NumberPortabilityInfo_PDU = -1; /* NumberPortabilityInfo */
62 static int hf_h460_2_numberPortabilityRejectReason = -1; /* NumberPortabilityRejectReason */
63 static int hf_h460_2_nUMBERPORTABILITYDATA = -1; /* T_nUMBERPORTABILITYDATA */
64 static int hf_h460_2_addressTranslated = -1; /* NULL */
65 static int hf_h460_2_portedAddress = -1; /* PortabilityAddress */
66 static int hf_h460_2_routingAddress = -1; /* PortabilityAddress */
67 static int hf_h460_2_regionalParams = -1; /* RegionalParameters */
68 static int hf_h460_2_unspecified = -1; /* NULL */
69 static int hf_h460_2_qorPortedNumber = -1; /* NULL */
70 static int hf_h460_2_aliasAddress = -1; /* AliasAddress */
71 static int hf_h460_2_typeOfAddress = -1; /* NumberPortabilityTypeOfNumber */
72 static int hf_h460_2_publicTypeOfNumber = -1; /* PublicTypeOfNumber */
73 static int hf_h460_2_privateTypeOfNumber = -1; /* PrivateTypeOfNumber */
74 static int hf_h460_2_portabilityTypeOfNumber = -1; /* PortabilityTypeOfNumber */
75 static int hf_h460_2_portedNumber = -1; /* NULL */
76 static int hf_h460_2_routingNumber = -1; /* NULL */
77 static int hf_h460_2_concatenatedNumber = -1; /* NULL */
78 static int hf_h460_2_t35CountryCode = -1; /* INTEGER_0_255 */
79 static int hf_h460_2_t35Extension = -1; /* INTEGER_0_255 */
80 static int hf_h460_2_variantIdentifier = -1; /* INTEGER_1_255 */
81 static int hf_h460_2_regionalData = -1; /* OCTET_STRING */
83 /* --- Module CIRCUIT-STATUS-MAP --- --- --- */
85 static int hf_h460_3_h460_3_CircuitStatus_PDU = -1; /* CircuitStatus */
86 static int hf_h460_3_circuitStatusMap = -1; /* SEQUENCE_OF_CircuitStatusMap */
87 static int hf_h460_3_circuitStatusMap_item = -1; /* CircuitStatusMap */
88 static int hf_h460_3_statusType = -1; /* CircuitStatusType */
89 static int hf_h460_3_baseCircuitID = -1; /* CircuitIdentifier */
90 static int hf_h460_3_range = -1; /* INTEGER_0_4095 */
91 static int hf_h460_3_status = -1; /* OCTET_STRING */
92 static int hf_h460_3_serviceStatus = -1; /* NULL */
93 static int hf_h460_3_busyStatus = -1; /* NULL */
95 /* --- Module CALL-PRIORITY --- --- --- */
97 static int hf_h460_4_h460_4_CallPriorityInfo_PDU = -1; /* CallPriorityInfo */
98 static int hf_h460_4_h460_4_CountryInternationalNetworkCallOriginationIdentification_PDU = -1; /* CountryInternationalNetworkCallOriginationIdentification */
99 static int hf_h460_4_priorityValue = -1; /* T_priorityValue */
100 static int hf_h460_4_emergencyAuthorized = -1; /* NULL */
101 static int hf_h460_4_emergencyPublic = -1; /* NULL */
102 static int hf_h460_4_high = -1; /* NULL */
103 static int hf_h460_4_normal = -1; /* NULL */
104 static int hf_h460_4_priorityExtension = -1; /* INTEGER_0_255 */
105 static int hf_h460_4_tokens = -1; /* SEQUENCE_OF_ClearToken */
106 static int hf_h460_4_tokens_item = -1; /* ClearToken */
107 static int hf_h460_4_cryptoTokens = -1; /* SEQUENCE_OF_CryptoToken */
108 static int hf_h460_4_cryptoTokens_item = -1; /* CryptoToken */
109 static int hf_h460_4_rejectReason = -1; /* T_rejectReason */
110 static int hf_h460_4_priorityUnavailable = -1; /* NULL */
111 static int hf_h460_4_priorityUnauthorized = -1; /* NULL */
112 static int hf_h460_4_priorityValueUnknown = -1; /* NULL */
113 static int hf_h460_4_numberingPlan = -1; /* T_numberingPlan */
114 static int hf_h460_4_x121 = -1; /* T_x121 */
115 static int hf_h460_4_x121CountryCode = -1; /* X121CountryCode */
116 static int hf_h460_4_e164 = -1; /* T_e164 */
117 static int hf_h460_4_e164CountryCode = -1; /* E164CountryCode */
118 static int hf_h460_4_identificationCode = -1; /* T_identificationCode */
120 /* --- Modules QOS-MONITORING-REPORT QOS-MONITORING-EXTENDED-VOIP-REPORT --- --- --- */
122 static int hf_h460_9_h460_9_QosMonitoringReportData_PDU = -1; /* QosMonitoringReportData */
123 static int hf_h460_9_h460_9_ExtendedRTPMetrics_PDU = -1; /* ExtendedRTPMetrics */
124 static int hf_h460_9_extensionId = -1; /* GenericIdentifier */
125 static int hf_h460_9_extensionContent = -1; /* OCTET_STRING */
126 static int hf_h460_9_rtpAddress = -1; /* TransportChannelInfo */
127 static int hf_h460_9_rtcpAddress = -1; /* TransportChannelInfo */
128 static int hf_h460_9_sessionId = -1; /* INTEGER_1_255 */
129 static int hf_h460_9_nonStandardData = -1; /* NonStandardParameter */
130 static int hf_h460_9_mediaSenderMeasures = -1; /* T_mediaSenderMeasures */
131 static int hf_h460_9_worstEstimatedEnd2EndDelay = -1; /* EstimatedEnd2EndDelay */
132 static int hf_h460_9_meanEstimatedEnd2EndDelay = -1; /* EstimatedEnd2EndDelay */
133 static int hf_h460_9_mediaReceiverMeasures = -1; /* T_mediaReceiverMeasures */
134 static int hf_h460_9_cumulativeNumberOfPacketsLost = -1; /* INTEGER_0_4294967295 */
135 static int hf_h460_9_packetLostRate = -1; /* INTEGER_0_65535 */
136 static int hf_h460_9_worstJitter = -1; /* CalculatedJitter */
137 static int hf_h460_9_estimatedThroughput = -1; /* BandWidth */
138 static int hf_h460_9_fractionLostRate = -1; /* INTEGER_0_65535 */
139 static int hf_h460_9_meanJitter = -1; /* CalculatedJitter */
140 static int hf_h460_9_extensions = -1; /* SEQUENCE_OF_Extension */
141 static int hf_h460_9_extensions_item = -1; /* Extension */
142 static int hf_h460_9_callReferenceValue = -1; /* CallReferenceValue */
143 static int hf_h460_9_conferenceID = -1; /* ConferenceIdentifier */
144 static int hf_h460_9_callIdentifier = -1; /* CallIdentifier */
145 static int hf_h460_9_mediaChannelsQoS = -1; /* SEQUENCE_OF_RTCPMeasures */
146 static int hf_h460_9_mediaChannelsQoS_item = -1; /* RTCPMeasures */
147 static int hf_h460_9_periodic = -1; /* PeriodicQoSMonReport */
148 static int hf_h460_9_final = -1; /* FinalQosMonReport */
149 static int hf_h460_9_interGK = -1; /* InterGKQosMonReport */
150 static int hf_h460_9_perCallInfo = -1; /* SEQUENCE_OF_PerCallQoSReport */
151 static int hf_h460_9_perCallInfo_item = -1; /* PerCallQoSReport */
152 static int hf_h460_9_mediaInfo = -1; /* SEQUENCE_OF_RTCPMeasures */
153 static int hf_h460_9_mediaInfo_item = -1; /* RTCPMeasures */
154 static int hf_h460_9_networkPacketLossRate = -1; /* INTEGER_0_255 */
155 static int hf_h460_9_jitterBufferDiscardRate = -1; /* INTEGER_0_255 */
156 static int hf_h460_9_burstMetrics = -1; /* BurstMetrics */
157 static int hf_h460_9_rtcpRoundTripDelay = -1; /* INTEGER_0_65535 */
158 static int hf_h460_9_endSystemDelay = -1; /* INTEGER_0_65535 */
159 static int hf_h460_9_signalLevel = -1; /* INTEGER_M127_10 */
160 static int hf_h460_9_noiseLevel = -1; /* INTEGER_M127_0 */
161 static int hf_h460_9_residualEchoReturnLoss = -1; /* INTEGER_0_127 */
162 static int hf_h460_9_rFactor = -1; /* INTEGER_0_100 */
163 static int hf_h460_9_extRFactor = -1; /* INTEGER_0_100 */
164 static int hf_h460_9_estimatedMOSLQ = -1; /* INTEGER_10_50 */
165 static int hf_h460_9_estimatedMOSCQ = -1; /* INTEGER_10_50 */
166 static int hf_h460_9_plcType = -1; /* PLCtypes */
167 static int hf_h460_9_jitterBufferParms = -1; /* JitterBufferParms */
168 static int hf_h460_9_gmin = -1; /* INTEGER_0_255 */
169 static int hf_h460_9_burstLossDensity = -1; /* INTEGER_0_255 */
170 static int hf_h460_9_gapLossDensity = -1; /* INTEGER_0_255 */
171 static int hf_h460_9_burstDuration = -1; /* INTEGER_0_65535 */
172 static int hf_h460_9_gapDuration = -1; /* INTEGER_0_65535 */
173 static int hf_h460_9_unspecified = -1; /* NULL */
174 static int hf_h460_9_disabled = -1; /* NULL */
175 static int hf_h460_9_enhanced = -1; /* NULL */
176 static int hf_h460_9_standard = -1; /* NULL */
177 static int hf_h460_9_jitterBufferType = -1; /* JitterBufferTypes */
178 static int hf_h460_9_jitterBufferAdaptRate = -1; /* INTEGER_0_15 */
179 static int hf_h460_9_jitterBufferNominalSize = -1; /* INTEGER_0_65535 */
180 static int hf_h460_9_jitterBufferMaxSize = -1; /* INTEGER_0_65535 */
181 static int hf_h460_9_jitterBufferAbsoluteMax = -1; /* INTEGER_0_65535 */
182 static int hf_h460_9_unknown = -1; /* NULL */
183 static int hf_h460_9_reserved = -1; /* NULL */
184 static int hf_h460_9_nonadaptive = -1; /* NULL */
185 static int hf_h460_9_adaptive = -1; /* NULL */
187 /* --- Module CALL-PARTY-CATEGORY --- --- --- */
189 static int hf_h460_10_h460_10_CallPartyCategoryInfo_PDU = -1; /* CallPartyCategoryInfo */
190 static int hf_h460_10_callPartyCategory = -1; /* CallPartyCategory */
191 static int hf_h460_10_originatingLineInfo = -1; /* OriginatingLineInfo */
193 /* --- Module MLPP --- --- --- */
195 static int hf_h460_14_h460_14_MLPPInfo_PDU = -1; /* MLPPInfo */
196 static int hf_h460_14_precedence = -1; /* MlppPrecedence */
197 static int hf_h460_14_mlppReason = -1; /* MlppReason */
198 static int hf_h460_14_mlppNotification = -1; /* MlppNotification */
199 static int hf_h460_14_alternateParty = -1; /* AlternateParty */
200 static int hf_h460_14_releaseCall = -1; /* ReleaseCall */
201 static int hf_h460_14_preemptionPending = -1; /* NULL */
202 static int hf_h460_14_preemptionInProgress = -1; /* NULL */
203 static int hf_h460_14_preemptionEnd = -1; /* NULL */
204 static int hf_h460_14_preemptionComplete = -1; /* NULL */
205 static int hf_h460_14_altID = -1; /* AliasAddress */
206 static int hf_h460_14_altTimer = -1; /* INTEGER_0_255 */
207 static int hf_h460_14_preemptCallID = -1; /* CallIdentifier */
208 static int hf_h460_14_releaseReason = -1; /* MlppReason */
209 static int hf_h460_14_releaseDelay = -1; /* INTEGER_0_255 */
211 /* --- Module SIGNALLING-CHANNEL-SUSPEND-REDIRECT --- --- --- */
213 static int hf_h460_15_h460_15_SignallingChannelData_PDU = -1; /* SignallingChannelData */
214 static int hf_h460_15_signallingChannelData = -1; /* T_signallingChannelData */
215 static int hf_h460_15_channelSuspendRequest = -1; /* ChannelSuspendRequest */
216 static int hf_h460_15_channelSuspendResponse = -1; /* ChannelSuspendResponse */
217 static int hf_h460_15_channelSuspendConfirm = -1; /* ChannelSuspendConfirm */
218 static int hf_h460_15_channelSuspendCancel = -1; /* ChannelSuspendCancel */
219 static int hf_h460_15_channelResumeRequest = -1; /* ChannelResumeRequest */
220 static int hf_h460_15_channelResumeResponse = -1; /* ChannelResumeResponse */
221 static int hf_h460_15_channelResumeAddress = -1; /* SEQUENCE_OF_TransportAddress */
222 static int hf_h460_15_channelResumeAddress_item = -1; /* TransportAddress */
223 static int hf_h460_15_immediateResume = -1; /* BOOLEAN */
224 static int hf_h460_15_resetH245 = -1; /* NULL */
225 static int hf_h460_15_okToSuspend = -1; /* BOOLEAN */
226 static int hf_h460_15_randomNumber = -1; /* INTEGER_0_4294967295 */
228 /* --- Module SIGNALLING-TRAVERSAL --- --- --- */
230 static int hf_h460_18_h460_18_IncomingCallIndication_PDU = -1; /* IncomingCallIndication */
231 static int hf_h460_18_h460_18_LRQKeepAliveData_PDU = -1; /* LRQKeepAliveData */
232 static int hf_h460_18_callSignallingAddress = -1; /* TransportAddress */
233 static int hf_h460_18_callID = -1; /* CallIdentifier */
234 static int hf_h460_18_lrqKeepAliveInterval = -1; /* TimeToLive */
236 /* --- Module MEDIA-TRAVERSAL --- --- --- */
238 static int hf_h460_19_h460_19_TraversalParameters_PDU = -1; /* TraversalParameters */
239 static int hf_h460_19_multiplexedMediaChannel = -1; /* TransportAddress */
240 static int hf_h460_19_multiplexedMediaControlChannel = -1; /* TransportAddress */
241 static int hf_h460_19_multiplexID = -1; /* INTEGER_0_4294967295 */
242 static int hf_h460_19_keepAliveChannel = -1; /* TransportAddress */
243 static int hf_h460_19_keepAlivePayloadType = -1; /* INTEGER_0_127 */
244 static int hf_h460_19_keepAliveInterval = -1; /* TimeToLive */
246 /* --- Module MESSAGE-BROADCAST --- --- --- */
248 static int hf_h460_21_h460_21_CapabilityAdvertisement_PDU = -1; /* CapabilityAdvertisement */
249 static int hf_h460_21_receiveCapabilities = -1; /* ReceiveCapabilities */
250 static int hf_h460_21_transmitCapabilities = -1; /* SEQUENCE_SIZE_1_256_OF_TransmitCapabilities */
251 static int hf_h460_21_transmitCapabilities_item = -1; /* TransmitCapabilities */
252 static int hf_h460_21_capabilities = -1; /* SEQUENCE_SIZE_1_256_OF_Capability */
253 static int hf_h460_21_capabilities_item = -1; /* Capability */
254 static int hf_h460_21_maxGroups = -1; /* INTEGER_1_65535 */
255 static int hf_h460_21_groupIdentifer = -1; /* GloballyUniqueID */
256 static int hf_h460_21_capability = -1; /* Capability */
257 static int hf_h460_21_sourceAddress = -1; /* UnicastAddress */
259 /*--- End of included file: packet-h460-hf.c ---*/
260 #line 48 "../../asn1/h460/packet-h460-template.c"
262 /* Initialize the subtree pointers */
264 /*--- Included file: packet-h460-ett.c ---*/
265 #line 1 "../../asn1/h460/packet-h460-ett.c"
267 /* --- Module NUMBER-PORTABILITY --- --- --- */
269 static gint ett_h460_2_NumberPortabilityInfo = -1;
270 static gint ett_h460_2_T_nUMBERPORTABILITYDATA = -1;
271 static gint ett_h460_2_NumberPortabilityRejectReason = -1;
272 static gint ett_h460_2_PortabilityAddress = -1;
273 static gint ett_h460_2_NumberPortabilityTypeOfNumber = -1;
274 static gint ett_h460_2_PortabilityTypeOfNumber = -1;
275 static gint ett_h460_2_RegionalParameters = -1;
277 /* --- Module CIRCUIT-STATUS-MAP --- --- --- */
279 static gint ett_h460_3_CircuitStatus = -1;
280 static gint ett_h460_3_SEQUENCE_OF_CircuitStatusMap = -1;
281 static gint ett_h460_3_CircuitStatusMap = -1;
282 static gint ett_h460_3_CircuitStatusType = -1;
284 /* --- Module CALL-PRIORITY --- --- --- */
286 static gint ett_h460_4_CallPriorityInfo = -1;
287 static gint ett_h460_4_T_priorityValue = -1;
288 static gint ett_h460_4_SEQUENCE_OF_ClearToken = -1;
289 static gint ett_h460_4_SEQUENCE_OF_CryptoToken = -1;
290 static gint ett_h460_4_T_rejectReason = -1;
291 static gint ett_h460_4_CountryInternationalNetworkCallOriginationIdentification = -1;
292 static gint ett_h460_4_T_numberingPlan = -1;
293 static gint ett_h460_4_T_x121 = -1;
294 static gint ett_h460_4_T_e164 = -1;
296 /* --- Modules QOS-MONITORING-REPORT QOS-MONITORING-EXTENDED-VOIP-REPORT --- --- --- */
298 static gint ett_h460_9_Extension = -1;
299 static gint ett_h460_9_RTCPMeasures = -1;
300 static gint ett_h460_9_T_mediaSenderMeasures = -1;
301 static gint ett_h460_9_T_mediaReceiverMeasures = -1;
302 static gint ett_h460_9_SEQUENCE_OF_Extension = -1;
303 static gint ett_h460_9_PerCallQoSReport = -1;
304 static gint ett_h460_9_SEQUENCE_OF_RTCPMeasures = -1;
305 static gint ett_h460_9_QosMonitoringReportData = -1;
306 static gint ett_h460_9_PeriodicQoSMonReport = -1;
307 static gint ett_h460_9_SEQUENCE_OF_PerCallQoSReport = -1;
308 static gint ett_h460_9_FinalQosMonReport = -1;
309 static gint ett_h460_9_InterGKQosMonReport = -1;
310 static gint ett_h460_9_ExtendedRTPMetrics = -1;
311 static gint ett_h460_9_BurstMetrics = -1;
312 static gint ett_h460_9_PLCtypes = -1;
313 static gint ett_h460_9_JitterBufferParms = -1;
314 static gint ett_h460_9_JitterBufferTypes = -1;
316 /* --- Module CALL-PARTY-CATEGORY --- --- --- */
318 static gint ett_h460_10_CallPartyCategoryInfo = -1;
320 /* --- Module MLPP --- --- --- */
322 static gint ett_h460_14_MLPPInfo = -1;
323 static gint ett_h460_14_MlppNotification = -1;
324 static gint ett_h460_14_AlternateParty = -1;
325 static gint ett_h460_14_ReleaseCall = -1;
327 /* --- Module SIGNALLING-CHANNEL-SUSPEND-REDIRECT --- --- --- */
329 static gint ett_h460_15_SignallingChannelData = -1;
330 static gint ett_h460_15_T_signallingChannelData = -1;
331 static gint ett_h460_15_ChannelSuspendRequest = -1;
332 static gint ett_h460_15_SEQUENCE_OF_TransportAddress = -1;
333 static gint ett_h460_15_ChannelSuspendResponse = -1;
334 static gint ett_h460_15_ChannelSuspendConfirm = -1;
335 static gint ett_h460_15_ChannelSuspendCancel = -1;
336 static gint ett_h460_15_ChannelResumeRequest = -1;
337 static gint ett_h460_15_ChannelResumeResponse = -1;
339 /* --- Module SIGNALLING-TRAVERSAL --- --- --- */
341 static gint ett_h460_18_IncomingCallIndication = -1;
342 static gint ett_h460_18_LRQKeepAliveData = -1;
344 /* --- Module MEDIA-TRAVERSAL --- --- --- */
346 static gint ett_h460_19_TraversalParameters = -1;
348 /* --- Module MESSAGE-BROADCAST --- --- --- */
350 static gint ett_h460_21_CapabilityAdvertisement = -1;
351 static gint ett_h460_21_SEQUENCE_SIZE_1_256_OF_TransmitCapabilities = -1;
352 static gint ett_h460_21_ReceiveCapabilities = -1;
353 static gint ett_h460_21_SEQUENCE_SIZE_1_256_OF_Capability = -1;
354 static gint ett_h460_21_TransmitCapabilities = -1;
356 /*--- End of included file: packet-h460-ett.c ---*/
357 #line 51 "../../asn1/h460/packet-h460-template.c"
360 static dissector_handle_t q931_ie_handle = NULL;
361 static dissector_handle_t h225_ras_handle = NULL;
364 /*--- Included file: packet-h460-fn.c ---*/
365 #line 1 "../../asn1/h460/packet-h460-fn.c"
367 /* --- Module NUMBER-PORTABILITY --- --- --- */
372 dissect_h460_2_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
373 offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
379 static const value_string h460_2_NumberPortabilityRejectReason_vals[] = {
380 { 0, "unspecified" },
381 { 1, "qorPortedNumber" },
385 static const per_choice_t h460_2_NumberPortabilityRejectReason_choice[] = {
386 { 0, &hf_h460_2_unspecified , ASN1_EXTENSION_ROOT , dissect_h460_2_NULL },
387 { 1, &hf_h460_2_qorPortedNumber, ASN1_EXTENSION_ROOT , dissect_h460_2_NULL },
392 dissect_h460_2_NumberPortabilityRejectReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
393 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
394 ett_h460_2_NumberPortabilityRejectReason, h460_2_NumberPortabilityRejectReason_choice,
401 static const value_string h460_2_PortabilityTypeOfNumber_vals[] = {
402 { 0, "portedNumber" },
403 { 1, "routingNumber" },
404 { 2, "concatenatedNumber" },
408 static const per_choice_t h460_2_PortabilityTypeOfNumber_choice[] = {
409 { 0, &hf_h460_2_portedNumber , ASN1_EXTENSION_ROOT , dissect_h460_2_NULL },
410 { 1, &hf_h460_2_routingNumber, ASN1_EXTENSION_ROOT , dissect_h460_2_NULL },
411 { 2, &hf_h460_2_concatenatedNumber, ASN1_EXTENSION_ROOT , dissect_h460_2_NULL },
416 dissect_h460_2_PortabilityTypeOfNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
417 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
418 ett_h460_2_PortabilityTypeOfNumber, h460_2_PortabilityTypeOfNumber_choice,
425 static const value_string h460_2_NumberPortabilityTypeOfNumber_vals[] = {
426 { 0, "publicTypeOfNumber" },
427 { 1, "privateTypeOfNumber" },
428 { 2, "portabilityTypeOfNumber" },
432 static const per_choice_t h460_2_NumberPortabilityTypeOfNumber_choice[] = {
433 { 0, &hf_h460_2_publicTypeOfNumber, ASN1_EXTENSION_ROOT , dissect_h225_PublicTypeOfNumber },
434 { 1, &hf_h460_2_privateTypeOfNumber, ASN1_EXTENSION_ROOT , dissect_h225_PrivateTypeOfNumber },
435 { 2, &hf_h460_2_portabilityTypeOfNumber, ASN1_EXTENSION_ROOT , dissect_h460_2_PortabilityTypeOfNumber },
440 dissect_h460_2_NumberPortabilityTypeOfNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
441 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
442 ett_h460_2_NumberPortabilityTypeOfNumber, h460_2_NumberPortabilityTypeOfNumber_choice,
449 static const per_sequence_t h460_2_PortabilityAddress_sequence[] = {
450 { &hf_h460_2_aliasAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_AliasAddress },
451 { &hf_h460_2_typeOfAddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_2_NumberPortabilityTypeOfNumber },
456 dissect_h460_2_PortabilityAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
457 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
458 ett_h460_2_PortabilityAddress, h460_2_PortabilityAddress_sequence);
466 dissect_h460_2_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
467 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
468 0U, 255U, NULL, FALSE);
476 dissect_h460_2_INTEGER_1_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
477 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
478 1U, 255U, NULL, FALSE);
486 dissect_h460_2_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
487 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
488 NO_BOUND, NO_BOUND, FALSE, NULL);
494 static const per_sequence_t h460_2_RegionalParameters_sequence[] = {
495 { &hf_h460_2_t35CountryCode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_2_INTEGER_0_255 },
496 { &hf_h460_2_t35Extension , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_2_INTEGER_0_255 },
497 { &hf_h460_2_variantIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_2_INTEGER_1_255 },
498 { &hf_h460_2_regionalData , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_2_OCTET_STRING },
503 dissect_h460_2_RegionalParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
504 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
505 ett_h460_2_RegionalParameters, h460_2_RegionalParameters_sequence);
511 static const per_sequence_t h460_2_T_nUMBERPORTABILITYDATA_sequence[] = {
512 { &hf_h460_2_addressTranslated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_2_NULL },
513 { &hf_h460_2_portedAddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_2_PortabilityAddress },
514 { &hf_h460_2_routingAddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_2_PortabilityAddress },
515 { &hf_h460_2_regionalParams, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_2_RegionalParameters },
520 dissect_h460_2_T_nUMBERPORTABILITYDATA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
521 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
522 ett_h460_2_T_nUMBERPORTABILITYDATA, h460_2_T_nUMBERPORTABILITYDATA_sequence);
528 static const value_string h460_2_NumberPortabilityInfo_vals[] = {
529 { 0, "numberPortabilityRejectReason" },
530 { 1, "nUMBERPORTABILITYDATA" },
534 static const per_choice_t h460_2_NumberPortabilityInfo_choice[] = {
535 { 0, &hf_h460_2_numberPortabilityRejectReason, ASN1_EXTENSION_ROOT , dissect_h460_2_NumberPortabilityRejectReason },
536 { 1, &hf_h460_2_nUMBERPORTABILITYDATA, ASN1_EXTENSION_ROOT , dissect_h460_2_T_nUMBERPORTABILITYDATA },
541 dissect_h460_2_NumberPortabilityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
542 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
543 ett_h460_2_NumberPortabilityInfo, h460_2_NumberPortabilityInfo_choice,
551 static int dissect_h460_2_NumberPortabilityInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
554 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
555 offset = dissect_h460_2_NumberPortabilityInfo(tvb, offset, &asn1_ctx, tree, hf_h460_2_h460_2_NumberPortabilityInfo_PDU);
556 offset += 7; offset >>= 3;
561 /* --- Module CIRCUIT-STATUS-MAP --- --- --- */
566 dissect_h460_3_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
567 offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
573 static const value_string h460_3_CircuitStatusType_vals[] = {
574 { 0, "serviceStatus" },
579 static const per_choice_t h460_3_CircuitStatusType_choice[] = {
580 { 0, &hf_h460_3_serviceStatus, ASN1_EXTENSION_ROOT , dissect_h460_3_NULL },
581 { 1, &hf_h460_3_busyStatus , ASN1_EXTENSION_ROOT , dissect_h460_3_NULL },
586 dissect_h460_3_CircuitStatusType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
587 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
588 ett_h460_3_CircuitStatusType, h460_3_CircuitStatusType_choice,
597 dissect_h460_3_INTEGER_0_4095(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
598 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
599 0U, 4095U, NULL, FALSE);
607 dissect_h460_3_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
608 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
609 NO_BOUND, NO_BOUND, FALSE, NULL);
615 static const per_sequence_t h460_3_CircuitStatusMap_sequence[] = {
616 { &hf_h460_3_statusType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_3_CircuitStatusType },
617 { &hf_h460_3_baseCircuitID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CircuitIdentifier },
618 { &hf_h460_3_range , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_3_INTEGER_0_4095 },
619 { &hf_h460_3_status , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_3_OCTET_STRING },
624 dissect_h460_3_CircuitStatusMap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
625 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
626 ett_h460_3_CircuitStatusMap, h460_3_CircuitStatusMap_sequence);
632 static const per_sequence_t h460_3_SEQUENCE_OF_CircuitStatusMap_sequence_of[1] = {
633 { &hf_h460_3_circuitStatusMap_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h460_3_CircuitStatusMap },
637 dissect_h460_3_SEQUENCE_OF_CircuitStatusMap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
638 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
639 ett_h460_3_SEQUENCE_OF_CircuitStatusMap, h460_3_SEQUENCE_OF_CircuitStatusMap_sequence_of);
645 static const per_sequence_t h460_3_CircuitStatus_sequence[] = {
646 { &hf_h460_3_circuitStatusMap, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_3_SEQUENCE_OF_CircuitStatusMap },
651 dissect_h460_3_CircuitStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
652 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
653 ett_h460_3_CircuitStatus, h460_3_CircuitStatus_sequence);
660 static int dissect_h460_3_CircuitStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
663 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
664 offset = dissect_h460_3_CircuitStatus(tvb, offset, &asn1_ctx, tree, hf_h460_3_h460_3_CircuitStatus_PDU);
665 offset += 7; offset >>= 3;
670 /* --- Module CALL-PRIORITY --- --- --- */
675 dissect_h460_4_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
676 offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
682 static const value_string h460_4_T_priorityValue_vals[] = {
683 { 0, "emergencyAuthorized" },
684 { 1, "emergencyPublic" },
690 static const per_choice_t h460_4_T_priorityValue_choice[] = {
691 { 0, &hf_h460_4_emergencyAuthorized, ASN1_EXTENSION_ROOT , dissect_h460_4_NULL },
692 { 1, &hf_h460_4_emergencyPublic, ASN1_EXTENSION_ROOT , dissect_h460_4_NULL },
693 { 2, &hf_h460_4_high , ASN1_EXTENSION_ROOT , dissect_h460_4_NULL },
694 { 3, &hf_h460_4_normal , ASN1_EXTENSION_ROOT , dissect_h460_4_NULL },
699 dissect_h460_4_T_priorityValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
700 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
701 ett_h460_4_T_priorityValue, h460_4_T_priorityValue_choice,
710 dissect_h460_4_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
711 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
712 0U, 255U, NULL, FALSE);
718 static const per_sequence_t h460_4_SEQUENCE_OF_ClearToken_sequence_of[1] = {
719 { &hf_h460_4_tokens_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h235_ClearToken },
723 dissect_h460_4_SEQUENCE_OF_ClearToken(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
724 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
725 ett_h460_4_SEQUENCE_OF_ClearToken, h460_4_SEQUENCE_OF_ClearToken_sequence_of);
731 static const per_sequence_t h460_4_SEQUENCE_OF_CryptoToken_sequence_of[1] = {
732 { &hf_h460_4_cryptoTokens_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h235_CryptoToken },
736 dissect_h460_4_SEQUENCE_OF_CryptoToken(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
737 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
738 ett_h460_4_SEQUENCE_OF_CryptoToken, h460_4_SEQUENCE_OF_CryptoToken_sequence_of);
744 static const value_string h460_4_T_rejectReason_vals[] = {
745 { 0, "priorityUnavailable" },
746 { 1, "priorityUnauthorized" },
747 { 2, "priorityValueUnknown" },
751 static const per_choice_t h460_4_T_rejectReason_choice[] = {
752 { 0, &hf_h460_4_priorityUnavailable, ASN1_EXTENSION_ROOT , dissect_h460_4_NULL },
753 { 1, &hf_h460_4_priorityUnauthorized, ASN1_EXTENSION_ROOT , dissect_h460_4_NULL },
754 { 2, &hf_h460_4_priorityValueUnknown, ASN1_EXTENSION_ROOT , dissect_h460_4_NULL },
759 dissect_h460_4_T_rejectReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
760 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
761 ett_h460_4_T_rejectReason, h460_4_T_rejectReason_choice,
768 static const per_sequence_t h460_4_CallPriorityInfo_sequence[] = {
769 { &hf_h460_4_priorityValue, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_4_T_priorityValue },
770 { &hf_h460_4_priorityExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_4_INTEGER_0_255 },
771 { &hf_h460_4_tokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_4_SEQUENCE_OF_ClearToken },
772 { &hf_h460_4_cryptoTokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_4_SEQUENCE_OF_CryptoToken },
773 { &hf_h460_4_rejectReason , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_4_T_rejectReason },
778 dissect_h460_4_CallPriorityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
779 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
780 ett_h460_4_CallPriorityInfo, h460_4_CallPriorityInfo_sequence);
788 dissect_h460_4_X121CountryCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
789 offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
790 3, 3, FALSE, "0123456789", 10,
797 static const per_sequence_t h460_4_T_x121_sequence[] = {
798 { &hf_h460_4_x121CountryCode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_4_X121CountryCode },
803 dissect_h460_4_T_x121(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
804 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
805 ett_h460_4_T_x121, h460_4_T_x121_sequence);
813 dissect_h460_4_E164CountryCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
814 offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
815 3, 3, FALSE, "0123456789", 10,
824 dissect_h460_4_T_identificationCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
825 offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
826 1, 4, FALSE, "0123456789", 10,
833 static const per_sequence_t h460_4_T_e164_sequence[] = {
834 { &hf_h460_4_e164CountryCode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_4_E164CountryCode },
835 { &hf_h460_4_identificationCode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_4_T_identificationCode },
840 dissect_h460_4_T_e164(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
841 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
842 ett_h460_4_T_e164, h460_4_T_e164_sequence);
848 static const value_string h460_4_T_numberingPlan_vals[] = {
854 static const per_choice_t h460_4_T_numberingPlan_choice[] = {
855 { 0, &hf_h460_4_x121 , ASN1_EXTENSION_ROOT , dissect_h460_4_T_x121 },
856 { 1, &hf_h460_4_e164 , ASN1_EXTENSION_ROOT , dissect_h460_4_T_e164 },
861 dissect_h460_4_T_numberingPlan(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
862 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
863 ett_h460_4_T_numberingPlan, h460_4_T_numberingPlan_choice,
870 static const per_sequence_t h460_4_CountryInternationalNetworkCallOriginationIdentification_sequence[] = {
871 { &hf_h460_4_numberingPlan, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_4_T_numberingPlan },
876 dissect_h460_4_CountryInternationalNetworkCallOriginationIdentification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
877 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
878 ett_h460_4_CountryInternationalNetworkCallOriginationIdentification, h460_4_CountryInternationalNetworkCallOriginationIdentification_sequence);
885 static int dissect_h460_4_CallPriorityInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
888 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
889 offset = dissect_h460_4_CallPriorityInfo(tvb, offset, &asn1_ctx, tree, hf_h460_4_h460_4_CallPriorityInfo_PDU);
890 offset += 7; offset >>= 3;
893 static int dissect_h460_4_CountryInternationalNetworkCallOriginationIdentification_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
896 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
897 offset = dissect_h460_4_CountryInternationalNetworkCallOriginationIdentification(tvb, offset, &asn1_ctx, tree, hf_h460_4_h460_4_CountryInternationalNetworkCallOriginationIdentification_PDU);
898 offset += 7; offset >>= 3;
903 /* --- Modules QOS-MONITORING-REPORT QOS-MONITORING-EXTENDED-VOIP-REPORT --- --- --- */
908 dissect_h460_9_EstimatedEnd2EndDelay(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
909 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
910 0U, 4294967295U, NULL, FALSE);
918 dissect_h460_9_CalculatedJitter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
919 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
920 0U, 4294967295U, NULL, FALSE);
928 dissect_h460_9_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
929 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
930 NO_BOUND, NO_BOUND, FALSE, NULL);
936 static const per_sequence_t h460_9_Extension_sequence[] = {
937 { &hf_h460_9_extensionId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_GenericIdentifier },
938 { &hf_h460_9_extensionContent, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_OCTET_STRING },
943 dissect_h460_9_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
944 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
945 ett_h460_9_Extension, h460_9_Extension_sequence);
953 dissect_h460_9_INTEGER_1_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
954 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
955 1U, 255U, NULL, FALSE);
961 static const per_sequence_t h460_9_T_mediaSenderMeasures_sequence[] = {
962 { &hf_h460_9_worstEstimatedEnd2EndDelay, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_EstimatedEnd2EndDelay },
963 { &hf_h460_9_meanEstimatedEnd2EndDelay, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_EstimatedEnd2EndDelay },
968 dissect_h460_9_T_mediaSenderMeasures(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
969 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
970 ett_h460_9_T_mediaSenderMeasures, h460_9_T_mediaSenderMeasures_sequence);
978 dissect_h460_9_INTEGER_0_4294967295(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
979 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
980 0U, 4294967295U, NULL, FALSE);
988 dissect_h460_9_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
989 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
990 0U, 65535U, NULL, FALSE);
996 static const per_sequence_t h460_9_T_mediaReceiverMeasures_sequence[] = {
997 { &hf_h460_9_cumulativeNumberOfPacketsLost, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_0_4294967295 },
998 { &hf_h460_9_packetLostRate, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_0_65535 },
999 { &hf_h460_9_worstJitter , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_CalculatedJitter },
1000 { &hf_h460_9_estimatedThroughput, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_BandWidth },
1001 { &hf_h460_9_fractionLostRate, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_0_65535 },
1002 { &hf_h460_9_meanJitter , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_CalculatedJitter },
1003 { NULL, 0, 0, NULL }
1007 dissect_h460_9_T_mediaReceiverMeasures(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1008 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1009 ett_h460_9_T_mediaReceiverMeasures, h460_9_T_mediaReceiverMeasures_sequence);
1015 static const per_sequence_t h460_9_SEQUENCE_OF_Extension_sequence_of[1] = {
1016 { &hf_h460_9_extensions_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h460_9_Extension },
1020 dissect_h460_9_SEQUENCE_OF_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1021 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
1022 ett_h460_9_SEQUENCE_OF_Extension, h460_9_SEQUENCE_OF_Extension_sequence_of);
1028 static const per_sequence_t h460_9_RTCPMeasures_sequence[] = {
1029 { &hf_h460_9_rtpAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_TransportChannelInfo },
1030 { &hf_h460_9_rtcpAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_TransportChannelInfo },
1031 { &hf_h460_9_sessionId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_9_INTEGER_1_255 },
1032 { &hf_h460_9_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
1033 { &hf_h460_9_mediaSenderMeasures, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_T_mediaSenderMeasures },
1034 { &hf_h460_9_mediaReceiverMeasures, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_T_mediaReceiverMeasures },
1035 { &hf_h460_9_extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_SEQUENCE_OF_Extension },
1036 { NULL, 0, 0, NULL }
1040 dissect_h460_9_RTCPMeasures(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1041 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1042 ett_h460_9_RTCPMeasures, h460_9_RTCPMeasures_sequence);
1048 static const per_sequence_t h460_9_SEQUENCE_OF_RTCPMeasures_sequence_of[1] = {
1049 { &hf_h460_9_mediaChannelsQoS_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h460_9_RTCPMeasures },
1053 dissect_h460_9_SEQUENCE_OF_RTCPMeasures(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1054 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
1055 ett_h460_9_SEQUENCE_OF_RTCPMeasures, h460_9_SEQUENCE_OF_RTCPMeasures_sequence_of);
1061 static const per_sequence_t h460_9_PerCallQoSReport_sequence[] = {
1062 { &hf_h460_9_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
1063 { &hf_h460_9_callReferenceValue, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallReferenceValue },
1064 { &hf_h460_9_conferenceID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ConferenceIdentifier },
1065 { &hf_h460_9_callIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
1066 { &hf_h460_9_mediaChannelsQoS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_SEQUENCE_OF_RTCPMeasures },
1067 { &hf_h460_9_extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_SEQUENCE_OF_Extension },
1068 { NULL, 0, 0, NULL }
1072 dissect_h460_9_PerCallQoSReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1073 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1074 ett_h460_9_PerCallQoSReport, h460_9_PerCallQoSReport_sequence);
1080 static const per_sequence_t h460_9_SEQUENCE_OF_PerCallQoSReport_sequence_of[1] = {
1081 { &hf_h460_9_perCallInfo_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h460_9_PerCallQoSReport },
1085 dissect_h460_9_SEQUENCE_OF_PerCallQoSReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1086 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
1087 ett_h460_9_SEQUENCE_OF_PerCallQoSReport, h460_9_SEQUENCE_OF_PerCallQoSReport_sequence_of);
1093 static const per_sequence_t h460_9_PeriodicQoSMonReport_sequence[] = {
1094 { &hf_h460_9_perCallInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_9_SEQUENCE_OF_PerCallQoSReport },
1095 { &hf_h460_9_extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_SEQUENCE_OF_Extension },
1096 { NULL, 0, 0, NULL }
1100 dissect_h460_9_PeriodicQoSMonReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1101 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1102 ett_h460_9_PeriodicQoSMonReport, h460_9_PeriodicQoSMonReport_sequence);
1108 static const per_sequence_t h460_9_FinalQosMonReport_sequence[] = {
1109 { &hf_h460_9_mediaInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_9_SEQUENCE_OF_RTCPMeasures },
1110 { &hf_h460_9_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
1111 { &hf_h460_9_extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_SEQUENCE_OF_Extension },
1112 { NULL, 0, 0, NULL }
1116 dissect_h460_9_FinalQosMonReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1117 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1118 ett_h460_9_FinalQosMonReport, h460_9_FinalQosMonReport_sequence);
1124 static const per_sequence_t h460_9_InterGKQosMonReport_sequence[] = {
1125 { &hf_h460_9_mediaInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_9_SEQUENCE_OF_RTCPMeasures },
1126 { &hf_h460_9_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
1127 { &hf_h460_9_extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_SEQUENCE_OF_Extension },
1128 { NULL, 0, 0, NULL }
1132 dissect_h460_9_InterGKQosMonReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1133 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1134 ett_h460_9_InterGKQosMonReport, h460_9_InterGKQosMonReport_sequence);
1140 static const value_string h460_9_QosMonitoringReportData_vals[] = {
1147 static const per_choice_t h460_9_QosMonitoringReportData_choice[] = {
1148 { 0, &hf_h460_9_periodic , ASN1_EXTENSION_ROOT , dissect_h460_9_PeriodicQoSMonReport },
1149 { 1, &hf_h460_9_final , ASN1_EXTENSION_ROOT , dissect_h460_9_FinalQosMonReport },
1150 { 2, &hf_h460_9_interGK , ASN1_EXTENSION_ROOT , dissect_h460_9_InterGKQosMonReport },
1151 { 0, NULL, 0, NULL }
1155 dissect_h460_9_QosMonitoringReportData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1156 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1157 ett_h460_9_QosMonitoringReportData, h460_9_QosMonitoringReportData_choice,
1166 dissect_h460_9_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1167 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1168 0U, 255U, NULL, FALSE);
1174 static const per_sequence_t h460_9_BurstMetrics_sequence[] = {
1175 { &hf_h460_9_gmin , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_0_255 },
1176 { &hf_h460_9_burstLossDensity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_0_255 },
1177 { &hf_h460_9_gapLossDensity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_0_255 },
1178 { &hf_h460_9_burstDuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_0_65535 },
1179 { &hf_h460_9_gapDuration , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_0_65535 },
1180 { NULL, 0, 0, NULL }
1184 dissect_h460_9_BurstMetrics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1185 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1186 ett_h460_9_BurstMetrics, h460_9_BurstMetrics_sequence);
1194 dissect_h460_9_INTEGER_M127_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1195 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1196 -127, 10U, NULL, FALSE);
1204 dissect_h460_9_INTEGER_M127_0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1205 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1206 -127, 0U, NULL, FALSE);
1214 dissect_h460_9_INTEGER_0_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1215 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1216 0U, 127U, NULL, FALSE);
1224 dissect_h460_9_INTEGER_0_100(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1225 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1226 0U, 100U, NULL, FALSE);
1234 dissect_h460_9_INTEGER_10_50(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1235 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1236 10U, 50U, NULL, FALSE);
1244 dissect_h460_9_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1245 offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
1251 static const value_string h460_9_PLCtypes_vals[] = {
1252 { 0, "unspecified" },
1259 static const per_choice_t h460_9_PLCtypes_choice[] = {
1260 { 0, &hf_h460_9_unspecified , ASN1_EXTENSION_ROOT , dissect_h460_9_NULL },
1261 { 1, &hf_h460_9_disabled , ASN1_EXTENSION_ROOT , dissect_h460_9_NULL },
1262 { 2, &hf_h460_9_enhanced , ASN1_EXTENSION_ROOT , dissect_h460_9_NULL },
1263 { 3, &hf_h460_9_standard , ASN1_EXTENSION_ROOT , dissect_h460_9_NULL },
1264 { 0, NULL, 0, NULL }
1268 dissect_h460_9_PLCtypes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1269 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1270 ett_h460_9_PLCtypes, h460_9_PLCtypes_choice,
1277 static const value_string h460_9_JitterBufferTypes_vals[] = {
1280 { 2, "nonadaptive" },
1285 static const per_choice_t h460_9_JitterBufferTypes_choice[] = {
1286 { 0, &hf_h460_9_unknown , ASN1_EXTENSION_ROOT , dissect_h460_9_NULL },
1287 { 1, &hf_h460_9_reserved , ASN1_EXTENSION_ROOT , dissect_h460_9_NULL },
1288 { 2, &hf_h460_9_nonadaptive , ASN1_EXTENSION_ROOT , dissect_h460_9_NULL },
1289 { 3, &hf_h460_9_adaptive , ASN1_EXTENSION_ROOT , dissect_h460_9_NULL },
1290 { 0, NULL, 0, NULL }
1294 dissect_h460_9_JitterBufferTypes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1295 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1296 ett_h460_9_JitterBufferTypes, h460_9_JitterBufferTypes_choice,
1305 dissect_h460_9_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1306 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1307 0U, 15U, NULL, FALSE);
1313 static const per_sequence_t h460_9_JitterBufferParms_sequence[] = {
1314 { &hf_h460_9_jitterBufferType, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_JitterBufferTypes },
1315 { &hf_h460_9_jitterBufferAdaptRate, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_0_15 },
1316 { &hf_h460_9_jitterBufferNominalSize, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_0_65535 },
1317 { &hf_h460_9_jitterBufferMaxSize, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_0_65535 },
1318 { &hf_h460_9_jitterBufferAbsoluteMax, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_0_65535 },
1319 { NULL, 0, 0, NULL }
1323 dissect_h460_9_JitterBufferParms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1324 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1325 ett_h460_9_JitterBufferParms, h460_9_JitterBufferParms_sequence);
1331 static const per_sequence_t h460_9_ExtendedRTPMetrics_sequence[] = {
1332 { &hf_h460_9_networkPacketLossRate, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_0_255 },
1333 { &hf_h460_9_jitterBufferDiscardRate, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_0_255 },
1334 { &hf_h460_9_burstMetrics , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_BurstMetrics },
1335 { &hf_h460_9_rtcpRoundTripDelay, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_0_65535 },
1336 { &hf_h460_9_endSystemDelay, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_0_65535 },
1337 { &hf_h460_9_signalLevel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_M127_10 },
1338 { &hf_h460_9_noiseLevel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_M127_0 },
1339 { &hf_h460_9_residualEchoReturnLoss, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_0_127 },
1340 { &hf_h460_9_rFactor , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_0_100 },
1341 { &hf_h460_9_extRFactor , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_0_100 },
1342 { &hf_h460_9_estimatedMOSLQ, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_10_50 },
1343 { &hf_h460_9_estimatedMOSCQ, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_INTEGER_10_50 },
1344 { &hf_h460_9_plcType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_PLCtypes },
1345 { &hf_h460_9_jitterBufferParms, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_9_JitterBufferParms },
1346 { NULL, 0, 0, NULL }
1350 dissect_h460_9_ExtendedRTPMetrics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1351 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1352 ett_h460_9_ExtendedRTPMetrics, h460_9_ExtendedRTPMetrics_sequence);
1359 static int dissect_h460_9_QosMonitoringReportData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1361 asn1_ctx_t asn1_ctx;
1362 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
1363 offset = dissect_h460_9_QosMonitoringReportData(tvb, offset, &asn1_ctx, tree, hf_h460_9_h460_9_QosMonitoringReportData_PDU);
1364 offset += 7; offset >>= 3;
1367 static int dissect_h460_9_ExtendedRTPMetrics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1369 asn1_ctx_t asn1_ctx;
1370 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
1371 offset = dissect_h460_9_ExtendedRTPMetrics(tvb, offset, &asn1_ctx, tree, hf_h460_9_h460_9_ExtendedRTPMetrics_PDU);
1372 offset += 7; offset >>= 3;
1377 /* --- Module CALL-PARTY-CATEGORY --- --- --- */
1382 dissect_h460_10_CallPartyCategory(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1383 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1384 0U, 255U, NULL, FALSE);
1392 dissect_h460_10_OriginatingLineInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1393 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1394 0U, 255U, NULL, FALSE);
1400 static const per_sequence_t h460_10_CallPartyCategoryInfo_sequence[] = {
1401 { &hf_h460_10_callPartyCategory, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_10_CallPartyCategory },
1402 { &hf_h460_10_originatingLineInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_10_OriginatingLineInfo },
1403 { NULL, 0, 0, NULL }
1407 dissect_h460_10_CallPartyCategoryInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1408 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1409 ett_h460_10_CallPartyCategoryInfo, h460_10_CallPartyCategoryInfo_sequence);
1416 static int dissect_h460_10_CallPartyCategoryInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1418 asn1_ctx_t asn1_ctx;
1419 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
1420 offset = dissect_h460_10_CallPartyCategoryInfo(tvb, offset, &asn1_ctx, tree, hf_h460_10_h460_10_CallPartyCategoryInfo_PDU);
1421 offset += 7; offset >>= 3;
1426 /* --- Module MLPP --- --- --- */
1429 static const value_string h460_14_MlppPrecedence_vals[] = {
1430 { 0, "flashOveride" },
1440 dissect_h460_14_MlppPrecedence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1441 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1442 5, NULL, TRUE, 0, NULL);
1448 static const value_string h460_14_MlppReason_vals[] = {
1449 { 8, "preemptionNoReservation" },
1450 { 9, "preemptionReservation" },
1451 { 46, "callBlocked" },
1455 static guint32 h460_14_MlppReason_value_map[3+0] = {8, 9, 46};
1458 dissect_h460_14_MlppReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1459 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1460 3, NULL, TRUE, 0, h460_14_MlppReason_value_map);
1468 dissect_h460_14_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1469 offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
1475 static const value_string h460_14_MlppNotification_vals[] = {
1476 { 0, "preemptionPending" },
1477 { 1, "preemptionInProgress" },
1478 { 2, "preemptionEnd" },
1479 { 3, "preemptionComplete" },
1483 static const per_choice_t h460_14_MlppNotification_choice[] = {
1484 { 0, &hf_h460_14_preemptionPending, ASN1_EXTENSION_ROOT , dissect_h460_14_NULL },
1485 { 1, &hf_h460_14_preemptionInProgress, ASN1_EXTENSION_ROOT , dissect_h460_14_NULL },
1486 { 2, &hf_h460_14_preemptionEnd, ASN1_EXTENSION_ROOT , dissect_h460_14_NULL },
1487 { 3, &hf_h460_14_preemptionComplete, ASN1_EXTENSION_ROOT , dissect_h460_14_NULL },
1488 { 0, NULL, 0, NULL }
1492 dissect_h460_14_MlppNotification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1493 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1494 ett_h460_14_MlppNotification, h460_14_MlppNotification_choice,
1503 dissect_h460_14_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1504 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1505 0U, 255U, NULL, FALSE);
1511 static const per_sequence_t h460_14_AlternateParty_sequence[] = {
1512 { &hf_h460_14_altID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_AliasAddress },
1513 { &hf_h460_14_altTimer , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_14_INTEGER_0_255 },
1514 { NULL, 0, 0, NULL }
1518 dissect_h460_14_AlternateParty(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1519 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1520 ett_h460_14_AlternateParty, h460_14_AlternateParty_sequence);
1526 static const per_sequence_t h460_14_ReleaseCall_sequence[] = {
1527 { &hf_h460_14_preemptCallID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
1528 { &hf_h460_14_releaseReason, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_14_MlppReason },
1529 { &hf_h460_14_releaseDelay, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_14_INTEGER_0_255 },
1530 { NULL, 0, 0, NULL }
1534 dissect_h460_14_ReleaseCall(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1535 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1536 ett_h460_14_ReleaseCall, h460_14_ReleaseCall_sequence);
1542 static const per_sequence_t h460_14_MLPPInfo_sequence[] = {
1543 { &hf_h460_14_precedence , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_14_MlppPrecedence },
1544 { &hf_h460_14_mlppReason , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_14_MlppReason },
1545 { &hf_h460_14_mlppNotification, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_14_MlppNotification },
1546 { &hf_h460_14_alternateParty, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_14_AlternateParty },
1547 { &hf_h460_14_releaseCall , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_14_ReleaseCall },
1548 { NULL, 0, 0, NULL }
1552 dissect_h460_14_MLPPInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1553 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1554 ett_h460_14_MLPPInfo, h460_14_MLPPInfo_sequence);
1561 static int dissect_h460_14_MLPPInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1563 asn1_ctx_t asn1_ctx;
1564 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
1565 offset = dissect_h460_14_MLPPInfo(tvb, offset, &asn1_ctx, tree, hf_h460_14_h460_14_MLPPInfo_PDU);
1566 offset += 7; offset >>= 3;
1571 /* --- Module SIGNALLING-CHANNEL-SUSPEND-REDIRECT --- --- --- */
1574 static const per_sequence_t h460_15_SEQUENCE_OF_TransportAddress_sequence_of[1] = {
1575 { &hf_h460_15_channelResumeAddress_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_TransportAddress },
1579 dissect_h460_15_SEQUENCE_OF_TransportAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1580 offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
1581 ett_h460_15_SEQUENCE_OF_TransportAddress, h460_15_SEQUENCE_OF_TransportAddress_sequence_of);
1589 dissect_h460_15_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1590 offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
1598 dissect_h460_15_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1599 offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
1605 static const per_sequence_t h460_15_ChannelSuspendRequest_sequence[] = {
1606 { &hf_h460_15_channelResumeAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_15_SEQUENCE_OF_TransportAddress },
1607 { &hf_h460_15_immediateResume, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_15_BOOLEAN },
1608 { &hf_h460_15_resetH245 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_15_NULL },
1609 { NULL, 0, 0, NULL }
1613 dissect_h460_15_ChannelSuspendRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1614 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1615 ett_h460_15_ChannelSuspendRequest, h460_15_ChannelSuspendRequest_sequence);
1621 static const per_sequence_t h460_15_ChannelSuspendResponse_sequence[] = {
1622 { &hf_h460_15_okToSuspend , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_15_BOOLEAN },
1623 { &hf_h460_15_channelResumeAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_15_SEQUENCE_OF_TransportAddress },
1624 { NULL, 0, 0, NULL }
1628 dissect_h460_15_ChannelSuspendResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1629 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1630 ett_h460_15_ChannelSuspendResponse, h460_15_ChannelSuspendResponse_sequence);
1636 static const per_sequence_t h460_15_ChannelSuspendConfirm_sequence[] = {
1637 { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
1641 dissect_h460_15_ChannelSuspendConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1642 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1643 ett_h460_15_ChannelSuspendConfirm, h460_15_ChannelSuspendConfirm_sequence);
1649 static const per_sequence_t h460_15_ChannelSuspendCancel_sequence[] = {
1650 { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
1654 dissect_h460_15_ChannelSuspendCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1655 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1656 ett_h460_15_ChannelSuspendCancel, h460_15_ChannelSuspendCancel_sequence);
1664 dissect_h460_15_INTEGER_0_4294967295(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1665 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1666 0U, 4294967295U, NULL, FALSE);
1672 static const per_sequence_t h460_15_ChannelResumeRequest_sequence[] = {
1673 { &hf_h460_15_randomNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_15_INTEGER_0_4294967295 },
1674 { &hf_h460_15_resetH245 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_15_NULL },
1675 { NULL, 0, 0, NULL }
1679 dissect_h460_15_ChannelResumeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1680 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1681 ett_h460_15_ChannelResumeRequest, h460_15_ChannelResumeRequest_sequence);
1687 static const per_sequence_t h460_15_ChannelResumeResponse_sequence[] = {
1688 { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
1692 dissect_h460_15_ChannelResumeResponse(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_h460_15_ChannelResumeResponse, h460_15_ChannelResumeResponse_sequence);
1700 static const value_string h460_15_T_signallingChannelData_vals[] = {
1701 { 0, "channelSuspendRequest" },
1702 { 1, "channelSuspendResponse" },
1703 { 2, "channelSuspendConfirm" },
1704 { 3, "channelSuspendCancel" },
1705 { 4, "channelResumeRequest" },
1706 { 5, "channelResumeResponse" },
1710 static const per_choice_t h460_15_T_signallingChannelData_choice[] = {
1711 { 0, &hf_h460_15_channelSuspendRequest, ASN1_EXTENSION_ROOT , dissect_h460_15_ChannelSuspendRequest },
1712 { 1, &hf_h460_15_channelSuspendResponse, ASN1_EXTENSION_ROOT , dissect_h460_15_ChannelSuspendResponse },
1713 { 2, &hf_h460_15_channelSuspendConfirm, ASN1_EXTENSION_ROOT , dissect_h460_15_ChannelSuspendConfirm },
1714 { 3, &hf_h460_15_channelSuspendCancel, ASN1_EXTENSION_ROOT , dissect_h460_15_ChannelSuspendCancel },
1715 { 4, &hf_h460_15_channelResumeRequest, ASN1_EXTENSION_ROOT , dissect_h460_15_ChannelResumeRequest },
1716 { 5, &hf_h460_15_channelResumeResponse, ASN1_EXTENSION_ROOT , dissect_h460_15_ChannelResumeResponse },
1717 { 0, NULL, 0, NULL }
1721 dissect_h460_15_T_signallingChannelData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1722 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1723 ett_h460_15_T_signallingChannelData, h460_15_T_signallingChannelData_choice,
1730 static const per_sequence_t h460_15_SignallingChannelData_sequence[] = {
1731 { &hf_h460_15_signallingChannelData, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_15_T_signallingChannelData },
1732 { NULL, 0, 0, NULL }
1736 dissect_h460_15_SignallingChannelData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1737 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1738 ett_h460_15_SignallingChannelData, h460_15_SignallingChannelData_sequence);
1745 static int dissect_h460_15_SignallingChannelData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1747 asn1_ctx_t asn1_ctx;
1748 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
1749 offset = dissect_h460_15_SignallingChannelData(tvb, offset, &asn1_ctx, tree, hf_h460_15_h460_15_SignallingChannelData_PDU);
1750 offset += 7; offset >>= 3;
1755 /* --- Module SIGNALLING-TRAVERSAL --- --- --- */
1758 static const per_sequence_t h460_18_IncomingCallIndication_sequence[] = {
1759 { &hf_h460_18_callSignallingAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_TransportAddress },
1760 { &hf_h460_18_callID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
1761 { NULL, 0, 0, NULL }
1765 dissect_h460_18_IncomingCallIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1766 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1767 ett_h460_18_IncomingCallIndication, h460_18_IncomingCallIndication_sequence);
1773 static const per_sequence_t h460_18_LRQKeepAliveData_sequence[] = {
1774 { &hf_h460_18_lrqKeepAliveInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_TimeToLive },
1775 { NULL, 0, 0, NULL }
1779 dissect_h460_18_LRQKeepAliveData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1780 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1781 ett_h460_18_LRQKeepAliveData, h460_18_LRQKeepAliveData_sequence);
1788 static int dissect_h460_18_IncomingCallIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1790 asn1_ctx_t asn1_ctx;
1791 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
1792 offset = dissect_h460_18_IncomingCallIndication(tvb, offset, &asn1_ctx, tree, hf_h460_18_h460_18_IncomingCallIndication_PDU);
1793 offset += 7; offset >>= 3;
1796 static int dissect_h460_18_LRQKeepAliveData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1798 asn1_ctx_t asn1_ctx;
1799 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
1800 offset = dissect_h460_18_LRQKeepAliveData(tvb, offset, &asn1_ctx, tree, hf_h460_18_h460_18_LRQKeepAliveData_PDU);
1801 offset += 7; offset >>= 3;
1806 /* --- Module MEDIA-TRAVERSAL --- --- --- */
1811 dissect_h460_19_INTEGER_0_4294967295(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1812 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1813 0U, 4294967295U, NULL, FALSE);
1821 dissect_h460_19_INTEGER_0_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1822 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1823 0U, 127U, NULL, FALSE);
1829 static const per_sequence_t h460_19_TraversalParameters_sequence[] = {
1830 { &hf_h460_19_multiplexedMediaChannel, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_TransportAddress },
1831 { &hf_h460_19_multiplexedMediaControlChannel, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_TransportAddress },
1832 { &hf_h460_19_multiplexID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_19_INTEGER_0_4294967295 },
1833 { &hf_h460_19_keepAliveChannel, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_TransportAddress },
1834 { &hf_h460_19_keepAlivePayloadType, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_19_INTEGER_0_127 },
1835 { &hf_h460_19_keepAliveInterval, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TimeToLive },
1836 { NULL, 0, 0, NULL }
1840 dissect_h460_19_TraversalParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1841 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1842 ett_h460_19_TraversalParameters, h460_19_TraversalParameters_sequence);
1849 static int dissect_h460_19_TraversalParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1851 asn1_ctx_t asn1_ctx;
1852 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
1853 offset = dissect_h460_19_TraversalParameters(tvb, offset, &asn1_ctx, tree, hf_h460_19_h460_19_TraversalParameters_PDU);
1854 offset += 7; offset >>= 3;
1859 /* --- Module MESSAGE-BROADCAST --- --- --- */
1862 static const per_sequence_t h460_21_SEQUENCE_SIZE_1_256_OF_Capability_sequence_of[1] = {
1863 { &hf_h460_21_capabilities_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_Capability },
1867 dissect_h460_21_SEQUENCE_SIZE_1_256_OF_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1868 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1869 ett_h460_21_SEQUENCE_SIZE_1_256_OF_Capability, h460_21_SEQUENCE_SIZE_1_256_OF_Capability_sequence_of,
1878 dissect_h460_21_INTEGER_1_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1879 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1880 1U, 65535U, NULL, FALSE);
1886 static const per_sequence_t h460_21_ReceiveCapabilities_sequence[] = {
1887 { &hf_h460_21_capabilities, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_21_SEQUENCE_SIZE_1_256_OF_Capability },
1888 { &hf_h460_21_maxGroups , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_21_INTEGER_1_65535 },
1889 { NULL, 0, 0, NULL }
1893 dissect_h460_21_ReceiveCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1894 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1895 ett_h460_21_ReceiveCapabilities, h460_21_ReceiveCapabilities_sequence);
1903 dissect_h460_21_GloballyUniqueID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1904 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1905 16, 16, FALSE, NULL);
1911 static const per_sequence_t h460_21_TransmitCapabilities_sequence[] = {
1912 { &hf_h460_21_groupIdentifer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h460_21_GloballyUniqueID },
1913 { &hf_h460_21_capability , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Capability },
1914 { &hf_h460_21_sourceAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_UnicastAddress },
1915 { NULL, 0, 0, NULL }
1919 dissect_h460_21_TransmitCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1920 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1921 ett_h460_21_TransmitCapabilities, h460_21_TransmitCapabilities_sequence);
1927 static const per_sequence_t h460_21_SEQUENCE_SIZE_1_256_OF_TransmitCapabilities_sequence_of[1] = {
1928 { &hf_h460_21_transmitCapabilities_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h460_21_TransmitCapabilities },
1932 dissect_h460_21_SEQUENCE_SIZE_1_256_OF_TransmitCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1933 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1934 ett_h460_21_SEQUENCE_SIZE_1_256_OF_TransmitCapabilities, h460_21_SEQUENCE_SIZE_1_256_OF_TransmitCapabilities_sequence_of,
1941 static const per_sequence_t h460_21_CapabilityAdvertisement_sequence[] = {
1942 { &hf_h460_21_receiveCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_21_ReceiveCapabilities },
1943 { &hf_h460_21_transmitCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h460_21_SEQUENCE_SIZE_1_256_OF_TransmitCapabilities },
1944 { NULL, 0, 0, NULL }
1948 dissect_h460_21_CapabilityAdvertisement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1949 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1950 ett_h460_21_CapabilityAdvertisement, h460_21_CapabilityAdvertisement_sequence);
1957 static int dissect_h460_21_CapabilityAdvertisement_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1959 asn1_ctx_t asn1_ctx;
1960 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
1961 offset = dissect_h460_21_CapabilityAdvertisement(tvb, offset, &asn1_ctx, tree, hf_h460_21_h460_21_CapabilityAdvertisement_PDU);
1962 offset += 7; offset >>= 3;
1967 /*--- End of included file: packet-h460-fn.c ---*/
1968 #line 57 "../../asn1/h460/packet-h460-template.c"
1971 dissect_ies(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
1974 if (q931_ie_handle) {
1975 call_dissector(q931_ie_handle, tvb, pinfo, tree);
1976 offset += tvb_length_remaining(tvb, offset);
1982 dissect_ras(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
1985 if (h225_ras_handle) {
1986 call_dissector(h225_ras_handle, tvb, pinfo, tree);
1987 offset += tvb_length_remaining(tvb, offset);
1992 typedef struct _h460_feature_t {
1996 new_dissector_t content_pdu;
1998 const gchar *key_gd;
1999 const gchar *key_fd;
2000 const gchar *key_gm;
2001 const gchar *key_gi;
2002 dissector_handle_t content_hnd;
2005 /* Fill in the items after content_pdu */
2006 #define FFILL NULL, NULL, NULL, NULL, NULL
2009 #define GD 0x01 /* present in H.225 GenericData */
2010 #define FD 0x02 /* present in H.225 FeatureDescriptor */
2011 #define GM 0x04 /* present in H.245 GenericMessage */
2012 #define GI 0x08 /* present in H.245 GenericInformation */
2014 static h460_feature_t h460_feature_tab[] = {
2016 { GD|FD, "2", "Number Portability", NULL, FFILL },
2017 { GD|FD, "2/1", "NumberPortabilityData", dissect_h460_2_NumberPortabilityInfo_PDU, FFILL },
2019 { GD|FD, "3", "Circuit Status", NULL, FFILL },
2020 { GD|FD, "3/1", "Circuit Status Map", dissect_h460_3_CircuitStatus_PDU, FFILL },
2022 { GD|FD, "4", "CallPriorityDesignation", NULL, FFILL },
2023 { GD|FD, "4/1", "CallPriorityRequest", dissect_h460_4_CallPriorityInfo_PDU, FFILL },
2024 { GD|FD, "4/2", "CallPriorityConfirm", dissect_h460_4_CallPriorityInfo_PDU, FFILL },
2025 { GD|FD, "4/3", "Country/InternationalNetworkCallOriginationRequest", dissect_h460_4_CountryInternationalNetworkCallOriginationIdentification_PDU, FFILL },
2026 { GD|FD, "4/4", "Country/InternationalNetworkCallOriginationConfirm", dissect_h460_4_CountryInternationalNetworkCallOriginationIdentification_PDU, FFILL },
2028 { GD|FD, "5", "DuplicateIEs", NULL, FFILL },
2029 { GD|FD, "5/1", "IEsString", dissect_ies, FFILL },
2031 { GD|FD, "6", "Extended Fast Connect", NULL, FFILL },
2032 { GD|FD, "6/1", "EFC Proposal", NULL, FFILL },
2033 { GD|FD, "6/2", "EFC Close All Media Channels", NULL, FFILL },
2034 { GD|FD, "6/3", "EFC Request New Proposals", NULL, FFILL },
2035 { GD|FD, "6/4", "EFC Require Symmetric Operation", NULL, FFILL },
2037 { GD|FD, "7", "Digit Maps", NULL, FFILL },
2038 { FD, "7/1", "Digit Maps Length", NULL, FFILL },
2039 { FD, "7/2", "Digit Map Length for Overlapped Sending", NULL, FFILL },
2040 { FD, "7/3", "HTTP Digit Maps Download Capability", NULL, FFILL },
2041 { GD , "7/1", "Start Timer", NULL, FFILL },
2042 { GD , "7/2", "Short Timer", NULL, FFILL },
2043 { GD , "7/3", "Long Timer", NULL, FFILL },
2044 { GD , "7/4", "Digit Map String", NULL, FFILL },
2045 { GD , "7/5", "ToN Associated Digit Map", NULL, FFILL },
2046 { GD , "7/5/1", "Type of Number", NULL, FFILL },
2047 { GD , "7/5/2", "Digit Map Strings for ToN", NULL, FFILL },
2048 { GD , "7/6", "Digit Map URL", NULL, FFILL },
2050 { GD|FD, "8", "Querying for Alternate Routes", NULL, FFILL },
2051 { GD|FD, "8/1", "Query Count", NULL, FFILL },
2052 { GD|FD, "8/2", "Call Termination Cause", NULL, FFILL },
2054 { GD|FD, "9", "QoS-monitoring Reporting", NULL, FFILL },
2055 { GD|FD, "9/0", "qosMonitoringFinalOnly", NULL, FFILL },
2056 { GD|FD, "9/1", "qosMonitoringReportData", dissect_h460_9_QosMonitoringReportData_PDU, FFILL },
2057 { GD|FD, "9/2", "qosMonitoringExtendedRTPMetrics", dissect_h460_9_ExtendedRTPMetrics_PDU, FFILL },
2059 { GD|FD, "10", "Call Party Category", NULL, FFILL },
2060 { GD|FD, "10/1", "Call party category info", dissect_h460_10_CallPartyCategoryInfo_PDU, FFILL },
2062 { GD|FD, "11", "Delayed Call Establishment", NULL, FFILL },
2063 { GD|FD, "11/1", "Delay Point Indicator", NULL, FFILL },
2064 { GD|FD, "11/2", "Implicit DCE Release", NULL, FFILL },
2065 { GD|FD, "11/3", "Delay Point Reached", NULL, FFILL },
2066 { GD|FD, "11/4", "DCE Release", NULL, FFILL },
2068 { GD|FD, "12", "Glare Control Indicator", NULL, FFILL },
2069 { GD|FD, "12/1", "Glare Control Indicator Parameter", NULL, FFILL },
2071 { GD|FD, "13", "Called User Release Control", NULL, FFILL },
2072 { GD|FD, "13/1", "Called User Release Control", NULL, FFILL },
2074 { GD|FD, "14", "Multi-Level Precedence and Preemption", NULL, FFILL },
2075 { GD|FD, "14/1", "MLPP Information", dissect_h460_14_MLPPInfo_PDU, FFILL },
2077 { GD|FD, "15", "Call signalling transport channel suspension and redirection", NULL, FFILL },
2078 { GD|FD, "15/1", "Signalling channel suspend and redirect", dissect_h460_15_SignallingChannelData_PDU, FFILL },
2080 { GD|FD, "16", "Multiple-message Release Sequence", NULL, FFILL },
2081 { GD|FD, "16/1", "MMRS use required", NULL, FFILL },
2082 { GD|FD, "16/2", "MMRS procedure", NULL, FFILL },
2083 { GD|FD, "16/3", "MMRS additional IEs", dissect_ies, FFILL },
2085 { GD|FD, "17", "RAS over H.225.0", NULL, FFILL },
2086 { GD|FD, "17/1", "RAS message", dissect_ras, FFILL },
2088 { GD|FD , "18", "Signalling Traversal", NULL, FFILL },
2089 { GD|FD , "18/1", "IncomingCallIndication", dissect_h460_18_IncomingCallIndication_PDU, FFILL },
2090 { GD|FD , "18/2", "LRQKeepAliveData", dissect_h460_18_LRQKeepAliveData_PDU, FFILL },
2091 { GM, "0.0.8.460.18.0.1", "Signalling Traversal", NULL, FFILL },
2092 { GM, "0.0.8.460.18.0.1-1", "connectionCorrelation", NULL, FFILL },
2093 { GM, "0.0.8.460.18.0.1-1/1", "callIdentifier", NULL, FFILL },
2094 { GM, "0.0.8.460.18.0.1-1/2", "answerCall", NULL, FFILL },
2096 { GD|FD , "19", "mediaNATFWTraversal", NULL, FFILL },
2097 { GD|FD , "19/1", "supportTransmitMultiplexedMedia", NULL, FFILL },
2098 { GD|FD , "19/2", "mediaTraversalServer", NULL, FFILL },
2099 { GI, "0.0.8.460.19.0.1", "mediaNATFWTraversal", NULL, FFILL },
2100 { GI, "0.0.8.460.19.0.1/1", "Traversal Parameters", dissect_h460_19_TraversalParameters_PDU, FFILL },
2102 { GD|FD, "20", "LocationSourceAddress", NULL, FFILL },
2103 { GD|FD, "20/1", "LocationSourceAddress", dissect_h225_ExtendedAliasAddress_PDU, FFILL },
2105 { GD|FD, "21", "Message Broadcast", NULL, FFILL },
2106 { GD|FD, "21/1", "MessageBroadcastParameter", dissect_h460_21_CapabilityAdvertisement_PDU, FFILL },
2108 { GD|FD, "22", "securityProtocolNegotiation", NULL, FFILL },
2109 { GD|FD, "22/1", "tlsSecurityProtocol", NULL, FFILL },
2110 { GD|FD, "22/1/1", "priority", NULL, FFILL },
2111 { GD|FD, "22/1/2", "connectionAddress", NULL, FFILL },
2112 { GD|FD, "22/2", "ipsecSecurityProtocol", NULL, FFILL },
2113 { GD|FD, "22/2/1", "priority", NULL, FFILL },
2114 { 0, NULL, NULL, NULL, FFILL },
2117 static h460_feature_t *find_ftr(const gchar *key) {
2118 h460_feature_t *ftr = NULL;
2121 for (f=h460_feature_tab; f->id; f++) {
2122 if (f->key_gd && !strcmp(key, f->key_gd)) { ftr = f; break; }
2123 if (f->key_fd && !strcmp(key, f->key_fd)) { ftr = f; break; }
2124 if (f->key_gm && !strcmp(key, f->key_gm)) { ftr = f; break; }
2125 if (f->key_gi && !strcmp(key, f->key_gi)) { ftr = f; break; }
2130 /*--- dissect_h460_name -------------------------------------------*/
2132 dissect_h460_name(tvbuff_t *tvb _U_, packet_info *pinfo, proto_tree *tree, void *data) {
2135 h460_feature_t *ftr;
2137 /* Reject the packet if data is NULL */
2140 actx = get_asn1_ctx(data);
2141 DISSECTOR_ASSERT(actx);
2144 /* DEBUG */ /*proto_tree_add_text(tree, tvb, 0, 0, "*** DEBUG dissect_h460_name: %s", pinfo->match_string);*/
2145 ftr = find_ftr(pinfo->match_string);
2146 /* DEBUG */ /*proto_tree_add_text(tree, tvb, 0, 0, "*** DEBUG dissect_h460_name: ftr %s", (ftr)?ftr->name:"-none-");*/
2148 proto_item_append_text(actx->created_item, " - %s", ftr->name);
2149 proto_item_append_text(proto_item_get_parent(proto_tree_get_parent(tree)), ": %s", ftr->name);
2151 proto_item_append_text(actx->created_item, " - unknown(%s)", pinfo->match_string);
2158 /*--- proto_register_h460 ----------------------------------------------*/
2159 void proto_register_h460(void) {
2160 h460_feature_t *ftr;
2162 /* List of fields */
2163 static hf_register_info hf[] = {
2165 /*--- Included file: packet-h460-hfarr.c ---*/
2166 #line 1 "../../asn1/h460/packet-h460-hfarr.c"
2168 /* --- Module NUMBER-PORTABILITY --- --- --- */
2170 { &hf_h460_2_h460_2_NumberPortabilityInfo_PDU,
2171 { "NumberPortabilityInfo", "h460.2.NumberPortabilityInfo",
2172 FT_UINT32, BASE_DEC, VALS(h460_2_NumberPortabilityInfo_vals), 0,
2174 { &hf_h460_2_numberPortabilityRejectReason,
2175 { "numberPortabilityRejectReason", "h460.2.numberPortabilityRejectReason",
2176 FT_UINT32, BASE_DEC, VALS(h460_2_NumberPortabilityRejectReason_vals), 0,
2178 { &hf_h460_2_nUMBERPORTABILITYDATA,
2179 { "nUMBERPORTABILITYDATA", "h460.2.nUMBERPORTABILITYDATA_element",
2180 FT_NONE, BASE_NONE, NULL, 0,
2182 { &hf_h460_2_addressTranslated,
2183 { "addressTranslated", "h460.2.addressTranslated_element",
2184 FT_NONE, BASE_NONE, NULL, 0,
2186 { &hf_h460_2_portedAddress,
2187 { "portedAddress", "h460.2.portedAddress_element",
2188 FT_NONE, BASE_NONE, NULL, 0,
2189 "PortabilityAddress", HFILL }},
2190 { &hf_h460_2_routingAddress,
2191 { "routingAddress", "h460.2.routingAddress_element",
2192 FT_NONE, BASE_NONE, NULL, 0,
2193 "PortabilityAddress", HFILL }},
2194 { &hf_h460_2_regionalParams,
2195 { "regionalParams", "h460.2.regionalParams_element",
2196 FT_NONE, BASE_NONE, NULL, 0,
2197 "RegionalParameters", HFILL }},
2198 { &hf_h460_2_unspecified,
2199 { "unspecified", "h460.2.unspecified_element",
2200 FT_NONE, BASE_NONE, NULL, 0,
2202 { &hf_h460_2_qorPortedNumber,
2203 { "qorPortedNumber", "h460.2.qorPortedNumber_element",
2204 FT_NONE, BASE_NONE, NULL, 0,
2206 { &hf_h460_2_aliasAddress,
2207 { "aliasAddress", "h460.2.aliasAddress",
2208 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
2210 { &hf_h460_2_typeOfAddress,
2211 { "typeOfAddress", "h460.2.typeOfAddress",
2212 FT_UINT32, BASE_DEC, VALS(h460_2_NumberPortabilityTypeOfNumber_vals), 0,
2213 "NumberPortabilityTypeOfNumber", HFILL }},
2214 { &hf_h460_2_publicTypeOfNumber,
2215 { "publicTypeOfNumber", "h460.2.publicTypeOfNumber",
2216 FT_UINT32, BASE_DEC, VALS(h225_PublicTypeOfNumber_vals), 0,
2218 { &hf_h460_2_privateTypeOfNumber,
2219 { "privateTypeOfNumber", "h460.2.privateTypeOfNumber",
2220 FT_UINT32, BASE_DEC, VALS(h225_PrivateTypeOfNumber_vals), 0,
2222 { &hf_h460_2_portabilityTypeOfNumber,
2223 { "portabilityTypeOfNumber", "h460.2.portabilityTypeOfNumber",
2224 FT_UINT32, BASE_DEC, VALS(h460_2_PortabilityTypeOfNumber_vals), 0,
2226 { &hf_h460_2_portedNumber,
2227 { "portedNumber", "h460.2.portedNumber_element",
2228 FT_NONE, BASE_NONE, NULL, 0,
2230 { &hf_h460_2_routingNumber,
2231 { "routingNumber", "h460.2.routingNumber_element",
2232 FT_NONE, BASE_NONE, NULL, 0,
2234 { &hf_h460_2_concatenatedNumber,
2235 { "concatenatedNumber", "h460.2.concatenatedNumber_element",
2236 FT_NONE, BASE_NONE, NULL, 0,
2238 { &hf_h460_2_t35CountryCode,
2239 { "t35CountryCode", "h460.2.t35CountryCode",
2240 FT_UINT32, BASE_DEC, NULL, 0,
2241 "INTEGER_0_255", HFILL }},
2242 { &hf_h460_2_t35Extension,
2243 { "t35Extension", "h460.2.t35Extension",
2244 FT_UINT32, BASE_DEC, NULL, 0,
2245 "INTEGER_0_255", HFILL }},
2246 { &hf_h460_2_variantIdentifier,
2247 { "variantIdentifier", "h460.2.variantIdentifier",
2248 FT_UINT32, BASE_DEC, NULL, 0,
2249 "INTEGER_1_255", HFILL }},
2250 { &hf_h460_2_regionalData,
2251 { "regionalData", "h460.2.regionalData",
2252 FT_BYTES, BASE_NONE, NULL, 0,
2253 "OCTET_STRING", HFILL }},
2255 /* --- Module CIRCUIT-STATUS-MAP --- --- --- */
2257 { &hf_h460_3_h460_3_CircuitStatus_PDU,
2258 { "CircuitStatus", "h460.3.CircuitStatus_element",
2259 FT_NONE, BASE_NONE, NULL, 0,
2261 { &hf_h460_3_circuitStatusMap,
2262 { "circuitStatusMap", "h460.3.circuitStatusMap",
2263 FT_UINT32, BASE_DEC, NULL, 0,
2264 "SEQUENCE_OF_CircuitStatusMap", HFILL }},
2265 { &hf_h460_3_circuitStatusMap_item,
2266 { "CircuitStatusMap", "h460.3.CircuitStatusMap_element",
2267 FT_NONE, BASE_NONE, NULL, 0,
2269 { &hf_h460_3_statusType,
2270 { "statusType", "h460.3.statusType",
2271 FT_UINT32, BASE_DEC, VALS(h460_3_CircuitStatusType_vals), 0,
2272 "CircuitStatusType", HFILL }},
2273 { &hf_h460_3_baseCircuitID,
2274 { "baseCircuitID", "h460.3.baseCircuitID_element",
2275 FT_NONE, BASE_NONE, NULL, 0,
2276 "CircuitIdentifier", HFILL }},
2278 { "range", "h460.3.range",
2279 FT_UINT32, BASE_DEC, NULL, 0,
2280 "INTEGER_0_4095", HFILL }},
2281 { &hf_h460_3_status,
2282 { "status", "h460.3.status",
2283 FT_BYTES, BASE_NONE, NULL, 0,
2284 "OCTET_STRING", HFILL }},
2285 { &hf_h460_3_serviceStatus,
2286 { "serviceStatus", "h460.3.serviceStatus_element",
2287 FT_NONE, BASE_NONE, NULL, 0,
2289 { &hf_h460_3_busyStatus,
2290 { "busyStatus", "h460.3.busyStatus_element",
2291 FT_NONE, BASE_NONE, NULL, 0,
2294 /* --- Module CALL-PRIORITY --- --- --- */
2296 { &hf_h460_4_h460_4_CallPriorityInfo_PDU,
2297 { "CallPriorityInfo", "h460.4.CallPriorityInfo_element",
2298 FT_NONE, BASE_NONE, NULL, 0,
2300 { &hf_h460_4_h460_4_CountryInternationalNetworkCallOriginationIdentification_PDU,
2301 { "CountryInternationalNetworkCallOriginationIdentification", "h460.4.CountryInternationalNetworkCallOriginationIdentification_element",
2302 FT_NONE, BASE_NONE, NULL, 0,
2304 { &hf_h460_4_priorityValue,
2305 { "priorityValue", "h460.4.priorityValue",
2306 FT_UINT32, BASE_DEC, VALS(h460_4_T_priorityValue_vals), 0,
2308 { &hf_h460_4_emergencyAuthorized,
2309 { "emergencyAuthorized", "h460.4.emergencyAuthorized_element",
2310 FT_NONE, BASE_NONE, NULL, 0,
2312 { &hf_h460_4_emergencyPublic,
2313 { "emergencyPublic", "h460.4.emergencyPublic_element",
2314 FT_NONE, BASE_NONE, NULL, 0,
2317 { "high", "h460.4.high_element",
2318 FT_NONE, BASE_NONE, NULL, 0,
2320 { &hf_h460_4_normal,
2321 { "normal", "h460.4.normal_element",
2322 FT_NONE, BASE_NONE, NULL, 0,
2324 { &hf_h460_4_priorityExtension,
2325 { "priorityExtension", "h460.4.priorityExtension",
2326 FT_UINT32, BASE_DEC, NULL, 0,
2327 "INTEGER_0_255", HFILL }},
2328 { &hf_h460_4_tokens,
2329 { "tokens", "h460.4.tokens",
2330 FT_UINT32, BASE_DEC, NULL, 0,
2331 "SEQUENCE_OF_ClearToken", HFILL }},
2332 { &hf_h460_4_tokens_item,
2333 { "ClearToken", "h460.4.ClearToken_element",
2334 FT_NONE, BASE_NONE, NULL, 0,
2336 { &hf_h460_4_cryptoTokens,
2337 { "cryptoTokens", "h460.4.cryptoTokens",
2338 FT_UINT32, BASE_DEC, NULL, 0,
2339 "SEQUENCE_OF_CryptoToken", HFILL }},
2340 { &hf_h460_4_cryptoTokens_item,
2341 { "CryptoToken", "h460.4.CryptoToken",
2342 FT_UINT32, BASE_DEC, VALS(h235_CryptoToken_vals), 0,
2344 { &hf_h460_4_rejectReason,
2345 { "rejectReason", "h460.4.rejectReason",
2346 FT_UINT32, BASE_DEC, VALS(h460_4_T_rejectReason_vals), 0,
2348 { &hf_h460_4_priorityUnavailable,
2349 { "priorityUnavailable", "h460.4.priorityUnavailable_element",
2350 FT_NONE, BASE_NONE, NULL, 0,
2352 { &hf_h460_4_priorityUnauthorized,
2353 { "priorityUnauthorized", "h460.4.priorityUnauthorized_element",
2354 FT_NONE, BASE_NONE, NULL, 0,
2356 { &hf_h460_4_priorityValueUnknown,
2357 { "priorityValueUnknown", "h460.4.priorityValueUnknown_element",
2358 FT_NONE, BASE_NONE, NULL, 0,
2360 { &hf_h460_4_numberingPlan,
2361 { "numberingPlan", "h460.4.numberingPlan",
2362 FT_UINT32, BASE_DEC, VALS(h460_4_T_numberingPlan_vals), 0,
2365 { "x121", "h460.4.x121_element",
2366 FT_NONE, BASE_NONE, NULL, 0,
2368 { &hf_h460_4_x121CountryCode,
2369 { "countryCode", "h460.4.countryCode",
2370 FT_STRING, BASE_NONE, NULL, 0,
2371 "X121CountryCode", HFILL }},
2373 { "e164", "h460.4.e164_element",
2374 FT_NONE, BASE_NONE, NULL, 0,
2376 { &hf_h460_4_e164CountryCode,
2377 { "countryCode", "h460.4.countryCode",
2378 FT_STRING, BASE_NONE, NULL, 0,
2379 "E164CountryCode", HFILL }},
2380 { &hf_h460_4_identificationCode,
2381 { "identificationCode", "h460.4.identificationCode",
2382 FT_STRING, BASE_NONE, NULL, 0,
2385 /* --- Modules QOS-MONITORING-REPORT QOS-MONITORING-EXTENDED-VOIP-REPORT --- --- --- */
2387 { &hf_h460_9_h460_9_QosMonitoringReportData_PDU,
2388 { "QosMonitoringReportData", "h460.9.QosMonitoringReportData",
2389 FT_UINT32, BASE_DEC, VALS(h460_9_QosMonitoringReportData_vals), 0,
2391 { &hf_h460_9_h460_9_ExtendedRTPMetrics_PDU,
2392 { "ExtendedRTPMetrics", "h460.9.ExtendedRTPMetrics_element",
2393 FT_NONE, BASE_NONE, NULL, 0,
2395 { &hf_h460_9_extensionId,
2396 { "extensionId", "h460.9.extensionId",
2397 FT_UINT32, BASE_DEC, VALS(h225_GenericIdentifier_vals), 0,
2398 "GenericIdentifier", HFILL }},
2399 { &hf_h460_9_extensionContent,
2400 { "extensionContent", "h460.9.extensionContent",
2401 FT_BYTES, BASE_NONE, NULL, 0,
2402 "OCTET_STRING", HFILL }},
2403 { &hf_h460_9_rtpAddress,
2404 { "rtpAddress", "h460.9.rtpAddress_element",
2405 FT_NONE, BASE_NONE, NULL, 0,
2406 "TransportChannelInfo", HFILL }},
2407 { &hf_h460_9_rtcpAddress,
2408 { "rtcpAddress", "h460.9.rtcpAddress_element",
2409 FT_NONE, BASE_NONE, NULL, 0,
2410 "TransportChannelInfo", HFILL }},
2411 { &hf_h460_9_sessionId,
2412 { "sessionId", "h460.9.sessionId",
2413 FT_UINT32, BASE_DEC, NULL, 0,
2414 "INTEGER_1_255", HFILL }},
2415 { &hf_h460_9_nonStandardData,
2416 { "nonStandardData", "h460.9.nonStandardData_element",
2417 FT_NONE, BASE_NONE, NULL, 0,
2418 "NonStandardParameter", HFILL }},
2419 { &hf_h460_9_mediaSenderMeasures,
2420 { "mediaSenderMeasures", "h460.9.mediaSenderMeasures_element",
2421 FT_NONE, BASE_NONE, NULL, 0,
2423 { &hf_h460_9_worstEstimatedEnd2EndDelay,
2424 { "worstEstimatedEnd2EndDelay", "h460.9.worstEstimatedEnd2EndDelay",
2425 FT_UINT32, BASE_DEC, NULL, 0,
2426 "EstimatedEnd2EndDelay", HFILL }},
2427 { &hf_h460_9_meanEstimatedEnd2EndDelay,
2428 { "meanEstimatedEnd2EndDelay", "h460.9.meanEstimatedEnd2EndDelay",
2429 FT_UINT32, BASE_DEC, NULL, 0,
2430 "EstimatedEnd2EndDelay", HFILL }},
2431 { &hf_h460_9_mediaReceiverMeasures,
2432 { "mediaReceiverMeasures", "h460.9.mediaReceiverMeasures_element",
2433 FT_NONE, BASE_NONE, NULL, 0,
2435 { &hf_h460_9_cumulativeNumberOfPacketsLost,
2436 { "cumulativeNumberOfPacketsLost", "h460.9.cumulativeNumberOfPacketsLost",
2437 FT_UINT32, BASE_DEC, NULL, 0,
2438 "INTEGER_0_4294967295", HFILL }},
2439 { &hf_h460_9_packetLostRate,
2440 { "packetLostRate", "h460.9.packetLostRate",
2441 FT_UINT32, BASE_DEC, NULL, 0,
2442 "INTEGER_0_65535", HFILL }},
2443 { &hf_h460_9_worstJitter,
2444 { "worstJitter", "h460.9.worstJitter",
2445 FT_UINT32, BASE_DEC, NULL, 0,
2446 "CalculatedJitter", HFILL }},
2447 { &hf_h460_9_estimatedThroughput,
2448 { "estimatedThroughput", "h460.9.estimatedThroughput",
2449 FT_UINT32, BASE_DEC, NULL, 0,
2450 "BandWidth", HFILL }},
2451 { &hf_h460_9_fractionLostRate,
2452 { "fractionLostRate", "h460.9.fractionLostRate",
2453 FT_UINT32, BASE_DEC, NULL, 0,
2454 "INTEGER_0_65535", HFILL }},
2455 { &hf_h460_9_meanJitter,
2456 { "meanJitter", "h460.9.meanJitter",
2457 FT_UINT32, BASE_DEC, NULL, 0,
2458 "CalculatedJitter", HFILL }},
2459 { &hf_h460_9_extensions,
2460 { "extensions", "h460.9.extensions",
2461 FT_UINT32, BASE_DEC, NULL, 0,
2462 "SEQUENCE_OF_Extension", HFILL }},
2463 { &hf_h460_9_extensions_item,
2464 { "Extension", "h460.9.Extension_element",
2465 FT_NONE, BASE_NONE, NULL, 0,
2467 { &hf_h460_9_callReferenceValue,
2468 { "callReferenceValue", "h460.9.callReferenceValue",
2469 FT_UINT32, BASE_DEC, NULL, 0,
2471 { &hf_h460_9_conferenceID,
2472 { "conferenceID", "h460.9.conferenceID",
2473 FT_GUID, BASE_NONE, NULL, 0,
2474 "ConferenceIdentifier", HFILL }},
2475 { &hf_h460_9_callIdentifier,
2476 { "callIdentifier", "h460.9.callIdentifier_element",
2477 FT_NONE, BASE_NONE, NULL, 0,
2479 { &hf_h460_9_mediaChannelsQoS,
2480 { "mediaChannelsQoS", "h460.9.mediaChannelsQoS",
2481 FT_UINT32, BASE_DEC, NULL, 0,
2482 "SEQUENCE_OF_RTCPMeasures", HFILL }},
2483 { &hf_h460_9_mediaChannelsQoS_item,
2484 { "RTCPMeasures", "h460.9.RTCPMeasures_element",
2485 FT_NONE, BASE_NONE, NULL, 0,
2487 { &hf_h460_9_periodic,
2488 { "periodic", "h460.9.periodic_element",
2489 FT_NONE, BASE_NONE, NULL, 0,
2490 "PeriodicQoSMonReport", HFILL }},
2492 { "final", "h460.9.final_element",
2493 FT_NONE, BASE_NONE, NULL, 0,
2494 "FinalQosMonReport", HFILL }},
2495 { &hf_h460_9_interGK,
2496 { "interGK", "h460.9.interGK_element",
2497 FT_NONE, BASE_NONE, NULL, 0,
2498 "InterGKQosMonReport", HFILL }},
2499 { &hf_h460_9_perCallInfo,
2500 { "perCallInfo", "h460.9.perCallInfo",
2501 FT_UINT32, BASE_DEC, NULL, 0,
2502 "SEQUENCE_OF_PerCallQoSReport", HFILL }},
2503 { &hf_h460_9_perCallInfo_item,
2504 { "PerCallQoSReport", "h460.9.PerCallQoSReport_element",
2505 FT_NONE, BASE_NONE, NULL, 0,
2507 { &hf_h460_9_mediaInfo,
2508 { "mediaInfo", "h460.9.mediaInfo",
2509 FT_UINT32, BASE_DEC, NULL, 0,
2510 "SEQUENCE_OF_RTCPMeasures", HFILL }},
2511 { &hf_h460_9_mediaInfo_item,
2512 { "RTCPMeasures", "h460.9.RTCPMeasures_element",
2513 FT_NONE, BASE_NONE, NULL, 0,
2515 { &hf_h460_9_networkPacketLossRate,
2516 { "networkPacketLossRate", "h460.9.networkPacketLossRate",
2517 FT_UINT32, BASE_DEC, NULL, 0,
2518 "INTEGER_0_255", HFILL }},
2519 { &hf_h460_9_jitterBufferDiscardRate,
2520 { "jitterBufferDiscardRate", "h460.9.jitterBufferDiscardRate",
2521 FT_UINT32, BASE_DEC, NULL, 0,
2522 "INTEGER_0_255", HFILL }},
2523 { &hf_h460_9_burstMetrics,
2524 { "burstMetrics", "h460.9.burstMetrics_element",
2525 FT_NONE, BASE_NONE, NULL, 0,
2527 { &hf_h460_9_rtcpRoundTripDelay,
2528 { "rtcpRoundTripDelay", "h460.9.rtcpRoundTripDelay",
2529 FT_UINT32, BASE_DEC, NULL, 0,
2530 "INTEGER_0_65535", HFILL }},
2531 { &hf_h460_9_endSystemDelay,
2532 { "endSystemDelay", "h460.9.endSystemDelay",
2533 FT_UINT32, BASE_DEC, NULL, 0,
2534 "INTEGER_0_65535", HFILL }},
2535 { &hf_h460_9_signalLevel,
2536 { "signalLevel", "h460.9.signalLevel",
2537 FT_INT32, BASE_DEC, NULL, 0,
2538 "INTEGER_M127_10", HFILL }},
2539 { &hf_h460_9_noiseLevel,
2540 { "noiseLevel", "h460.9.noiseLevel",
2541 FT_INT32, BASE_DEC, NULL, 0,
2542 "INTEGER_M127_0", HFILL }},
2543 { &hf_h460_9_residualEchoReturnLoss,
2544 { "residualEchoReturnLoss", "h460.9.residualEchoReturnLoss",
2545 FT_UINT32, BASE_DEC, NULL, 0,
2546 "INTEGER_0_127", HFILL }},
2547 { &hf_h460_9_rFactor,
2548 { "rFactor", "h460.9.rFactor",
2549 FT_UINT32, BASE_DEC, NULL, 0,
2550 "INTEGER_0_100", HFILL }},
2551 { &hf_h460_9_extRFactor,
2552 { "extRFactor", "h460.9.extRFactor",
2553 FT_UINT32, BASE_DEC, NULL, 0,
2554 "INTEGER_0_100", HFILL }},
2555 { &hf_h460_9_estimatedMOSLQ,
2556 { "estimatedMOSLQ", "h460.9.estimatedMOSLQ",
2557 FT_UINT32, BASE_DEC, NULL, 0,
2558 "INTEGER_10_50", HFILL }},
2559 { &hf_h460_9_estimatedMOSCQ,
2560 { "estimatedMOSCQ", "h460.9.estimatedMOSCQ",
2561 FT_UINT32, BASE_DEC, NULL, 0,
2562 "INTEGER_10_50", HFILL }},
2563 { &hf_h460_9_plcType,
2564 { "plcType", "h460.9.plcType",
2565 FT_UINT32, BASE_DEC, VALS(h460_9_PLCtypes_vals), 0,
2566 "PLCtypes", HFILL }},
2567 { &hf_h460_9_jitterBufferParms,
2568 { "jitterBufferParms", "h460.9.jitterBufferParms_element",
2569 FT_NONE, BASE_NONE, NULL, 0,
2572 { "gmin", "h460.9.gmin",
2573 FT_UINT32, BASE_DEC, NULL, 0,
2574 "INTEGER_0_255", HFILL }},
2575 { &hf_h460_9_burstLossDensity,
2576 { "burstLossDensity", "h460.9.burstLossDensity",
2577 FT_UINT32, BASE_DEC, NULL, 0,
2578 "INTEGER_0_255", HFILL }},
2579 { &hf_h460_9_gapLossDensity,
2580 { "gapLossDensity", "h460.9.gapLossDensity",
2581 FT_UINT32, BASE_DEC, NULL, 0,
2582 "INTEGER_0_255", HFILL }},
2583 { &hf_h460_9_burstDuration,
2584 { "burstDuration", "h460.9.burstDuration",
2585 FT_UINT32, BASE_DEC, NULL, 0,
2586 "INTEGER_0_65535", HFILL }},
2587 { &hf_h460_9_gapDuration,
2588 { "gapDuration", "h460.9.gapDuration",
2589 FT_UINT32, BASE_DEC, NULL, 0,
2590 "INTEGER_0_65535", HFILL }},
2591 { &hf_h460_9_unspecified,
2592 { "unspecified", "h460.9.unspecified_element",
2593 FT_NONE, BASE_NONE, NULL, 0,
2595 { &hf_h460_9_disabled,
2596 { "disabled", "h460.9.disabled_element",
2597 FT_NONE, BASE_NONE, NULL, 0,
2599 { &hf_h460_9_enhanced,
2600 { "enhanced", "h460.9.enhanced_element",
2601 FT_NONE, BASE_NONE, NULL, 0,
2603 { &hf_h460_9_standard,
2604 { "standard", "h460.9.standard_element",
2605 FT_NONE, BASE_NONE, NULL, 0,
2607 { &hf_h460_9_jitterBufferType,
2608 { "jitterBufferType", "h460.9.jitterBufferType",
2609 FT_UINT32, BASE_DEC, VALS(h460_9_JitterBufferTypes_vals), 0,
2610 "JitterBufferTypes", HFILL }},
2611 { &hf_h460_9_jitterBufferAdaptRate,
2612 { "jitterBufferAdaptRate", "h460.9.jitterBufferAdaptRate",
2613 FT_UINT32, BASE_DEC, NULL, 0,
2614 "INTEGER_0_15", HFILL }},
2615 { &hf_h460_9_jitterBufferNominalSize,
2616 { "jitterBufferNominalSize", "h460.9.jitterBufferNominalSize",
2617 FT_UINT32, BASE_DEC, NULL, 0,
2618 "INTEGER_0_65535", HFILL }},
2619 { &hf_h460_9_jitterBufferMaxSize,
2620 { "jitterBufferMaxSize", "h460.9.jitterBufferMaxSize",
2621 FT_UINT32, BASE_DEC, NULL, 0,
2622 "INTEGER_0_65535", HFILL }},
2623 { &hf_h460_9_jitterBufferAbsoluteMax,
2624 { "jitterBufferAbsoluteMax", "h460.9.jitterBufferAbsoluteMax",
2625 FT_UINT32, BASE_DEC, NULL, 0,
2626 "INTEGER_0_65535", HFILL }},
2627 { &hf_h460_9_unknown,
2628 { "unknown", "h460.9.unknown_element",
2629 FT_NONE, BASE_NONE, NULL, 0,
2631 { &hf_h460_9_reserved,
2632 { "reserved", "h460.9.reserved_element",
2633 FT_NONE, BASE_NONE, NULL, 0,
2635 { &hf_h460_9_nonadaptive,
2636 { "nonadaptive", "h460.9.nonadaptive_element",
2637 FT_NONE, BASE_NONE, NULL, 0,
2639 { &hf_h460_9_adaptive,
2640 { "adaptive", "h460.9.adaptive_element",
2641 FT_NONE, BASE_NONE, NULL, 0,
2644 /* --- Module CALL-PARTY-CATEGORY --- --- --- */
2646 { &hf_h460_10_h460_10_CallPartyCategoryInfo_PDU,
2647 { "CallPartyCategoryInfo", "h460.10.CallPartyCategoryInfo_element",
2648 FT_NONE, BASE_NONE, NULL, 0,
2650 { &hf_h460_10_callPartyCategory,
2651 { "callPartyCategory", "h460.10.callPartyCategory",
2652 FT_UINT32, BASE_DEC, NULL, 0,
2654 { &hf_h460_10_originatingLineInfo,
2655 { "originatingLineInfo", "h460.10.originatingLineInfo",
2656 FT_UINT32, BASE_DEC, NULL, 0,
2659 /* --- Module MLPP --- --- --- */
2661 { &hf_h460_14_h460_14_MLPPInfo_PDU,
2662 { "MLPPInfo", "h460.14.MLPPInfo_element",
2663 FT_NONE, BASE_NONE, NULL, 0,
2665 { &hf_h460_14_precedence,
2666 { "precedence", "h460.14.precedence",
2667 FT_UINT32, BASE_DEC, VALS(h460_14_MlppPrecedence_vals), 0,
2668 "MlppPrecedence", HFILL }},
2669 { &hf_h460_14_mlppReason,
2670 { "mlppReason", "h460.14.mlppReason",
2671 FT_UINT32, BASE_DEC, VALS(h460_14_MlppReason_vals), 0,
2673 { &hf_h460_14_mlppNotification,
2674 { "mlppNotification", "h460.14.mlppNotification",
2675 FT_UINT32, BASE_DEC, VALS(h460_14_MlppNotification_vals), 0,
2677 { &hf_h460_14_alternateParty,
2678 { "alternateParty", "h460.14.alternateParty_element",
2679 FT_NONE, BASE_NONE, NULL, 0,
2681 { &hf_h460_14_releaseCall,
2682 { "releaseCall", "h460.14.releaseCall_element",
2683 FT_NONE, BASE_NONE, NULL, 0,
2685 { &hf_h460_14_preemptionPending,
2686 { "preemptionPending", "h460.14.preemptionPending_element",
2687 FT_NONE, BASE_NONE, NULL, 0,
2689 { &hf_h460_14_preemptionInProgress,
2690 { "preemptionInProgress", "h460.14.preemptionInProgress_element",
2691 FT_NONE, BASE_NONE, NULL, 0,
2693 { &hf_h460_14_preemptionEnd,
2694 { "preemptionEnd", "h460.14.preemptionEnd_element",
2695 FT_NONE, BASE_NONE, NULL, 0,
2697 { &hf_h460_14_preemptionComplete,
2698 { "preemptionComplete", "h460.14.preemptionComplete_element",
2699 FT_NONE, BASE_NONE, NULL, 0,
2701 { &hf_h460_14_altID,
2702 { "altID", "h460.14.altID",
2703 FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
2704 "AliasAddress", HFILL }},
2705 { &hf_h460_14_altTimer,
2706 { "altTimer", "h460.14.altTimer",
2707 FT_UINT32, BASE_DEC, NULL, 0,
2708 "INTEGER_0_255", HFILL }},
2709 { &hf_h460_14_preemptCallID,
2710 { "preemptCallID", "h460.14.preemptCallID_element",
2711 FT_NONE, BASE_NONE, NULL, 0,
2712 "CallIdentifier", HFILL }},
2713 { &hf_h460_14_releaseReason,
2714 { "releaseReason", "h460.14.releaseReason",
2715 FT_UINT32, BASE_DEC, VALS(h460_14_MlppReason_vals), 0,
2716 "MlppReason", HFILL }},
2717 { &hf_h460_14_releaseDelay,
2718 { "releaseDelay", "h460.14.releaseDelay",
2719 FT_UINT32, BASE_DEC, NULL, 0,
2720 "INTEGER_0_255", HFILL }},
2722 /* --- Module SIGNALLING-CHANNEL-SUSPEND-REDIRECT --- --- --- */
2724 { &hf_h460_15_h460_15_SignallingChannelData_PDU,
2725 { "SignallingChannelData", "h460.15.SignallingChannelData_element",
2726 FT_NONE, BASE_NONE, NULL, 0,
2728 { &hf_h460_15_signallingChannelData,
2729 { "signallingChannelData", "h460.15.signallingChannelData",
2730 FT_UINT32, BASE_DEC, VALS(h460_15_T_signallingChannelData_vals), 0,
2732 { &hf_h460_15_channelSuspendRequest,
2733 { "channelSuspendRequest", "h460.15.channelSuspendRequest_element",
2734 FT_NONE, BASE_NONE, NULL, 0,
2736 { &hf_h460_15_channelSuspendResponse,
2737 { "channelSuspendResponse", "h460.15.channelSuspendResponse_element",
2738 FT_NONE, BASE_NONE, NULL, 0,
2740 { &hf_h460_15_channelSuspendConfirm,
2741 { "channelSuspendConfirm", "h460.15.channelSuspendConfirm_element",
2742 FT_NONE, BASE_NONE, NULL, 0,
2744 { &hf_h460_15_channelSuspendCancel,
2745 { "channelSuspendCancel", "h460.15.channelSuspendCancel_element",
2746 FT_NONE, BASE_NONE, NULL, 0,
2748 { &hf_h460_15_channelResumeRequest,
2749 { "channelResumeRequest", "h460.15.channelResumeRequest_element",
2750 FT_NONE, BASE_NONE, NULL, 0,
2752 { &hf_h460_15_channelResumeResponse,
2753 { "channelResumeResponse", "h460.15.channelResumeResponse_element",
2754 FT_NONE, BASE_NONE, NULL, 0,
2756 { &hf_h460_15_channelResumeAddress,
2757 { "channelResumeAddress", "h460.15.channelResumeAddress",
2758 FT_UINT32, BASE_DEC, NULL, 0,
2759 "SEQUENCE_OF_TransportAddress", HFILL }},
2760 { &hf_h460_15_channelResumeAddress_item,
2761 { "TransportAddress", "h460.15.TransportAddress",
2762 FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
2764 { &hf_h460_15_immediateResume,
2765 { "immediateResume", "h460.15.immediateResume",
2766 FT_BOOLEAN, BASE_NONE, NULL, 0,
2767 "BOOLEAN", HFILL }},
2768 { &hf_h460_15_resetH245,
2769 { "resetH245", "h460.15.resetH245_element",
2770 FT_NONE, BASE_NONE, NULL, 0,
2772 { &hf_h460_15_okToSuspend,
2773 { "okToSuspend", "h460.15.okToSuspend",
2774 FT_BOOLEAN, BASE_NONE, NULL, 0,
2775 "BOOLEAN", HFILL }},
2776 { &hf_h460_15_randomNumber,
2777 { "randomNumber", "h460.15.randomNumber",
2778 FT_UINT32, BASE_DEC, NULL, 0,
2779 "INTEGER_0_4294967295", HFILL }},
2781 /* --- Module SIGNALLING-TRAVERSAL --- --- --- */
2783 { &hf_h460_18_h460_18_IncomingCallIndication_PDU,
2784 { "IncomingCallIndication", "h460.18.IncomingCallIndication_element",
2785 FT_NONE, BASE_NONE, NULL, 0,
2787 { &hf_h460_18_h460_18_LRQKeepAliveData_PDU,
2788 { "LRQKeepAliveData", "h460.18.LRQKeepAliveData_element",
2789 FT_NONE, BASE_NONE, NULL, 0,
2791 { &hf_h460_18_callSignallingAddress,
2792 { "callSignallingAddress", "h460.18.callSignallingAddress",
2793 FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
2794 "TransportAddress", HFILL }},
2795 { &hf_h460_18_callID,
2796 { "callID", "h460.18.callID_element",
2797 FT_NONE, BASE_NONE, NULL, 0,
2798 "CallIdentifier", HFILL }},
2799 { &hf_h460_18_lrqKeepAliveInterval,
2800 { "lrqKeepAliveInterval", "h460.18.lrqKeepAliveInterval",
2801 FT_UINT32, BASE_DEC, NULL, 0,
2802 "TimeToLive", HFILL }},
2804 /* --- Module MEDIA-TRAVERSAL --- --- --- */
2806 { &hf_h460_19_h460_19_TraversalParameters_PDU,
2807 { "TraversalParameters", "h460.19.TraversalParameters_element",
2808 FT_NONE, BASE_NONE, NULL, 0,
2810 { &hf_h460_19_multiplexedMediaChannel,
2811 { "multiplexedMediaChannel", "h460.19.multiplexedMediaChannel",
2812 FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
2813 "TransportAddress", HFILL }},
2814 { &hf_h460_19_multiplexedMediaControlChannel,
2815 { "multiplexedMediaControlChannel", "h460.19.multiplexedMediaControlChannel",
2816 FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
2817 "TransportAddress", HFILL }},
2818 { &hf_h460_19_multiplexID,
2819 { "multiplexID", "h460.19.multiplexID",
2820 FT_UINT32, BASE_DEC, NULL, 0,
2821 "INTEGER_0_4294967295", HFILL }},
2822 { &hf_h460_19_keepAliveChannel,
2823 { "keepAliveChannel", "h460.19.keepAliveChannel",
2824 FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
2825 "TransportAddress", HFILL }},
2826 { &hf_h460_19_keepAlivePayloadType,
2827 { "keepAlivePayloadType", "h460.19.keepAlivePayloadType",
2828 FT_UINT32, BASE_DEC, NULL, 0,
2829 "INTEGER_0_127", HFILL }},
2830 { &hf_h460_19_keepAliveInterval,
2831 { "keepAliveInterval", "h460.19.keepAliveInterval",
2832 FT_UINT32, BASE_DEC, NULL, 0,
2833 "TimeToLive", HFILL }},
2835 /* --- Module MESSAGE-BROADCAST --- --- --- */
2837 { &hf_h460_21_h460_21_CapabilityAdvertisement_PDU,
2838 { "CapabilityAdvertisement", "h460.21.CapabilityAdvertisement_element",
2839 FT_NONE, BASE_NONE, NULL, 0,
2841 { &hf_h460_21_receiveCapabilities,
2842 { "receiveCapabilities", "h460.21.receiveCapabilities_element",
2843 FT_NONE, BASE_NONE, NULL, 0,
2845 { &hf_h460_21_transmitCapabilities,
2846 { "transmitCapabilities", "h460.21.transmitCapabilities",
2847 FT_UINT32, BASE_DEC, NULL, 0,
2848 "SEQUENCE_SIZE_1_256_OF_TransmitCapabilities", HFILL }},
2849 { &hf_h460_21_transmitCapabilities_item,
2850 { "TransmitCapabilities", "h460.21.TransmitCapabilities_element",
2851 FT_NONE, BASE_NONE, NULL, 0,
2853 { &hf_h460_21_capabilities,
2854 { "capabilities", "h460.21.capabilities",
2855 FT_UINT32, BASE_DEC, NULL, 0,
2856 "SEQUENCE_SIZE_1_256_OF_Capability", HFILL }},
2857 { &hf_h460_21_capabilities_item,
2858 { "Capability", "h460.21.Capability",
2859 FT_UINT32, BASE_DEC, VALS(h245_Capability_vals), 0,
2861 { &hf_h460_21_maxGroups,
2862 { "maxGroups", "h460.21.maxGroups",
2863 FT_UINT32, BASE_DEC, NULL, 0,
2864 "INTEGER_1_65535", HFILL }},
2865 { &hf_h460_21_groupIdentifer,
2866 { "groupIdentifer", "h460.21.groupIdentifer",
2867 FT_BYTES, BASE_NONE, NULL, 0,
2868 "GloballyUniqueID", HFILL }},
2869 { &hf_h460_21_capability,
2870 { "capability", "h460.21.capability",
2871 FT_UINT32, BASE_DEC, VALS(h245_Capability_vals), 0,
2873 { &hf_h460_21_sourceAddress,
2874 { "sourceAddress", "h460.21.sourceAddress",
2875 FT_UINT32, BASE_DEC, VALS(h245_UnicastAddress_vals), 0,
2876 "UnicastAddress", HFILL }},
2878 /*--- End of included file: packet-h460-hfarr.c ---*/
2879 #line 253 "../../asn1/h460/packet-h460-template.c"
2882 /* List of subtrees */
2883 static gint *ett[] = {
2885 /*--- Included file: packet-h460-ettarr.c ---*/
2886 #line 1 "../../asn1/h460/packet-h460-ettarr.c"
2888 /* --- Module NUMBER-PORTABILITY --- --- --- */
2890 &ett_h460_2_NumberPortabilityInfo,
2891 &ett_h460_2_T_nUMBERPORTABILITYDATA,
2892 &ett_h460_2_NumberPortabilityRejectReason,
2893 &ett_h460_2_PortabilityAddress,
2894 &ett_h460_2_NumberPortabilityTypeOfNumber,
2895 &ett_h460_2_PortabilityTypeOfNumber,
2896 &ett_h460_2_RegionalParameters,
2898 /* --- Module CIRCUIT-STATUS-MAP --- --- --- */
2900 &ett_h460_3_CircuitStatus,
2901 &ett_h460_3_SEQUENCE_OF_CircuitStatusMap,
2902 &ett_h460_3_CircuitStatusMap,
2903 &ett_h460_3_CircuitStatusType,
2905 /* --- Module CALL-PRIORITY --- --- --- */
2907 &ett_h460_4_CallPriorityInfo,
2908 &ett_h460_4_T_priorityValue,
2909 &ett_h460_4_SEQUENCE_OF_ClearToken,
2910 &ett_h460_4_SEQUENCE_OF_CryptoToken,
2911 &ett_h460_4_T_rejectReason,
2912 &ett_h460_4_CountryInternationalNetworkCallOriginationIdentification,
2913 &ett_h460_4_T_numberingPlan,
2917 /* --- Modules QOS-MONITORING-REPORT QOS-MONITORING-EXTENDED-VOIP-REPORT --- --- --- */
2919 &ett_h460_9_Extension,
2920 &ett_h460_9_RTCPMeasures,
2921 &ett_h460_9_T_mediaSenderMeasures,
2922 &ett_h460_9_T_mediaReceiverMeasures,
2923 &ett_h460_9_SEQUENCE_OF_Extension,
2924 &ett_h460_9_PerCallQoSReport,
2925 &ett_h460_9_SEQUENCE_OF_RTCPMeasures,
2926 &ett_h460_9_QosMonitoringReportData,
2927 &ett_h460_9_PeriodicQoSMonReport,
2928 &ett_h460_9_SEQUENCE_OF_PerCallQoSReport,
2929 &ett_h460_9_FinalQosMonReport,
2930 &ett_h460_9_InterGKQosMonReport,
2931 &ett_h460_9_ExtendedRTPMetrics,
2932 &ett_h460_9_BurstMetrics,
2933 &ett_h460_9_PLCtypes,
2934 &ett_h460_9_JitterBufferParms,
2935 &ett_h460_9_JitterBufferTypes,
2937 /* --- Module CALL-PARTY-CATEGORY --- --- --- */
2939 &ett_h460_10_CallPartyCategoryInfo,
2941 /* --- Module MLPP --- --- --- */
2943 &ett_h460_14_MLPPInfo,
2944 &ett_h460_14_MlppNotification,
2945 &ett_h460_14_AlternateParty,
2946 &ett_h460_14_ReleaseCall,
2948 /* --- Module SIGNALLING-CHANNEL-SUSPEND-REDIRECT --- --- --- */
2950 &ett_h460_15_SignallingChannelData,
2951 &ett_h460_15_T_signallingChannelData,
2952 &ett_h460_15_ChannelSuspendRequest,
2953 &ett_h460_15_SEQUENCE_OF_TransportAddress,
2954 &ett_h460_15_ChannelSuspendResponse,
2955 &ett_h460_15_ChannelSuspendConfirm,
2956 &ett_h460_15_ChannelSuspendCancel,
2957 &ett_h460_15_ChannelResumeRequest,
2958 &ett_h460_15_ChannelResumeResponse,
2960 /* --- Module SIGNALLING-TRAVERSAL --- --- --- */
2962 &ett_h460_18_IncomingCallIndication,
2963 &ett_h460_18_LRQKeepAliveData,
2965 /* --- Module MEDIA-TRAVERSAL --- --- --- */
2967 &ett_h460_19_TraversalParameters,
2969 /* --- Module MESSAGE-BROADCAST --- --- --- */
2971 &ett_h460_21_CapabilityAdvertisement,
2972 &ett_h460_21_SEQUENCE_SIZE_1_256_OF_TransmitCapabilities,
2973 &ett_h460_21_ReceiveCapabilities,
2974 &ett_h460_21_SEQUENCE_SIZE_1_256_OF_Capability,
2975 &ett_h460_21_TransmitCapabilities,
2977 /*--- End of included file: packet-h460-ettarr.c ---*/
2978 #line 258 "../../asn1/h460/packet-h460-template.c"
2981 /* Register protocol */
2982 proto_h460 = proto_register_protocol(PNAME, PSNAME, PFNAME);
2984 /* Register fields and subtrees */
2985 proto_register_field_array(proto_h460, hf, array_length(hf));
2986 proto_register_subtree_array(ett, array_length(ett));
2988 for (ftr=h460_feature_tab; ftr->id; ftr++) {
2989 if (ftr->opt & GD) ftr->key_gd = g_strdup_printf("GenericData/%s", ftr->id);
2990 if (ftr->opt & FD) ftr->key_fd = g_strdup_printf("FeatureDescriptor/%s", ftr->id);
2991 if (ftr->opt & GM) ftr->key_gm = g_strdup_printf("GenericMessage/%s", ftr->id);
2992 if (ftr->opt & GI) ftr->key_gi = g_strdup_printf("GenericInformation/%s", ftr->id);
2993 if (ftr->content_pdu) ftr->content_hnd = new_create_dissector_handle(ftr->content_pdu, proto_h460);
2997 /*--- proto_reg_handoff_h460 -------------------------------------------*/
2998 void proto_reg_handoff_h460(void)
3000 h460_feature_t *ftr;
3001 dissector_handle_t h460_name_handle;
3003 q931_ie_handle = find_dissector("q931.ie");
3004 h225_ras_handle = find_dissector("h225.ras");
3006 h460_name_handle = new_create_dissector_handle(dissect_h460_name, proto_h460);
3007 for (ftr=h460_feature_tab; ftr->id; ftr++) {
3008 if (ftr->key_gd) dissector_add_string("h225.gef.name", ftr->key_gd, h460_name_handle);
3009 if (ftr->key_fd) dissector_add_string("h225.gef.name", ftr->key_fd, h460_name_handle);
3010 if (ftr->key_gm) dissector_add_string("h245.gef.name", ftr->key_gm, h460_name_handle);
3011 if (ftr->key_gi) dissector_add_string("h245.gef.name", ftr->key_gi, h460_name_handle);
3012 if (ftr->content_hnd) {
3013 if (ftr->key_gd) dissector_add_string("h225.gef.content", ftr->key_gd, ftr->content_hnd);
3014 if (ftr->key_fd) dissector_add_string("h225.gef.content", ftr->key_fd, ftr->content_hnd);
3015 if (ftr->key_gm) dissector_add_string("h245.gef.content", ftr->key_gm, ftr->content_hnd);
3016 if (ftr->key_gi) dissector_add_string("h245.gef.content", ftr->key_gi, ftr->content_hnd);