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
15 * Wireshark - Network traffic analyzer
16 * By Gerald Combs <gerald@wireshark.org>
17 * Copyright 1998 Gerald Combs
19 * This program is free software; you can redistribute it and/or
20 * modify it under the terms of the GNU General Public License
21 * as published by the Free Software Foundation; either version 2
22 * of the License, or (at your option) any later version.
24 * This program is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 * GNU General Public License for more details.
29 * You should have received a copy of the GNU General Public License
30 * along with this program; if not, write to the Free Software
31 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
37 #include <epan/packet.h>
38 #include <epan/oids.h>
39 #include <epan/asn1.h>
43 #include "packet-per.h"
44 #include "packet-h225.h"
45 #include "packet-h235.h"
46 #include "packet-h245.h"
48 #define PNAME "H.460 Supplementary Services"
49 #define PSNAME "H.460"
52 /* Initialize the protocol and registered fields */
53 static int proto_h460
= -1;
55 /*--- Included file: packet-h460-hf.c ---*/
56 #line 1 "../../asn1/h460/packet-h460-hf.c"
58 /* --- Module NUMBER-PORTABILITY --- --- --- */
60 static int hf_h460_2_h460_2_NumberPortabilityInfo_PDU
= -1; /* NumberPortabilityInfo */
61 static int hf_h460_2_numberPortabilityRejectReason
= -1; /* NumberPortabilityRejectReason */
62 static int hf_h460_2_nUMBERPORTABILITYDATA
= -1; /* T_nUMBERPORTABILITYDATA */
63 static int hf_h460_2_addressTranslated
= -1; /* NULL */
64 static int hf_h460_2_portedAddress
= -1; /* PortabilityAddress */
65 static int hf_h460_2_routingAddress
= -1; /* PortabilityAddress */
66 static int hf_h460_2_regionalParams
= -1; /* RegionalParameters */
67 static int hf_h460_2_unspecified
= -1; /* NULL */
68 static int hf_h460_2_qorPortedNumber
= -1; /* NULL */
69 static int hf_h460_2_aliasAddress
= -1; /* AliasAddress */
70 static int hf_h460_2_typeOfAddress
= -1; /* NumberPortabilityTypeOfNumber */
71 static int hf_h460_2_publicTypeOfNumber
= -1; /* PublicTypeOfNumber */
72 static int hf_h460_2_privateTypeOfNumber
= -1; /* PrivateTypeOfNumber */
73 static int hf_h460_2_portabilityTypeOfNumber
= -1; /* PortabilityTypeOfNumber */
74 static int hf_h460_2_portedNumber
= -1; /* NULL */
75 static int hf_h460_2_routingNumber
= -1; /* NULL */
76 static int hf_h460_2_concatenatedNumber
= -1; /* NULL */
77 static int hf_h460_2_t35CountryCode
= -1; /* INTEGER_0_255 */
78 static int hf_h460_2_t35Extension
= -1; /* INTEGER_0_255 */
79 static int hf_h460_2_variantIdentifier
= -1; /* INTEGER_1_255 */
80 static int hf_h460_2_regionalData
= -1; /* OCTET_STRING */
82 /* --- Module CIRCUIT-STATUS-MAP --- --- --- */
84 static int hf_h460_3_h460_3_CircuitStatus_PDU
= -1; /* CircuitStatus */
85 static int hf_h460_3_circuitStatusMap
= -1; /* SEQUENCE_OF_CircuitStatusMap */
86 static int hf_h460_3_circuitStatusMap_item
= -1; /* CircuitStatusMap */
87 static int hf_h460_3_statusType
= -1; /* CircuitStatusType */
88 static int hf_h460_3_baseCircuitID
= -1; /* CircuitIdentifier */
89 static int hf_h460_3_range
= -1; /* INTEGER_0_4095 */
90 static int hf_h460_3_status
= -1; /* OCTET_STRING */
91 static int hf_h460_3_serviceStatus
= -1; /* NULL */
92 static int hf_h460_3_busyStatus
= -1; /* NULL */
94 /* --- Module CALL-PRIORITY --- --- --- */
96 static int hf_h460_4_h460_4_CallPriorityInfo_PDU
= -1; /* CallPriorityInfo */
97 static int hf_h460_4_h460_4_CountryInternationalNetworkCallOriginationIdentification_PDU
= -1; /* CountryInternationalNetworkCallOriginationIdentification */
98 static int hf_h460_4_priorityValue
= -1; /* T_priorityValue */
99 static int hf_h460_4_emergencyAuthorized
= -1; /* NULL */
100 static int hf_h460_4_emergencyPublic
= -1; /* NULL */
101 static int hf_h460_4_high
= -1; /* NULL */
102 static int hf_h460_4_normal
= -1; /* NULL */
103 static int hf_h460_4_priorityExtension
= -1; /* INTEGER_0_255 */
104 static int hf_h460_4_tokens
= -1; /* SEQUENCE_OF_ClearToken */
105 static int hf_h460_4_tokens_item
= -1; /* ClearToken */
106 static int hf_h460_4_cryptoTokens
= -1; /* SEQUENCE_OF_CryptoToken */
107 static int hf_h460_4_cryptoTokens_item
= -1; /* CryptoToken */
108 static int hf_h460_4_rejectReason
= -1; /* T_rejectReason */
109 static int hf_h460_4_priorityUnavailable
= -1; /* NULL */
110 static int hf_h460_4_priorityUnauthorized
= -1; /* NULL */
111 static int hf_h460_4_priorityValueUnknown
= -1; /* NULL */
112 static int hf_h460_4_numberingPlan
= -1; /* T_numberingPlan */
113 static int hf_h460_4_x121
= -1; /* T_x121 */
114 static int hf_h460_4_x121CountryCode
= -1; /* X121CountryCode */
115 static int hf_h460_4_e164
= -1; /* T_e164 */
116 static int hf_h460_4_e164CountryCode
= -1; /* E164CountryCode */
117 static int hf_h460_4_identificationCode
= -1; /* T_identificationCode */
119 /* --- Modules QOS-MONITORING-REPORT QOS-MONITORING-EXTENDED-VOIP-REPORT --- --- --- */
121 static int hf_h460_9_h460_9_QosMonitoringReportData_PDU
= -1; /* QosMonitoringReportData */
122 static int hf_h460_9_h460_9_ExtendedRTPMetrics_PDU
= -1; /* ExtendedRTPMetrics */
123 static int hf_h460_9_extensionId
= -1; /* GenericIdentifier */
124 static int hf_h460_9_extensionContent
= -1; /* OCTET_STRING */
125 static int hf_h460_9_rtpAddress
= -1; /* TransportChannelInfo */
126 static int hf_h460_9_rtcpAddress
= -1; /* TransportChannelInfo */
127 static int hf_h460_9_sessionId
= -1; /* INTEGER_1_255 */
128 static int hf_h460_9_nonStandardData
= -1; /* NonStandardParameter */
129 static int hf_h460_9_mediaSenderMeasures
= -1; /* T_mediaSenderMeasures */
130 static int hf_h460_9_worstEstimatedEnd2EndDelay
= -1; /* EstimatedEnd2EndDelay */
131 static int hf_h460_9_meanEstimatedEnd2EndDelay
= -1; /* EstimatedEnd2EndDelay */
132 static int hf_h460_9_mediaReceiverMeasures
= -1; /* T_mediaReceiverMeasures */
133 static int hf_h460_9_cumulativeNumberOfPacketsLost
= -1; /* INTEGER_0_4294967295 */
134 static int hf_h460_9_packetLostRate
= -1; /* INTEGER_0_65535 */
135 static int hf_h460_9_worstJitter
= -1; /* CalculatedJitter */
136 static int hf_h460_9_estimatedThroughput
= -1; /* BandWidth */
137 static int hf_h460_9_fractionLostRate
= -1; /* INTEGER_0_65535 */
138 static int hf_h460_9_meanJitter
= -1; /* CalculatedJitter */
139 static int hf_h460_9_extensions
= -1; /* SEQUENCE_OF_Extension */
140 static int hf_h460_9_extensions_item
= -1; /* Extension */
141 static int hf_h460_9_callReferenceValue
= -1; /* CallReferenceValue */
142 static int hf_h460_9_conferenceID
= -1; /* ConferenceIdentifier */
143 static int hf_h460_9_callIdentifier
= -1; /* CallIdentifier */
144 static int hf_h460_9_mediaChannelsQoS
= -1; /* SEQUENCE_OF_RTCPMeasures */
145 static int hf_h460_9_mediaChannelsQoS_item
= -1; /* RTCPMeasures */
146 static int hf_h460_9_periodic
= -1; /* PeriodicQoSMonReport */
147 static int hf_h460_9_final
= -1; /* FinalQosMonReport */
148 static int hf_h460_9_interGK
= -1; /* InterGKQosMonReport */
149 static int hf_h460_9_perCallInfo
= -1; /* SEQUENCE_OF_PerCallQoSReport */
150 static int hf_h460_9_perCallInfo_item
= -1; /* PerCallQoSReport */
151 static int hf_h460_9_mediaInfo
= -1; /* SEQUENCE_OF_RTCPMeasures */
152 static int hf_h460_9_mediaInfo_item
= -1; /* RTCPMeasures */
153 static int hf_h460_9_networkPacketLossRate
= -1; /* INTEGER_0_255 */
154 static int hf_h460_9_jitterBufferDiscardRate
= -1; /* INTEGER_0_255 */
155 static int hf_h460_9_burstMetrics
= -1; /* BurstMetrics */
156 static int hf_h460_9_rtcpRoundTripDelay
= -1; /* INTEGER_0_65535 */
157 static int hf_h460_9_endSystemDelay
= -1; /* INTEGER_0_65535 */
158 static int hf_h460_9_signalLevel
= -1; /* INTEGER_M127_10 */
159 static int hf_h460_9_noiseLevel
= -1; /* INTEGER_M127_0 */
160 static int hf_h460_9_residualEchoReturnLoss
= -1; /* INTEGER_0_127 */
161 static int hf_h460_9_rFactor
= -1; /* INTEGER_0_100 */
162 static int hf_h460_9_extRFactor
= -1; /* INTEGER_0_100 */
163 static int hf_h460_9_estimatedMOSLQ
= -1; /* INTEGER_10_50 */
164 static int hf_h460_9_estimatedMOSCQ
= -1; /* INTEGER_10_50 */
165 static int hf_h460_9_plcType
= -1; /* PLCtypes */
166 static int hf_h460_9_jitterBufferParms
= -1; /* JitterBufferParms */
167 static int hf_h460_9_gmin
= -1; /* INTEGER_0_255 */
168 static int hf_h460_9_burstLossDensity
= -1; /* INTEGER_0_255 */
169 static int hf_h460_9_gapLossDensity
= -1; /* INTEGER_0_255 */
170 static int hf_h460_9_burstDuration
= -1; /* INTEGER_0_65535 */
171 static int hf_h460_9_gapDuration
= -1; /* INTEGER_0_65535 */
172 static int hf_h460_9_unspecified
= -1; /* NULL */
173 static int hf_h460_9_disabled
= -1; /* NULL */
174 static int hf_h460_9_enhanced
= -1; /* NULL */
175 static int hf_h460_9_standard
= -1; /* NULL */
176 static int hf_h460_9_jitterBufferType
= -1; /* JitterBufferTypes */
177 static int hf_h460_9_jitterBufferAdaptRate
= -1; /* INTEGER_0_15 */
178 static int hf_h460_9_jitterBufferNominalSize
= -1; /* INTEGER_0_65535 */
179 static int hf_h460_9_jitterBufferMaxSize
= -1; /* INTEGER_0_65535 */
180 static int hf_h460_9_jitterBufferAbsoluteMax
= -1; /* INTEGER_0_65535 */
181 static int hf_h460_9_unknown
= -1; /* NULL */
182 static int hf_h460_9_reserved
= -1; /* NULL */
183 static int hf_h460_9_nonadaptive
= -1; /* NULL */
184 static int hf_h460_9_adaptive
= -1; /* NULL */
186 /* --- Module CALL-PARTY-CATEGORY --- --- --- */
188 static int hf_h460_10_h460_10_CallPartyCategoryInfo_PDU
= -1; /* CallPartyCategoryInfo */
189 static int hf_h460_10_callPartyCategory
= -1; /* CallPartyCategory */
190 static int hf_h460_10_originatingLineInfo
= -1; /* OriginatingLineInfo */
192 /* --- Module MLPP --- --- --- */
194 static int hf_h460_14_h460_14_MLPPInfo_PDU
= -1; /* MLPPInfo */
195 static int hf_h460_14_precedence
= -1; /* MlppPrecedence */
196 static int hf_h460_14_mlppReason
= -1; /* MlppReason */
197 static int hf_h460_14_mlppNotification
= -1; /* MlppNotification */
198 static int hf_h460_14_alternateParty
= -1; /* AlternateParty */
199 static int hf_h460_14_releaseCall
= -1; /* ReleaseCall */
200 static int hf_h460_14_preemptionPending
= -1; /* NULL */
201 static int hf_h460_14_preemptionInProgress
= -1; /* NULL */
202 static int hf_h460_14_preemptionEnd
= -1; /* NULL */
203 static int hf_h460_14_preemptionComplete
= -1; /* NULL */
204 static int hf_h460_14_altID
= -1; /* AliasAddress */
205 static int hf_h460_14_altTimer
= -1; /* INTEGER_0_255 */
206 static int hf_h460_14_preemptCallID
= -1; /* CallIdentifier */
207 static int hf_h460_14_releaseReason
= -1; /* MlppReason */
208 static int hf_h460_14_releaseDelay
= -1; /* INTEGER_0_255 */
210 /* --- Module SIGNALLING-CHANNEL-SUSPEND-REDIRECT --- --- --- */
212 static int hf_h460_15_h460_15_SignallingChannelData_PDU
= -1; /* SignallingChannelData */
213 static int hf_h460_15_signallingChannelData
= -1; /* T_signallingChannelData */
214 static int hf_h460_15_channelSuspendRequest
= -1; /* ChannelSuspendRequest */
215 static int hf_h460_15_channelSuspendResponse
= -1; /* ChannelSuspendResponse */
216 static int hf_h460_15_channelSuspendConfirm
= -1; /* ChannelSuspendConfirm */
217 static int hf_h460_15_channelSuspendCancel
= -1; /* ChannelSuspendCancel */
218 static int hf_h460_15_channelResumeRequest
= -1; /* ChannelResumeRequest */
219 static int hf_h460_15_channelResumeResponse
= -1; /* ChannelResumeResponse */
220 static int hf_h460_15_channelResumeAddress
= -1; /* SEQUENCE_OF_TransportAddress */
221 static int hf_h460_15_channelResumeAddress_item
= -1; /* TransportAddress */
222 static int hf_h460_15_immediateResume
= -1; /* BOOLEAN */
223 static int hf_h460_15_resetH245
= -1; /* NULL */
224 static int hf_h460_15_okToSuspend
= -1; /* BOOLEAN */
225 static int hf_h460_15_randomNumber
= -1; /* INTEGER_0_4294967295 */
227 /* --- Module SIGNALLING-TRAVERSAL --- --- --- */
229 static int hf_h460_18_h460_18_IncomingCallIndication_PDU
= -1; /* IncomingCallIndication */
230 static int hf_h460_18_h460_18_LRQKeepAliveData_PDU
= -1; /* LRQKeepAliveData */
231 static int hf_h460_18_callSignallingAddress
= -1; /* TransportAddress */
232 static int hf_h460_18_callID
= -1; /* CallIdentifier */
233 static int hf_h460_18_lrqKeepAliveInterval
= -1; /* TimeToLive */
235 /* --- Module MEDIA-TRAVERSAL --- --- --- */
237 static int hf_h460_19_h460_19_TraversalParameters_PDU
= -1; /* TraversalParameters */
238 static int hf_h460_19_multiplexedMediaChannel
= -1; /* TransportAddress */
239 static int hf_h460_19_multiplexedMediaControlChannel
= -1; /* TransportAddress */
240 static int hf_h460_19_multiplexID
= -1; /* INTEGER_0_4294967295 */
241 static int hf_h460_19_keepAliveChannel
= -1; /* TransportAddress */
242 static int hf_h460_19_keepAlivePayloadType
= -1; /* INTEGER_0_127 */
243 static int hf_h460_19_keepAliveInterval
= -1; /* TimeToLive */
245 /* --- Module MESSAGE-BROADCAST --- --- --- */
247 static int hf_h460_21_h460_21_CapabilityAdvertisement_PDU
= -1; /* CapabilityAdvertisement */
248 static int hf_h460_21_receiveCapabilities
= -1; /* ReceiveCapabilities */
249 static int hf_h460_21_transmitCapabilities
= -1; /* SEQUENCE_SIZE_1_256_OF_TransmitCapabilities */
250 static int hf_h460_21_transmitCapabilities_item
= -1; /* TransmitCapabilities */
251 static int hf_h460_21_capabilities
= -1; /* SEQUENCE_SIZE_1_256_OF_Capability */
252 static int hf_h460_21_capabilities_item
= -1; /* Capability */
253 static int hf_h460_21_maxGroups
= -1; /* INTEGER_1_65535 */
254 static int hf_h460_21_groupIdentifer
= -1; /* GloballyUniqueID */
255 static int hf_h460_21_capability
= -1; /* Capability */
256 static int hf_h460_21_sourceAddress
= -1; /* UnicastAddress */
258 /*--- End of included file: packet-h460-hf.c ---*/
259 #line 47 "../../asn1/h460/packet-h460-template.c"
261 /* Initialize the subtree pointers */
263 /*--- Included file: packet-h460-ett.c ---*/
264 #line 1 "../../asn1/h460/packet-h460-ett.c"
266 /* --- Module NUMBER-PORTABILITY --- --- --- */
268 static gint ett_h460_2_NumberPortabilityInfo
= -1;
269 static gint ett_h460_2_T_nUMBERPORTABILITYDATA
= -1;
270 static gint ett_h460_2_NumberPortabilityRejectReason
= -1;
271 static gint ett_h460_2_PortabilityAddress
= -1;
272 static gint ett_h460_2_NumberPortabilityTypeOfNumber
= -1;
273 static gint ett_h460_2_PortabilityTypeOfNumber
= -1;
274 static gint ett_h460_2_RegionalParameters
= -1;
276 /* --- Module CIRCUIT-STATUS-MAP --- --- --- */
278 static gint ett_h460_3_CircuitStatus
= -1;
279 static gint ett_h460_3_SEQUENCE_OF_CircuitStatusMap
= -1;
280 static gint ett_h460_3_CircuitStatusMap
= -1;
281 static gint ett_h460_3_CircuitStatusType
= -1;
283 /* --- Module CALL-PRIORITY --- --- --- */
285 static gint ett_h460_4_CallPriorityInfo
= -1;
286 static gint ett_h460_4_T_priorityValue
= -1;
287 static gint ett_h460_4_SEQUENCE_OF_ClearToken
= -1;
288 static gint ett_h460_4_SEQUENCE_OF_CryptoToken
= -1;
289 static gint ett_h460_4_T_rejectReason
= -1;
290 static gint ett_h460_4_CountryInternationalNetworkCallOriginationIdentification
= -1;
291 static gint ett_h460_4_T_numberingPlan
= -1;
292 static gint ett_h460_4_T_x121
= -1;
293 static gint ett_h460_4_T_e164
= -1;
295 /* --- Modules QOS-MONITORING-REPORT QOS-MONITORING-EXTENDED-VOIP-REPORT --- --- --- */
297 static gint ett_h460_9_Extension
= -1;
298 static gint ett_h460_9_RTCPMeasures
= -1;
299 static gint ett_h460_9_T_mediaSenderMeasures
= -1;
300 static gint ett_h460_9_T_mediaReceiverMeasures
= -1;
301 static gint ett_h460_9_SEQUENCE_OF_Extension
= -1;
302 static gint ett_h460_9_PerCallQoSReport
= -1;
303 static gint ett_h460_9_SEQUENCE_OF_RTCPMeasures
= -1;
304 static gint ett_h460_9_QosMonitoringReportData
= -1;
305 static gint ett_h460_9_PeriodicQoSMonReport
= -1;
306 static gint ett_h460_9_SEQUENCE_OF_PerCallQoSReport
= -1;
307 static gint ett_h460_9_FinalQosMonReport
= -1;
308 static gint ett_h460_9_InterGKQosMonReport
= -1;
309 static gint ett_h460_9_ExtendedRTPMetrics
= -1;
310 static gint ett_h460_9_BurstMetrics
= -1;
311 static gint ett_h460_9_PLCtypes
= -1;
312 static gint ett_h460_9_JitterBufferParms
= -1;
313 static gint ett_h460_9_JitterBufferTypes
= -1;
315 /* --- Module CALL-PARTY-CATEGORY --- --- --- */
317 static gint ett_h460_10_CallPartyCategoryInfo
= -1;
319 /* --- Module MLPP --- --- --- */
321 static gint ett_h460_14_MLPPInfo
= -1;
322 static gint ett_h460_14_MlppNotification
= -1;
323 static gint ett_h460_14_AlternateParty
= -1;
324 static gint ett_h460_14_ReleaseCall
= -1;
326 /* --- Module SIGNALLING-CHANNEL-SUSPEND-REDIRECT --- --- --- */
328 static gint ett_h460_15_SignallingChannelData
= -1;
329 static gint ett_h460_15_T_signallingChannelData
= -1;
330 static gint ett_h460_15_ChannelSuspendRequest
= -1;
331 static gint ett_h460_15_SEQUENCE_OF_TransportAddress
= -1;
332 static gint ett_h460_15_ChannelSuspendResponse
= -1;
333 static gint ett_h460_15_ChannelSuspendConfirm
= -1;
334 static gint ett_h460_15_ChannelSuspendCancel
= -1;
335 static gint ett_h460_15_ChannelResumeRequest
= -1;
336 static gint ett_h460_15_ChannelResumeResponse
= -1;
338 /* --- Module SIGNALLING-TRAVERSAL --- --- --- */
340 static gint ett_h460_18_IncomingCallIndication
= -1;
341 static gint ett_h460_18_LRQKeepAliveData
= -1;
343 /* --- Module MEDIA-TRAVERSAL --- --- --- */
345 static gint ett_h460_19_TraversalParameters
= -1;
347 /* --- Module MESSAGE-BROADCAST --- --- --- */
349 static gint ett_h460_21_CapabilityAdvertisement
= -1;
350 static gint ett_h460_21_SEQUENCE_SIZE_1_256_OF_TransmitCapabilities
= -1;
351 static gint ett_h460_21_ReceiveCapabilities
= -1;
352 static gint ett_h460_21_SEQUENCE_SIZE_1_256_OF_Capability
= -1;
353 static gint ett_h460_21_TransmitCapabilities
= -1;
355 /*--- End of included file: packet-h460-ett.c ---*/
356 #line 50 "../../asn1/h460/packet-h460-template.c"
359 static dissector_handle_t q931_ie_handle
= NULL
;
360 static dissector_handle_t h225_ras_handle
= NULL
;
363 /*--- Included file: packet-h460-fn.c ---*/
364 #line 1 "../../asn1/h460/packet-h460-fn.c"
366 /* --- Module NUMBER-PORTABILITY --- --- --- */
371 dissect_h460_2_NULL(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
372 offset
= dissect_per_null(tvb
, offset
, actx
, tree
, hf_index
);
378 static const value_string h460_2_NumberPortabilityRejectReason_vals
[] = {
379 { 0, "unspecified" },
380 { 1, "qorPortedNumber" },
384 static const per_choice_t h460_2_NumberPortabilityRejectReason_choice
[] = {
385 { 0, &hf_h460_2_unspecified
, ASN1_EXTENSION_ROOT
, dissect_h460_2_NULL
},
386 { 1, &hf_h460_2_qorPortedNumber
, ASN1_EXTENSION_ROOT
, dissect_h460_2_NULL
},
391 dissect_h460_2_NumberPortabilityRejectReason(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
392 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
393 ett_h460_2_NumberPortabilityRejectReason
, h460_2_NumberPortabilityRejectReason_choice
,
400 static const value_string h460_2_PortabilityTypeOfNumber_vals
[] = {
401 { 0, "portedNumber" },
402 { 1, "routingNumber" },
403 { 2, "concatenatedNumber" },
407 static const per_choice_t h460_2_PortabilityTypeOfNumber_choice
[] = {
408 { 0, &hf_h460_2_portedNumber
, ASN1_EXTENSION_ROOT
, dissect_h460_2_NULL
},
409 { 1, &hf_h460_2_routingNumber
, ASN1_EXTENSION_ROOT
, dissect_h460_2_NULL
},
410 { 2, &hf_h460_2_concatenatedNumber
, ASN1_EXTENSION_ROOT
, dissect_h460_2_NULL
},
415 dissect_h460_2_PortabilityTypeOfNumber(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
416 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
417 ett_h460_2_PortabilityTypeOfNumber
, h460_2_PortabilityTypeOfNumber_choice
,
424 static const value_string h460_2_NumberPortabilityTypeOfNumber_vals
[] = {
425 { 0, "publicTypeOfNumber" },
426 { 1, "privateTypeOfNumber" },
427 { 2, "portabilityTypeOfNumber" },
431 static const per_choice_t h460_2_NumberPortabilityTypeOfNumber_choice
[] = {
432 { 0, &hf_h460_2_publicTypeOfNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_PublicTypeOfNumber
},
433 { 1, &hf_h460_2_privateTypeOfNumber
, ASN1_EXTENSION_ROOT
, dissect_h225_PrivateTypeOfNumber
},
434 { 2, &hf_h460_2_portabilityTypeOfNumber
, ASN1_EXTENSION_ROOT
, dissect_h460_2_PortabilityTypeOfNumber
},
439 dissect_h460_2_NumberPortabilityTypeOfNumber(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
440 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
441 ett_h460_2_NumberPortabilityTypeOfNumber
, h460_2_NumberPortabilityTypeOfNumber_choice
,
448 static const per_sequence_t h460_2_PortabilityAddress_sequence
[] = {
449 { &hf_h460_2_aliasAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_AliasAddress
},
450 { &hf_h460_2_typeOfAddress
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_2_NumberPortabilityTypeOfNumber
},
455 dissect_h460_2_PortabilityAddress(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
456 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
457 ett_h460_2_PortabilityAddress
, h460_2_PortabilityAddress_sequence
);
465 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_
) {
466 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
467 0U, 255U, NULL
, FALSE
);
475 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_
) {
476 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
477 1U, 255U, NULL
, FALSE
);
485 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_
) {
486 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
487 NO_BOUND
, NO_BOUND
, FALSE
, NULL
);
493 static const per_sequence_t h460_2_RegionalParameters_sequence
[] = {
494 { &hf_h460_2_t35CountryCode
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_2_INTEGER_0_255
},
495 { &hf_h460_2_t35Extension
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_2_INTEGER_0_255
},
496 { &hf_h460_2_variantIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_2_INTEGER_1_255
},
497 { &hf_h460_2_regionalData
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_2_OCTET_STRING
},
502 dissect_h460_2_RegionalParameters(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
503 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
504 ett_h460_2_RegionalParameters
, h460_2_RegionalParameters_sequence
);
510 static const per_sequence_t h460_2_T_nUMBERPORTABILITYDATA_sequence
[] = {
511 { &hf_h460_2_addressTranslated
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_2_NULL
},
512 { &hf_h460_2_portedAddress
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_2_PortabilityAddress
},
513 { &hf_h460_2_routingAddress
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_2_PortabilityAddress
},
514 { &hf_h460_2_regionalParams
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_2_RegionalParameters
},
519 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_
) {
520 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
521 ett_h460_2_T_nUMBERPORTABILITYDATA
, h460_2_T_nUMBERPORTABILITYDATA_sequence
);
527 static const value_string h460_2_NumberPortabilityInfo_vals
[] = {
528 { 0, "numberPortabilityRejectReason" },
529 { 1, "nUMBERPORTABILITYDATA" },
533 static const per_choice_t h460_2_NumberPortabilityInfo_choice
[] = {
534 { 0, &hf_h460_2_numberPortabilityRejectReason
, ASN1_EXTENSION_ROOT
, dissect_h460_2_NumberPortabilityRejectReason
},
535 { 1, &hf_h460_2_nUMBERPORTABILITYDATA
, ASN1_EXTENSION_ROOT
, dissect_h460_2_T_nUMBERPORTABILITYDATA
},
540 dissect_h460_2_NumberPortabilityInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
541 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
542 ett_h460_2_NumberPortabilityInfo
, h460_2_NumberPortabilityInfo_choice
,
550 static int dissect_h460_2_NumberPortabilityInfo_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
553 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
554 offset
= dissect_h460_2_NumberPortabilityInfo(tvb
, offset
, &asn1_ctx
, tree
, hf_h460_2_h460_2_NumberPortabilityInfo_PDU
);
555 offset
+= 7; offset
>>= 3;
560 /* --- Module CIRCUIT-STATUS-MAP --- --- --- */
565 dissect_h460_3_NULL(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
566 offset
= dissect_per_null(tvb
, offset
, actx
, tree
, hf_index
);
572 static const value_string h460_3_CircuitStatusType_vals
[] = {
573 { 0, "serviceStatus" },
578 static const per_choice_t h460_3_CircuitStatusType_choice
[] = {
579 { 0, &hf_h460_3_serviceStatus
, ASN1_EXTENSION_ROOT
, dissect_h460_3_NULL
},
580 { 1, &hf_h460_3_busyStatus
, ASN1_EXTENSION_ROOT
, dissect_h460_3_NULL
},
585 dissect_h460_3_CircuitStatusType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
586 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
587 ett_h460_3_CircuitStatusType
, h460_3_CircuitStatusType_choice
,
596 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_
) {
597 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
598 0U, 4095U, NULL
, FALSE
);
606 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_
) {
607 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
608 NO_BOUND
, NO_BOUND
, FALSE
, NULL
);
614 static const per_sequence_t h460_3_CircuitStatusMap_sequence
[] = {
615 { &hf_h460_3_statusType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_3_CircuitStatusType
},
616 { &hf_h460_3_baseCircuitID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CircuitIdentifier
},
617 { &hf_h460_3_range
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_3_INTEGER_0_4095
},
618 { &hf_h460_3_status
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_3_OCTET_STRING
},
623 dissect_h460_3_CircuitStatusMap(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
624 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
625 ett_h460_3_CircuitStatusMap
, h460_3_CircuitStatusMap_sequence
);
631 static const per_sequence_t h460_3_SEQUENCE_OF_CircuitStatusMap_sequence_of
[1] = {
632 { &hf_h460_3_circuitStatusMap_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h460_3_CircuitStatusMap
},
636 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_
) {
637 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
638 ett_h460_3_SEQUENCE_OF_CircuitStatusMap
, h460_3_SEQUENCE_OF_CircuitStatusMap_sequence_of
);
644 static const per_sequence_t h460_3_CircuitStatus_sequence
[] = {
645 { &hf_h460_3_circuitStatusMap
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_3_SEQUENCE_OF_CircuitStatusMap
},
650 dissect_h460_3_CircuitStatus(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
651 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
652 ett_h460_3_CircuitStatus
, h460_3_CircuitStatus_sequence
);
659 static int dissect_h460_3_CircuitStatus_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
662 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
663 offset
= dissect_h460_3_CircuitStatus(tvb
, offset
, &asn1_ctx
, tree
, hf_h460_3_h460_3_CircuitStatus_PDU
);
664 offset
+= 7; offset
>>= 3;
669 /* --- Module CALL-PRIORITY --- --- --- */
674 dissect_h460_4_NULL(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
675 offset
= dissect_per_null(tvb
, offset
, actx
, tree
, hf_index
);
681 static const value_string h460_4_T_priorityValue_vals
[] = {
682 { 0, "emergencyAuthorized" },
683 { 1, "emergencyPublic" },
689 static const per_choice_t h460_4_T_priorityValue_choice
[] = {
690 { 0, &hf_h460_4_emergencyAuthorized
, ASN1_EXTENSION_ROOT
, dissect_h460_4_NULL
},
691 { 1, &hf_h460_4_emergencyPublic
, ASN1_EXTENSION_ROOT
, dissect_h460_4_NULL
},
692 { 2, &hf_h460_4_high
, ASN1_EXTENSION_ROOT
, dissect_h460_4_NULL
},
693 { 3, &hf_h460_4_normal
, ASN1_EXTENSION_ROOT
, dissect_h460_4_NULL
},
698 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_
) {
699 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
700 ett_h460_4_T_priorityValue
, h460_4_T_priorityValue_choice
,
709 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_
) {
710 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
711 0U, 255U, NULL
, FALSE
);
717 static const per_sequence_t h460_4_SEQUENCE_OF_ClearToken_sequence_of
[1] = {
718 { &hf_h460_4_tokens_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h235_ClearToken
},
722 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_
) {
723 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
724 ett_h460_4_SEQUENCE_OF_ClearToken
, h460_4_SEQUENCE_OF_ClearToken_sequence_of
);
730 static const per_sequence_t h460_4_SEQUENCE_OF_CryptoToken_sequence_of
[1] = {
731 { &hf_h460_4_cryptoTokens_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h235_CryptoToken
},
735 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_
) {
736 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
737 ett_h460_4_SEQUENCE_OF_CryptoToken
, h460_4_SEQUENCE_OF_CryptoToken_sequence_of
);
743 static const value_string h460_4_T_rejectReason_vals
[] = {
744 { 0, "priorityUnavailable" },
745 { 1, "priorityUnauthorized" },
746 { 2, "priorityValueUnknown" },
750 static const per_choice_t h460_4_T_rejectReason_choice
[] = {
751 { 0, &hf_h460_4_priorityUnavailable
, ASN1_EXTENSION_ROOT
, dissect_h460_4_NULL
},
752 { 1, &hf_h460_4_priorityUnauthorized
, ASN1_EXTENSION_ROOT
, dissect_h460_4_NULL
},
753 { 2, &hf_h460_4_priorityValueUnknown
, ASN1_EXTENSION_ROOT
, dissect_h460_4_NULL
},
758 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_
) {
759 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
760 ett_h460_4_T_rejectReason
, h460_4_T_rejectReason_choice
,
767 static const per_sequence_t h460_4_CallPriorityInfo_sequence
[] = {
768 { &hf_h460_4_priorityValue
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_4_T_priorityValue
},
769 { &hf_h460_4_priorityExtension
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_4_INTEGER_0_255
},
770 { &hf_h460_4_tokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_4_SEQUENCE_OF_ClearToken
},
771 { &hf_h460_4_cryptoTokens
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_4_SEQUENCE_OF_CryptoToken
},
772 { &hf_h460_4_rejectReason
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_4_T_rejectReason
},
777 dissect_h460_4_CallPriorityInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
778 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
779 ett_h460_4_CallPriorityInfo
, h460_4_CallPriorityInfo_sequence
);
787 dissect_h460_4_X121CountryCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
788 offset
= dissect_per_restricted_character_string(tvb
, offset
, actx
, tree
, hf_index
,
789 3, 3, FALSE
, "0123456789", 10,
796 static const per_sequence_t h460_4_T_x121_sequence
[] = {
797 { &hf_h460_4_x121CountryCode
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_4_X121CountryCode
},
802 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_
) {
803 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
804 ett_h460_4_T_x121
, h460_4_T_x121_sequence
);
812 dissect_h460_4_E164CountryCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
813 offset
= dissect_per_restricted_character_string(tvb
, offset
, actx
, tree
, hf_index
,
814 3, 3, FALSE
, "0123456789", 10,
823 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_
) {
824 offset
= dissect_per_restricted_character_string(tvb
, offset
, actx
, tree
, hf_index
,
825 1, 4, FALSE
, "0123456789", 10,
832 static const per_sequence_t h460_4_T_e164_sequence
[] = {
833 { &hf_h460_4_e164CountryCode
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_4_E164CountryCode
},
834 { &hf_h460_4_identificationCode
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_4_T_identificationCode
},
839 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_
) {
840 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
841 ett_h460_4_T_e164
, h460_4_T_e164_sequence
);
847 static const value_string h460_4_T_numberingPlan_vals
[] = {
853 static const per_choice_t h460_4_T_numberingPlan_choice
[] = {
854 { 0, &hf_h460_4_x121
, ASN1_EXTENSION_ROOT
, dissect_h460_4_T_x121
},
855 { 1, &hf_h460_4_e164
, ASN1_EXTENSION_ROOT
, dissect_h460_4_T_e164
},
860 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_
) {
861 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
862 ett_h460_4_T_numberingPlan
, h460_4_T_numberingPlan_choice
,
869 static const per_sequence_t h460_4_CountryInternationalNetworkCallOriginationIdentification_sequence
[] = {
870 { &hf_h460_4_numberingPlan
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_4_T_numberingPlan
},
875 dissect_h460_4_CountryInternationalNetworkCallOriginationIdentification(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
876 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
877 ett_h460_4_CountryInternationalNetworkCallOriginationIdentification
, h460_4_CountryInternationalNetworkCallOriginationIdentification_sequence
);
884 static int dissect_h460_4_CallPriorityInfo_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
887 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
888 offset
= dissect_h460_4_CallPriorityInfo(tvb
, offset
, &asn1_ctx
, tree
, hf_h460_4_h460_4_CallPriorityInfo_PDU
);
889 offset
+= 7; offset
>>= 3;
892 static int dissect_h460_4_CountryInternationalNetworkCallOriginationIdentification_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
895 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
896 offset
= dissect_h460_4_CountryInternationalNetworkCallOriginationIdentification(tvb
, offset
, &asn1_ctx
, tree
, hf_h460_4_h460_4_CountryInternationalNetworkCallOriginationIdentification_PDU
);
897 offset
+= 7; offset
>>= 3;
902 /* --- Modules QOS-MONITORING-REPORT QOS-MONITORING-EXTENDED-VOIP-REPORT --- --- --- */
907 dissect_h460_9_EstimatedEnd2EndDelay(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
908 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
909 0U, 4294967295U, NULL
, FALSE
);
917 dissect_h460_9_CalculatedJitter(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
918 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
919 0U, 4294967295U, NULL
, FALSE
);
927 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_
) {
928 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
929 NO_BOUND
, NO_BOUND
, FALSE
, NULL
);
935 static const per_sequence_t h460_9_Extension_sequence
[] = {
936 { &hf_h460_9_extensionId
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_GenericIdentifier
},
937 { &hf_h460_9_extensionContent
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_OCTET_STRING
},
942 dissect_h460_9_Extension(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
943 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
944 ett_h460_9_Extension
, h460_9_Extension_sequence
);
952 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_
) {
953 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
954 1U, 255U, NULL
, FALSE
);
960 static const per_sequence_t h460_9_T_mediaSenderMeasures_sequence
[] = {
961 { &hf_h460_9_worstEstimatedEnd2EndDelay
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_EstimatedEnd2EndDelay
},
962 { &hf_h460_9_meanEstimatedEnd2EndDelay
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_EstimatedEnd2EndDelay
},
967 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_
) {
968 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
969 ett_h460_9_T_mediaSenderMeasures
, h460_9_T_mediaSenderMeasures_sequence
);
977 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_
) {
978 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
979 0U, 4294967295U, NULL
, FALSE
);
987 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_
) {
988 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
989 0U, 65535U, NULL
, FALSE
);
995 static const per_sequence_t h460_9_T_mediaReceiverMeasures_sequence
[] = {
996 { &hf_h460_9_cumulativeNumberOfPacketsLost
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_0_4294967295
},
997 { &hf_h460_9_packetLostRate
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_0_65535
},
998 { &hf_h460_9_worstJitter
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_CalculatedJitter
},
999 { &hf_h460_9_estimatedThroughput
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_BandWidth
},
1000 { &hf_h460_9_fractionLostRate
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_0_65535
},
1001 { &hf_h460_9_meanJitter
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_CalculatedJitter
},
1002 { NULL
, 0, 0, NULL
}
1006 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_
) {
1007 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1008 ett_h460_9_T_mediaReceiverMeasures
, h460_9_T_mediaReceiverMeasures_sequence
);
1014 static const per_sequence_t h460_9_SEQUENCE_OF_Extension_sequence_of
[1] = {
1015 { &hf_h460_9_extensions_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h460_9_Extension
},
1019 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_
) {
1020 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
1021 ett_h460_9_SEQUENCE_OF_Extension
, h460_9_SEQUENCE_OF_Extension_sequence_of
);
1027 static const per_sequence_t h460_9_RTCPMeasures_sequence
[] = {
1028 { &hf_h460_9_rtpAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_TransportChannelInfo
},
1029 { &hf_h460_9_rtcpAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_TransportChannelInfo
},
1030 { &hf_h460_9_sessionId
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_9_INTEGER_1_255
},
1031 { &hf_h460_9_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
1032 { &hf_h460_9_mediaSenderMeasures
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_T_mediaSenderMeasures
},
1033 { &hf_h460_9_mediaReceiverMeasures
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_T_mediaReceiverMeasures
},
1034 { &hf_h460_9_extensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_SEQUENCE_OF_Extension
},
1035 { NULL
, 0, 0, NULL
}
1039 dissect_h460_9_RTCPMeasures(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1040 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1041 ett_h460_9_RTCPMeasures
, h460_9_RTCPMeasures_sequence
);
1047 static const per_sequence_t h460_9_SEQUENCE_OF_RTCPMeasures_sequence_of
[1] = {
1048 { &hf_h460_9_mediaChannelsQoS_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h460_9_RTCPMeasures
},
1052 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_
) {
1053 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
1054 ett_h460_9_SEQUENCE_OF_RTCPMeasures
, h460_9_SEQUENCE_OF_RTCPMeasures_sequence_of
);
1060 static const per_sequence_t h460_9_PerCallQoSReport_sequence
[] = {
1061 { &hf_h460_9_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
1062 { &hf_h460_9_callReferenceValue
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallReferenceValue
},
1063 { &hf_h460_9_conferenceID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_ConferenceIdentifier
},
1064 { &hf_h460_9_callIdentifier
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallIdentifier
},
1065 { &hf_h460_9_mediaChannelsQoS
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_SEQUENCE_OF_RTCPMeasures
},
1066 { &hf_h460_9_extensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_SEQUENCE_OF_Extension
},
1067 { NULL
, 0, 0, NULL
}
1071 dissect_h460_9_PerCallQoSReport(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1072 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1073 ett_h460_9_PerCallQoSReport
, h460_9_PerCallQoSReport_sequence
);
1079 static const per_sequence_t h460_9_SEQUENCE_OF_PerCallQoSReport_sequence_of
[1] = {
1080 { &hf_h460_9_perCallInfo_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h460_9_PerCallQoSReport
},
1084 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_
) {
1085 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
1086 ett_h460_9_SEQUENCE_OF_PerCallQoSReport
, h460_9_SEQUENCE_OF_PerCallQoSReport_sequence_of
);
1092 static const per_sequence_t h460_9_PeriodicQoSMonReport_sequence
[] = {
1093 { &hf_h460_9_perCallInfo
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_9_SEQUENCE_OF_PerCallQoSReport
},
1094 { &hf_h460_9_extensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_SEQUENCE_OF_Extension
},
1095 { NULL
, 0, 0, NULL
}
1099 dissect_h460_9_PeriodicQoSMonReport(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1100 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1101 ett_h460_9_PeriodicQoSMonReport
, h460_9_PeriodicQoSMonReport_sequence
);
1107 static const per_sequence_t h460_9_FinalQosMonReport_sequence
[] = {
1108 { &hf_h460_9_mediaInfo
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_9_SEQUENCE_OF_RTCPMeasures
},
1109 { &hf_h460_9_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
1110 { &hf_h460_9_extensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_SEQUENCE_OF_Extension
},
1111 { NULL
, 0, 0, NULL
}
1115 dissect_h460_9_FinalQosMonReport(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1116 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1117 ett_h460_9_FinalQosMonReport
, h460_9_FinalQosMonReport_sequence
);
1123 static const per_sequence_t h460_9_InterGKQosMonReport_sequence
[] = {
1124 { &hf_h460_9_mediaInfo
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_9_SEQUENCE_OF_RTCPMeasures
},
1125 { &hf_h460_9_nonStandardData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_NonStandardParameter
},
1126 { &hf_h460_9_extensions
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_SEQUENCE_OF_Extension
},
1127 { NULL
, 0, 0, NULL
}
1131 dissect_h460_9_InterGKQosMonReport(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1132 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1133 ett_h460_9_InterGKQosMonReport
, h460_9_InterGKQosMonReport_sequence
);
1139 static const value_string h460_9_QosMonitoringReportData_vals
[] = {
1146 static const per_choice_t h460_9_QosMonitoringReportData_choice
[] = {
1147 { 0, &hf_h460_9_periodic
, ASN1_EXTENSION_ROOT
, dissect_h460_9_PeriodicQoSMonReport
},
1148 { 1, &hf_h460_9_final
, ASN1_EXTENSION_ROOT
, dissect_h460_9_FinalQosMonReport
},
1149 { 2, &hf_h460_9_interGK
, ASN1_EXTENSION_ROOT
, dissect_h460_9_InterGKQosMonReport
},
1150 { 0, NULL
, 0, NULL
}
1154 dissect_h460_9_QosMonitoringReportData(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1155 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
1156 ett_h460_9_QosMonitoringReportData
, h460_9_QosMonitoringReportData_choice
,
1165 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_
) {
1166 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1167 0U, 255U, NULL
, FALSE
);
1173 static const per_sequence_t h460_9_BurstMetrics_sequence
[] = {
1174 { &hf_h460_9_gmin
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_0_255
},
1175 { &hf_h460_9_burstLossDensity
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_0_255
},
1176 { &hf_h460_9_gapLossDensity
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_0_255
},
1177 { &hf_h460_9_burstDuration
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_0_65535
},
1178 { &hf_h460_9_gapDuration
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_0_65535
},
1179 { NULL
, 0, 0, NULL
}
1183 dissect_h460_9_BurstMetrics(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1184 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1185 ett_h460_9_BurstMetrics
, h460_9_BurstMetrics_sequence
);
1193 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_
) {
1194 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1195 -127, 10U, NULL
, FALSE
);
1203 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_
) {
1204 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1205 -127, 0U, NULL
, FALSE
);
1213 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_
) {
1214 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1215 0U, 127U, NULL
, FALSE
);
1223 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_
) {
1224 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1225 0U, 100U, NULL
, FALSE
);
1233 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_
) {
1234 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1235 10U, 50U, NULL
, FALSE
);
1243 dissect_h460_9_NULL(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1244 offset
= dissect_per_null(tvb
, offset
, actx
, tree
, hf_index
);
1250 static const value_string h460_9_PLCtypes_vals
[] = {
1251 { 0, "unspecified" },
1258 static const per_choice_t h460_9_PLCtypes_choice
[] = {
1259 { 0, &hf_h460_9_unspecified
, ASN1_EXTENSION_ROOT
, dissect_h460_9_NULL
},
1260 { 1, &hf_h460_9_disabled
, ASN1_EXTENSION_ROOT
, dissect_h460_9_NULL
},
1261 { 2, &hf_h460_9_enhanced
, ASN1_EXTENSION_ROOT
, dissect_h460_9_NULL
},
1262 { 3, &hf_h460_9_standard
, ASN1_EXTENSION_ROOT
, dissect_h460_9_NULL
},
1263 { 0, NULL
, 0, NULL
}
1267 dissect_h460_9_PLCtypes(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1268 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
1269 ett_h460_9_PLCtypes
, h460_9_PLCtypes_choice
,
1276 static const value_string h460_9_JitterBufferTypes_vals
[] = {
1279 { 2, "nonadaptive" },
1284 static const per_choice_t h460_9_JitterBufferTypes_choice
[] = {
1285 { 0, &hf_h460_9_unknown
, ASN1_EXTENSION_ROOT
, dissect_h460_9_NULL
},
1286 { 1, &hf_h460_9_reserved
, ASN1_EXTENSION_ROOT
, dissect_h460_9_NULL
},
1287 { 2, &hf_h460_9_nonadaptive
, ASN1_EXTENSION_ROOT
, dissect_h460_9_NULL
},
1288 { 3, &hf_h460_9_adaptive
, ASN1_EXTENSION_ROOT
, dissect_h460_9_NULL
},
1289 { 0, NULL
, 0, NULL
}
1293 dissect_h460_9_JitterBufferTypes(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1294 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
1295 ett_h460_9_JitterBufferTypes
, h460_9_JitterBufferTypes_choice
,
1304 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_
) {
1305 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1306 0U, 15U, NULL
, FALSE
);
1312 static const per_sequence_t h460_9_JitterBufferParms_sequence
[] = {
1313 { &hf_h460_9_jitterBufferType
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_JitterBufferTypes
},
1314 { &hf_h460_9_jitterBufferAdaptRate
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_0_15
},
1315 { &hf_h460_9_jitterBufferNominalSize
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_0_65535
},
1316 { &hf_h460_9_jitterBufferMaxSize
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_0_65535
},
1317 { &hf_h460_9_jitterBufferAbsoluteMax
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_0_65535
},
1318 { NULL
, 0, 0, NULL
}
1322 dissect_h460_9_JitterBufferParms(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1323 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1324 ett_h460_9_JitterBufferParms
, h460_9_JitterBufferParms_sequence
);
1330 static const per_sequence_t h460_9_ExtendedRTPMetrics_sequence
[] = {
1331 { &hf_h460_9_networkPacketLossRate
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_0_255
},
1332 { &hf_h460_9_jitterBufferDiscardRate
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_0_255
},
1333 { &hf_h460_9_burstMetrics
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_BurstMetrics
},
1334 { &hf_h460_9_rtcpRoundTripDelay
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_0_65535
},
1335 { &hf_h460_9_endSystemDelay
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_0_65535
},
1336 { &hf_h460_9_signalLevel
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_M127_10
},
1337 { &hf_h460_9_noiseLevel
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_M127_0
},
1338 { &hf_h460_9_residualEchoReturnLoss
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_0_127
},
1339 { &hf_h460_9_rFactor
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_0_100
},
1340 { &hf_h460_9_extRFactor
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_0_100
},
1341 { &hf_h460_9_estimatedMOSLQ
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_10_50
},
1342 { &hf_h460_9_estimatedMOSCQ
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_INTEGER_10_50
},
1343 { &hf_h460_9_plcType
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_PLCtypes
},
1344 { &hf_h460_9_jitterBufferParms
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_9_JitterBufferParms
},
1345 { NULL
, 0, 0, NULL
}
1349 dissect_h460_9_ExtendedRTPMetrics(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1350 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1351 ett_h460_9_ExtendedRTPMetrics
, h460_9_ExtendedRTPMetrics_sequence
);
1358 static int dissect_h460_9_QosMonitoringReportData_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1360 asn1_ctx_t asn1_ctx
;
1361 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
1362 offset
= dissect_h460_9_QosMonitoringReportData(tvb
, offset
, &asn1_ctx
, tree
, hf_h460_9_h460_9_QosMonitoringReportData_PDU
);
1363 offset
+= 7; offset
>>= 3;
1366 static int dissect_h460_9_ExtendedRTPMetrics_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1368 asn1_ctx_t asn1_ctx
;
1369 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
1370 offset
= dissect_h460_9_ExtendedRTPMetrics(tvb
, offset
, &asn1_ctx
, tree
, hf_h460_9_h460_9_ExtendedRTPMetrics_PDU
);
1371 offset
+= 7; offset
>>= 3;
1376 /* --- Module CALL-PARTY-CATEGORY --- --- --- */
1381 dissect_h460_10_CallPartyCategory(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1382 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1383 0U, 255U, NULL
, FALSE
);
1391 dissect_h460_10_OriginatingLineInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1392 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1393 0U, 255U, NULL
, FALSE
);
1399 static const per_sequence_t h460_10_CallPartyCategoryInfo_sequence
[] = {
1400 { &hf_h460_10_callPartyCategory
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_10_CallPartyCategory
},
1401 { &hf_h460_10_originatingLineInfo
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_10_OriginatingLineInfo
},
1402 { NULL
, 0, 0, NULL
}
1406 dissect_h460_10_CallPartyCategoryInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1407 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1408 ett_h460_10_CallPartyCategoryInfo
, h460_10_CallPartyCategoryInfo_sequence
);
1415 static int dissect_h460_10_CallPartyCategoryInfo_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1417 asn1_ctx_t asn1_ctx
;
1418 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
1419 offset
= dissect_h460_10_CallPartyCategoryInfo(tvb
, offset
, &asn1_ctx
, tree
, hf_h460_10_h460_10_CallPartyCategoryInfo_PDU
);
1420 offset
+= 7; offset
>>= 3;
1425 /* --- Module MLPP --- --- --- */
1428 static const value_string h460_14_MlppPrecedence_vals
[] = {
1429 { 0, "flashOveride" },
1439 dissect_h460_14_MlppPrecedence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1440 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
1441 5, NULL
, TRUE
, 0, NULL
);
1447 static const value_string h460_14_MlppReason_vals
[] = {
1448 { 8, "preemptionNoReservation" },
1449 { 9, "preemptionReservation" },
1450 { 46, "callBlocked" },
1454 static guint32 h460_14_MlppReason_value_map
[3+0] = {8, 9, 46};
1457 dissect_h460_14_MlppReason(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1458 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
1459 3, NULL
, TRUE
, 0, h460_14_MlppReason_value_map
);
1467 dissect_h460_14_NULL(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1468 offset
= dissect_per_null(tvb
, offset
, actx
, tree
, hf_index
);
1474 static const value_string h460_14_MlppNotification_vals
[] = {
1475 { 0, "preemptionPending" },
1476 { 1, "preemptionInProgress" },
1477 { 2, "preemptionEnd" },
1478 { 3, "preemptionComplete" },
1482 static const per_choice_t h460_14_MlppNotification_choice
[] = {
1483 { 0, &hf_h460_14_preemptionPending
, ASN1_EXTENSION_ROOT
, dissect_h460_14_NULL
},
1484 { 1, &hf_h460_14_preemptionInProgress
, ASN1_EXTENSION_ROOT
, dissect_h460_14_NULL
},
1485 { 2, &hf_h460_14_preemptionEnd
, ASN1_EXTENSION_ROOT
, dissect_h460_14_NULL
},
1486 { 3, &hf_h460_14_preemptionComplete
, ASN1_EXTENSION_ROOT
, dissect_h460_14_NULL
},
1487 { 0, NULL
, 0, NULL
}
1491 dissect_h460_14_MlppNotification(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1492 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
1493 ett_h460_14_MlppNotification
, h460_14_MlppNotification_choice
,
1502 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_
) {
1503 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1504 0U, 255U, NULL
, FALSE
);
1510 static const per_sequence_t h460_14_AlternateParty_sequence
[] = {
1511 { &hf_h460_14_altID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_AliasAddress
},
1512 { &hf_h460_14_altTimer
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_14_INTEGER_0_255
},
1513 { NULL
, 0, 0, NULL
}
1517 dissect_h460_14_AlternateParty(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1518 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1519 ett_h460_14_AlternateParty
, h460_14_AlternateParty_sequence
);
1525 static const per_sequence_t h460_14_ReleaseCall_sequence
[] = {
1526 { &hf_h460_14_preemptCallID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallIdentifier
},
1527 { &hf_h460_14_releaseReason
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_14_MlppReason
},
1528 { &hf_h460_14_releaseDelay
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_14_INTEGER_0_255
},
1529 { NULL
, 0, 0, NULL
}
1533 dissect_h460_14_ReleaseCall(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1534 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1535 ett_h460_14_ReleaseCall
, h460_14_ReleaseCall_sequence
);
1541 static const per_sequence_t h460_14_MLPPInfo_sequence
[] = {
1542 { &hf_h460_14_precedence
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_14_MlppPrecedence
},
1543 { &hf_h460_14_mlppReason
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_14_MlppReason
},
1544 { &hf_h460_14_mlppNotification
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_14_MlppNotification
},
1545 { &hf_h460_14_alternateParty
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_14_AlternateParty
},
1546 { &hf_h460_14_releaseCall
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_14_ReleaseCall
},
1547 { NULL
, 0, 0, NULL
}
1551 dissect_h460_14_MLPPInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1552 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1553 ett_h460_14_MLPPInfo
, h460_14_MLPPInfo_sequence
);
1560 static int dissect_h460_14_MLPPInfo_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1562 asn1_ctx_t asn1_ctx
;
1563 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
1564 offset
= dissect_h460_14_MLPPInfo(tvb
, offset
, &asn1_ctx
, tree
, hf_h460_14_h460_14_MLPPInfo_PDU
);
1565 offset
+= 7; offset
>>= 3;
1570 /* --- Module SIGNALLING-CHANNEL-SUSPEND-REDIRECT --- --- --- */
1573 static const per_sequence_t h460_15_SEQUENCE_OF_TransportAddress_sequence_of
[1] = {
1574 { &hf_h460_15_channelResumeAddress_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h225_TransportAddress
},
1578 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_
) {
1579 offset
= dissect_per_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
1580 ett_h460_15_SEQUENCE_OF_TransportAddress
, h460_15_SEQUENCE_OF_TransportAddress_sequence_of
);
1588 dissect_h460_15_BOOLEAN(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1589 offset
= dissect_per_boolean(tvb
, offset
, actx
, tree
, hf_index
, NULL
);
1597 dissect_h460_15_NULL(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1598 offset
= dissect_per_null(tvb
, offset
, actx
, tree
, hf_index
);
1604 static const per_sequence_t h460_15_ChannelSuspendRequest_sequence
[] = {
1605 { &hf_h460_15_channelResumeAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_15_SEQUENCE_OF_TransportAddress
},
1606 { &hf_h460_15_immediateResume
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_15_BOOLEAN
},
1607 { &hf_h460_15_resetH245
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_15_NULL
},
1608 { NULL
, 0, 0, NULL
}
1612 dissect_h460_15_ChannelSuspendRequest(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1613 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1614 ett_h460_15_ChannelSuspendRequest
, h460_15_ChannelSuspendRequest_sequence
);
1620 static const per_sequence_t h460_15_ChannelSuspendResponse_sequence
[] = {
1621 { &hf_h460_15_okToSuspend
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_15_BOOLEAN
},
1622 { &hf_h460_15_channelResumeAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_15_SEQUENCE_OF_TransportAddress
},
1623 { NULL
, 0, 0, NULL
}
1627 dissect_h460_15_ChannelSuspendResponse(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1628 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1629 ett_h460_15_ChannelSuspendResponse
, h460_15_ChannelSuspendResponse_sequence
);
1635 static const per_sequence_t h460_15_ChannelSuspendConfirm_sequence
[] = {
1636 { NULL
, ASN1_EXTENSION_ROOT
, 0, NULL
}
1640 dissect_h460_15_ChannelSuspendConfirm(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1641 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1642 ett_h460_15_ChannelSuspendConfirm
, h460_15_ChannelSuspendConfirm_sequence
);
1648 static const per_sequence_t h460_15_ChannelSuspendCancel_sequence
[] = {
1649 { NULL
, ASN1_EXTENSION_ROOT
, 0, NULL
}
1653 dissect_h460_15_ChannelSuspendCancel(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1654 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1655 ett_h460_15_ChannelSuspendCancel
, h460_15_ChannelSuspendCancel_sequence
);
1663 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_
) {
1664 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1665 0U, 4294967295U, NULL
, FALSE
);
1671 static const per_sequence_t h460_15_ChannelResumeRequest_sequence
[] = {
1672 { &hf_h460_15_randomNumber
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_15_INTEGER_0_4294967295
},
1673 { &hf_h460_15_resetH245
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_15_NULL
},
1674 { NULL
, 0, 0, NULL
}
1678 dissect_h460_15_ChannelResumeRequest(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1679 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1680 ett_h460_15_ChannelResumeRequest
, h460_15_ChannelResumeRequest_sequence
);
1686 static const per_sequence_t h460_15_ChannelResumeResponse_sequence
[] = {
1687 { NULL
, ASN1_EXTENSION_ROOT
, 0, NULL
}
1691 dissect_h460_15_ChannelResumeResponse(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1692 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1693 ett_h460_15_ChannelResumeResponse
, h460_15_ChannelResumeResponse_sequence
);
1699 static const value_string h460_15_T_signallingChannelData_vals
[] = {
1700 { 0, "channelSuspendRequest" },
1701 { 1, "channelSuspendResponse" },
1702 { 2, "channelSuspendConfirm" },
1703 { 3, "channelSuspendCancel" },
1704 { 4, "channelResumeRequest" },
1705 { 5, "channelResumeResponse" },
1709 static const per_choice_t h460_15_T_signallingChannelData_choice
[] = {
1710 { 0, &hf_h460_15_channelSuspendRequest
, ASN1_EXTENSION_ROOT
, dissect_h460_15_ChannelSuspendRequest
},
1711 { 1, &hf_h460_15_channelSuspendResponse
, ASN1_EXTENSION_ROOT
, dissect_h460_15_ChannelSuspendResponse
},
1712 { 2, &hf_h460_15_channelSuspendConfirm
, ASN1_EXTENSION_ROOT
, dissect_h460_15_ChannelSuspendConfirm
},
1713 { 3, &hf_h460_15_channelSuspendCancel
, ASN1_EXTENSION_ROOT
, dissect_h460_15_ChannelSuspendCancel
},
1714 { 4, &hf_h460_15_channelResumeRequest
, ASN1_EXTENSION_ROOT
, dissect_h460_15_ChannelResumeRequest
},
1715 { 5, &hf_h460_15_channelResumeResponse
, ASN1_EXTENSION_ROOT
, dissect_h460_15_ChannelResumeResponse
},
1716 { 0, NULL
, 0, NULL
}
1720 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_
) {
1721 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
1722 ett_h460_15_T_signallingChannelData
, h460_15_T_signallingChannelData_choice
,
1729 static const per_sequence_t h460_15_SignallingChannelData_sequence
[] = {
1730 { &hf_h460_15_signallingChannelData
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_15_T_signallingChannelData
},
1731 { NULL
, 0, 0, NULL
}
1735 dissect_h460_15_SignallingChannelData(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1736 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1737 ett_h460_15_SignallingChannelData
, h460_15_SignallingChannelData_sequence
);
1744 static int dissect_h460_15_SignallingChannelData_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1746 asn1_ctx_t asn1_ctx
;
1747 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
1748 offset
= dissect_h460_15_SignallingChannelData(tvb
, offset
, &asn1_ctx
, tree
, hf_h460_15_h460_15_SignallingChannelData_PDU
);
1749 offset
+= 7; offset
>>= 3;
1754 /* --- Module SIGNALLING-TRAVERSAL --- --- --- */
1757 static const per_sequence_t h460_18_IncomingCallIndication_sequence
[] = {
1758 { &hf_h460_18_callSignallingAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_TransportAddress
},
1759 { &hf_h460_18_callID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_CallIdentifier
},
1760 { NULL
, 0, 0, NULL
}
1764 dissect_h460_18_IncomingCallIndication(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1765 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1766 ett_h460_18_IncomingCallIndication
, h460_18_IncomingCallIndication_sequence
);
1772 static const per_sequence_t h460_18_LRQKeepAliveData_sequence
[] = {
1773 { &hf_h460_18_lrqKeepAliveInterval
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h225_TimeToLive
},
1774 { NULL
, 0, 0, NULL
}
1778 dissect_h460_18_LRQKeepAliveData(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1779 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1780 ett_h460_18_LRQKeepAliveData
, h460_18_LRQKeepAliveData_sequence
);
1787 static int dissect_h460_18_IncomingCallIndication_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1789 asn1_ctx_t asn1_ctx
;
1790 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
1791 offset
= dissect_h460_18_IncomingCallIndication(tvb
, offset
, &asn1_ctx
, tree
, hf_h460_18_h460_18_IncomingCallIndication_PDU
);
1792 offset
+= 7; offset
>>= 3;
1795 static int dissect_h460_18_LRQKeepAliveData_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1797 asn1_ctx_t asn1_ctx
;
1798 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
1799 offset
= dissect_h460_18_LRQKeepAliveData(tvb
, offset
, &asn1_ctx
, tree
, hf_h460_18_h460_18_LRQKeepAliveData_PDU
);
1800 offset
+= 7; offset
>>= 3;
1805 /* --- Module MEDIA-TRAVERSAL --- --- --- */
1810 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_
) {
1811 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1812 0U, 4294967295U, NULL
, FALSE
);
1820 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_
) {
1821 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1822 0U, 127U, NULL
, FALSE
);
1828 static const per_sequence_t h460_19_TraversalParameters_sequence
[] = {
1829 { &hf_h460_19_multiplexedMediaChannel
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h245_TransportAddress
},
1830 { &hf_h460_19_multiplexedMediaControlChannel
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h245_TransportAddress
},
1831 { &hf_h460_19_multiplexID
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_19_INTEGER_0_4294967295
},
1832 { &hf_h460_19_keepAliveChannel
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h245_TransportAddress
},
1833 { &hf_h460_19_keepAlivePayloadType
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_19_INTEGER_0_127
},
1834 { &hf_h460_19_keepAliveInterval
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h225_TimeToLive
},
1835 { NULL
, 0, 0, NULL
}
1839 dissect_h460_19_TraversalParameters(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1840 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1841 ett_h460_19_TraversalParameters
, h460_19_TraversalParameters_sequence
);
1848 static int dissect_h460_19_TraversalParameters_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1850 asn1_ctx_t asn1_ctx
;
1851 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
1852 offset
= dissect_h460_19_TraversalParameters(tvb
, offset
, &asn1_ctx
, tree
, hf_h460_19_h460_19_TraversalParameters_PDU
);
1853 offset
+= 7; offset
>>= 3;
1858 /* --- Module MESSAGE-BROADCAST --- --- --- */
1861 static const per_sequence_t h460_21_SEQUENCE_SIZE_1_256_OF_Capability_sequence_of
[1] = {
1862 { &hf_h460_21_capabilities_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h245_Capability
},
1866 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_
) {
1867 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
1868 ett_h460_21_SEQUENCE_SIZE_1_256_OF_Capability
, h460_21_SEQUENCE_SIZE_1_256_OF_Capability_sequence_of
,
1877 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_
) {
1878 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
1879 1U, 65535U, NULL
, FALSE
);
1885 static const per_sequence_t h460_21_ReceiveCapabilities_sequence
[] = {
1886 { &hf_h460_21_capabilities
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_21_SEQUENCE_SIZE_1_256_OF_Capability
},
1887 { &hf_h460_21_maxGroups
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_21_INTEGER_1_65535
},
1888 { NULL
, 0, 0, NULL
}
1892 dissect_h460_21_ReceiveCapabilities(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1893 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1894 ett_h460_21_ReceiveCapabilities
, h460_21_ReceiveCapabilities_sequence
);
1902 dissect_h460_21_GloballyUniqueID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1903 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
1904 16, 16, FALSE
, NULL
);
1910 static const per_sequence_t h460_21_TransmitCapabilities_sequence
[] = {
1911 { &hf_h460_21_groupIdentifer
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h460_21_GloballyUniqueID
},
1912 { &hf_h460_21_capability
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h245_Capability
},
1913 { &hf_h460_21_sourceAddress
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_h245_UnicastAddress
},
1914 { NULL
, 0, 0, NULL
}
1918 dissect_h460_21_TransmitCapabilities(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1919 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1920 ett_h460_21_TransmitCapabilities
, h460_21_TransmitCapabilities_sequence
);
1926 static const per_sequence_t h460_21_SEQUENCE_SIZE_1_256_OF_TransmitCapabilities_sequence_of
[1] = {
1927 { &hf_h460_21_transmitCapabilities_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_h460_21_TransmitCapabilities
},
1931 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_
) {
1932 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
1933 ett_h460_21_SEQUENCE_SIZE_1_256_OF_TransmitCapabilities
, h460_21_SEQUENCE_SIZE_1_256_OF_TransmitCapabilities_sequence_of
,
1940 static const per_sequence_t h460_21_CapabilityAdvertisement_sequence
[] = {
1941 { &hf_h460_21_receiveCapabilities
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_21_ReceiveCapabilities
},
1942 { &hf_h460_21_transmitCapabilities
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_h460_21_SEQUENCE_SIZE_1_256_OF_TransmitCapabilities
},
1943 { NULL
, 0, 0, NULL
}
1947 dissect_h460_21_CapabilityAdvertisement(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1948 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
1949 ett_h460_21_CapabilityAdvertisement
, h460_21_CapabilityAdvertisement_sequence
);
1956 static int dissect_h460_21_CapabilityAdvertisement_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1958 asn1_ctx_t asn1_ctx
;
1959 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, TRUE
, pinfo
);
1960 offset
= dissect_h460_21_CapabilityAdvertisement(tvb
, offset
, &asn1_ctx
, tree
, hf_h460_21_h460_21_CapabilityAdvertisement_PDU
);
1961 offset
+= 7; offset
>>= 3;
1966 /*--- End of included file: packet-h460-fn.c ---*/
1967 #line 56 "../../asn1/h460/packet-h460-template.c"
1970 dissect_ies(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data _U_
) {
1973 if (q931_ie_handle
) {
1974 call_dissector(q931_ie_handle
, tvb
, pinfo
, tree
);
1975 offset
+= tvb_length_remaining(tvb
, offset
);
1981 dissect_ras(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data _U_
) {
1984 if (h225_ras_handle
) {
1985 call_dissector(h225_ras_handle
, tvb
, pinfo
, tree
);
1986 offset
+= tvb_length_remaining(tvb
, offset
);
1991 typedef struct _h460_feature_t
{
1995 new_dissector_t content_pdu
;
1997 const gchar
*key_gd
;
1998 const gchar
*key_fd
;
1999 const gchar
*key_gm
;
2000 const gchar
*key_gi
;
2001 dissector_handle_t content_hnd
;
2004 /* Fill in the items after content_pdu */
2005 #define FFILL NULL, NULL, NULL, NULL, NULL
2008 #define GD 0x01 /* present in H.225 GenericData */
2009 #define FD 0x02 /* present in H.225 FeatureDescriptor */
2010 #define GM 0x04 /* present in H.245 GenericMessage */
2011 #define GI 0x08 /* present in H.245 GenericInformation */
2013 static h460_feature_t h460_feature_tab
[] = {
2015 { GD
|FD
, "2", "Number Portability", NULL
, FFILL
},
2016 { GD
|FD
, "2/1", "NumberPortabilityData", dissect_h460_2_NumberPortabilityInfo_PDU
, FFILL
},
2018 { GD
|FD
, "3", "Circuit Status", NULL
, FFILL
},
2019 { GD
|FD
, "3/1", "Circuit Status Map", dissect_h460_3_CircuitStatus_PDU
, FFILL
},
2021 { GD
|FD
, "4", "CallPriorityDesignation", NULL
, FFILL
},
2022 { GD
|FD
, "4/1", "CallPriorityRequest", dissect_h460_4_CallPriorityInfo_PDU
, FFILL
},
2023 { GD
|FD
, "4/2", "CallPriorityConfirm", dissect_h460_4_CallPriorityInfo_PDU
, FFILL
},
2024 { GD
|FD
, "4/3", "Country/InternationalNetworkCallOriginationRequest", dissect_h460_4_CountryInternationalNetworkCallOriginationIdentification_PDU
, FFILL
},
2025 { GD
|FD
, "4/4", "Country/InternationalNetworkCallOriginationConfirm", dissect_h460_4_CountryInternationalNetworkCallOriginationIdentification_PDU
, FFILL
},
2027 { GD
|FD
, "5", "DuplicateIEs", NULL
, FFILL
},
2028 { GD
|FD
, "5/1", "IEsString", dissect_ies
, FFILL
},
2030 { GD
|FD
, "6", "Extended Fast Connect", NULL
, FFILL
},
2031 { GD
|FD
, "6/1", "EFC Proposal", NULL
, FFILL
},
2032 { GD
|FD
, "6/2", "EFC Close All Media Channels", NULL
, FFILL
},
2033 { GD
|FD
, "6/3", "EFC Request New Proposals", NULL
, FFILL
},
2034 { GD
|FD
, "6/4", "EFC Require Symmetric Operation", NULL
, FFILL
},
2036 { GD
|FD
, "7", "Digit Maps", NULL
, FFILL
},
2037 { FD
, "7/1", "Digit Maps Length", NULL
, FFILL
},
2038 { FD
, "7/2", "Digit Map Length for Overlapped Sending", NULL
, FFILL
},
2039 { FD
, "7/3", "HTTP Digit Maps Download Capability", NULL
, FFILL
},
2040 { GD
, "7/1", "Start Timer", NULL
, FFILL
},
2041 { GD
, "7/2", "Short Timer", NULL
, FFILL
},
2042 { GD
, "7/3", "Long Timer", NULL
, FFILL
},
2043 { GD
, "7/4", "Digit Map String", NULL
, FFILL
},
2044 { GD
, "7/5", "ToN Associated Digit Map", NULL
, FFILL
},
2045 { GD
, "7/5/1", "Type of Number", NULL
, FFILL
},
2046 { GD
, "7/5/2", "Digit Map Strings for ToN", NULL
, FFILL
},
2047 { GD
, "7/6", "Digit Map URL", NULL
, FFILL
},
2049 { GD
|FD
, "8", "Querying for Alternate Routes", NULL
, FFILL
},
2050 { GD
|FD
, "8/1", "Query Count", NULL
, FFILL
},
2051 { GD
|FD
, "8/2", "Call Termination Cause", NULL
, FFILL
},
2053 { GD
|FD
, "9", "QoS-monitoring Reporting", NULL
, FFILL
},
2054 { GD
|FD
, "9/0", "qosMonitoringFinalOnly", NULL
, FFILL
},
2055 { GD
|FD
, "9/1", "qosMonitoringReportData", dissect_h460_9_QosMonitoringReportData_PDU
, FFILL
},
2056 { GD
|FD
, "9/2", "qosMonitoringExtendedRTPMetrics", dissect_h460_9_ExtendedRTPMetrics_PDU
, FFILL
},
2058 { GD
|FD
, "10", "Call Party Category", NULL
, FFILL
},
2059 { GD
|FD
, "10/1", "Call party category info", dissect_h460_10_CallPartyCategoryInfo_PDU
, FFILL
},
2061 { GD
|FD
, "11", "Delayed Call Establishment", NULL
, FFILL
},
2062 { GD
|FD
, "11/1", "Delay Point Indicator", NULL
, FFILL
},
2063 { GD
|FD
, "11/2", "Implicit DCE Release", NULL
, FFILL
},
2064 { GD
|FD
, "11/3", "Delay Point Reached", NULL
, FFILL
},
2065 { GD
|FD
, "11/4", "DCE Release", NULL
, FFILL
},
2067 { GD
|FD
, "12", "Glare Control Indicator", NULL
, FFILL
},
2068 { GD
|FD
, "12/1", "Glare Control Indicator Parameter", NULL
, FFILL
},
2070 { GD
|FD
, "13", "Called User Release Control", NULL
, FFILL
},
2071 { GD
|FD
, "13/1", "Called User Release Control", NULL
, FFILL
},
2073 { GD
|FD
, "14", "Multi-Level Precedence and Preemption", NULL
, FFILL
},
2074 { GD
|FD
, "14/1", "MLPP Information", dissect_h460_14_MLPPInfo_PDU
, FFILL
},
2076 { GD
|FD
, "15", "Call signalling transport channel suspension and redirection", NULL
, FFILL
},
2077 { GD
|FD
, "15/1", "Signalling channel suspend and redirect", dissect_h460_15_SignallingChannelData_PDU
, FFILL
},
2079 { GD
|FD
, "16", "Multiple-message Release Sequence", NULL
, FFILL
},
2080 { GD
|FD
, "16/1", "MMRS use required", NULL
, FFILL
},
2081 { GD
|FD
, "16/2", "MMRS procedure", NULL
, FFILL
},
2082 { GD
|FD
, "16/3", "MMRS additional IEs", dissect_ies
, FFILL
},
2084 { GD
|FD
, "17", "RAS over H.225.0", NULL
, FFILL
},
2085 { GD
|FD
, "17/1", "RAS message", dissect_ras
, FFILL
},
2087 { GD
|FD
, "18", "Signalling Traversal", NULL
, FFILL
},
2088 { GD
|FD
, "18/1", "IncomingCallIndication", dissect_h460_18_IncomingCallIndication_PDU
, FFILL
},
2089 { GD
|FD
, "18/2", "LRQKeepAliveData", dissect_h460_18_LRQKeepAliveData_PDU
, FFILL
},
2090 { GM
, "0.0.8.460.18.0.1", "Signalling Traversal", NULL
, FFILL
},
2091 { GM
, "0.0.8.460.18.0.1-1", "connectionCorrelation", NULL
, FFILL
},
2092 { GM
, "0.0.8.460.18.0.1-1/1", "callIdentifier", NULL
, FFILL
},
2093 { GM
, "0.0.8.460.18.0.1-1/2", "answerCall", NULL
, FFILL
},
2095 { GD
|FD
, "19", "mediaNATFWTraversal", NULL
, FFILL
},
2096 { GD
|FD
, "19/1", "supportTransmitMultiplexedMedia", NULL
, FFILL
},
2097 { GD
|FD
, "19/2", "mediaTraversalServer", NULL
, FFILL
},
2098 { GI
, "0.0.8.460.19.0.1", "mediaNATFWTraversal", NULL
, FFILL
},
2099 { GI
, "0.0.8.460.19.0.1/1", "Traversal Parameters", dissect_h460_19_TraversalParameters_PDU
, FFILL
},
2101 { GD
|FD
, "20", "LocationSourceAddress", NULL
, FFILL
},
2102 { GD
|FD
, "20/1", "LocationSourceAddress", dissect_h225_ExtendedAliasAddress_PDU
, FFILL
},
2104 { GD
|FD
, "21", "Message Broadcast", NULL
, FFILL
},
2105 { GD
|FD
, "21/1", "MessageBroadcastParameter", dissect_h460_21_CapabilityAdvertisement_PDU
, FFILL
},
2107 { GD
|FD
, "22", "securityProtocolNegotiation", NULL
, FFILL
},
2108 { GD
|FD
, "22/1", "tlsSecurityProtocol", NULL
, FFILL
},
2109 { GD
|FD
, "22/1/1", "priority", NULL
, FFILL
},
2110 { GD
|FD
, "22/1/2", "connectionAddress", NULL
, FFILL
},
2111 { GD
|FD
, "22/2", "ipsecSecurityProtocol", NULL
, FFILL
},
2112 { GD
|FD
, "22/2/1", "priority", NULL
, FFILL
},
2113 { 0, NULL
, NULL
, NULL
, FFILL
},
2116 static h460_feature_t
*find_ftr(const gchar
*key
) {
2117 h460_feature_t
*ftr
= NULL
;
2120 for (f
=h460_feature_tab
; f
->id
; f
++) {
2121 if (f
->key_gd
&& !strcmp(key
, f
->key_gd
)) { ftr
= f
; break; }
2122 if (f
->key_fd
&& !strcmp(key
, f
->key_fd
)) { ftr
= f
; break; }
2123 if (f
->key_gm
&& !strcmp(key
, f
->key_gm
)) { ftr
= f
; break; }
2124 if (f
->key_gi
&& !strcmp(key
, f
->key_gi
)) { ftr
= f
; break; }
2129 /*--- dissect_h460_name -------------------------------------------*/
2131 dissect_h460_name(tvbuff_t
*tvb _U_
, packet_info
*pinfo
, proto_tree
*tree
, void *data
) {
2133 asn1_ctx_t
*actx
= get_asn1_ctx(data
);
2134 h460_feature_t
*ftr
;
2136 DISSECTOR_ASSERT(actx
);
2138 /* DEBUG */ /*proto_tree_add_text(tree, tvb, 0, 0, "*** DEBUG dissect_h460_name: %s", pinfo->match_string);*/
2139 ftr
= find_ftr(pinfo
->match_string
);
2140 /* DEBUG */ /*proto_tree_add_text(tree, tvb, 0, 0, "*** DEBUG dissect_h460_name: ftr %s", (ftr)?ftr->name:"-none-");*/
2142 proto_item_append_text(actx
->created_item
, " - %s", ftr
->name
);
2143 proto_item_append_text(proto_item_get_parent(proto_tree_get_parent(tree
)), ": %s", ftr
->name
);
2145 proto_item_append_text(actx
->created_item
, " - unknown(%s)", pinfo
->match_string
);
2152 /*--- proto_register_h460 ----------------------------------------------*/
2153 void proto_register_h460(void) {
2154 h460_feature_t
*ftr
;
2156 /* List of fields */
2157 static hf_register_info hf
[] = {
2159 /*--- Included file: packet-h460-hfarr.c ---*/
2160 #line 1 "../../asn1/h460/packet-h460-hfarr.c"
2162 /* --- Module NUMBER-PORTABILITY --- --- --- */
2164 { &hf_h460_2_h460_2_NumberPortabilityInfo_PDU
,
2165 { "NumberPortabilityInfo", "h460.2.NumberPortabilityInfo",
2166 FT_UINT32
, BASE_DEC
, VALS(h460_2_NumberPortabilityInfo_vals
), 0,
2168 { &hf_h460_2_numberPortabilityRejectReason
,
2169 { "numberPortabilityRejectReason", "h460.2.numberPortabilityRejectReason",
2170 FT_UINT32
, BASE_DEC
, VALS(h460_2_NumberPortabilityRejectReason_vals
), 0,
2172 { &hf_h460_2_nUMBERPORTABILITYDATA
,
2173 { "nUMBERPORTABILITYDATA", "h460.2.nUMBERPORTABILITYDATA_element",
2174 FT_NONE
, BASE_NONE
, NULL
, 0,
2176 { &hf_h460_2_addressTranslated
,
2177 { "addressTranslated", "h460.2.addressTranslated_element",
2178 FT_NONE
, BASE_NONE
, NULL
, 0,
2180 { &hf_h460_2_portedAddress
,
2181 { "portedAddress", "h460.2.portedAddress_element",
2182 FT_NONE
, BASE_NONE
, NULL
, 0,
2183 "PortabilityAddress", HFILL
}},
2184 { &hf_h460_2_routingAddress
,
2185 { "routingAddress", "h460.2.routingAddress_element",
2186 FT_NONE
, BASE_NONE
, NULL
, 0,
2187 "PortabilityAddress", HFILL
}},
2188 { &hf_h460_2_regionalParams
,
2189 { "regionalParams", "h460.2.regionalParams_element",
2190 FT_NONE
, BASE_NONE
, NULL
, 0,
2191 "RegionalParameters", HFILL
}},
2192 { &hf_h460_2_unspecified
,
2193 { "unspecified", "h460.2.unspecified_element",
2194 FT_NONE
, BASE_NONE
, NULL
, 0,
2196 { &hf_h460_2_qorPortedNumber
,
2197 { "qorPortedNumber", "h460.2.qorPortedNumber_element",
2198 FT_NONE
, BASE_NONE
, NULL
, 0,
2200 { &hf_h460_2_aliasAddress
,
2201 { "aliasAddress", "h460.2.aliasAddress",
2202 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
2204 { &hf_h460_2_typeOfAddress
,
2205 { "typeOfAddress", "h460.2.typeOfAddress",
2206 FT_UINT32
, BASE_DEC
, VALS(h460_2_NumberPortabilityTypeOfNumber_vals
), 0,
2207 "NumberPortabilityTypeOfNumber", HFILL
}},
2208 { &hf_h460_2_publicTypeOfNumber
,
2209 { "publicTypeOfNumber", "h460.2.publicTypeOfNumber",
2210 FT_UINT32
, BASE_DEC
, VALS(h225_PublicTypeOfNumber_vals
), 0,
2212 { &hf_h460_2_privateTypeOfNumber
,
2213 { "privateTypeOfNumber", "h460.2.privateTypeOfNumber",
2214 FT_UINT32
, BASE_DEC
, VALS(h225_PrivateTypeOfNumber_vals
), 0,
2216 { &hf_h460_2_portabilityTypeOfNumber
,
2217 { "portabilityTypeOfNumber", "h460.2.portabilityTypeOfNumber",
2218 FT_UINT32
, BASE_DEC
, VALS(h460_2_PortabilityTypeOfNumber_vals
), 0,
2220 { &hf_h460_2_portedNumber
,
2221 { "portedNumber", "h460.2.portedNumber_element",
2222 FT_NONE
, BASE_NONE
, NULL
, 0,
2224 { &hf_h460_2_routingNumber
,
2225 { "routingNumber", "h460.2.routingNumber_element",
2226 FT_NONE
, BASE_NONE
, NULL
, 0,
2228 { &hf_h460_2_concatenatedNumber
,
2229 { "concatenatedNumber", "h460.2.concatenatedNumber_element",
2230 FT_NONE
, BASE_NONE
, NULL
, 0,
2232 { &hf_h460_2_t35CountryCode
,
2233 { "t35CountryCode", "h460.2.t35CountryCode",
2234 FT_UINT32
, BASE_DEC
, NULL
, 0,
2235 "INTEGER_0_255", HFILL
}},
2236 { &hf_h460_2_t35Extension
,
2237 { "t35Extension", "h460.2.t35Extension",
2238 FT_UINT32
, BASE_DEC
, NULL
, 0,
2239 "INTEGER_0_255", HFILL
}},
2240 { &hf_h460_2_variantIdentifier
,
2241 { "variantIdentifier", "h460.2.variantIdentifier",
2242 FT_UINT32
, BASE_DEC
, NULL
, 0,
2243 "INTEGER_1_255", HFILL
}},
2244 { &hf_h460_2_regionalData
,
2245 { "regionalData", "h460.2.regionalData",
2246 FT_BYTES
, BASE_NONE
, NULL
, 0,
2247 "OCTET_STRING", HFILL
}},
2249 /* --- Module CIRCUIT-STATUS-MAP --- --- --- */
2251 { &hf_h460_3_h460_3_CircuitStatus_PDU
,
2252 { "CircuitStatus", "h460.3.CircuitStatus_element",
2253 FT_NONE
, BASE_NONE
, NULL
, 0,
2255 { &hf_h460_3_circuitStatusMap
,
2256 { "circuitStatusMap", "h460.3.circuitStatusMap",
2257 FT_UINT32
, BASE_DEC
, NULL
, 0,
2258 "SEQUENCE_OF_CircuitStatusMap", HFILL
}},
2259 { &hf_h460_3_circuitStatusMap_item
,
2260 { "CircuitStatusMap", "h460.3.CircuitStatusMap_element",
2261 FT_NONE
, BASE_NONE
, NULL
, 0,
2263 { &hf_h460_3_statusType
,
2264 { "statusType", "h460.3.statusType",
2265 FT_UINT32
, BASE_DEC
, VALS(h460_3_CircuitStatusType_vals
), 0,
2266 "CircuitStatusType", HFILL
}},
2267 { &hf_h460_3_baseCircuitID
,
2268 { "baseCircuitID", "h460.3.baseCircuitID_element",
2269 FT_NONE
, BASE_NONE
, NULL
, 0,
2270 "CircuitIdentifier", HFILL
}},
2272 { "range", "h460.3.range",
2273 FT_UINT32
, BASE_DEC
, NULL
, 0,
2274 "INTEGER_0_4095", HFILL
}},
2275 { &hf_h460_3_status
,
2276 { "status", "h460.3.status",
2277 FT_BYTES
, BASE_NONE
, NULL
, 0,
2278 "OCTET_STRING", HFILL
}},
2279 { &hf_h460_3_serviceStatus
,
2280 { "serviceStatus", "h460.3.serviceStatus_element",
2281 FT_NONE
, BASE_NONE
, NULL
, 0,
2283 { &hf_h460_3_busyStatus
,
2284 { "busyStatus", "h460.3.busyStatus_element",
2285 FT_NONE
, BASE_NONE
, NULL
, 0,
2288 /* --- Module CALL-PRIORITY --- --- --- */
2290 { &hf_h460_4_h460_4_CallPriorityInfo_PDU
,
2291 { "CallPriorityInfo", "h460.4.CallPriorityInfo_element",
2292 FT_NONE
, BASE_NONE
, NULL
, 0,
2294 { &hf_h460_4_h460_4_CountryInternationalNetworkCallOriginationIdentification_PDU
,
2295 { "CountryInternationalNetworkCallOriginationIdentification", "h460.4.CountryInternationalNetworkCallOriginationIdentification_element",
2296 FT_NONE
, BASE_NONE
, NULL
, 0,
2298 { &hf_h460_4_priorityValue
,
2299 { "priorityValue", "h460.4.priorityValue",
2300 FT_UINT32
, BASE_DEC
, VALS(h460_4_T_priorityValue_vals
), 0,
2302 { &hf_h460_4_emergencyAuthorized
,
2303 { "emergencyAuthorized", "h460.4.emergencyAuthorized_element",
2304 FT_NONE
, BASE_NONE
, NULL
, 0,
2306 { &hf_h460_4_emergencyPublic
,
2307 { "emergencyPublic", "h460.4.emergencyPublic_element",
2308 FT_NONE
, BASE_NONE
, NULL
, 0,
2311 { "high", "h460.4.high_element",
2312 FT_NONE
, BASE_NONE
, NULL
, 0,
2314 { &hf_h460_4_normal
,
2315 { "normal", "h460.4.normal_element",
2316 FT_NONE
, BASE_NONE
, NULL
, 0,
2318 { &hf_h460_4_priorityExtension
,
2319 { "priorityExtension", "h460.4.priorityExtension",
2320 FT_UINT32
, BASE_DEC
, NULL
, 0,
2321 "INTEGER_0_255", HFILL
}},
2322 { &hf_h460_4_tokens
,
2323 { "tokens", "h460.4.tokens",
2324 FT_UINT32
, BASE_DEC
, NULL
, 0,
2325 "SEQUENCE_OF_ClearToken", HFILL
}},
2326 { &hf_h460_4_tokens_item
,
2327 { "ClearToken", "h460.4.ClearToken_element",
2328 FT_NONE
, BASE_NONE
, NULL
, 0,
2330 { &hf_h460_4_cryptoTokens
,
2331 { "cryptoTokens", "h460.4.cryptoTokens",
2332 FT_UINT32
, BASE_DEC
, NULL
, 0,
2333 "SEQUENCE_OF_CryptoToken", HFILL
}},
2334 { &hf_h460_4_cryptoTokens_item
,
2335 { "CryptoToken", "h460.4.CryptoToken",
2336 FT_UINT32
, BASE_DEC
, VALS(h235_CryptoToken_vals
), 0,
2338 { &hf_h460_4_rejectReason
,
2339 { "rejectReason", "h460.4.rejectReason",
2340 FT_UINT32
, BASE_DEC
, VALS(h460_4_T_rejectReason_vals
), 0,
2342 { &hf_h460_4_priorityUnavailable
,
2343 { "priorityUnavailable", "h460.4.priorityUnavailable_element",
2344 FT_NONE
, BASE_NONE
, NULL
, 0,
2346 { &hf_h460_4_priorityUnauthorized
,
2347 { "priorityUnauthorized", "h460.4.priorityUnauthorized_element",
2348 FT_NONE
, BASE_NONE
, NULL
, 0,
2350 { &hf_h460_4_priorityValueUnknown
,
2351 { "priorityValueUnknown", "h460.4.priorityValueUnknown_element",
2352 FT_NONE
, BASE_NONE
, NULL
, 0,
2354 { &hf_h460_4_numberingPlan
,
2355 { "numberingPlan", "h460.4.numberingPlan",
2356 FT_UINT32
, BASE_DEC
, VALS(h460_4_T_numberingPlan_vals
), 0,
2359 { "x121", "h460.4.x121_element",
2360 FT_NONE
, BASE_NONE
, NULL
, 0,
2362 { &hf_h460_4_x121CountryCode
,
2363 { "countryCode", "h460.4.countryCode",
2364 FT_STRING
, BASE_NONE
, NULL
, 0,
2365 "X121CountryCode", HFILL
}},
2367 { "e164", "h460.4.e164_element",
2368 FT_NONE
, BASE_NONE
, NULL
, 0,
2370 { &hf_h460_4_e164CountryCode
,
2371 { "countryCode", "h460.4.countryCode",
2372 FT_STRING
, BASE_NONE
, NULL
, 0,
2373 "E164CountryCode", HFILL
}},
2374 { &hf_h460_4_identificationCode
,
2375 { "identificationCode", "h460.4.identificationCode",
2376 FT_STRING
, BASE_NONE
, NULL
, 0,
2379 /* --- Modules QOS-MONITORING-REPORT QOS-MONITORING-EXTENDED-VOIP-REPORT --- --- --- */
2381 { &hf_h460_9_h460_9_QosMonitoringReportData_PDU
,
2382 { "QosMonitoringReportData", "h460.9.QosMonitoringReportData",
2383 FT_UINT32
, BASE_DEC
, VALS(h460_9_QosMonitoringReportData_vals
), 0,
2385 { &hf_h460_9_h460_9_ExtendedRTPMetrics_PDU
,
2386 { "ExtendedRTPMetrics", "h460.9.ExtendedRTPMetrics_element",
2387 FT_NONE
, BASE_NONE
, NULL
, 0,
2389 { &hf_h460_9_extensionId
,
2390 { "extensionId", "h460.9.extensionId",
2391 FT_UINT32
, BASE_DEC
, VALS(h225_GenericIdentifier_vals
), 0,
2392 "GenericIdentifier", HFILL
}},
2393 { &hf_h460_9_extensionContent
,
2394 { "extensionContent", "h460.9.extensionContent",
2395 FT_BYTES
, BASE_NONE
, NULL
, 0,
2396 "OCTET_STRING", HFILL
}},
2397 { &hf_h460_9_rtpAddress
,
2398 { "rtpAddress", "h460.9.rtpAddress_element",
2399 FT_NONE
, BASE_NONE
, NULL
, 0,
2400 "TransportChannelInfo", HFILL
}},
2401 { &hf_h460_9_rtcpAddress
,
2402 { "rtcpAddress", "h460.9.rtcpAddress_element",
2403 FT_NONE
, BASE_NONE
, NULL
, 0,
2404 "TransportChannelInfo", HFILL
}},
2405 { &hf_h460_9_sessionId
,
2406 { "sessionId", "h460.9.sessionId",
2407 FT_UINT32
, BASE_DEC
, NULL
, 0,
2408 "INTEGER_1_255", HFILL
}},
2409 { &hf_h460_9_nonStandardData
,
2410 { "nonStandardData", "h460.9.nonStandardData_element",
2411 FT_NONE
, BASE_NONE
, NULL
, 0,
2412 "NonStandardParameter", HFILL
}},
2413 { &hf_h460_9_mediaSenderMeasures
,
2414 { "mediaSenderMeasures", "h460.9.mediaSenderMeasures_element",
2415 FT_NONE
, BASE_NONE
, NULL
, 0,
2417 { &hf_h460_9_worstEstimatedEnd2EndDelay
,
2418 { "worstEstimatedEnd2EndDelay", "h460.9.worstEstimatedEnd2EndDelay",
2419 FT_UINT32
, BASE_DEC
, NULL
, 0,
2420 "EstimatedEnd2EndDelay", HFILL
}},
2421 { &hf_h460_9_meanEstimatedEnd2EndDelay
,
2422 { "meanEstimatedEnd2EndDelay", "h460.9.meanEstimatedEnd2EndDelay",
2423 FT_UINT32
, BASE_DEC
, NULL
, 0,
2424 "EstimatedEnd2EndDelay", HFILL
}},
2425 { &hf_h460_9_mediaReceiverMeasures
,
2426 { "mediaReceiverMeasures", "h460.9.mediaReceiverMeasures_element",
2427 FT_NONE
, BASE_NONE
, NULL
, 0,
2429 { &hf_h460_9_cumulativeNumberOfPacketsLost
,
2430 { "cumulativeNumberOfPacketsLost", "h460.9.cumulativeNumberOfPacketsLost",
2431 FT_UINT32
, BASE_DEC
, NULL
, 0,
2432 "INTEGER_0_4294967295", HFILL
}},
2433 { &hf_h460_9_packetLostRate
,
2434 { "packetLostRate", "h460.9.packetLostRate",
2435 FT_UINT32
, BASE_DEC
, NULL
, 0,
2436 "INTEGER_0_65535", HFILL
}},
2437 { &hf_h460_9_worstJitter
,
2438 { "worstJitter", "h460.9.worstJitter",
2439 FT_UINT32
, BASE_DEC
, NULL
, 0,
2440 "CalculatedJitter", HFILL
}},
2441 { &hf_h460_9_estimatedThroughput
,
2442 { "estimatedThroughput", "h460.9.estimatedThroughput",
2443 FT_UINT32
, BASE_DEC
, NULL
, 0,
2444 "BandWidth", HFILL
}},
2445 { &hf_h460_9_fractionLostRate
,
2446 { "fractionLostRate", "h460.9.fractionLostRate",
2447 FT_UINT32
, BASE_DEC
, NULL
, 0,
2448 "INTEGER_0_65535", HFILL
}},
2449 { &hf_h460_9_meanJitter
,
2450 { "meanJitter", "h460.9.meanJitter",
2451 FT_UINT32
, BASE_DEC
, NULL
, 0,
2452 "CalculatedJitter", HFILL
}},
2453 { &hf_h460_9_extensions
,
2454 { "extensions", "h460.9.extensions",
2455 FT_UINT32
, BASE_DEC
, NULL
, 0,
2456 "SEQUENCE_OF_Extension", HFILL
}},
2457 { &hf_h460_9_extensions_item
,
2458 { "Extension", "h460.9.Extension_element",
2459 FT_NONE
, BASE_NONE
, NULL
, 0,
2461 { &hf_h460_9_callReferenceValue
,
2462 { "callReferenceValue", "h460.9.callReferenceValue",
2463 FT_UINT32
, BASE_DEC
, NULL
, 0,
2465 { &hf_h460_9_conferenceID
,
2466 { "conferenceID", "h460.9.conferenceID",
2467 FT_GUID
, BASE_NONE
, NULL
, 0,
2468 "ConferenceIdentifier", HFILL
}},
2469 { &hf_h460_9_callIdentifier
,
2470 { "callIdentifier", "h460.9.callIdentifier_element",
2471 FT_NONE
, BASE_NONE
, NULL
, 0,
2473 { &hf_h460_9_mediaChannelsQoS
,
2474 { "mediaChannelsQoS", "h460.9.mediaChannelsQoS",
2475 FT_UINT32
, BASE_DEC
, NULL
, 0,
2476 "SEQUENCE_OF_RTCPMeasures", HFILL
}},
2477 { &hf_h460_9_mediaChannelsQoS_item
,
2478 { "RTCPMeasures", "h460.9.RTCPMeasures_element",
2479 FT_NONE
, BASE_NONE
, NULL
, 0,
2481 { &hf_h460_9_periodic
,
2482 { "periodic", "h460.9.periodic_element",
2483 FT_NONE
, BASE_NONE
, NULL
, 0,
2484 "PeriodicQoSMonReport", HFILL
}},
2486 { "final", "h460.9.final_element",
2487 FT_NONE
, BASE_NONE
, NULL
, 0,
2488 "FinalQosMonReport", HFILL
}},
2489 { &hf_h460_9_interGK
,
2490 { "interGK", "h460.9.interGK_element",
2491 FT_NONE
, BASE_NONE
, NULL
, 0,
2492 "InterGKQosMonReport", HFILL
}},
2493 { &hf_h460_9_perCallInfo
,
2494 { "perCallInfo", "h460.9.perCallInfo",
2495 FT_UINT32
, BASE_DEC
, NULL
, 0,
2496 "SEQUENCE_OF_PerCallQoSReport", HFILL
}},
2497 { &hf_h460_9_perCallInfo_item
,
2498 { "PerCallQoSReport", "h460.9.PerCallQoSReport_element",
2499 FT_NONE
, BASE_NONE
, NULL
, 0,
2501 { &hf_h460_9_mediaInfo
,
2502 { "mediaInfo", "h460.9.mediaInfo",
2503 FT_UINT32
, BASE_DEC
, NULL
, 0,
2504 "SEQUENCE_OF_RTCPMeasures", HFILL
}},
2505 { &hf_h460_9_mediaInfo_item
,
2506 { "RTCPMeasures", "h460.9.RTCPMeasures_element",
2507 FT_NONE
, BASE_NONE
, NULL
, 0,
2509 { &hf_h460_9_networkPacketLossRate
,
2510 { "networkPacketLossRate", "h460.9.networkPacketLossRate",
2511 FT_UINT32
, BASE_DEC
, NULL
, 0,
2512 "INTEGER_0_255", HFILL
}},
2513 { &hf_h460_9_jitterBufferDiscardRate
,
2514 { "jitterBufferDiscardRate", "h460.9.jitterBufferDiscardRate",
2515 FT_UINT32
, BASE_DEC
, NULL
, 0,
2516 "INTEGER_0_255", HFILL
}},
2517 { &hf_h460_9_burstMetrics
,
2518 { "burstMetrics", "h460.9.burstMetrics_element",
2519 FT_NONE
, BASE_NONE
, NULL
, 0,
2521 { &hf_h460_9_rtcpRoundTripDelay
,
2522 { "rtcpRoundTripDelay", "h460.9.rtcpRoundTripDelay",
2523 FT_UINT32
, BASE_DEC
, NULL
, 0,
2524 "INTEGER_0_65535", HFILL
}},
2525 { &hf_h460_9_endSystemDelay
,
2526 { "endSystemDelay", "h460.9.endSystemDelay",
2527 FT_UINT32
, BASE_DEC
, NULL
, 0,
2528 "INTEGER_0_65535", HFILL
}},
2529 { &hf_h460_9_signalLevel
,
2530 { "signalLevel", "h460.9.signalLevel",
2531 FT_INT32
, BASE_DEC
, NULL
, 0,
2532 "INTEGER_M127_10", HFILL
}},
2533 { &hf_h460_9_noiseLevel
,
2534 { "noiseLevel", "h460.9.noiseLevel",
2535 FT_INT32
, BASE_DEC
, NULL
, 0,
2536 "INTEGER_M127_0", HFILL
}},
2537 { &hf_h460_9_residualEchoReturnLoss
,
2538 { "residualEchoReturnLoss", "h460.9.residualEchoReturnLoss",
2539 FT_UINT32
, BASE_DEC
, NULL
, 0,
2540 "INTEGER_0_127", HFILL
}},
2541 { &hf_h460_9_rFactor
,
2542 { "rFactor", "h460.9.rFactor",
2543 FT_UINT32
, BASE_DEC
, NULL
, 0,
2544 "INTEGER_0_100", HFILL
}},
2545 { &hf_h460_9_extRFactor
,
2546 { "extRFactor", "h460.9.extRFactor",
2547 FT_UINT32
, BASE_DEC
, NULL
, 0,
2548 "INTEGER_0_100", HFILL
}},
2549 { &hf_h460_9_estimatedMOSLQ
,
2550 { "estimatedMOSLQ", "h460.9.estimatedMOSLQ",
2551 FT_UINT32
, BASE_DEC
, NULL
, 0,
2552 "INTEGER_10_50", HFILL
}},
2553 { &hf_h460_9_estimatedMOSCQ
,
2554 { "estimatedMOSCQ", "h460.9.estimatedMOSCQ",
2555 FT_UINT32
, BASE_DEC
, NULL
, 0,
2556 "INTEGER_10_50", HFILL
}},
2557 { &hf_h460_9_plcType
,
2558 { "plcType", "h460.9.plcType",
2559 FT_UINT32
, BASE_DEC
, VALS(h460_9_PLCtypes_vals
), 0,
2560 "PLCtypes", HFILL
}},
2561 { &hf_h460_9_jitterBufferParms
,
2562 { "jitterBufferParms", "h460.9.jitterBufferParms_element",
2563 FT_NONE
, BASE_NONE
, NULL
, 0,
2566 { "gmin", "h460.9.gmin",
2567 FT_UINT32
, BASE_DEC
, NULL
, 0,
2568 "INTEGER_0_255", HFILL
}},
2569 { &hf_h460_9_burstLossDensity
,
2570 { "burstLossDensity", "h460.9.burstLossDensity",
2571 FT_UINT32
, BASE_DEC
, NULL
, 0,
2572 "INTEGER_0_255", HFILL
}},
2573 { &hf_h460_9_gapLossDensity
,
2574 { "gapLossDensity", "h460.9.gapLossDensity",
2575 FT_UINT32
, BASE_DEC
, NULL
, 0,
2576 "INTEGER_0_255", HFILL
}},
2577 { &hf_h460_9_burstDuration
,
2578 { "burstDuration", "h460.9.burstDuration",
2579 FT_UINT32
, BASE_DEC
, NULL
, 0,
2580 "INTEGER_0_65535", HFILL
}},
2581 { &hf_h460_9_gapDuration
,
2582 { "gapDuration", "h460.9.gapDuration",
2583 FT_UINT32
, BASE_DEC
, NULL
, 0,
2584 "INTEGER_0_65535", HFILL
}},
2585 { &hf_h460_9_unspecified
,
2586 { "unspecified", "h460.9.unspecified_element",
2587 FT_NONE
, BASE_NONE
, NULL
, 0,
2589 { &hf_h460_9_disabled
,
2590 { "disabled", "h460.9.disabled_element",
2591 FT_NONE
, BASE_NONE
, NULL
, 0,
2593 { &hf_h460_9_enhanced
,
2594 { "enhanced", "h460.9.enhanced_element",
2595 FT_NONE
, BASE_NONE
, NULL
, 0,
2597 { &hf_h460_9_standard
,
2598 { "standard", "h460.9.standard_element",
2599 FT_NONE
, BASE_NONE
, NULL
, 0,
2601 { &hf_h460_9_jitterBufferType
,
2602 { "jitterBufferType", "h460.9.jitterBufferType",
2603 FT_UINT32
, BASE_DEC
, VALS(h460_9_JitterBufferTypes_vals
), 0,
2604 "JitterBufferTypes", HFILL
}},
2605 { &hf_h460_9_jitterBufferAdaptRate
,
2606 { "jitterBufferAdaptRate", "h460.9.jitterBufferAdaptRate",
2607 FT_UINT32
, BASE_DEC
, NULL
, 0,
2608 "INTEGER_0_15", HFILL
}},
2609 { &hf_h460_9_jitterBufferNominalSize
,
2610 { "jitterBufferNominalSize", "h460.9.jitterBufferNominalSize",
2611 FT_UINT32
, BASE_DEC
, NULL
, 0,
2612 "INTEGER_0_65535", HFILL
}},
2613 { &hf_h460_9_jitterBufferMaxSize
,
2614 { "jitterBufferMaxSize", "h460.9.jitterBufferMaxSize",
2615 FT_UINT32
, BASE_DEC
, NULL
, 0,
2616 "INTEGER_0_65535", HFILL
}},
2617 { &hf_h460_9_jitterBufferAbsoluteMax
,
2618 { "jitterBufferAbsoluteMax", "h460.9.jitterBufferAbsoluteMax",
2619 FT_UINT32
, BASE_DEC
, NULL
, 0,
2620 "INTEGER_0_65535", HFILL
}},
2621 { &hf_h460_9_unknown
,
2622 { "unknown", "h460.9.unknown_element",
2623 FT_NONE
, BASE_NONE
, NULL
, 0,
2625 { &hf_h460_9_reserved
,
2626 { "reserved", "h460.9.reserved_element",
2627 FT_NONE
, BASE_NONE
, NULL
, 0,
2629 { &hf_h460_9_nonadaptive
,
2630 { "nonadaptive", "h460.9.nonadaptive_element",
2631 FT_NONE
, BASE_NONE
, NULL
, 0,
2633 { &hf_h460_9_adaptive
,
2634 { "adaptive", "h460.9.adaptive_element",
2635 FT_NONE
, BASE_NONE
, NULL
, 0,
2638 /* --- Module CALL-PARTY-CATEGORY --- --- --- */
2640 { &hf_h460_10_h460_10_CallPartyCategoryInfo_PDU
,
2641 { "CallPartyCategoryInfo", "h460.10.CallPartyCategoryInfo_element",
2642 FT_NONE
, BASE_NONE
, NULL
, 0,
2644 { &hf_h460_10_callPartyCategory
,
2645 { "callPartyCategory", "h460.10.callPartyCategory",
2646 FT_UINT32
, BASE_DEC
, NULL
, 0,
2648 { &hf_h460_10_originatingLineInfo
,
2649 { "originatingLineInfo", "h460.10.originatingLineInfo",
2650 FT_UINT32
, BASE_DEC
, NULL
, 0,
2653 /* --- Module MLPP --- --- --- */
2655 { &hf_h460_14_h460_14_MLPPInfo_PDU
,
2656 { "MLPPInfo", "h460.14.MLPPInfo_element",
2657 FT_NONE
, BASE_NONE
, NULL
, 0,
2659 { &hf_h460_14_precedence
,
2660 { "precedence", "h460.14.precedence",
2661 FT_UINT32
, BASE_DEC
, VALS(h460_14_MlppPrecedence_vals
), 0,
2662 "MlppPrecedence", HFILL
}},
2663 { &hf_h460_14_mlppReason
,
2664 { "mlppReason", "h460.14.mlppReason",
2665 FT_UINT32
, BASE_DEC
, VALS(h460_14_MlppReason_vals
), 0,
2667 { &hf_h460_14_mlppNotification
,
2668 { "mlppNotification", "h460.14.mlppNotification",
2669 FT_UINT32
, BASE_DEC
, VALS(h460_14_MlppNotification_vals
), 0,
2671 { &hf_h460_14_alternateParty
,
2672 { "alternateParty", "h460.14.alternateParty_element",
2673 FT_NONE
, BASE_NONE
, NULL
, 0,
2675 { &hf_h460_14_releaseCall
,
2676 { "releaseCall", "h460.14.releaseCall_element",
2677 FT_NONE
, BASE_NONE
, NULL
, 0,
2679 { &hf_h460_14_preemptionPending
,
2680 { "preemptionPending", "h460.14.preemptionPending_element",
2681 FT_NONE
, BASE_NONE
, NULL
, 0,
2683 { &hf_h460_14_preemptionInProgress
,
2684 { "preemptionInProgress", "h460.14.preemptionInProgress_element",
2685 FT_NONE
, BASE_NONE
, NULL
, 0,
2687 { &hf_h460_14_preemptionEnd
,
2688 { "preemptionEnd", "h460.14.preemptionEnd_element",
2689 FT_NONE
, BASE_NONE
, NULL
, 0,
2691 { &hf_h460_14_preemptionComplete
,
2692 { "preemptionComplete", "h460.14.preemptionComplete_element",
2693 FT_NONE
, BASE_NONE
, NULL
, 0,
2695 { &hf_h460_14_altID
,
2696 { "altID", "h460.14.altID",
2697 FT_UINT32
, BASE_DEC
, VALS(AliasAddress_vals
), 0,
2698 "AliasAddress", HFILL
}},
2699 { &hf_h460_14_altTimer
,
2700 { "altTimer", "h460.14.altTimer",
2701 FT_UINT32
, BASE_DEC
, NULL
, 0,
2702 "INTEGER_0_255", HFILL
}},
2703 { &hf_h460_14_preemptCallID
,
2704 { "preemptCallID", "h460.14.preemptCallID_element",
2705 FT_NONE
, BASE_NONE
, NULL
, 0,
2706 "CallIdentifier", HFILL
}},
2707 { &hf_h460_14_releaseReason
,
2708 { "releaseReason", "h460.14.releaseReason",
2709 FT_UINT32
, BASE_DEC
, VALS(h460_14_MlppReason_vals
), 0,
2710 "MlppReason", HFILL
}},
2711 { &hf_h460_14_releaseDelay
,
2712 { "releaseDelay", "h460.14.releaseDelay",
2713 FT_UINT32
, BASE_DEC
, NULL
, 0,
2714 "INTEGER_0_255", HFILL
}},
2716 /* --- Module SIGNALLING-CHANNEL-SUSPEND-REDIRECT --- --- --- */
2718 { &hf_h460_15_h460_15_SignallingChannelData_PDU
,
2719 { "SignallingChannelData", "h460.15.SignallingChannelData_element",
2720 FT_NONE
, BASE_NONE
, NULL
, 0,
2722 { &hf_h460_15_signallingChannelData
,
2723 { "signallingChannelData", "h460.15.signallingChannelData",
2724 FT_UINT32
, BASE_DEC
, VALS(h460_15_T_signallingChannelData_vals
), 0,
2726 { &hf_h460_15_channelSuspendRequest
,
2727 { "channelSuspendRequest", "h460.15.channelSuspendRequest_element",
2728 FT_NONE
, BASE_NONE
, NULL
, 0,
2730 { &hf_h460_15_channelSuspendResponse
,
2731 { "channelSuspendResponse", "h460.15.channelSuspendResponse_element",
2732 FT_NONE
, BASE_NONE
, NULL
, 0,
2734 { &hf_h460_15_channelSuspendConfirm
,
2735 { "channelSuspendConfirm", "h460.15.channelSuspendConfirm_element",
2736 FT_NONE
, BASE_NONE
, NULL
, 0,
2738 { &hf_h460_15_channelSuspendCancel
,
2739 { "channelSuspendCancel", "h460.15.channelSuspendCancel_element",
2740 FT_NONE
, BASE_NONE
, NULL
, 0,
2742 { &hf_h460_15_channelResumeRequest
,
2743 { "channelResumeRequest", "h460.15.channelResumeRequest_element",
2744 FT_NONE
, BASE_NONE
, NULL
, 0,
2746 { &hf_h460_15_channelResumeResponse
,
2747 { "channelResumeResponse", "h460.15.channelResumeResponse_element",
2748 FT_NONE
, BASE_NONE
, NULL
, 0,
2750 { &hf_h460_15_channelResumeAddress
,
2751 { "channelResumeAddress", "h460.15.channelResumeAddress",
2752 FT_UINT32
, BASE_DEC
, NULL
, 0,
2753 "SEQUENCE_OF_TransportAddress", HFILL
}},
2754 { &hf_h460_15_channelResumeAddress_item
,
2755 { "TransportAddress", "h460.15.TransportAddress",
2756 FT_UINT32
, BASE_DEC
, VALS(h225_TransportAddress_vals
), 0,
2758 { &hf_h460_15_immediateResume
,
2759 { "immediateResume", "h460.15.immediateResume",
2760 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2761 "BOOLEAN", HFILL
}},
2762 { &hf_h460_15_resetH245
,
2763 { "resetH245", "h460.15.resetH245_element",
2764 FT_NONE
, BASE_NONE
, NULL
, 0,
2766 { &hf_h460_15_okToSuspend
,
2767 { "okToSuspend", "h460.15.okToSuspend",
2768 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2769 "BOOLEAN", HFILL
}},
2770 { &hf_h460_15_randomNumber
,
2771 { "randomNumber", "h460.15.randomNumber",
2772 FT_UINT32
, BASE_DEC
, NULL
, 0,
2773 "INTEGER_0_4294967295", HFILL
}},
2775 /* --- Module SIGNALLING-TRAVERSAL --- --- --- */
2777 { &hf_h460_18_h460_18_IncomingCallIndication_PDU
,
2778 { "IncomingCallIndication", "h460.18.IncomingCallIndication_element",
2779 FT_NONE
, BASE_NONE
, NULL
, 0,
2781 { &hf_h460_18_h460_18_LRQKeepAliveData_PDU
,
2782 { "LRQKeepAliveData", "h460.18.LRQKeepAliveData_element",
2783 FT_NONE
, BASE_NONE
, NULL
, 0,
2785 { &hf_h460_18_callSignallingAddress
,
2786 { "callSignallingAddress", "h460.18.callSignallingAddress",
2787 FT_UINT32
, BASE_DEC
, VALS(h225_TransportAddress_vals
), 0,
2788 "TransportAddress", HFILL
}},
2789 { &hf_h460_18_callID
,
2790 { "callID", "h460.18.callID_element",
2791 FT_NONE
, BASE_NONE
, NULL
, 0,
2792 "CallIdentifier", HFILL
}},
2793 { &hf_h460_18_lrqKeepAliveInterval
,
2794 { "lrqKeepAliveInterval", "h460.18.lrqKeepAliveInterval",
2795 FT_UINT32
, BASE_DEC
, NULL
, 0,
2796 "TimeToLive", HFILL
}},
2798 /* --- Module MEDIA-TRAVERSAL --- --- --- */
2800 { &hf_h460_19_h460_19_TraversalParameters_PDU
,
2801 { "TraversalParameters", "h460.19.TraversalParameters_element",
2802 FT_NONE
, BASE_NONE
, NULL
, 0,
2804 { &hf_h460_19_multiplexedMediaChannel
,
2805 { "multiplexedMediaChannel", "h460.19.multiplexedMediaChannel",
2806 FT_UINT32
, BASE_DEC
, VALS(h245_TransportAddress_vals
), 0,
2807 "TransportAddress", HFILL
}},
2808 { &hf_h460_19_multiplexedMediaControlChannel
,
2809 { "multiplexedMediaControlChannel", "h460.19.multiplexedMediaControlChannel",
2810 FT_UINT32
, BASE_DEC
, VALS(h245_TransportAddress_vals
), 0,
2811 "TransportAddress", HFILL
}},
2812 { &hf_h460_19_multiplexID
,
2813 { "multiplexID", "h460.19.multiplexID",
2814 FT_UINT32
, BASE_DEC
, NULL
, 0,
2815 "INTEGER_0_4294967295", HFILL
}},
2816 { &hf_h460_19_keepAliveChannel
,
2817 { "keepAliveChannel", "h460.19.keepAliveChannel",
2818 FT_UINT32
, BASE_DEC
, VALS(h245_TransportAddress_vals
), 0,
2819 "TransportAddress", HFILL
}},
2820 { &hf_h460_19_keepAlivePayloadType
,
2821 { "keepAlivePayloadType", "h460.19.keepAlivePayloadType",
2822 FT_UINT32
, BASE_DEC
, NULL
, 0,
2823 "INTEGER_0_127", HFILL
}},
2824 { &hf_h460_19_keepAliveInterval
,
2825 { "keepAliveInterval", "h460.19.keepAliveInterval",
2826 FT_UINT32
, BASE_DEC
, NULL
, 0,
2827 "TimeToLive", HFILL
}},
2829 /* --- Module MESSAGE-BROADCAST --- --- --- */
2831 { &hf_h460_21_h460_21_CapabilityAdvertisement_PDU
,
2832 { "CapabilityAdvertisement", "h460.21.CapabilityAdvertisement_element",
2833 FT_NONE
, BASE_NONE
, NULL
, 0,
2835 { &hf_h460_21_receiveCapabilities
,
2836 { "receiveCapabilities", "h460.21.receiveCapabilities_element",
2837 FT_NONE
, BASE_NONE
, NULL
, 0,
2839 { &hf_h460_21_transmitCapabilities
,
2840 { "transmitCapabilities", "h460.21.transmitCapabilities",
2841 FT_UINT32
, BASE_DEC
, NULL
, 0,
2842 "SEQUENCE_SIZE_1_256_OF_TransmitCapabilities", HFILL
}},
2843 { &hf_h460_21_transmitCapabilities_item
,
2844 { "TransmitCapabilities", "h460.21.TransmitCapabilities_element",
2845 FT_NONE
, BASE_NONE
, NULL
, 0,
2847 { &hf_h460_21_capabilities
,
2848 { "capabilities", "h460.21.capabilities",
2849 FT_UINT32
, BASE_DEC
, NULL
, 0,
2850 "SEQUENCE_SIZE_1_256_OF_Capability", HFILL
}},
2851 { &hf_h460_21_capabilities_item
,
2852 { "Capability", "h460.21.Capability",
2853 FT_UINT32
, BASE_DEC
, VALS(h245_Capability_vals
), 0,
2855 { &hf_h460_21_maxGroups
,
2856 { "maxGroups", "h460.21.maxGroups",
2857 FT_UINT32
, BASE_DEC
, NULL
, 0,
2858 "INTEGER_1_65535", HFILL
}},
2859 { &hf_h460_21_groupIdentifer
,
2860 { "groupIdentifer", "h460.21.groupIdentifer",
2861 FT_BYTES
, BASE_NONE
, NULL
, 0,
2862 "GloballyUniqueID", HFILL
}},
2863 { &hf_h460_21_capability
,
2864 { "capability", "h460.21.capability",
2865 FT_UINT32
, BASE_DEC
, VALS(h245_Capability_vals
), 0,
2867 { &hf_h460_21_sourceAddress
,
2868 { "sourceAddress", "h460.21.sourceAddress",
2869 FT_UINT32
, BASE_DEC
, VALS(h245_UnicastAddress_vals
), 0,
2870 "UnicastAddress", HFILL
}},
2872 /*--- End of included file: packet-h460-hfarr.c ---*/
2873 #line 247 "../../asn1/h460/packet-h460-template.c"
2876 /* List of subtrees */
2877 static gint
*ett
[] = {
2879 /*--- Included file: packet-h460-ettarr.c ---*/
2880 #line 1 "../../asn1/h460/packet-h460-ettarr.c"
2882 /* --- Module NUMBER-PORTABILITY --- --- --- */
2884 &ett_h460_2_NumberPortabilityInfo
,
2885 &ett_h460_2_T_nUMBERPORTABILITYDATA
,
2886 &ett_h460_2_NumberPortabilityRejectReason
,
2887 &ett_h460_2_PortabilityAddress
,
2888 &ett_h460_2_NumberPortabilityTypeOfNumber
,
2889 &ett_h460_2_PortabilityTypeOfNumber
,
2890 &ett_h460_2_RegionalParameters
,
2892 /* --- Module CIRCUIT-STATUS-MAP --- --- --- */
2894 &ett_h460_3_CircuitStatus
,
2895 &ett_h460_3_SEQUENCE_OF_CircuitStatusMap
,
2896 &ett_h460_3_CircuitStatusMap
,
2897 &ett_h460_3_CircuitStatusType
,
2899 /* --- Module CALL-PRIORITY --- --- --- */
2901 &ett_h460_4_CallPriorityInfo
,
2902 &ett_h460_4_T_priorityValue
,
2903 &ett_h460_4_SEQUENCE_OF_ClearToken
,
2904 &ett_h460_4_SEQUENCE_OF_CryptoToken
,
2905 &ett_h460_4_T_rejectReason
,
2906 &ett_h460_4_CountryInternationalNetworkCallOriginationIdentification
,
2907 &ett_h460_4_T_numberingPlan
,
2911 /* --- Modules QOS-MONITORING-REPORT QOS-MONITORING-EXTENDED-VOIP-REPORT --- --- --- */
2913 &ett_h460_9_Extension
,
2914 &ett_h460_9_RTCPMeasures
,
2915 &ett_h460_9_T_mediaSenderMeasures
,
2916 &ett_h460_9_T_mediaReceiverMeasures
,
2917 &ett_h460_9_SEQUENCE_OF_Extension
,
2918 &ett_h460_9_PerCallQoSReport
,
2919 &ett_h460_9_SEQUENCE_OF_RTCPMeasures
,
2920 &ett_h460_9_QosMonitoringReportData
,
2921 &ett_h460_9_PeriodicQoSMonReport
,
2922 &ett_h460_9_SEQUENCE_OF_PerCallQoSReport
,
2923 &ett_h460_9_FinalQosMonReport
,
2924 &ett_h460_9_InterGKQosMonReport
,
2925 &ett_h460_9_ExtendedRTPMetrics
,
2926 &ett_h460_9_BurstMetrics
,
2927 &ett_h460_9_PLCtypes
,
2928 &ett_h460_9_JitterBufferParms
,
2929 &ett_h460_9_JitterBufferTypes
,
2931 /* --- Module CALL-PARTY-CATEGORY --- --- --- */
2933 &ett_h460_10_CallPartyCategoryInfo
,
2935 /* --- Module MLPP --- --- --- */
2937 &ett_h460_14_MLPPInfo
,
2938 &ett_h460_14_MlppNotification
,
2939 &ett_h460_14_AlternateParty
,
2940 &ett_h460_14_ReleaseCall
,
2942 /* --- Module SIGNALLING-CHANNEL-SUSPEND-REDIRECT --- --- --- */
2944 &ett_h460_15_SignallingChannelData
,
2945 &ett_h460_15_T_signallingChannelData
,
2946 &ett_h460_15_ChannelSuspendRequest
,
2947 &ett_h460_15_SEQUENCE_OF_TransportAddress
,
2948 &ett_h460_15_ChannelSuspendResponse
,
2949 &ett_h460_15_ChannelSuspendConfirm
,
2950 &ett_h460_15_ChannelSuspendCancel
,
2951 &ett_h460_15_ChannelResumeRequest
,
2952 &ett_h460_15_ChannelResumeResponse
,
2954 /* --- Module SIGNALLING-TRAVERSAL --- --- --- */
2956 &ett_h460_18_IncomingCallIndication
,
2957 &ett_h460_18_LRQKeepAliveData
,
2959 /* --- Module MEDIA-TRAVERSAL --- --- --- */
2961 &ett_h460_19_TraversalParameters
,
2963 /* --- Module MESSAGE-BROADCAST --- --- --- */
2965 &ett_h460_21_CapabilityAdvertisement
,
2966 &ett_h460_21_SEQUENCE_SIZE_1_256_OF_TransmitCapabilities
,
2967 &ett_h460_21_ReceiveCapabilities
,
2968 &ett_h460_21_SEQUENCE_SIZE_1_256_OF_Capability
,
2969 &ett_h460_21_TransmitCapabilities
,
2971 /*--- End of included file: packet-h460-ettarr.c ---*/
2972 #line 252 "../../asn1/h460/packet-h460-template.c"
2975 /* Register protocol */
2976 proto_h460
= proto_register_protocol(PNAME
, PSNAME
, PFNAME
);
2978 /* Register fields and subtrees */
2979 proto_register_field_array(proto_h460
, hf
, array_length(hf
));
2980 proto_register_subtree_array(ett
, array_length(ett
));
2982 for (ftr
=h460_feature_tab
; ftr
->id
; ftr
++) {
2983 if (ftr
->opt
& GD
) ftr
->key_gd
= g_strdup_printf("GenericData/%s", ftr
->id
);
2984 if (ftr
->opt
& FD
) ftr
->key_fd
= g_strdup_printf("FeatureDescriptor/%s", ftr
->id
);
2985 if (ftr
->opt
& GM
) ftr
->key_gm
= g_strdup_printf("GenericMessage/%s", ftr
->id
);
2986 if (ftr
->opt
& GI
) ftr
->key_gi
= g_strdup_printf("GenericInformation/%s", ftr
->id
);
2987 if (ftr
->content_pdu
) ftr
->content_hnd
= new_create_dissector_handle(ftr
->content_pdu
, proto_h460
);
2991 /*--- proto_reg_handoff_h460 -------------------------------------------*/
2992 void proto_reg_handoff_h460(void)
2994 h460_feature_t
*ftr
;
2995 dissector_handle_t h460_name_handle
;
2997 q931_ie_handle
= find_dissector("q931.ie");
2998 h225_ras_handle
= find_dissector("h225.ras");
3000 h460_name_handle
= new_create_dissector_handle(dissect_h460_name
, proto_h460
);
3001 for (ftr
=h460_feature_tab
; ftr
->id
; ftr
++) {
3002 if (ftr
->key_gd
) dissector_add_string("h225.gef.name", ftr
->key_gd
, h460_name_handle
);
3003 if (ftr
->key_fd
) dissector_add_string("h225.gef.name", ftr
->key_fd
, h460_name_handle
);
3004 if (ftr
->key_gm
) dissector_add_string("h245.gef.name", ftr
->key_gm
, h460_name_handle
);
3005 if (ftr
->key_gi
) dissector_add_string("h245.gef.name", ftr
->key_gi
, h460_name_handle
);
3006 if (ftr
->content_hnd
) {
3007 if (ftr
->key_gd
) dissector_add_string("h225.gef.content", ftr
->key_gd
, ftr
->content_hnd
);
3008 if (ftr
->key_fd
) dissector_add_string("h225.gef.content", ftr
->key_fd
, ftr
->content_hnd
);
3009 if (ftr
->key_gm
) dissector_add_string("h245.gef.content", ftr
->key_gm
, ftr
->content_hnd
);
3010 if (ftr
->key_gi
) dissector_add_string("h245.gef.content", ftr
->key_gi
, ftr
->content_hnd
);