1 /* Do not modify this file. */
2 /* It is created automatically by the ASN.1 to Ethereal dissector compiler */
4 /* ../../tools/asn2eth.py -X -b -e -p inap -c inap.cnf -s packet-inap-template inap.asn */
6 /* Input file: packet-inap-template.c */
8 /* packet-inap-template.c
10 * Copyright 2004, Tim Endean <endeant@hotmail.com>
11 * Built from the gsm-map dissector Copyright 2004, Anders Broman <anders.broman@ericsson.com>
14 * Ethereal - Network traffic analyzer
15 * By Gerald Combs <gerald@ethereal.com>
16 * Copyright 1998 Gerald Combs
18 * This program is free software; you can redistribute it and/or
19 * modify it under the terms of the GNU General Public License
20 * as published by the Free Software Foundation; either version 2
21 * of the License, or (at your option) any later version.
23 * This program is distributed in the hope that it will be useful,
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26 * GNU General Public License for more details.
28 * You should have received a copy of the GNU General Public License
29 * along with this program; if not, write to the Free Software
30 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
31 * References: ETSI 300 374
39 #include <epan/packet.h>
40 #include <epan/prefs.h>
41 #include <epan/conversation.h>
46 #include "packet-ber.h"
47 #include "packet-inap.h"
48 #include "packet-q931.h"
49 #include "packet-e164.h"
55 /* Initialize the protocol and registered fields */
57 static int hf_inap_invokeCmd = -1; /* Opcode */
58 static int hf_inap_invokeid = -1; /* INTEGER */
59 static int hf_inap_absent = -1; /* NULL */
60 static int hf_inap_invokeId = -1; /* InvokeId */
61 static int hf_inap_invoke = -1; /* InvokePDU */
62 static int hf_inap_returnResult = -1; /* InvokePDU */
63 static int hf_inap_returnResult_result = -1;
64 static int hf_inap_getPassword = -1;
65 static int hf_inap_currentPassword = -1;
67 /*--- Included file: packet-inap-hf.c ---*/
69 static int hf_inap_originalCallID = -1; /* CallID */
70 static int hf_inap_destinationCallID = -1; /* CallID */
71 static int hf_inap_newLegID = -1; /* OCTET_STRING */
72 static int hf_inap_correlationidentifier = -1; /* OCTET_STRING */
73 static int hf_inap_CallPartyHandlingResultsArg_item = -1; /* LegInformation */
74 static int hf_inap_callID = -1; /* CallID */
75 static int hf_inap_targetCallID = -1; /* CallID */
76 static int hf_inap_legToBeConnectedID = -1; /* OCTET_STRING */
77 static int hf_inap_legToBeDetached = -1; /* OCTET_STRING */
78 static int hf_inap_legID = -1; /* LegID */
79 static int hf_inap_sendingSideID = -1; /* OCTET_STRING_SIZE_1 */
80 static int hf_inap_receivingSideID = -1; /* OCTET_STRING_SIZE_1 */
81 static int hf_inap_heldLegID = -1; /* LegID */
82 static int hf_inap_legToBeReleased = -1; /* LegID */
83 static int hf_inap_releaseCause = -1; /* Cause */
84 static int hf_inap_legStatus = -1; /* LegStatus */
85 static int hf_inap_VariableParts_item = -1; /* VariableParts_item */
86 static int hf_inap_integer = -1; /* INTEGER_0_2147483647 */
87 static int hf_inap_number = -1; /* OCTET_STRING */
88 static int hf_inap_time = -1; /* OCTET_STRING */
89 static int hf_inap_date = -1; /* OCTET_STRING */
90 static int hf_inap_price = -1; /* OCTET_STRING */
91 static int hf_inap_elementaryMessageID = -1; /* INTEGER_0_2147483647 */
92 static int hf_inap_variableParts = -1; /* VariableParts */
93 static int hf_inap_toneID = -1; /* INTEGER_0_2147483647 */
94 static int hf_inap_tduration = -1; /* INTEGER_0_2147483647 */
95 static int hf_inap_messageContent = -1; /* IA5String */
96 static int hf_inap_attributes = -1; /* OCTET_STRING */
97 static int hf_inap_text = -1; /* Text */
98 static int hf_inap_elementaryMessageIDs = -1; /* T_elementaryMessageIDs */
99 static int hf_inap_elementaryMessageIDs_item = -1; /* INTEGER_0_2147483647 */
100 static int hf_inap_variableMessage = -1; /* VariableMessage */
101 static int hf_inap_inbandInfo = -1; /* T_inbandInfo */
102 static int hf_inap_messageID = -1; /* MessageID */
103 static int hf_inap_numberOfRepetitions = -1; /* INTEGER_1_127 */
104 static int hf_inap_mduration = -1; /* INTEGER_0_32767 */
105 static int hf_inap_interval = -1; /* INTEGER_0_32767 */
106 static int hf_inap_tone = -1; /* Tone */
107 static int hf_inap_displayInformation = -1; /* IA5String */
108 static int hf_inap_dialledNumber = -1; /* OCTET_STRING */
109 static int hf_inap_callingLineID = -1; /* OCTET_STRING */
110 static int hf_inap_serviceKey = -1; /* INTEGER_0_2147483647 */
111 static int hf_inap_addressAndService = -1; /* T_addressAndService */
112 static int hf_inap_calledAddressValue = -1; /* OCTET_STRING */
113 static int hf_inap_callingAddressValue = -1; /* OCTET_STRING */
114 static int hf_inap_locationNumber = -1; /* OCTET_STRING */
115 static int hf_inap_Extensions_item = -1; /* Extensions_item */
116 static int hf_inap_type = -1; /* INTEGER */
117 static int hf_inap_criticality = -1; /* T_criticality */
118 static int hf_inap_value = -1; /* OCTET_STRING */
119 static int hf_inap_filteredCallTreatment = -1; /* T_filteredCallTreatment */
120 static int hf_inap_sFBillingChargingCharacteristics = -1; /* OCTET_STRING */
121 static int hf_inap_informationToSend = -1; /* InformationToSend */
122 static int hf_inap_maximumNumberOfCounters = -1; /* INTEGER */
123 static int hf_inap_filteringCharacteristics = -1; /* T_filteringCharacteristics */
124 static int hf_inap_numberOfCalls = -1; /* INTEGER_0_2147483647 */
125 static int hf_inap_filteringTimeOut = -1; /* T_filteringTimeOut */
126 static int hf_inap_aduration = -1; /* INTEGER_M2_86400 */
127 static int hf_inap_stopTime = -1; /* OCTET_STRING_SIZE_6 */
128 static int hf_inap_filteringCriteria = -1; /* FilteringCriteria */
129 static int hf_inap_startTime = -1; /* OCTET_STRING_SIZE_6 */
130 static int hf_inap_extensions = -1; /* Extensions */
131 static int hf_inap_messageType = -1; /* T_messageType */
132 static int hf_inap_dpAssignment = -1; /* T_dpAssignment */
133 static int hf_inap_miscCallInfo = -1; /* MiscCallInfo */
134 static int hf_inap_triggerType = -1; /* TriggerType */
135 static int hf_inap_RouteList_item = -1; /* OCTET_STRING */
136 static int hf_inap_bearerCap = -1; /* OCTET_STRING */
137 static int hf_inap_tmr = -1; /* OCTET_STRING_SIZE_1 */
138 static int hf_inap_serviceAddressInformation = -1; /* ServiceAddressInformation */
139 static int hf_inap_bearerCapability = -1; /* BearerCapability */
140 static int hf_inap_calledPartyNumber = -1; /* OCTET_STRING */
141 static int hf_inap_callingPartyNumber = -1; /* OCTET_STRING */
142 static int hf_inap_callingPartysCategory = -1; /* OCTET_STRING_SIZE_1 */
143 static int hf_inap_iPSSPCapabilities = -1; /* OCTET_STRING */
144 static int hf_inap_iPAvailable = -1; /* OCTET_STRING */
145 static int hf_inap_iSDNAccessRelatedInformation = -1; /* OCTET_STRING */
146 static int hf_inap_cGEncountered = -1; /* CGEncountered */
147 static int hf_inap_serviceProfileIdentifier = -1; /* OCTET_STRING */
148 static int hf_inap_terminalType = -1; /* TerminalType */
149 static int hf_inap_chargeNumber = -1; /* OCTET_STRING */
150 static int hf_inap_servingAreaID = -1; /* OCTET_STRING */
151 static int hf_inap_trunkGroupID = -1; /* INTEGER */
152 static int hf_inap_privateFacilityID = -1; /* INTEGER */
153 static int hf_inap_huntGroup = -1; /* OCTET_STRING */
154 static int hf_inap_routeIndex = -1; /* OCTET_STRING */
155 static int hf_inap_dpSpecificCommonParameters = -1; /* DpSpecificCommonParameters */
156 static int hf_inap_dialledDigits = -1; /* OCTET_STRING */
157 static int hf_inap_callingPartyBusinessGroupID = -1; /* OCTET_STRING */
158 static int hf_inap_callingPartySubaddress = -1; /* OCTET_STRING */
159 static int hf_inap_callingFacilityGroup = -1; /* CallingFacilityGroup */
160 static int hf_inap_callingFacilityGroupMember = -1; /* INTEGER */
161 static int hf_inap_originalCalledPartyID = -1; /* OCTET_STRING */
162 static int hf_inap_prefix = -1; /* OCTET_STRING */
163 static int hf_inap_redirectingPartyID = -1; /* OCTET_STRING */
164 static int hf_inap_redirectionInformation = -1; /* OCTET_STRING_SIZE_2 */
165 static int hf_inap_routeList = -1; /* RouteList */
166 static int hf_inap_travellingClassMark = -1; /* OCTET_STRING */
167 static int hf_inap_featureCode = -1; /* OCTET_STRING */
168 static int hf_inap_accessCode = -1; /* OCTET_STRING */
169 static int hf_inap_carrier = -1; /* OCTET_STRING */
170 static int hf_inap_destinationRoutingAddress = -1; /* SEQUENCE_SIZE_1_3_OF_DestinationAddress */
171 static int hf_inap_destinationRoutingAddress_item = -1; /* DestinationAddress */
172 static int hf_inap_alertingPattern = -1; /* OCTET_STRING_SIZE_3 */
173 static int hf_inap_aChBillingChargingCharacteristics = -1; /* OCTET_STRING */
174 static int hf_inap_partyToCharge = -1; /* PartyToCharge */
175 static int hf_inap_correlationID = -1; /* OCTET_STRING */
176 static int hf_inap_gapCriteria = -1; /* T_gapCriteria */
177 static int hf_inap_gapOnService = -1; /* T_gapOnService */
178 static int hf_inap_dpCriteria = -1; /* T_dpCriteria */
179 static int hf_inap_calledAddressAndService = -1; /* T_calledAddressAndService */
180 static int hf_inap_callingAddressAndService = -1; /* T_callingAddressAndService */
181 static int hf_inap_gapIndicators = -1; /* T_gapIndicators */
182 static int hf_inap_cgduration = -1; /* INTEGER_M2_86400 */
183 static int hf_inap_gapInterval = -1; /* INTEGER_M1_60000 */
184 static int hf_inap_controlType = -1; /* T_controlType */
185 static int hf_inap_gapTreatment = -1; /* T_gapTreatment */
186 static int hf_inap_both = -1; /* Both */
187 static int hf_inap_requestedInformationList = -1; /* T_requestedInformationList */
188 static int hf_inap_requestedInformationList_item = -1; /* T_requestedInformationList_item */
189 static int hf_inap_requestedInformationType = -1; /* T_requestedInformationType */
190 static int hf_inap_requestedInformationValue = -1; /* T_requestedInformationValue */
191 static int hf_inap_callAttemptElapsedTimeValue = -1; /* INTEGER_0_255 */
192 static int hf_inap_callStopTimeValue = -1; /* OCTET_STRING_SIZE_6 */
193 static int hf_inap_callConnectedElapsedTimeValue = -1; /* INTEGER_0_2147483647 */
194 static int hf_inap_releaseCauseValue = -1; /* Cause */
195 static int hf_inap_requestedInformationTypeList = -1; /* T_requestedInformationTypeList */
196 static int hf_inap_requestedInformationTypeList_item = -1; /* T_requestedInformationTypeList_item */
197 static int hf_inap_invokeID = -1; /* INTEGER_M128_127 */
198 static int hf_inap_allRequests = -1; /* NULL */
199 static int hf_inap_lineID = -1; /* OCTET_STRING */
200 static int hf_inap_facilityGroupID = -1; /* FacilityGroupID */
201 static int hf_inap_facilityGroupMemberID = -1; /* INTEGER */
202 static int hf_inap_resourceID = -1; /* ResourceID */
203 static int hf_inap_numberingPlan = -1; /* OCTET_STRING_SIZE_1 */
204 static int hf_inap_cutAndPaste = -1; /* INTEGER_0_22 */
205 static int hf_inap_forwardingCondition = -1; /* T_forwardingCondition */
206 static int hf_inap_scfID = -1; /* OCTET_STRING */
207 static int hf_inap_serviceInteractionIndicators = -1; /* OCTET_STRING */
208 static int hf_inap_resourceAddress = -1; /* T_resourceAddress */
209 static int hf_inap_ipRoutingAddress = -1; /* OCTET_STRING */
210 static int hf_inap_none = -1; /* NULL */
211 static int hf_inap_assistingSSPIPRoutingAddress = -1; /* OCTET_STRING */
212 static int hf_inap_eventTypeCharging = -1; /* OCTET_STRING */
213 static int hf_inap_eventSpecificInformationCharging = -1; /* OCTET_STRING */
214 static int hf_inap_monitorMode = -1; /* MonitorMode */
215 static int hf_inap_eventTypeBCSM = -1; /* EventTypeBCSM */
216 static int hf_inap_bcsmEventCorrelationID = -1; /* OCTET_STRING */
217 static int hf_inap_eventSpecificInformationBCSM = -1; /* T_eventSpecificInformationBCSM */
218 static int hf_inap_collectedInfoSpecificInfo = -1; /* T_collectedInfoSpecificInfo */
219 static int hf_inap_calledPartynumber = -1; /* OCTET_STRING */
220 static int hf_inap_analyzedInfoSpecificInfo = -1; /* T_analyzedInfoSpecificInfo */
221 static int hf_inap_routeSelectFailureSpecificInfo = -1; /* T_routeSelectFailureSpecificInfo */
222 static int hf_inap_failureCause = -1; /* OCTET_STRING_SIZE_2_10 */
223 static int hf_inap_oCalledPartyBusySpecificInfo = -1; /* T_oCalledPartyBusySpecificInfo */
224 static int hf_inap_busyCause = -1; /* OCTET_STRING_SIZE_2_10 */
225 static int hf_inap_oNoAnswerSpecificInfo = -1; /* T_oNoAnswerSpecificInfo */
226 static int hf_inap_oAnswerSpecificInfo = -1; /* T_oAnswerSpecificInfo */
227 static int hf_inap_oMidCallSpecificInfo = -1; /* T_oMidCallSpecificInfo */
228 static int hf_inap_connectTime = -1; /* INTEGER_0_2147483647 */
229 static int hf_inap_oDisconnectSpecificInfo = -1; /* T_oDisconnectSpecificInfo */
230 static int hf_inap_tBusySpecificInfo = -1; /* T_tBusySpecificInfo */
231 static int hf_inap_tNoAnswerSpecificInfo = -1; /* T_tNoAnswerSpecificInfo */
232 static int hf_inap_tAnswerSpecificInfo = -1; /* T_tAnswerSpecificInfo */
233 static int hf_inap_tMidCallSpecificInfo = -1; /* T_tMidCallSpecificInfo */
234 static int hf_inap_tDisconnectSpecificInfo = -1; /* T_tDisconnectSpecificInfo */
235 static int hf_inap_holdcause = -1; /* OCTET_STRING */
236 static int hf_inap_empty = -1; /* NULL */
237 static int hf_inap_highLayerCompatibility = -1; /* OCTET_STRING_SIZE_2 */
238 static int hf_inap_additionalCallingPartyNumber = -1; /* OCTET_STRING */
239 static int hf_inap_forwardCallIndicators = -1; /* OCTET_STRING_SIZE_2 */
240 static int hf_inap_calledPartyBusinessGroupID = -1; /* OCTET_STRING */
241 static int hf_inap_calledPartySubaddress = -1; /* OCTET_STRING */
242 static int hf_inap_featureRequestIndicator = -1; /* FeatureRequestIndicator */
243 static int hf_inap_disconnectFromIPForbidden = -1; /* BOOLEAN */
244 static int hf_inap_requestAnnouncementComplete = -1; /* BOOLEAN */
245 static int hf_inap_collectedInfo = -1; /* T_collectedInfo */
246 static int hf_inap_collectedDigits = -1; /* T_collectedDigits */
247 static int hf_inap_minimumNbOfDigits = -1; /* INTEGER_1_127 */
248 static int hf_inap_maximumNbOfDigits = -1; /* INTEGER_1_127 */
249 static int hf_inap_endOfReplyDigit = -1; /* OCTET_STRING_SIZE_1_2 */
250 static int hf_inap_cancelDigit = -1; /* OCTET_STRING_SIZE_1_2 */
251 static int hf_inap_startDigit = -1; /* OCTET_STRING_SIZE_1_2 */
252 static int hf_inap_firstDigitTimeOut = -1; /* INTEGER_1_127 */
253 static int hf_inap_interDigitTimeOut = -1; /* INTEGER_1_127 */
254 static int hf_inap_errorTreatment = -1; /* T_errorTreatment */
255 static int hf_inap_interruptableAnnInd = -1; /* BOOLEAN */
256 static int hf_inap_voiceInformation = -1; /* BOOLEAN */
257 static int hf_inap_voiceBack = -1; /* BOOLEAN */
258 static int hf_inap_iA5Information = -1; /* BOOLEAN */
259 static int hf_inap_digitsResponse = -1; /* OCTET_STRING */
260 static int hf_inap_iA5Response = -1; /* IA5String */
261 static int hf_inap_resourceStatus = -1; /* ResourceStatus */
262 static int hf_inap_monitorDuration = -1; /* INTEGER_M2_86400 */
263 static int hf_inap_RequestNotificationChargingEvent_item = -1; /* RequestNotificationChargingEvent_item */
264 static int hf_inap_bcsmEvents = -1; /* T_bcsmEvents */
265 static int hf_inap_bcsmEvents_item = -1; /* T_bcsmEvents_item */
266 static int hf_inap_dpSpecificCriteria = -1; /* T_dpSpecificCriteria */
267 static int hf_inap_numberOfDigits = -1; /* INTEGER_1_255 */
268 static int hf_inap_applicationTimer = -1; /* INTEGER_0_2047 */
269 static int hf_inap_timerID = -1; /* T_timerID */
270 static int hf_inap_timervalue = -1; /* INTEGER_0_2147483647 */
271 static int hf_inap_destinationNumberRoutingAddress = -1; /* OCTET_STRING */
272 static int hf_inap_calledFacilityGroup = -1; /* CalledFacilityGroup */
273 static int hf_inap_calledFacilityGroupMember = -1; /* INTEGER */
274 static int hf_inap_sCIBillingChargingCharacteristics = -1; /* OCTET_STRING */
275 static int hf_inap_countersValue = -1; /* T_countersValue */
276 static int hf_inap_countersValue_item = -1; /* T_countersValue_item */
277 static int hf_inap_counterID = -1; /* INTEGER_0_99 */
278 static int hf_inap_counterValue = -1; /* INTEGER_0_2147483647 */
279 static int hf_inap_responseCondition = -1; /* T_responseCondition */
280 static int hf_inap_reportCondition = -1; /* T_reportCondition */
281 static int hf_inap_problem = -1; /* T_problem */
282 static int hf_inap_operation = -1; /* INTEGER_M128_127 */
284 /*--- End of included file: packet-inap-hf.c ---*/
286 static guint global_tcap_itu_ssn = 241;
288 /* Initialize the subtree pointers */
289 static gint ett_inap = -1;
290 static gint ett_inap_InvokeId = -1;
291 static gint ett_inap_InvokePDU = -1;
292 static gint ett_inap_ReturnResultPDU = -1;
293 static gint ett_inap_ReturnResult_result = -1;
294 static gint ett_inap_INAPPDU = -1;
295 static gint ett_inapisup_parameter = -1;
297 /*--- Included file: packet-inap-ett.c ---*/
299 static gint ett_inap_AddPartyArg = -1;
300 static gint ett_inap_AttachArg = -1;
301 static gint ett_inap_CallPartyHandlingResultsArg = -1;
302 static gint ett_inap_ChangePartiesArg = -1;
303 static gint ett_inap_DetachArg = -1;
304 static gint ett_inap_HoldCallPartyConnectionArg = -1;
305 static gint ett_inap_LegID = -1;
306 static gint ett_inap_ReconnectArg = -1;
307 static gint ett_inap_ReleaseCallPartyConnectionArg = -1;
308 static gint ett_inap_LegInformation = -1;
309 static gint ett_inap_VariableParts = -1;
310 static gint ett_inap_VariableParts_item = -1;
311 static gint ett_inap_VariableMessage = -1;
312 static gint ett_inap_Tone = -1;
313 static gint ett_inap_Text = -1;
314 static gint ett_inap_MessageID = -1;
315 static gint ett_inap_T_elementaryMessageIDs = -1;
316 static gint ett_inap_InformationToSend = -1;
317 static gint ett_inap_T_inbandInfo = -1;
318 static gint ett_inap_FilteringCriteria = -1;
319 static gint ett_inap_T_addressAndService = -1;
320 static gint ett_inap_Extensions = -1;
321 static gint ett_inap_Extensions_item = -1;
322 static gint ett_inap_ActivateServiceFilteringarg = -1;
323 static gint ett_inap_T_filteredCallTreatment = -1;
324 static gint ett_inap_T_filteringCharacteristics = -1;
325 static gint ett_inap_T_filteringTimeOut = -1;
326 static gint ett_inap_MiscCallInfo = -1;
327 static gint ett_inap_ServiceAddressInformation = -1;
328 static gint ett_inap_RouteList = -1;
329 static gint ett_inap_BearerCapability = -1;
330 static gint ett_inap_DpSpecificCommonParameters = -1;
331 static gint ett_inap_CallingFacilityGroup = -1;
332 static gint ett_inap_AnalysedInformationarg = -1;
333 static gint ett_inap_AnalyseInformationarg = -1;
334 static gint ett_inap_SEQUENCE_SIZE_1_3_OF_DestinationAddress = -1;
335 static gint ett_inap_PartyToCharge = -1;
336 static gint ett_inap_ApplyChargingarg = -1;
337 static gint ett_inap_AssistRequestInstructionsarg = -1;
338 static gint ett_inap_CallGaparg = -1;
339 static gint ett_inap_T_gapCriteria = -1;
340 static gint ett_inap_T_gapOnService = -1;
341 static gint ett_inap_T_calledAddressAndService = -1;
342 static gint ett_inap_T_callingAddressAndService = -1;
343 static gint ett_inap_T_gapIndicators = -1;
344 static gint ett_inap_T_gapTreatment = -1;
345 static gint ett_inap_Both = -1;
346 static gint ett_inap_CallInformationReportarg = -1;
347 static gint ett_inap_T_requestedInformationList = -1;
348 static gint ett_inap_T_requestedInformationList_item = -1;
349 static gint ett_inap_T_requestedInformationValue = -1;
350 static gint ett_inap_CallInformationRequestarg = -1;
351 static gint ett_inap_T_requestedInformationTypeList = -1;
352 static gint ett_inap_Cancelarg = -1;
353 static gint ett_inap_FacilityGroupID = -1;
354 static gint ett_inap_ResourceID = -1;
355 static gint ett_inap_CancelStatusReportRequestarg = -1;
356 static gint ett_inap_CollectedInformationarg = -1;
357 static gint ett_inap_CollectInformationarg = -1;
358 static gint ett_inap_Connectarg = -1;
359 static gint ett_inap_ConnectToResource = -1;
360 static gint ett_inap_T_resourceAddress = -1;
361 static gint ett_inap_EstablishTemporaryConnection = -1;
362 static gint ett_inap_EventNotificationChargingarg = -1;
363 static gint ett_inap_EventReportBCSM = -1;
364 static gint ett_inap_T_eventSpecificInformationBCSM = -1;
365 static gint ett_inap_T_collectedInfoSpecificInfo = -1;
366 static gint ett_inap_T_analyzedInfoSpecificInfo = -1;
367 static gint ett_inap_T_routeSelectFailureSpecificInfo = -1;
368 static gint ett_inap_T_oCalledPartyBusySpecificInfo = -1;
369 static gint ett_inap_T_oNoAnswerSpecificInfo = -1;
370 static gint ett_inap_T_oAnswerSpecificInfo = -1;
371 static gint ett_inap_T_oMidCallSpecificInfo = -1;
372 static gint ett_inap_T_oDisconnectSpecificInfo = -1;
373 static gint ett_inap_T_tBusySpecificInfo = -1;
374 static gint ett_inap_T_tNoAnswerSpecificInfo = -1;
375 static gint ett_inap_T_tAnswerSpecificInfo = -1;
376 static gint ett_inap_T_tMidCallSpecificInfo = -1;
377 static gint ett_inap_T_tDisconnectSpecificInfo = -1;
378 static gint ett_inap_HoldCallInNetworkarg = -1;
379 static gint ett_inap_InitialDP = -1;
380 static gint ett_inap_InitiateCallAttempt = -1;
381 static gint ett_inap_OAnswer = -1;
382 static gint ett_inap_OCalledPartyBusy = -1;
383 static gint ett_inap_ODisconnect = -1;
384 static gint ett_inap_OMidCall = -1;
385 static gint ett_inap_ONoAnswer = -1;
386 static gint ett_inap_OriginationAttemptAuthorized = -1;
387 static gint ett_inap_PlayAnnouncement = -1;
388 static gint ett_inap_PromptAndCollectUserInformationarg = -1;
389 static gint ett_inap_T_collectedInfo = -1;
390 static gint ett_inap_T_collectedDigits = -1;
391 static gint ett_inap_PromptAndCollectUserInformationres = -1;
392 static gint ett_inap_RequestCurrentStatusReportarg = -1;
393 static gint ett_inap_RequestCurrentStatusReportres = -1;
394 static gint ett_inap_RequestEveryStatusChangeReport = -1;
395 static gint ett_inap_RequestFirstStatusMatchReport = -1;
396 static gint ett_inap_RequestNotificationChargingEvent = -1;
397 static gint ett_inap_RequestNotificationChargingEvent_item = -1;
398 static gint ett_inap_RequestReportBCSMEvent = -1;
399 static gint ett_inap_T_bcsmEvents = -1;
400 static gint ett_inap_T_bcsmEvents_item = -1;
401 static gint ett_inap_T_dpSpecificCriteria = -1;
402 static gint ett_inap_ResetTimer = -1;
403 static gint ett_inap_RouteSelectFailure = -1;
404 static gint ett_inap_CalledFacilityGroup = -1;
405 static gint ett_inap_SelectFacility = -1;
406 static gint ett_inap_SelectRoute = -1;
407 static gint ett_inap_SendChargingInformation = -1;
408 static gint ett_inap_ServiceFilteringResponse = -1;
409 static gint ett_inap_T_countersValue = -1;
410 static gint ett_inap_T_countersValue_item = -1;
411 static gint ett_inap_StatusReport = -1;
412 static gint ett_inap_TAnswer = -1;
413 static gint ett_inap_TBusy = -1;
414 static gint ett_inap_TDisconnect = -1;
415 static gint ett_inap_TermAttemptAuthorized = -1;
416 static gint ett_inap_TMidCall = -1;
417 static gint ett_inap_TNoAnswer = -1;
418 static gint ett_inap_CancelFailed = -1;
420 /*--- End of included file: packet-inap-ett.c ---*/
423 static int dissect_invokeCmd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset);
426 /*--- Included file: packet-inap-fn.c ---*/
428 /*--- Fields for imported types ---*/
434 dissect_inap_CallID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
435 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
439 static int dissect_originalCallID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
440 return dissect_inap_CallID(TRUE, tvb, offset, pinfo, tree, hf_inap_originalCallID);
442 static int dissect_destinationCallID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
443 return dissect_inap_CallID(TRUE, tvb, offset, pinfo, tree, hf_inap_destinationCallID);
445 static int dissect_callID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
446 return dissect_inap_CallID(TRUE, tvb, offset, pinfo, tree, hf_inap_callID);
448 static int dissect_targetCallID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
449 return dissect_inap_CallID(TRUE, tvb, offset, pinfo, tree, hf_inap_targetCallID);
452 static const ber_sequence_t AddPartyArg_sequence[] = {
453 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCallID_impl },
454 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationCallID_impl },
459 dissect_inap_AddPartyArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
460 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
461 AddPartyArg_sequence, hf_index, ett_inap_AddPartyArg);
468 dissect_inap_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
469 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
474 static int dissect_newLegID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
475 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_newLegID);
477 static int dissect_correlationidentifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
478 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_correlationidentifier);
480 static int dissect_legToBeConnectedID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
481 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_legToBeConnectedID);
483 static int dissect_legToBeDetached_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
484 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_legToBeDetached);
486 static int dissect_number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
487 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_number);
489 static int dissect_time_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
490 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_time);
492 static int dissect_date_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
493 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_date);
495 static int dissect_price_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
496 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_price);
498 static int dissect_attributes_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
499 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_attributes);
501 static int dissect_dialledNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
502 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_dialledNumber);
504 static int dissect_callingLineID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
505 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_callingLineID);
507 static int dissect_calledAddressValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
508 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_calledAddressValue);
510 static int dissect_callingAddressValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
511 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_callingAddressValue);
513 static int dissect_locationNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
514 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_locationNumber);
516 static int dissect_value_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
517 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_value);
519 static int dissect_sFBillingChargingCharacteristics_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
520 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_sFBillingChargingCharacteristics);
522 static int dissect_RouteList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
523 return dissect_inap_OCTET_STRING(FALSE, tvb, offset, pinfo, tree, hf_inap_RouteList_item);
525 static int dissect_bearerCap_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
526 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_bearerCap);
528 static int dissect_calledPartyNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
529 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_calledPartyNumber);
531 static int dissect_callingPartyNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
532 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_callingPartyNumber);
534 static int dissect_iPSSPCapabilities_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
535 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_iPSSPCapabilities);
537 static int dissect_iPAvailable_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
538 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_iPAvailable);
540 static int dissect_iSDNAccessRelatedInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
541 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_iSDNAccessRelatedInformation);
543 static int dissect_serviceProfileIdentifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
544 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_serviceProfileIdentifier);
546 static int dissect_chargeNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
547 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_chargeNumber);
549 static int dissect_servingAreaID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
550 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_servingAreaID);
552 static int dissect_huntGroup_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
553 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_huntGroup);
555 static int dissect_routeIndex_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
556 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_routeIndex);
558 static int dissect_dialledDigits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
559 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_dialledDigits);
561 static int dissect_callingPartyBusinessGroupID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
562 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_callingPartyBusinessGroupID);
564 static int dissect_callingPartySubaddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
565 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_callingPartySubaddress);
567 static int dissect_originalCalledPartyID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
568 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_originalCalledPartyID);
570 static int dissect_prefix_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
571 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_prefix);
573 static int dissect_redirectingPartyID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
574 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_redirectingPartyID);
576 static int dissect_travellingClassMark_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
577 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_travellingClassMark);
579 static int dissect_featureCode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
580 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_featureCode);
582 static int dissect_accessCode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
583 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_accessCode);
585 static int dissect_carrier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
586 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_carrier);
588 static int dissect_aChBillingChargingCharacteristics_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
589 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_aChBillingChargingCharacteristics);
591 static int dissect_correlationID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
592 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_correlationID);
594 static int dissect_lineID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
595 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_lineID);
597 static int dissect_scfID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
598 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_scfID);
600 static int dissect_serviceInteractionIndicators_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
601 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_serviceInteractionIndicators);
603 static int dissect_ipRoutingAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
604 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_ipRoutingAddress);
606 static int dissect_assistingSSPIPRoutingAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
607 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_assistingSSPIPRoutingAddress);
609 static int dissect_eventTypeCharging_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
610 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_eventTypeCharging);
612 static int dissect_eventSpecificInformationCharging_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
613 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_eventSpecificInformationCharging);
615 static int dissect_bcsmEventCorrelationID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
616 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_bcsmEventCorrelationID);
618 static int dissect_calledPartynumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
619 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_calledPartynumber);
621 static int dissect_holdcause_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
622 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_holdcause);
624 static int dissect_additionalCallingPartyNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
625 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_additionalCallingPartyNumber);
627 static int dissect_calledPartyBusinessGroupID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
628 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_calledPartyBusinessGroupID);
630 static int dissect_calledPartySubaddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
631 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_calledPartySubaddress);
633 static int dissect_digitsResponse_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
634 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_digitsResponse);
636 static int dissect_destinationNumberRoutingAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
637 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_destinationNumberRoutingAddress);
639 static int dissect_sCIBillingChargingCharacteristics_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
640 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_sCIBillingChargingCharacteristics);
643 static const ber_sequence_t AttachArg_sequence[] = {
644 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_newLegID_impl },
645 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationidentifier_impl },
650 dissect_inap_AttachArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
651 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
652 AttachArg_sequence, hf_index, ett_inap_AttachArg);
659 dissect_inap_OCTET_STRING_SIZE_1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
660 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
665 static int dissect_sendingSideID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
666 return dissect_inap_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_inap_sendingSideID);
668 static int dissect_receivingSideID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
669 return dissect_inap_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_inap_receivingSideID);
671 static int dissect_tmr_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
672 return dissect_inap_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_inap_tmr);
674 static int dissect_callingPartysCategory_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
675 return dissect_inap_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_inap_callingPartysCategory);
677 static int dissect_numberingPlan_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
678 return dissect_inap_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_inap_numberingPlan);
682 static const value_string inap_LegID_vals[] = {
683 { 0, "sendingSideID" },
684 { 1, "receivingSideID" },
688 static const ber_choice_t LegID_choice[] = {
689 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sendingSideID_impl },
690 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_receivingSideID_impl },
695 dissect_inap_LegID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
696 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
697 LegID_choice, hf_index, ett_inap_LegID);
701 static int dissect_legID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
702 return dissect_inap_LegID(TRUE, tvb, offset, pinfo, tree, hf_inap_legID);
704 static int dissect_heldLegID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
705 return dissect_inap_LegID(TRUE, tvb, offset, pinfo, tree, hf_inap_heldLegID);
707 static int dissect_legToBeReleased_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
708 return dissect_inap_LegID(TRUE, tvb, offset, pinfo, tree, hf_inap_legToBeReleased);
712 static const value_string inap_LegStatus_vals[] = {
714 { 1, "unconnected" },
716 { 3, "interacting" },
722 dissect_inap_LegStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
723 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
727 static int dissect_legStatus_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
728 return dissect_inap_LegStatus(TRUE, tvb, offset, pinfo, tree, hf_inap_legStatus);
731 static const ber_sequence_t LegInformation_sequence[] = {
732 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
733 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_legStatus_impl },
738 dissect_inap_LegInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
739 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
740 LegInformation_sequence, hf_index, ett_inap_LegInformation);
744 static int dissect_CallPartyHandlingResultsArg_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
745 return dissect_inap_LegInformation(FALSE, tvb, offset, pinfo, tree, hf_inap_CallPartyHandlingResultsArg_item);
748 static const ber_sequence_t CallPartyHandlingResultsArg_sequence_of[1] = {
749 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_CallPartyHandlingResultsArg_item },
753 dissect_inap_CallPartyHandlingResultsArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
754 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
755 CallPartyHandlingResultsArg_sequence_of, hf_index, ett_inap_CallPartyHandlingResultsArg);
760 static const ber_sequence_t ChangePartiesArg_sequence[] = {
761 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callID_impl },
762 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_targetCallID_impl },
763 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_legToBeConnectedID_impl },
768 dissect_inap_ChangePartiesArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
769 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
770 ChangePartiesArg_sequence, hf_index, ett_inap_ChangePartiesArg);
775 static const ber_sequence_t DetachArg_sequence[] = {
776 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_legToBeDetached_impl },
777 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationidentifier_impl },
782 dissect_inap_DetachArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
783 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
784 DetachArg_sequence, hf_index, ett_inap_DetachArg);
789 static const ber_sequence_t HoldCallPartyConnectionArg_sequence[] = {
790 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callID_impl },
791 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
796 dissect_inap_HoldCallPartyConnectionArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
797 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
798 HoldCallPartyConnectionArg_sequence, hf_index, ett_inap_HoldCallPartyConnectionArg);
803 static const ber_sequence_t ReconnectArg_sequence[] = {
804 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callID_impl },
805 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_heldLegID_impl },
810 dissect_inap_ReconnectArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
811 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
812 ReconnectArg_sequence, hf_index, ett_inap_ReconnectArg);
819 dissect_inap_Cause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
820 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
825 static int dissect_releaseCause_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
826 return dissect_inap_Cause(TRUE, tvb, offset, pinfo, tree, hf_inap_releaseCause);
828 static int dissect_releaseCauseValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
829 return dissect_inap_Cause(TRUE, tvb, offset, pinfo, tree, hf_inap_releaseCauseValue);
832 static const ber_sequence_t ReleaseCallPartyConnectionArg_sequence[] = {
833 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legToBeReleased_impl },
834 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callID_impl },
835 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
840 dissect_inap_ReleaseCallPartyConnectionArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
841 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
842 ReleaseCallPartyConnectionArg_sequence, hf_index, ett_inap_ReleaseCallPartyConnectionArg);
850 dissect_inap_INTEGER_0_2147483647(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
851 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
855 static int dissect_integer_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
856 return dissect_inap_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_inap_integer);
858 static int dissect_elementaryMessageID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
859 return dissect_inap_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_inap_elementaryMessageID);
861 static int dissect_toneID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
862 return dissect_inap_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_inap_toneID);
864 static int dissect_tduration_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
865 return dissect_inap_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_inap_tduration);
867 static int dissect_elementaryMessageIDs_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
868 return dissect_inap_INTEGER_0_2147483647(FALSE, tvb, offset, pinfo, tree, hf_inap_elementaryMessageIDs_item);
870 static int dissect_serviceKey_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
871 return dissect_inap_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_inap_serviceKey);
873 static int dissect_numberOfCalls_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
874 return dissect_inap_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_inap_numberOfCalls);
876 static int dissect_callConnectedElapsedTimeValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
877 return dissect_inap_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_inap_callConnectedElapsedTimeValue);
879 static int dissect_connectTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
880 return dissect_inap_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_inap_connectTime);
882 static int dissect_timervalue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
883 return dissect_inap_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_inap_timervalue);
885 static int dissect_counterValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
886 return dissect_inap_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_inap_counterValue);
890 static const value_string inap_VariableParts_item_vals[] = {
899 static const ber_choice_t VariableParts_item_choice[] = {
900 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_integer_impl },
901 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_number_impl },
902 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_time_impl },
903 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_date_impl },
904 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_price_impl },
909 dissect_inap_VariableParts_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
910 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
911 VariableParts_item_choice, hf_index, ett_inap_VariableParts_item);
915 static int dissect_VariableParts_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
916 return dissect_inap_VariableParts_item(FALSE, tvb, offset, pinfo, tree, hf_inap_VariableParts_item);
919 static const ber_sequence_t VariableParts_sequence_of[1] = {
920 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_VariableParts_item },
924 dissect_inap_VariableParts(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
925 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
926 VariableParts_sequence_of, hf_index, ett_inap_VariableParts);
930 static int dissect_variableParts_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
931 return dissect_inap_VariableParts(TRUE, tvb, offset, pinfo, tree, hf_inap_variableParts);
934 static const ber_sequence_t VariableMessage_sequence[] = {
935 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_elementaryMessageID_impl },
936 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_variableParts_impl },
941 dissect_inap_VariableMessage(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
942 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
943 VariableMessage_sequence, hf_index, ett_inap_VariableMessage);
947 static int dissect_variableMessage_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
948 return dissect_inap_VariableMessage(TRUE, tvb, offset, pinfo, tree, hf_inap_variableMessage);
952 static const value_string inap_TriggerType_vals[] = {
953 { 0, "featureActivation" },
954 { 1, "verticalServiceCode" },
955 { 2, "customizedAccess" },
956 { 3, "customizedIntercom" },
957 { 12, "emergencyService" },
959 { 14, "sharedIOTrunk" },
960 { 17, "offHookDelay" },
961 { 18, "channelSetupPRI" },
964 { 27, "oCalledPartyBusy" },
966 { 30, "originationAttemptAuthorized" },
968 { 32, "oDisconnect" },
969 { 33, "termAttemptAuthorized" },
971 { 35, "tDisconnect" },
977 dissect_inap_TriggerType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
978 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
982 static int dissect_triggerType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
983 return dissect_inap_TriggerType(TRUE, tvb, offset, pinfo, tree, hf_inap_triggerType);
986 static const ber_sequence_t Tone_sequence[] = {
987 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_toneID_impl },
988 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tduration_impl },
993 dissect_inap_Tone(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
994 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
995 Tone_sequence, hf_index, ett_inap_Tone);
999 static int dissect_tone_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1000 return dissect_inap_Tone(TRUE, tvb, offset, pinfo, tree, hf_inap_tone);
1005 dissect_inap_IA5String(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1006 offset = dissect_ber_restricted_string(implicit_tag, 0,
1007 pinfo, tree, tvb, offset, hf_index,
1012 static int dissect_messageContent_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1013 return dissect_inap_IA5String(TRUE, tvb, offset, pinfo, tree, hf_inap_messageContent);
1015 static int dissect_displayInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1016 return dissect_inap_IA5String(TRUE, tvb, offset, pinfo, tree, hf_inap_displayInformation);
1018 static int dissect_iA5Response_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1019 return dissect_inap_IA5String(TRUE, tvb, offset, pinfo, tree, hf_inap_iA5Response);
1022 static const ber_sequence_t Text_sequence[] = {
1023 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_messageContent_impl },
1024 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_attributes_impl },
1029 dissect_inap_Text(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1030 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1031 Text_sequence, hf_index, ett_inap_Text);
1035 static int dissect_text_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1036 return dissect_inap_Text(TRUE, tvb, offset, pinfo, tree, hf_inap_text);
1039 static const ber_sequence_t T_elementaryMessageIDs_sequence_of[1] = {
1040 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_elementaryMessageIDs_item },
1044 dissect_inap_T_elementaryMessageIDs(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1045 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1046 T_elementaryMessageIDs_sequence_of, hf_index, ett_inap_T_elementaryMessageIDs);
1050 static int dissect_elementaryMessageIDs_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1051 return dissect_inap_T_elementaryMessageIDs(TRUE, tvb, offset, pinfo, tree, hf_inap_elementaryMessageIDs);
1055 static const value_string inap_MessageID_vals[] = {
1056 { 0, "elementaryMessageID" },
1058 { 29, "elementaryMessageIDs" },
1059 { 30, "variableMessage" },
1063 static const ber_choice_t MessageID_choice[] = {
1064 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_elementaryMessageID_impl },
1065 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_text_impl },
1066 { 29, BER_CLASS_CON, 29, BER_FLAGS_IMPLTAG, dissect_elementaryMessageIDs_impl },
1067 { 30, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_variableMessage_impl },
1068 { 0, 0, 0, 0, NULL }
1072 dissect_inap_MessageID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1073 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1074 MessageID_choice, hf_index, ett_inap_MessageID);
1078 static int dissect_messageID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1079 return dissect_inap_MessageID(TRUE, tvb, offset, pinfo, tree, hf_inap_messageID);
1085 dissect_inap_INTEGER_1_127(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1086 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1090 static int dissect_numberOfRepetitions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1091 return dissect_inap_INTEGER_1_127(TRUE, tvb, offset, pinfo, tree, hf_inap_numberOfRepetitions);
1093 static int dissect_minimumNbOfDigits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1094 return dissect_inap_INTEGER_1_127(TRUE, tvb, offset, pinfo, tree, hf_inap_minimumNbOfDigits);
1096 static int dissect_maximumNbOfDigits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1097 return dissect_inap_INTEGER_1_127(TRUE, tvb, offset, pinfo, tree, hf_inap_maximumNbOfDigits);
1099 static int dissect_firstDigitTimeOut_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1100 return dissect_inap_INTEGER_1_127(TRUE, tvb, offset, pinfo, tree, hf_inap_firstDigitTimeOut);
1102 static int dissect_interDigitTimeOut_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1103 return dissect_inap_INTEGER_1_127(TRUE, tvb, offset, pinfo, tree, hf_inap_interDigitTimeOut);
1109 dissect_inap_INTEGER_0_32767(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1110 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1114 static int dissect_mduration_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1115 return dissect_inap_INTEGER_0_32767(TRUE, tvb, offset, pinfo, tree, hf_inap_mduration);
1117 static int dissect_interval_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1118 return dissect_inap_INTEGER_0_32767(TRUE, tvb, offset, pinfo, tree, hf_inap_interval);
1121 static const ber_sequence_t T_inbandInfo_sequence[] = {
1122 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_messageID_impl },
1123 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numberOfRepetitions_impl },
1124 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mduration_impl },
1125 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_interval_impl },
1130 dissect_inap_T_inbandInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1131 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1132 T_inbandInfo_sequence, hf_index, ett_inap_T_inbandInfo);
1136 static int dissect_inbandInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1137 return dissect_inap_T_inbandInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_inbandInfo);
1141 static const value_string inap_InformationToSend_vals[] = {
1142 { 0, "inbandInfo" },
1144 { 2, "displayInformation" },
1148 static const ber_choice_t InformationToSend_choice[] = {
1149 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inbandInfo_impl },
1150 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_tone_impl },
1151 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_displayInformation_impl },
1152 { 0, 0, 0, 0, NULL }
1156 dissect_inap_InformationToSend(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1157 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1158 InformationToSend_choice, hf_index, ett_inap_InformationToSend);
1162 static int dissect_informationToSend_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1163 return dissect_inap_InformationToSend(TRUE, tvb, offset, pinfo, tree, hf_inap_informationToSend);
1166 static const ber_sequence_t T_addressAndService_sequence[] = {
1167 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_calledAddressValue_impl },
1168 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
1169 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingAddressValue_impl },
1170 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationNumber_impl },
1175 dissect_inap_T_addressAndService(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1176 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1177 T_addressAndService_sequence, hf_index, ett_inap_T_addressAndService);
1181 static int dissect_addressAndService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1182 return dissect_inap_T_addressAndService(TRUE, tvb, offset, pinfo, tree, hf_inap_addressAndService);
1186 static const value_string inap_FilteringCriteria_vals[] = {
1187 { 0, "dialledNumber" },
1188 { 1, "callingLineID" },
1189 { 2, "serviceKey" },
1190 { 30, "addressAndService" },
1194 static const ber_choice_t FilteringCriteria_choice[] = {
1195 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dialledNumber_impl },
1196 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_callingLineID_impl },
1197 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
1198 { 30, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_addressAndService_impl },
1199 { 0, 0, 0, 0, NULL }
1203 dissect_inap_FilteringCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1204 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1205 FilteringCriteria_choice, hf_index, ett_inap_FilteringCriteria);
1209 static int dissect_filteringCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1210 return dissect_inap_FilteringCriteria(TRUE, tvb, offset, pinfo, tree, hf_inap_filteringCriteria);
1216 dissect_inap_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1217 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1221 static int dissect_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1222 return dissect_inap_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_inap_type);
1224 static int dissect_maximumNumberOfCounters_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1225 return dissect_inap_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_inap_maximumNumberOfCounters);
1227 static int dissect_trunkGroupID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1228 return dissect_inap_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_inap_trunkGroupID);
1230 static int dissect_privateFacilityID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1231 return dissect_inap_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_inap_privateFacilityID);
1233 static int dissect_callingFacilityGroupMember_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1234 return dissect_inap_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_inap_callingFacilityGroupMember);
1236 static int dissect_facilityGroupMemberID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1237 return dissect_inap_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_inap_facilityGroupMemberID);
1239 static int dissect_calledFacilityGroupMember_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1240 return dissect_inap_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_inap_calledFacilityGroupMember);
1244 static const value_string inap_T_criticality_vals[] = {
1252 dissect_inap_T_criticality(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1253 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1257 static int dissect_criticality(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1258 return dissect_inap_T_criticality(FALSE, tvb, offset, pinfo, tree, hf_inap_criticality);
1261 static const ber_sequence_t Extensions_item_sequence[] = {
1262 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_type },
1263 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_criticality },
1264 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_value_impl },
1269 dissect_inap_Extensions_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1270 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1271 Extensions_item_sequence, hf_index, ett_inap_Extensions_item);
1275 static int dissect_Extensions_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1276 return dissect_inap_Extensions_item(FALSE, tvb, offset, pinfo, tree, hf_inap_Extensions_item);
1279 static const ber_sequence_t Extensions_sequence_of[1] = {
1280 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Extensions_item },
1284 dissect_inap_Extensions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1285 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1286 Extensions_sequence_of, hf_index, ett_inap_Extensions);
1290 static int dissect_extensions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1291 return dissect_inap_Extensions(TRUE, tvb, offset, pinfo, tree, hf_inap_extensions);
1294 static const ber_sequence_t T_filteredCallTreatment_sequence[] = {
1295 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sFBillingChargingCharacteristics_impl },
1296 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_informationToSend_impl },
1297 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_maximumNumberOfCounters_impl },
1298 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
1303 dissect_inap_T_filteredCallTreatment(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1304 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1305 T_filteredCallTreatment_sequence, hf_index, ett_inap_T_filteredCallTreatment);
1309 static int dissect_filteredCallTreatment_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1310 return dissect_inap_T_filteredCallTreatment(TRUE, tvb, offset, pinfo, tree, hf_inap_filteredCallTreatment);
1314 static const value_string inap_T_filteringCharacteristics_vals[] = {
1316 { 1, "numberOfCalls" },
1320 static const ber_choice_t T_filteringCharacteristics_choice[] = {
1321 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_interval_impl },
1322 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_numberOfCalls_impl },
1323 { 0, 0, 0, 0, NULL }
1327 dissect_inap_T_filteringCharacteristics(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1328 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1329 T_filteringCharacteristics_choice, hf_index, ett_inap_T_filteringCharacteristics);
1333 static int dissect_filteringCharacteristics_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1334 return dissect_inap_T_filteringCharacteristics(TRUE, tvb, offset, pinfo, tree, hf_inap_filteringCharacteristics);
1340 dissect_inap_INTEGER_M2_86400(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1341 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1345 static int dissect_aduration_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1346 return dissect_inap_INTEGER_M2_86400(TRUE, tvb, offset, pinfo, tree, hf_inap_aduration);
1348 static int dissect_cgduration_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1349 return dissect_inap_INTEGER_M2_86400(TRUE, tvb, offset, pinfo, tree, hf_inap_cgduration);
1351 static int dissect_monitorDuration_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1352 return dissect_inap_INTEGER_M2_86400(TRUE, tvb, offset, pinfo, tree, hf_inap_monitorDuration);
1357 dissect_inap_OCTET_STRING_SIZE_6(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1358 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1363 static int dissect_stopTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1364 return dissect_inap_OCTET_STRING_SIZE_6(TRUE, tvb, offset, pinfo, tree, hf_inap_stopTime);
1366 static int dissect_startTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1367 return dissect_inap_OCTET_STRING_SIZE_6(TRUE, tvb, offset, pinfo, tree, hf_inap_startTime);
1369 static int dissect_callStopTimeValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1370 return dissect_inap_OCTET_STRING_SIZE_6(TRUE, tvb, offset, pinfo, tree, hf_inap_callStopTimeValue);
1374 static const value_string inap_T_filteringTimeOut_vals[] = {
1380 static const ber_choice_t T_filteringTimeOut_choice[] = {
1381 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_aduration_impl },
1382 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_stopTime_impl },
1383 { 0, 0, 0, 0, NULL }
1387 dissect_inap_T_filteringTimeOut(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1388 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1389 T_filteringTimeOut_choice, hf_index, ett_inap_T_filteringTimeOut);
1393 static int dissect_filteringTimeOut_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1394 return dissect_inap_T_filteringTimeOut(TRUE, tvb, offset, pinfo, tree, hf_inap_filteringTimeOut);
1397 static const ber_sequence_t ActivateServiceFilteringarg_sequence[] = {
1398 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_filteredCallTreatment_impl },
1399 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_filteringCharacteristics_impl },
1400 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_filteringTimeOut_impl },
1401 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_filteringCriteria_impl },
1402 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_startTime_impl },
1403 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
1408 dissect_inap_ActivateServiceFilteringarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1409 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1410 ActivateServiceFilteringarg_sequence, hf_index, ett_inap_ActivateServiceFilteringarg);
1416 static const value_string inap_T_messageType_vals[] = {
1418 { 1, "notification" },
1424 dissect_inap_T_messageType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1425 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1429 static int dissect_messageType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1430 return dissect_inap_T_messageType(TRUE, tvb, offset, pinfo, tree, hf_inap_messageType);
1434 static const value_string inap_T_dpAssignment_vals[] = {
1435 { 0, "individualLine" },
1436 { 1, "groupBased" },
1437 { 2, "officeBased" },
1443 dissect_inap_T_dpAssignment(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1444 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1448 static int dissect_dpAssignment_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1449 return dissect_inap_T_dpAssignment(TRUE, tvb, offset, pinfo, tree, hf_inap_dpAssignment);
1452 static const ber_sequence_t MiscCallInfo_sequence[] = {
1453 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_messageType_impl },
1454 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dpAssignment_impl },
1459 dissect_inap_MiscCallInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1460 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1461 MiscCallInfo_sequence, hf_index, ett_inap_MiscCallInfo);
1465 static int dissect_miscCallInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1466 return dissect_inap_MiscCallInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_miscCallInfo);
1469 static const ber_sequence_t ServiceAddressInformation_sequence[] = {
1470 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
1471 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_miscCallInfo_impl },
1472 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_triggerType_impl },
1477 dissect_inap_ServiceAddressInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1478 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1479 ServiceAddressInformation_sequence, hf_index, ett_inap_ServiceAddressInformation);
1483 static int dissect_serviceAddressInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1484 return dissect_inap_ServiceAddressInformation(TRUE, tvb, offset, pinfo, tree, hf_inap_serviceAddressInformation);
1488 static const value_string inap_TerminalType_vals[] = {
1493 { 4, "isdnNoDtmf" },
1500 dissect_inap_TerminalType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1501 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1505 static int dissect_terminalType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1506 return dissect_inap_TerminalType(TRUE, tvb, offset, pinfo, tree, hf_inap_terminalType);
1509 static const ber_sequence_t RouteList_sequence_of[1] = {
1510 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_RouteList_item },
1514 dissect_inap_RouteList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1515 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1516 RouteList_sequence_of, hf_index, ett_inap_RouteList);
1520 static int dissect_routeList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1521 return dissect_inap_RouteList(TRUE, tvb, offset, pinfo, tree, hf_inap_routeList);
1525 static const value_string inap_CGEncountered_vals[] = {
1526 { 0, "noCGencountered" },
1527 { 1, "manualCGencountered" },
1528 { 2, "scpOverload" },
1534 dissect_inap_CGEncountered(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1535 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1539 static int dissect_cGEncountered_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1540 return dissect_inap_CGEncountered(TRUE, tvb, offset, pinfo, tree, hf_inap_cGEncountered);
1544 static const value_string inap_BearerCapability_vals[] = {
1550 static const ber_choice_t BearerCapability_choice[] = {
1551 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_bearerCap_impl },
1552 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_tmr_impl },
1553 { 0, 0, 0, 0, NULL }
1557 dissect_inap_BearerCapability(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1558 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1559 BearerCapability_choice, hf_index, ett_inap_BearerCapability);
1563 static int dissect_bearerCapability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1564 return dissect_inap_BearerCapability(TRUE, tvb, offset, pinfo, tree, hf_inap_bearerCapability);
1567 static const ber_sequence_t DpSpecificCommonParameters_sequence[] = {
1568 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_serviceAddressInformation_impl },
1569 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_bearerCapability_impl },
1570 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyNumber_impl },
1571 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyNumber_impl },
1572 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartysCategory_impl },
1573 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iPSSPCapabilities_impl },
1574 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iPAvailable_impl },
1575 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iSDNAccessRelatedInformation_impl },
1576 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cGEncountered_impl },
1577 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationNumber_impl },
1578 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceProfileIdentifier_impl },
1579 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_terminalType_impl },
1580 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
1581 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargeNumber_impl },
1582 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_servingAreaID_impl },
1587 dissect_inap_DpSpecificCommonParameters(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1588 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1589 DpSpecificCommonParameters_sequence, hf_index, ett_inap_DpSpecificCommonParameters);
1593 static int dissect_dpSpecificCommonParameters_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1594 return dissect_inap_DpSpecificCommonParameters(TRUE, tvb, offset, pinfo, tree, hf_inap_dpSpecificCommonParameters);
1598 static const value_string inap_CallingFacilityGroup_vals[] = {
1599 { 0, "trunkGroupID" },
1600 { 1, "privateFacilityID" },
1602 { 3, "routeIndex" },
1606 static const ber_choice_t CallingFacilityGroup_choice[] = {
1607 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_trunkGroupID_impl },
1608 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_privateFacilityID_impl },
1609 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_huntGroup_impl },
1610 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_routeIndex_impl },
1611 { 0, 0, 0, 0, NULL }
1615 dissect_inap_CallingFacilityGroup(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1616 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1617 CallingFacilityGroup_choice, hf_index, ett_inap_CallingFacilityGroup);
1621 static int dissect_callingFacilityGroup_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1622 return dissect_inap_CallingFacilityGroup(TRUE, tvb, offset, pinfo, tree, hf_inap_callingFacilityGroup);
1627 dissect_inap_OCTET_STRING_SIZE_2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1628 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1633 static int dissect_redirectionInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1634 return dissect_inap_OCTET_STRING_SIZE_2(TRUE, tvb, offset, pinfo, tree, hf_inap_redirectionInformation);
1636 static int dissect_highLayerCompatibility_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1637 return dissect_inap_OCTET_STRING_SIZE_2(TRUE, tvb, offset, pinfo, tree, hf_inap_highLayerCompatibility);
1639 static int dissect_forwardCallIndicators_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1640 return dissect_inap_OCTET_STRING_SIZE_2(TRUE, tvb, offset, pinfo, tree, hf_inap_forwardCallIndicators);
1643 static const ber_sequence_t AnalysedInformationarg_sequence[] = {
1644 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
1645 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dialledDigits_impl },
1646 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
1647 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
1648 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
1649 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
1650 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
1651 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_prefix_impl },
1652 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
1653 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
1654 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
1655 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
1656 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
1657 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_featureCode_impl },
1658 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_accessCode_impl },
1659 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
1664 dissect_inap_AnalysedInformationarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1665 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1666 AnalysedInformationarg_sequence, hf_index, ett_inap_AnalysedInformationarg);
1673 dissect_inap_DestinationAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1674 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1679 static int dissect_destinationRoutingAddress_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1680 return dissect_inap_DestinationAddress(FALSE, tvb, offset, pinfo, tree, hf_inap_destinationRoutingAddress_item);
1683 static const ber_sequence_t SEQUENCE_SIZE_1_3_OF_DestinationAddress_sequence_of[1] = {
1684 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_destinationRoutingAddress_item },
1688 dissect_inap_SEQUENCE_SIZE_1_3_OF_DestinationAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1689 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1690 SEQUENCE_SIZE_1_3_OF_DestinationAddress_sequence_of, hf_index, ett_inap_SEQUENCE_SIZE_1_3_OF_DestinationAddress);
1694 static int dissect_destinationRoutingAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1695 return dissect_inap_SEQUENCE_SIZE_1_3_OF_DestinationAddress(TRUE, tvb, offset, pinfo, tree, hf_inap_destinationRoutingAddress);
1700 dissect_inap_OCTET_STRING_SIZE_3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1701 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1706 static int dissect_alertingPattern_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1707 return dissect_inap_OCTET_STRING_SIZE_3(TRUE, tvb, offset, pinfo, tree, hf_inap_alertingPattern);
1710 static const ber_sequence_t AnalyseInformationarg_sequence[] = {
1711 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_destinationRoutingAddress_impl },
1712 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
1713 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iSDNAccessRelatedInformation_impl },
1714 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
1715 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
1716 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyNumber_impl },
1717 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartysCategory_impl },
1718 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyNumber_impl },
1719 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargeNumber_impl },
1720 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
1721 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
1726 dissect_inap_AnalyseInformationarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1727 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1728 AnalyseInformationarg_sequence, hf_index, ett_inap_AnalyseInformationarg);
1734 static const value_string inap_PartyToCharge_vals[] = {
1735 { 0, "sendingSideID" },
1736 { 1, "receivingSideID" },
1740 static const ber_choice_t PartyToCharge_choice[] = {
1741 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sendingSideID_impl },
1742 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_receivingSideID_impl },
1743 { 0, 0, 0, 0, NULL }
1747 dissect_inap_PartyToCharge(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1748 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1749 PartyToCharge_choice, hf_index, ett_inap_PartyToCharge);
1753 static int dissect_partyToCharge_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1754 return dissect_inap_PartyToCharge(TRUE, tvb, offset, pinfo, tree, hf_inap_partyToCharge);
1757 static const ber_sequence_t ApplyChargingarg_sequence[] = {
1758 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_aChBillingChargingCharacteristics_impl },
1759 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_partyToCharge_impl },
1760 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
1765 dissect_inap_ApplyChargingarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1766 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1767 ApplyChargingarg_sequence, hf_index, ett_inap_ApplyChargingarg);
1774 dissect_inap_ApplyChargingReportarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1775 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1781 static const ber_sequence_t AssistRequestInstructionsarg_sequence[] = {
1782 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
1783 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iPAvailable_impl },
1784 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iPSSPCapabilities_impl },
1785 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
1790 dissect_inap_AssistRequestInstructionsarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1791 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1792 AssistRequestInstructionsarg_sequence, hf_index, ett_inap_AssistRequestInstructionsarg);
1798 static const value_string inap_T_dpCriteria_vals[] = {
1799 { 1, "origAttemptAuthorized" },
1800 { 2, "collectedInfo" },
1801 { 3, "analysedInformation" },
1802 { 4, "routeSelectFailure" },
1803 { 5, "oCalledPartyBusy" },
1807 { 9, "oDisconnect" },
1809 { 12, "termAttemptAuthorized" },
1811 { 14, "tNoAnswer" },
1814 { 17, "tDisconnect" },
1821 dissect_inap_T_dpCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1822 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1826 static int dissect_dpCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1827 return dissect_inap_T_dpCriteria(TRUE, tvb, offset, pinfo, tree, hf_inap_dpCriteria);
1830 static const ber_sequence_t T_gapOnService_sequence[] = {
1831 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
1832 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dpCriteria_impl },
1837 dissect_inap_T_gapOnService(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1838 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1839 T_gapOnService_sequence, hf_index, ett_inap_T_gapOnService);
1843 static int dissect_gapOnService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1844 return dissect_inap_T_gapOnService(TRUE, tvb, offset, pinfo, tree, hf_inap_gapOnService);
1847 static const ber_sequence_t T_calledAddressAndService_sequence[] = {
1848 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_calledAddressValue_impl },
1849 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
1854 dissect_inap_T_calledAddressAndService(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1855 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1856 T_calledAddressAndService_sequence, hf_index, ett_inap_T_calledAddressAndService);
1860 static int dissect_calledAddressAndService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1861 return dissect_inap_T_calledAddressAndService(TRUE, tvb, offset, pinfo, tree, hf_inap_calledAddressAndService);
1864 static const ber_sequence_t T_callingAddressAndService_sequence[] = {
1865 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_callingAddressValue_impl },
1866 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
1867 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationNumber_impl },
1872 dissect_inap_T_callingAddressAndService(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1873 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1874 T_callingAddressAndService_sequence, hf_index, ett_inap_T_callingAddressAndService);
1878 static int dissect_callingAddressAndService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1879 return dissect_inap_T_callingAddressAndService(TRUE, tvb, offset, pinfo, tree, hf_inap_callingAddressAndService);
1883 static const value_string inap_T_gapCriteria_vals[] = {
1884 { 0, "calledAddressValue" },
1885 { 2, "gapOnService" },
1886 { 29, "calledAddressAndService" },
1887 { 30, "callingAddressAndService" },
1891 static const ber_choice_t T_gapCriteria_choice[] = {
1892 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_calledAddressValue_impl },
1893 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gapOnService_impl },
1894 { 29, BER_CLASS_CON, 29, BER_FLAGS_IMPLTAG, dissect_calledAddressAndService_impl },
1895 { 30, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_callingAddressAndService_impl },
1896 { 0, 0, 0, 0, NULL }
1900 dissect_inap_T_gapCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1901 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1902 T_gapCriteria_choice, hf_index, ett_inap_T_gapCriteria);
1906 static int dissect_gapCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1907 return dissect_inap_T_gapCriteria(TRUE, tvb, offset, pinfo, tree, hf_inap_gapCriteria);
1913 dissect_inap_INTEGER_M1_60000(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1914 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1918 static int dissect_gapInterval_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1919 return dissect_inap_INTEGER_M1_60000(TRUE, tvb, offset, pinfo, tree, hf_inap_gapInterval);
1922 static const ber_sequence_t T_gapIndicators_sequence[] = {
1923 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cgduration_impl },
1924 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gapInterval_impl },
1929 dissect_inap_T_gapIndicators(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1930 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1931 T_gapIndicators_sequence, hf_index, ett_inap_T_gapIndicators);
1935 static int dissect_gapIndicators_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1936 return dissect_inap_T_gapIndicators(TRUE, tvb, offset, pinfo, tree, hf_inap_gapIndicators);
1940 static const value_string inap_T_controlType_vals[] = {
1941 { 0, "sCPOverloaded" },
1942 { 1, "manuallyInitiated" },
1943 { 2, "destinationOverload" },
1949 dissect_inap_T_controlType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1950 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1954 static int dissect_controlType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1955 return dissect_inap_T_controlType(TRUE, tvb, offset, pinfo, tree, hf_inap_controlType);
1958 static const ber_sequence_t Both_sequence[] = {
1959 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_informationToSend_impl },
1960 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
1965 dissect_inap_Both(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1966 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1967 Both_sequence, hf_index, ett_inap_Both);
1971 static int dissect_both_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1972 return dissect_inap_Both(TRUE, tvb, offset, pinfo, tree, hf_inap_both);
1976 static const value_string inap_T_gapTreatment_vals[] = {
1977 { 0, "informationToSend" },
1978 { 1, "releaseCause" },
1983 static const ber_choice_t T_gapTreatment_choice[] = {
1984 { 0, BER_CLASS_CON, 0, 0, dissect_informationToSend_impl },
1985 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
1986 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_both_impl },
1987 { 0, 0, 0, 0, NULL }
1991 dissect_inap_T_gapTreatment(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1992 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1993 T_gapTreatment_choice, hf_index, ett_inap_T_gapTreatment);
1997 static int dissect_gapTreatment_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1998 return dissect_inap_T_gapTreatment(TRUE, tvb, offset, pinfo, tree, hf_inap_gapTreatment);
2001 static const ber_sequence_t CallGaparg_sequence[] = {
2002 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gapCriteria_impl },
2003 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gapIndicators_impl },
2004 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_controlType_impl },
2005 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gapTreatment_impl },
2006 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2011 dissect_inap_CallGaparg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2012 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2013 CallGaparg_sequence, hf_index, ett_inap_CallGaparg);
2019 static const value_string inap_T_requestedInformationType_vals[] = {
2020 { 0, "callAttemptElapsedTime" },
2021 { 1, "callStopTime" },
2022 { 2, "callConnectedElapsedTime" },
2023 { 3, "calledAddress" },
2024 { 30, "releaseCause" },
2030 dissect_inap_T_requestedInformationType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2031 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2035 static int dissect_requestedInformationType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2036 return dissect_inap_T_requestedInformationType(TRUE, tvb, offset, pinfo, tree, hf_inap_requestedInformationType);
2042 dissect_inap_INTEGER_0_255(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2043 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2047 static int dissect_callAttemptElapsedTimeValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2048 return dissect_inap_INTEGER_0_255(TRUE, tvb, offset, pinfo, tree, hf_inap_callAttemptElapsedTimeValue);
2052 static const value_string inap_T_requestedInformationValue_vals[] = {
2053 { 0, "callAttemptElapsedTimeValue" },
2054 { 1, "callStopTimeValue" },
2055 { 2, "callConnectedElapsedTimeValue" },
2056 { 3, "calledAddressValue" },
2057 { 30, "releaseCauseValue" },
2061 static const ber_choice_t T_requestedInformationValue_choice[] = {
2062 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_callAttemptElapsedTimeValue_impl },
2063 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_callStopTimeValue_impl },
2064 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_callConnectedElapsedTimeValue_impl },
2065 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_calledAddressValue_impl },
2066 { 30, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_releaseCauseValue_impl },
2067 { 0, 0, 0, 0, NULL }
2071 dissect_inap_T_requestedInformationValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2072 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2073 T_requestedInformationValue_choice, hf_index, ett_inap_T_requestedInformationValue);
2077 static int dissect_requestedInformationValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2078 return dissect_inap_T_requestedInformationValue(TRUE, tvb, offset, pinfo, tree, hf_inap_requestedInformationValue);
2081 static const ber_sequence_t T_requestedInformationList_item_sequence[] = {
2082 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_requestedInformationType_impl },
2083 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_requestedInformationValue_impl },
2088 dissect_inap_T_requestedInformationList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2089 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2090 T_requestedInformationList_item_sequence, hf_index, ett_inap_T_requestedInformationList_item);
2094 static int dissect_requestedInformationList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2095 return dissect_inap_T_requestedInformationList_item(FALSE, tvb, offset, pinfo, tree, hf_inap_requestedInformationList_item);
2098 static const ber_sequence_t T_requestedInformationList_sequence_of[1] = {
2099 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_requestedInformationList_item },
2103 dissect_inap_T_requestedInformationList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2104 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2105 T_requestedInformationList_sequence_of, hf_index, ett_inap_T_requestedInformationList);
2109 static int dissect_requestedInformationList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2110 return dissect_inap_T_requestedInformationList(TRUE, tvb, offset, pinfo, tree, hf_inap_requestedInformationList);
2113 static const ber_sequence_t CallInformationReportarg_sequence[] = {
2114 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_requestedInformationList_impl },
2115 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
2116 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2121 dissect_inap_CallInformationReportarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2122 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2123 CallInformationReportarg_sequence, hf_index, ett_inap_CallInformationReportarg);
2129 static const value_string inap_T_requestedInformationTypeList_item_vals[] = {
2130 { 0, "callAttemptElapsedTime" },
2131 { 1, "callStopTime" },
2132 { 2, "callConnectedElapsedTime" },
2133 { 3, "calledAddress" },
2134 { 30, "releaseCause" },
2140 dissect_inap_T_requestedInformationTypeList_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2141 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2145 static int dissect_requestedInformationTypeList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2146 return dissect_inap_T_requestedInformationTypeList_item(FALSE, tvb, offset, pinfo, tree, hf_inap_requestedInformationTypeList_item);
2149 static const ber_sequence_t T_requestedInformationTypeList_sequence_of[1] = {
2150 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_requestedInformationTypeList_item },
2154 dissect_inap_T_requestedInformationTypeList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2155 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2156 T_requestedInformationTypeList_sequence_of, hf_index, ett_inap_T_requestedInformationTypeList);
2160 static int dissect_requestedInformationTypeList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2161 return dissect_inap_T_requestedInformationTypeList(TRUE, tvb, offset, pinfo, tree, hf_inap_requestedInformationTypeList);
2164 static const ber_sequence_t CallInformationRequestarg_sequence[] = {
2165 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_requestedInformationTypeList_impl },
2166 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
2167 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2172 dissect_inap_CallInformationRequestarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2173 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2174 CallInformationRequestarg_sequence, hf_index, ett_inap_CallInformationRequestarg);
2182 dissect_inap_INTEGER_M128_127(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2183 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2187 static int dissect_invokeID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2188 return dissect_inap_INTEGER_M128_127(TRUE, tvb, offset, pinfo, tree, hf_inap_invokeID);
2190 static int dissect_operation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2191 return dissect_inap_INTEGER_M128_127(TRUE, tvb, offset, pinfo, tree, hf_inap_operation);
2196 dissect_inap_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2197 { proto_item *ti_tmp;
2198 ti_tmp = proto_tree_add_item(tree, hf_index, tvb, offset>>8, 0, FALSE);
2199 proto_item_append_text(ti_tmp, ": NULL");
2204 static int dissect_allRequests_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2205 return dissect_inap_NULL(TRUE, tvb, offset, pinfo, tree, hf_inap_allRequests);
2207 static int dissect_none_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2208 return dissect_inap_NULL(TRUE, tvb, offset, pinfo, tree, hf_inap_none);
2210 static int dissect_empty_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2211 return dissect_inap_NULL(TRUE, tvb, offset, pinfo, tree, hf_inap_empty);
2215 static const value_string inap_Cancelarg_vals[] = {
2217 { 1, "allRequests" },
2221 static const ber_choice_t Cancelarg_choice[] = {
2222 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_invokeID_impl },
2223 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_allRequests_impl },
2224 { 0, 0, 0, 0, NULL }
2228 dissect_inap_Cancelarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2229 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2230 Cancelarg_choice, hf_index, ett_inap_Cancelarg);
2236 static const value_string inap_FacilityGroupID_vals[] = {
2237 { 0, "trunkGroupID" },
2238 { 1, "privateFacilityID" },
2240 { 3, "routeIndex" },
2244 static const ber_choice_t FacilityGroupID_choice[] = {
2245 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_trunkGroupID_impl },
2246 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_privateFacilityID_impl },
2247 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_huntGroup_impl },
2248 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_routeIndex_impl },
2249 { 0, 0, 0, 0, NULL }
2253 dissect_inap_FacilityGroupID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2254 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2255 FacilityGroupID_choice, hf_index, ett_inap_FacilityGroupID);
2259 static int dissect_facilityGroupID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2260 return dissect_inap_FacilityGroupID(TRUE, tvb, offset, pinfo, tree, hf_inap_facilityGroupID);
2264 static const value_string inap_ResourceID_vals[] = {
2266 { 1, "facilityGroupID" },
2267 { 2, "facilityGroupMemberID" },
2268 { 3, "trunkGroupID" },
2272 static const ber_choice_t ResourceID_choice[] = {
2273 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_lineID_impl },
2274 { 1, BER_CLASS_CON, 1, 0, dissect_facilityGroupID_impl },
2275 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_facilityGroupMemberID_impl },
2276 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_trunkGroupID_impl },
2277 { 0, 0, 0, 0, NULL }
2281 dissect_inap_ResourceID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2282 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2283 ResourceID_choice, hf_index, ett_inap_ResourceID);
2287 static int dissect_resourceID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2288 return dissect_inap_ResourceID(TRUE, tvb, offset, pinfo, tree, hf_inap_resourceID);
2291 static const ber_sequence_t CancelStatusReportRequestarg_sequence[] = {
2292 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_resourceID_impl },
2293 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2298 dissect_inap_CancelStatusReportRequestarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2299 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2300 CancelStatusReportRequestarg_sequence, hf_index, ett_inap_CancelStatusReportRequestarg);
2305 static const ber_sequence_t CollectedInformationarg_sequence[] = {
2306 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
2307 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dialledDigits_impl },
2308 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
2309 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
2310 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
2311 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
2312 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
2313 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_prefix_impl },
2314 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
2315 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
2316 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
2317 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2318 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_featureCode_impl },
2319 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_accessCode_impl },
2320 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
2325 dissect_inap_CollectedInformationarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2326 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2327 CollectedInformationarg_sequence, hf_index, ett_inap_CollectedInformationarg);
2332 static const ber_sequence_t CollectInformationarg_sequence[] = {
2333 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
2334 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numberingPlan_impl },
2335 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
2336 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
2337 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2338 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyNumber_impl },
2339 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dialledDigits_impl },
2344 dissect_inap_CollectInformationarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2345 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2346 CollectInformationarg_sequence, hf_index, ett_inap_CollectInformationarg);
2354 dissect_inap_INTEGER_0_22(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2355 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2359 static int dissect_cutAndPaste_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2360 return dissect_inap_INTEGER_0_22(TRUE, tvb, offset, pinfo, tree, hf_inap_cutAndPaste);
2364 static const value_string inap_T_forwardingCondition_vals[] = {
2372 dissect_inap_T_forwardingCondition(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2373 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2377 static int dissect_forwardingCondition_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2378 return dissect_inap_T_forwardingCondition(TRUE, tvb, offset, pinfo, tree, hf_inap_forwardingCondition);
2381 static const ber_sequence_t Connectarg_sequence[] = {
2382 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_destinationRoutingAddress_impl },
2383 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
2384 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
2385 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cutAndPaste_impl },
2386 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingCondition_impl },
2387 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iSDNAccessRelatedInformation_impl },
2388 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
2389 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
2390 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_scfID_impl },
2391 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
2392 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2393 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
2394 { BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceInteractionIndicators_impl },
2395 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyNumber_impl },
2396 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartysCategory_impl },
2397 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
2398 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
2403 dissect_inap_Connectarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2404 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2405 Connectarg_sequence, hf_index, ett_inap_Connectarg);
2411 static const value_string inap_T_resourceAddress_vals[] = {
2412 { 0, "ipRoutingAddress" },
2419 static const ber_choice_t T_resourceAddress_choice[] = {
2420 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ipRoutingAddress_impl },
2421 { 1, BER_CLASS_CON, 1, 0, dissect_legID_impl },
2422 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_both_impl },
2423 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_none_impl },
2424 { 0, 0, 0, 0, NULL }
2428 dissect_inap_T_resourceAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2429 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2430 T_resourceAddress_choice, hf_index, ett_inap_T_resourceAddress);
2434 static int dissect_resourceAddress(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2435 return dissect_inap_T_resourceAddress(FALSE, tvb, offset, pinfo, tree, hf_inap_resourceAddress);
2438 static const ber_sequence_t ConnectToResource_sequence[] = {
2439 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_resourceAddress },
2440 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2441 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceInteractionIndicators_impl },
2446 dissect_inap_ConnectToResource(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2447 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2448 ConnectToResource_sequence, hf_index, ett_inap_ConnectToResource);
2453 static const ber_sequence_t EstablishTemporaryConnection_sequence[] = {
2454 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_assistingSSPIPRoutingAddress_impl },
2455 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
2456 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
2457 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_scfID_impl },
2458 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2459 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
2460 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceInteractionIndicators_impl },
2465 dissect_inap_EstablishTemporaryConnection(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2466 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2467 EstablishTemporaryConnection_sequence, hf_index, ett_inap_EstablishTemporaryConnection);
2473 static const value_string inap_MonitorMode_vals[] = {
2474 { 0, "interrupted" },
2475 { 1, "notifyAndContinue" },
2476 { 2, "transparent" },
2482 dissect_inap_MonitorMode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2483 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2487 static int dissect_monitorMode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2488 return dissect_inap_MonitorMode(TRUE, tvb, offset, pinfo, tree, hf_inap_monitorMode);
2491 static const ber_sequence_t EventNotificationChargingarg_sequence[] = {
2492 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_eventTypeCharging_impl },
2493 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_eventSpecificInformationCharging_impl },
2494 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
2495 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2496 { BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_monitorMode_impl },
2501 dissect_inap_EventNotificationChargingarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2502 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2503 EventNotificationChargingarg_sequence, hf_index, ett_inap_EventNotificationChargingarg);
2509 static const value_string inap_EventTypeBCSM_vals[] = {
2510 { 1, "origAttemptAuthorized" },
2511 { 2, "collectedInfo" },
2512 { 3, "analysedInformation" },
2513 { 4, "routeSelectFailure" },
2514 { 5, "oCalledPartyBusy" },
2518 { 9, "oDisconnect" },
2520 { 12, "termAttemptAuthorized" },
2522 { 14, "tNoAnswer" },
2525 { 17, "tDisconnect" },
2532 dissect_inap_EventTypeBCSM(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2533 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2537 static int dissect_eventTypeBCSM_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2538 return dissect_inap_EventTypeBCSM(TRUE, tvb, offset, pinfo, tree, hf_inap_eventTypeBCSM);
2541 static const ber_sequence_t T_collectedInfoSpecificInfo_sequence[] = {
2542 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_calledPartynumber_impl },
2547 dissect_inap_T_collectedInfoSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2548 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2549 T_collectedInfoSpecificInfo_sequence, hf_index, ett_inap_T_collectedInfoSpecificInfo);
2553 static int dissect_collectedInfoSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2554 return dissect_inap_T_collectedInfoSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_collectedInfoSpecificInfo);
2557 static const ber_sequence_t T_analyzedInfoSpecificInfo_sequence[] = {
2558 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_calledPartynumber_impl },
2563 dissect_inap_T_analyzedInfoSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2564 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2565 T_analyzedInfoSpecificInfo_sequence, hf_index, ett_inap_T_analyzedInfoSpecificInfo);
2569 static int dissect_analyzedInfoSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2570 return dissect_inap_T_analyzedInfoSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_analyzedInfoSpecificInfo);
2575 dissect_inap_OCTET_STRING_SIZE_2_10(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2576 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2581 static int dissect_failureCause_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2582 return dissect_inap_OCTET_STRING_SIZE_2_10(TRUE, tvb, offset, pinfo, tree, hf_inap_failureCause);
2584 static int dissect_busyCause_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2585 return dissect_inap_OCTET_STRING_SIZE_2_10(TRUE, tvb, offset, pinfo, tree, hf_inap_busyCause);
2588 static const ber_sequence_t T_routeSelectFailureSpecificInfo_sequence[] = {
2589 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_failureCause_impl },
2594 dissect_inap_T_routeSelectFailureSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2595 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2596 T_routeSelectFailureSpecificInfo_sequence, hf_index, ett_inap_T_routeSelectFailureSpecificInfo);
2600 static int dissect_routeSelectFailureSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2601 return dissect_inap_T_routeSelectFailureSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_routeSelectFailureSpecificInfo);
2604 static const ber_sequence_t T_oCalledPartyBusySpecificInfo_sequence[] = {
2605 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_busyCause_impl },
2610 dissect_inap_T_oCalledPartyBusySpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2611 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2612 T_oCalledPartyBusySpecificInfo_sequence, hf_index, ett_inap_T_oCalledPartyBusySpecificInfo);
2616 static int dissect_oCalledPartyBusySpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2617 return dissect_inap_T_oCalledPartyBusySpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_oCalledPartyBusySpecificInfo);
2620 static const ber_sequence_t T_oNoAnswerSpecificInfo_sequence[] = {
2625 dissect_inap_T_oNoAnswerSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2626 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2627 T_oNoAnswerSpecificInfo_sequence, hf_index, ett_inap_T_oNoAnswerSpecificInfo);
2631 static int dissect_oNoAnswerSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2632 return dissect_inap_T_oNoAnswerSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_oNoAnswerSpecificInfo);
2635 static const ber_sequence_t T_oAnswerSpecificInfo_sequence[] = {
2640 dissect_inap_T_oAnswerSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2641 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2642 T_oAnswerSpecificInfo_sequence, hf_index, ett_inap_T_oAnswerSpecificInfo);
2646 static int dissect_oAnswerSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2647 return dissect_inap_T_oAnswerSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_oAnswerSpecificInfo);
2650 static const ber_sequence_t T_oMidCallSpecificInfo_sequence[] = {
2651 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_connectTime_impl },
2656 dissect_inap_T_oMidCallSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2657 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2658 T_oMidCallSpecificInfo_sequence, hf_index, ett_inap_T_oMidCallSpecificInfo);
2662 static int dissect_oMidCallSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2663 return dissect_inap_T_oMidCallSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_oMidCallSpecificInfo);
2666 static const ber_sequence_t T_oDisconnectSpecificInfo_sequence[] = {
2667 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
2668 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_connectTime_impl },
2673 dissect_inap_T_oDisconnectSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2674 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2675 T_oDisconnectSpecificInfo_sequence, hf_index, ett_inap_T_oDisconnectSpecificInfo);
2679 static int dissect_oDisconnectSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2680 return dissect_inap_T_oDisconnectSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_oDisconnectSpecificInfo);
2683 static const ber_sequence_t T_tBusySpecificInfo_sequence[] = {
2684 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_busyCause_impl },
2689 dissect_inap_T_tBusySpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2690 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2691 T_tBusySpecificInfo_sequence, hf_index, ett_inap_T_tBusySpecificInfo);
2695 static int dissect_tBusySpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2696 return dissect_inap_T_tBusySpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_tBusySpecificInfo);
2699 static const ber_sequence_t T_tNoAnswerSpecificInfo_sequence[] = {
2704 dissect_inap_T_tNoAnswerSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2705 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2706 T_tNoAnswerSpecificInfo_sequence, hf_index, ett_inap_T_tNoAnswerSpecificInfo);
2710 static int dissect_tNoAnswerSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2711 return dissect_inap_T_tNoAnswerSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_tNoAnswerSpecificInfo);
2714 static const ber_sequence_t T_tAnswerSpecificInfo_sequence[] = {
2719 dissect_inap_T_tAnswerSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2720 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2721 T_tAnswerSpecificInfo_sequence, hf_index, ett_inap_T_tAnswerSpecificInfo);
2725 static int dissect_tAnswerSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2726 return dissect_inap_T_tAnswerSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_tAnswerSpecificInfo);
2729 static const ber_sequence_t T_tMidCallSpecificInfo_sequence[] = {
2730 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_connectTime_impl },
2735 dissect_inap_T_tMidCallSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2736 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2737 T_tMidCallSpecificInfo_sequence, hf_index, ett_inap_T_tMidCallSpecificInfo);
2741 static int dissect_tMidCallSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2742 return dissect_inap_T_tMidCallSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_tMidCallSpecificInfo);
2745 static const ber_sequence_t T_tDisconnectSpecificInfo_sequence[] = {
2746 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
2747 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_connectTime_impl },
2752 dissect_inap_T_tDisconnectSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2753 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2754 T_tDisconnectSpecificInfo_sequence, hf_index, ett_inap_T_tDisconnectSpecificInfo);
2758 static int dissect_tDisconnectSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2759 return dissect_inap_T_tDisconnectSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_tDisconnectSpecificInfo);
2763 static const value_string inap_T_eventSpecificInformationBCSM_vals[] = {
2764 { 0, "collectedInfoSpecificInfo" },
2765 { 1, "analyzedInfoSpecificInfo" },
2766 { 2, "routeSelectFailureSpecificInfo" },
2767 { 3, "oCalledPartyBusySpecificInfo" },
2768 { 4, "oNoAnswerSpecificInfo" },
2769 { 5, "oAnswerSpecificInfo" },
2770 { 6, "oMidCallSpecificInfo" },
2771 { 7, "oDisconnectSpecificInfo" },
2772 { 8, "tBusySpecificInfo" },
2773 { 9, "tNoAnswerSpecificInfo" },
2774 { 10, "tAnswerSpecificInfo" },
2775 { 11, "tMidCallSpecificInfo" },
2776 { 12, "tDisconnectSpecificInfo" },
2780 static const ber_choice_t T_eventSpecificInformationBCSM_choice[] = {
2781 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_collectedInfoSpecificInfo_impl },
2782 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_analyzedInfoSpecificInfo_impl },
2783 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_routeSelectFailureSpecificInfo_impl },
2784 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_oCalledPartyBusySpecificInfo_impl },
2785 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_oNoAnswerSpecificInfo_impl },
2786 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_oAnswerSpecificInfo_impl },
2787 { 6, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_oMidCallSpecificInfo_impl },
2788 { 7, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_oDisconnectSpecificInfo_impl },
2789 { 8, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_tBusySpecificInfo_impl },
2790 { 9, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_tNoAnswerSpecificInfo_impl },
2791 { 10, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_tAnswerSpecificInfo_impl },
2792 { 11, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_tMidCallSpecificInfo_impl },
2793 { 12, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_tDisconnectSpecificInfo_impl },
2794 { 0, 0, 0, 0, NULL }
2798 dissect_inap_T_eventSpecificInformationBCSM(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2799 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2800 T_eventSpecificInformationBCSM_choice, hf_index, ett_inap_T_eventSpecificInformationBCSM);
2804 static int dissect_eventSpecificInformationBCSM_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2805 return dissect_inap_T_eventSpecificInformationBCSM(TRUE, tvb, offset, pinfo, tree, hf_inap_eventSpecificInformationBCSM);
2808 static const ber_sequence_t EventReportBCSM_sequence[] = {
2809 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_eventTypeBCSM_impl },
2810 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bcsmEventCorrelationID_impl },
2811 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_eventSpecificInformationBCSM_impl },
2812 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
2813 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_miscCallInfo_impl },
2814 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2819 dissect_inap_EventReportBCSM(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2820 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2821 EventReportBCSM_sequence, hf_index, ett_inap_EventReportBCSM);
2828 dissect_inap_FurnishChargingInformationarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2829 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2836 static const value_string inap_HoldCallInNetworkarg_vals[] = {
2842 static const ber_choice_t HoldCallInNetworkarg_choice[] = {
2843 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_holdcause_impl },
2844 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_empty_impl },
2845 { 0, 0, 0, 0, NULL }
2849 dissect_inap_HoldCallInNetworkarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2850 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2851 HoldCallInNetworkarg_choice, hf_index, ett_inap_HoldCallInNetworkarg);
2856 static const ber_sequence_t InitialDP_sequence[] = {
2857 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
2858 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dialledDigits_impl },
2859 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyNumber_impl },
2860 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyNumber_impl },
2861 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
2862 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartysCategory_impl },
2863 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
2864 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cGEncountered_impl },
2865 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iPSSPCapabilities_impl },
2866 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iPAvailable_impl },
2867 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationNumber_impl },
2868 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_miscCallInfo_impl },
2869 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
2870 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceProfileIdentifier_impl },
2871 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_terminalType_impl },
2872 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2873 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_triggerType_impl },
2874 { BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_highLayerCompatibility_impl },
2875 { BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceInteractionIndicators_impl },
2876 { BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalCallingPartyNumber_impl },
2877 { BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardCallIndicators_impl },
2878 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_bearerCapability_impl },
2879 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_eventTypeBCSM_impl },
2880 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
2881 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
2886 dissect_inap_InitialDP(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2887 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2888 InitialDP_sequence, hf_index, ett_inap_InitialDP);
2893 static const ber_sequence_t InitiateCallAttempt_sequence[] = {
2894 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_destinationRoutingAddress_impl },
2895 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
2896 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iSDNAccessRelatedInformation_impl },
2897 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
2898 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2899 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceInteractionIndicators_impl },
2900 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyNumber_impl },
2905 dissect_inap_InitiateCallAttempt(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2906 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2907 InitiateCallAttempt_sequence, hf_index, ett_inap_InitiateCallAttempt);
2912 static const ber_sequence_t OAnswer_sequence[] = {
2913 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
2914 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
2915 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
2916 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
2917 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
2918 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
2919 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
2920 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
2921 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
2922 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
2923 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2928 dissect_inap_OAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2929 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2930 OAnswer_sequence, hf_index, ett_inap_OAnswer);
2935 static const ber_sequence_t OCalledPartyBusy_sequence[] = {
2936 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
2937 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_busyCause_impl },
2938 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
2939 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
2940 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
2941 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
2942 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
2943 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_prefix_impl },
2944 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
2945 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
2946 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
2947 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
2948 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2949 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
2954 dissect_inap_OCalledPartyBusy(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2955 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2956 OCalledPartyBusy_sequence, hf_index, ett_inap_OCalledPartyBusy);
2961 static const ber_sequence_t ODisconnect_sequence[] = {
2962 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
2963 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
2964 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
2965 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
2966 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
2967 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
2968 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
2969 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2970 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
2971 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_connectTime_impl },
2976 dissect_inap_ODisconnect(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2977 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2978 ODisconnect_sequence, hf_index, ett_inap_ODisconnect);
2984 static const value_string inap_FeatureRequestIndicator_vals[] = {
2987 { 2, "featureActivation" },
2995 dissect_inap_FeatureRequestIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2996 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3000 static int dissect_featureRequestIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3001 return dissect_inap_FeatureRequestIndicator(TRUE, tvb, offset, pinfo, tree, hf_inap_featureRequestIndicator);
3004 static const ber_sequence_t OMidCall_sequence[] = {
3005 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3006 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyBusinessGroupID_impl },
3007 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartySubaddress_impl },
3008 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
3009 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
3010 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_featureRequestIndicator_impl },
3011 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3012 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
3017 dissect_inap_OMidCall(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3018 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3019 OMidCall_sequence, hf_index, ett_inap_OMidCall);
3024 static const ber_sequence_t ONoAnswer_sequence[] = {
3025 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3026 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
3027 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
3028 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
3029 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
3030 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
3031 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_prefix_impl },
3032 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
3033 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
3034 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
3035 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
3036 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3037 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
3042 dissect_inap_ONoAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3043 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3044 ONoAnswer_sequence, hf_index, ett_inap_ONoAnswer);
3049 static const ber_sequence_t OriginationAttemptAuthorized_sequence[] = {
3050 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3051 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dialledDigits_impl },
3052 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
3053 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
3054 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
3055 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
3056 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
3057 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3058 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
3063 dissect_inap_OriginationAttemptAuthorized(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3064 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3065 OriginationAttemptAuthorized_sequence, hf_index, ett_inap_OriginationAttemptAuthorized);
3072 dissect_inap_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3073 offset = dissect_ber_boolean(pinfo, tree, tvb, offset, hf_index);
3077 static int dissect_disconnectFromIPForbidden_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3078 return dissect_inap_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_inap_disconnectFromIPForbidden);
3080 static int dissect_requestAnnouncementComplete_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3081 return dissect_inap_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_inap_requestAnnouncementComplete);
3083 static int dissect_interruptableAnnInd_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3084 return dissect_inap_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_inap_interruptableAnnInd);
3086 static int dissect_voiceInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3087 return dissect_inap_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_inap_voiceInformation);
3089 static int dissect_voiceBack_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3090 return dissect_inap_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_inap_voiceBack);
3092 static int dissect_iA5Information_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3093 return dissect_inap_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_inap_iA5Information);
3096 static const ber_sequence_t PlayAnnouncement_sequence[] = {
3097 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_informationToSend_impl },
3098 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_disconnectFromIPForbidden_impl },
3099 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestAnnouncementComplete_impl },
3100 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3105 dissect_inap_PlayAnnouncement(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3106 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3107 PlayAnnouncement_sequence, hf_index, ett_inap_PlayAnnouncement);
3114 dissect_inap_OCTET_STRING_SIZE_1_2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3115 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3120 static int dissect_endOfReplyDigit_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3121 return dissect_inap_OCTET_STRING_SIZE_1_2(TRUE, tvb, offset, pinfo, tree, hf_inap_endOfReplyDigit);
3123 static int dissect_cancelDigit_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3124 return dissect_inap_OCTET_STRING_SIZE_1_2(TRUE, tvb, offset, pinfo, tree, hf_inap_cancelDigit);
3126 static int dissect_startDigit_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3127 return dissect_inap_OCTET_STRING_SIZE_1_2(TRUE, tvb, offset, pinfo, tree, hf_inap_startDigit);
3131 static const value_string inap_T_errorTreatment_vals[] = {
3132 { 0, "reportErrorToScf" },
3134 { 2, "repeatPrompt" },
3140 dissect_inap_T_errorTreatment(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3141 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3145 static int dissect_errorTreatment_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3146 return dissect_inap_T_errorTreatment(TRUE, tvb, offset, pinfo, tree, hf_inap_errorTreatment);
3149 static const ber_sequence_t T_collectedDigits_sequence[] = {
3150 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_minimumNbOfDigits_impl },
3151 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_maximumNbOfDigits_impl },
3152 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_endOfReplyDigit_impl },
3153 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cancelDigit_impl },
3154 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_startDigit_impl },
3155 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_firstDigitTimeOut_impl },
3156 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_interDigitTimeOut_impl },
3157 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_errorTreatment_impl },
3158 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_interruptableAnnInd_impl },
3159 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_voiceInformation_impl },
3160 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_voiceBack_impl },
3165 dissect_inap_T_collectedDigits(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3166 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3167 T_collectedDigits_sequence, hf_index, ett_inap_T_collectedDigits);
3171 static int dissect_collectedDigits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3172 return dissect_inap_T_collectedDigits(TRUE, tvb, offset, pinfo, tree, hf_inap_collectedDigits);
3176 static const value_string inap_T_collectedInfo_vals[] = {
3177 { 0, "collectedDigits" },
3178 { 1, "iA5Information" },
3182 static const ber_choice_t T_collectedInfo_choice[] = {
3183 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_collectedDigits_impl },
3184 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_iA5Information_impl },
3185 { 0, 0, 0, 0, NULL }
3189 dissect_inap_T_collectedInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3190 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3191 T_collectedInfo_choice, hf_index, ett_inap_T_collectedInfo);
3195 static int dissect_collectedInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3196 return dissect_inap_T_collectedInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_collectedInfo);
3199 static const ber_sequence_t PromptAndCollectUserInformationarg_sequence[] = {
3200 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_collectedInfo_impl },
3201 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_disconnectFromIPForbidden_impl },
3202 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_informationToSend_impl },
3203 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3208 dissect_inap_PromptAndCollectUserInformationarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3209 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3210 PromptAndCollectUserInformationarg_sequence, hf_index, ett_inap_PromptAndCollectUserInformationarg);
3216 static const value_string inap_PromptAndCollectUserInformationres_vals[] = {
3217 { 0, "digitsResponse" },
3218 { 1, "iA5Response" },
3222 static const ber_choice_t PromptAndCollectUserInformationres_choice[] = {
3223 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_digitsResponse_impl },
3224 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_iA5Response_impl },
3225 { 0, 0, 0, 0, NULL }
3229 dissect_inap_PromptAndCollectUserInformationres(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3230 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3231 PromptAndCollectUserInformationres_choice, hf_index, ett_inap_PromptAndCollectUserInformationres);
3237 static const value_string inap_ResourceStatus_vals[] = {
3245 dissect_inap_ResourceStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3246 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3250 static int dissect_resourceStatus_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3251 return dissect_inap_ResourceStatus(TRUE, tvb, offset, pinfo, tree, hf_inap_resourceStatus);
3256 dissect_inap_ReleaseCall(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3257 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3264 static const value_string inap_RequestCurrentStatusReportarg_vals[] = {
3266 { 1, "facilityGroupID" },
3267 { 2, "facilityGroupMemberID" },
3268 { 3, "trunkGroupID" },
3272 static const ber_choice_t RequestCurrentStatusReportarg_choice[] = {
3273 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_lineID_impl },
3274 { 1, BER_CLASS_CON, 1, 0, dissect_facilityGroupID_impl },
3275 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_facilityGroupMemberID_impl },
3276 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_trunkGroupID_impl },
3277 { 0, 0, 0, 0, NULL }
3281 dissect_inap_RequestCurrentStatusReportarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3282 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3283 RequestCurrentStatusReportarg_choice, hf_index, ett_inap_RequestCurrentStatusReportarg);
3288 static const ber_sequence_t RequestCurrentStatusReportres_sequence[] = {
3289 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_resourceStatus_impl },
3290 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_resourceID_impl },
3291 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3296 dissect_inap_RequestCurrentStatusReportres(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3297 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3298 RequestCurrentStatusReportres_sequence, hf_index, ett_inap_RequestCurrentStatusReportres);
3303 static const ber_sequence_t RequestEveryStatusChangeReport_sequence[] = {
3304 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_resourceID_impl },
3305 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
3306 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_monitorDuration_impl },
3307 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3312 dissect_inap_RequestEveryStatusChangeReport(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3313 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3314 RequestEveryStatusChangeReport_sequence, hf_index, ett_inap_RequestEveryStatusChangeReport);
3319 static const ber_sequence_t RequestFirstStatusMatchReport_sequence[] = {
3320 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_resourceID_impl },
3321 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_resourceStatus_impl },
3322 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
3323 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_monitorDuration_impl },
3324 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3325 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_bearerCapability_impl },
3330 dissect_inap_RequestFirstStatusMatchReport(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3331 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3332 RequestFirstStatusMatchReport_sequence, hf_index, ett_inap_RequestFirstStatusMatchReport);
3337 static const ber_sequence_t RequestNotificationChargingEvent_item_sequence[] = {
3338 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_eventTypeCharging_impl },
3339 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_monitorMode_impl },
3340 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
3345 dissect_inap_RequestNotificationChargingEvent_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3346 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3347 RequestNotificationChargingEvent_item_sequence, hf_index, ett_inap_RequestNotificationChargingEvent_item);
3351 static int dissect_RequestNotificationChargingEvent_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3352 return dissect_inap_RequestNotificationChargingEvent_item(FALSE, tvb, offset, pinfo, tree, hf_inap_RequestNotificationChargingEvent_item);
3355 static const ber_sequence_t RequestNotificationChargingEvent_sequence_of[1] = {
3356 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_RequestNotificationChargingEvent_item },
3360 dissect_inap_RequestNotificationChargingEvent(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3361 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3362 RequestNotificationChargingEvent_sequence_of, hf_index, ett_inap_RequestNotificationChargingEvent);
3370 dissect_inap_INTEGER_1_255(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3371 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3375 static int dissect_numberOfDigits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3376 return dissect_inap_INTEGER_1_255(TRUE, tvb, offset, pinfo, tree, hf_inap_numberOfDigits);
3382 dissect_inap_INTEGER_0_2047(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3383 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3387 static int dissect_applicationTimer_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3388 return dissect_inap_INTEGER_0_2047(TRUE, tvb, offset, pinfo, tree, hf_inap_applicationTimer);
3392 static const value_string inap_T_dpSpecificCriteria_vals[] = {
3393 { 0, "numberOfDigits" },
3394 { 1, "applicationTimer" },
3398 static const ber_choice_t T_dpSpecificCriteria_choice[] = {
3399 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_numberOfDigits_impl },
3400 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_applicationTimer_impl },
3401 { 0, 0, 0, 0, NULL }
3405 dissect_inap_T_dpSpecificCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3406 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3407 T_dpSpecificCriteria_choice, hf_index, ett_inap_T_dpSpecificCriteria);
3411 static int dissect_dpSpecificCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3412 return dissect_inap_T_dpSpecificCriteria(TRUE, tvb, offset, pinfo, tree, hf_inap_dpSpecificCriteria);
3415 static const ber_sequence_t T_bcsmEvents_item_sequence[] = {
3416 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_eventTypeBCSM_impl },
3417 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_monitorMode_impl },
3418 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
3419 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dpSpecificCriteria_impl },
3424 dissect_inap_T_bcsmEvents_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3425 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3426 T_bcsmEvents_item_sequence, hf_index, ett_inap_T_bcsmEvents_item);
3430 static int dissect_bcsmEvents_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3431 return dissect_inap_T_bcsmEvents_item(FALSE, tvb, offset, pinfo, tree, hf_inap_bcsmEvents_item);
3434 static const ber_sequence_t T_bcsmEvents_sequence_of[1] = {
3435 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_bcsmEvents_item },
3439 dissect_inap_T_bcsmEvents(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3440 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3441 T_bcsmEvents_sequence_of, hf_index, ett_inap_T_bcsmEvents);
3445 static int dissect_bcsmEvents_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3446 return dissect_inap_T_bcsmEvents(TRUE, tvb, offset, pinfo, tree, hf_inap_bcsmEvents);
3449 static const ber_sequence_t RequestReportBCSMEvent_sequence[] = {
3450 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_bcsmEvents_impl },
3451 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bcsmEventCorrelationID_impl },
3452 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3457 dissect_inap_RequestReportBCSMEvent(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3458 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3459 RequestReportBCSMEvent_sequence, hf_index, ett_inap_RequestReportBCSMEvent);
3465 static const value_string inap_T_timerID_vals[] = {
3472 dissect_inap_T_timerID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3473 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3477 static int dissect_timerID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3478 return dissect_inap_T_timerID(TRUE, tvb, offset, pinfo, tree, hf_inap_timerID);
3481 static const ber_sequence_t ResetTimer_sequence[] = {
3482 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_timerID_impl },
3483 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_timervalue_impl },
3484 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3489 dissect_inap_ResetTimer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3490 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3491 ResetTimer_sequence, hf_index, ett_inap_ResetTimer);
3496 static const ber_sequence_t RouteSelectFailure_sequence[] = {
3497 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3498 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dialledDigits_impl },
3499 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
3500 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
3501 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
3502 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
3503 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_failureCause_impl },
3504 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
3505 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_prefix_impl },
3506 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
3507 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
3508 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
3509 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
3510 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3511 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
3516 dissect_inap_RouteSelectFailure(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3517 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3518 RouteSelectFailure_sequence, hf_index, ett_inap_RouteSelectFailure);
3524 static const value_string inap_CalledFacilityGroup_vals[] = {
3525 { 0, "trunkGroupID" },
3526 { 1, "privateFacilityID" },
3528 { 3, "routeIndex" },
3532 static const ber_choice_t CalledFacilityGroup_choice[] = {
3533 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_trunkGroupID_impl },
3534 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_privateFacilityID_impl },
3535 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_huntGroup_impl },
3536 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_routeIndex_impl },
3537 { 0, 0, 0, 0, NULL }
3541 dissect_inap_CalledFacilityGroup(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3542 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3543 CalledFacilityGroup_choice, hf_index, ett_inap_CalledFacilityGroup);
3547 static int dissect_calledFacilityGroup_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3548 return dissect_inap_CalledFacilityGroup(TRUE, tvb, offset, pinfo, tree, hf_inap_calledFacilityGroup);
3551 static const ber_sequence_t SelectFacility_sequence[] = {
3552 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
3553 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationNumberRoutingAddress_impl },
3554 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iSDNAccessRelatedInformation_impl },
3555 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_calledFacilityGroup_impl },
3556 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledFacilityGroupMember_impl },
3557 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
3558 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3563 dissect_inap_SelectFacility(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3564 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3565 SelectFacility_sequence, hf_index, ett_inap_SelectFacility);
3570 static const ber_sequence_t SelectRoute_sequence[] = {
3571 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_destinationRoutingAddress_impl },
3572 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
3573 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
3574 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iSDNAccessRelatedInformation_impl },
3575 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
3576 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
3577 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_scfID_impl },
3578 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
3579 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3580 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
3585 dissect_inap_SelectRoute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3586 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3587 SelectRoute_sequence, hf_index, ett_inap_SelectRoute);
3592 static const ber_sequence_t SendChargingInformation_sequence[] = {
3593 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sCIBillingChargingCharacteristics_impl },
3594 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_partyToCharge_impl },
3595 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3600 dissect_inap_SendChargingInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3601 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3602 SendChargingInformation_sequence, hf_index, ett_inap_SendChargingInformation);
3610 dissect_inap_INTEGER_0_99(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3611 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3615 static int dissect_counterID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3616 return dissect_inap_INTEGER_0_99(TRUE, tvb, offset, pinfo, tree, hf_inap_counterID);
3619 static const ber_sequence_t T_countersValue_item_sequence[] = {
3620 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_counterID_impl },
3621 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_counterValue_impl },
3626 dissect_inap_T_countersValue_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3627 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3628 T_countersValue_item_sequence, hf_index, ett_inap_T_countersValue_item);
3632 static int dissect_countersValue_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3633 return dissect_inap_T_countersValue_item(FALSE, tvb, offset, pinfo, tree, hf_inap_countersValue_item);
3636 static const ber_sequence_t T_countersValue_sequence_of[1] = {
3637 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_countersValue_item },
3641 dissect_inap_T_countersValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3642 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3643 T_countersValue_sequence_of, hf_index, ett_inap_T_countersValue);
3647 static int dissect_countersValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3648 return dissect_inap_T_countersValue(TRUE, tvb, offset, pinfo, tree, hf_inap_countersValue);
3652 static const value_string inap_T_responseCondition_vals[] = {
3653 { 0, "intermediateResponse" },
3654 { 1, "lastResponse" },
3660 dissect_inap_T_responseCondition(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3661 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3665 static int dissect_responseCondition_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3666 return dissect_inap_T_responseCondition(TRUE, tvb, offset, pinfo, tree, hf_inap_responseCondition);
3669 static const ber_sequence_t ServiceFilteringResponse_sequence[] = {
3670 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_countersValue_impl },
3671 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_filteringCriteria_impl },
3672 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3673 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_responseCondition_impl },
3678 dissect_inap_ServiceFilteringResponse(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3679 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3680 ServiceFilteringResponse_sequence, hf_index, ett_inap_ServiceFilteringResponse);
3686 static const value_string inap_T_reportCondition_vals[] = {
3687 { 0, "statusReport" },
3688 { 1, "timerExpired" },
3695 dissect_inap_T_reportCondition(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3696 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3700 static int dissect_reportCondition_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3701 return dissect_inap_T_reportCondition(TRUE, tvb, offset, pinfo, tree, hf_inap_reportCondition);
3704 static const ber_sequence_t StatusReport_sequence[] = {
3705 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_resourceStatus_impl },
3706 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
3707 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_resourceID_impl },
3708 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3709 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_reportCondition_impl },
3714 dissect_inap_StatusReport(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3715 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3716 StatusReport_sequence, hf_index, ett_inap_StatusReport);
3721 static const ber_sequence_t TAnswer_sequence[] = {
3722 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3723 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyBusinessGroupID_impl },
3724 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartySubaddress_impl },
3725 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_calledFacilityGroup_impl },
3726 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledFacilityGroupMember_impl },
3727 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3732 dissect_inap_TAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3733 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3734 TAnswer_sequence, hf_index, ett_inap_TAnswer);
3739 static const ber_sequence_t TBusy_sequence[] = {
3740 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3741 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_busyCause_impl },
3742 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyBusinessGroupID_impl },
3743 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartySubaddress_impl },
3744 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
3745 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
3746 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
3747 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
3748 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
3749 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3754 dissect_inap_TBusy(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3755 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3756 TBusy_sequence, hf_index, ett_inap_TBusy);
3761 static const ber_sequence_t TDisconnect_sequence[] = {
3762 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3763 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyBusinessGroupID_impl },
3764 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartySubaddress_impl },
3765 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_calledFacilityGroup_impl },
3766 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledFacilityGroupMember_impl },
3767 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
3768 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3769 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_connectTime_impl },
3774 dissect_inap_TDisconnect(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3775 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3776 TDisconnect_sequence, hf_index, ett_inap_TDisconnect);
3781 static const ber_sequence_t TermAttemptAuthorized_sequence[] = {
3782 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3783 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyBusinessGroupID_impl },
3784 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartySubaddress_impl },
3785 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
3786 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
3787 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
3788 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
3789 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
3790 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
3791 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3796 dissect_inap_TermAttemptAuthorized(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3797 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3798 TermAttemptAuthorized_sequence, hf_index, ett_inap_TermAttemptAuthorized);
3803 static const ber_sequence_t TMidCall_sequence[] = {
3804 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3805 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyBusinessGroupID_impl },
3806 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartySubaddress_impl },
3807 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
3808 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
3809 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_featureRequestIndicator_impl },
3810 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3811 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
3816 dissect_inap_TMidCall(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3817 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3818 TMidCall_sequence, hf_index, ett_inap_TMidCall);
3823 static const ber_sequence_t TNoAnswer_sequence[] = {
3824 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3825 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyBusinessGroupID_impl },
3826 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartySubaddress_impl },
3827 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_calledFacilityGroup_impl },
3828 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledFacilityGroupMember_impl },
3829 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
3830 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
3831 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
3832 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
3833 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3838 dissect_inap_TNoAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3839 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3840 TNoAnswer_sequence, hf_index, ett_inap_TNoAnswer);
3846 static const value_string inap_T_problem_vals[] = {
3847 { 0, "unknownOperation" },
3849 { 2, "operationNotCancellable" },
3855 dissect_inap_T_problem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3856 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3860 static int dissect_problem_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3861 return dissect_inap_T_problem(TRUE, tvb, offset, pinfo, tree, hf_inap_problem);
3864 static const ber_sequence_t CancelFailed_sequence[] = {
3865 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_problem_impl },
3866 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_operation_impl },
3871 dissect_inap_CancelFailed(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3872 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3873 CancelFailed_sequence, hf_index, ett_inap_CancelFailed);
3879 static const value_string inap_RequestedInfoError_vals[] = {
3880 { 1, "unknownRequestedInfo" },
3881 { 2, "requestedInfoNotAvailable" },
3887 dissect_inap_RequestedInfoError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3888 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3894 static const value_string inap_SystemFailure_vals[] = {
3895 { 0, "unavailableResources" },
3896 { 1, "componentFailure" },
3897 { 2, "basicCallProcessingException" },
3898 { 3, "resourceStatusFailure" },
3899 { 4, "endUserFailure" },
3905 dissect_inap_SystemFailure(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3906 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3912 static const value_string inap_TaskRefused_vals[] = {
3914 { 1, "unobtainable" },
3915 { 2, "congestion" },
3921 dissect_inap_TaskRefused(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3922 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3928 /*--- End of included file: packet-inap-fn.c ---*/
3932 const value_string inap_opr_code_strings[] = {
3934 {16, "AssistRequestInstructions"},
3935 {44, "CallInformationReport"},
3936 {45, "CallInformationRequest"},
3939 {19,"ConnectToResource"},
3940 {17,"EstablishTemporaryConnection"},
3941 {24,"EventReportBCSM"},
3942 {34,"FurnishChargingInformation"},
3944 {47,"PlayAnnouncement"},
3945 {48,"PromptAndCollectUserInformation"},
3946 {99,"ReceivedInformation"}, /*???????*/
3948 {23,"RequestReportBCSMEvent"},
3949 {49,"SpecializedResourceReport"}
3953 static guint32 opcode=0;
3956 dissect_inap_Opcode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
3957 offset = dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_index, &opcode);
3959 if (check_col(pinfo->cinfo, COL_INFO)){
3960 col_set_str(pinfo->cinfo, COL_INFO, val_to_str(opcode, inap_opr_code_strings, "Unknown Inap (%u)"));
3966 static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3968 case 16: /*AssistRequestInstructions*/
3969 offset=dissect_inap_AssistRequestInstructionsarg(FALSE, tvb, offset, pinfo, tree, -1);
3971 case 44: /*CallInformationReport*/
3972 offset=dissect_inap_CallInformationReportarg(FALSE, tvb, offset, pinfo, tree, -1);
3974 case 45: /*CallInformationRequest*/
3975 offset=dissect_inap_CallInformationRequestarg(FALSE, tvb, offset, pinfo, tree, -1);
3978 offset=dissect_inap_Cancelarg(FALSE, tvb, offset, pinfo, tree, -1);
3980 case 20: /*Connect*/
3981 offset=dissect_inap_Connectarg(FALSE, tvb, offset, pinfo, tree, -1);
3983 case 18: /*DisconnectForwardConnections*/
3984 proto_tree_add_text(tree, tvb, offset, -1, "Disconnect Forward Connection");
3986 case 19: /*ConnectToResource*/
3987 offset=dissect_inap_ConnectToResource(FALSE, tvb, offset, pinfo, tree, -1);
3989 case 17: /*EstablishTemporaryConnection*/
3990 offset=dissect_inap_EstablishTemporaryConnection(FALSE, tvb, offset, pinfo, tree, -1);
3992 case 24: /*EventReportBCSM*/
3993 offset=dissect_inap_EventReportBCSM(FALSE, tvb, offset, pinfo, tree, -1);
3995 case 34: /*FurnishChargingInformation*/
3996 offset=dissect_inap_FurnishChargingInformationarg(FALSE, tvb, offset, pinfo, tree, -1);
3998 case 0: /*InitialDP*/
3999 offset=dissect_inap_InitialDP(FALSE, tvb, offset, pinfo, tree, -1);
4002 case 23: /*InitialDP*/
4003 offset=dissect_inap_RequestReportBCSMEvent(FALSE, tvb, offset, pinfo, tree, -1);
4006 case 47: /*PlayAnnouncement*/
4007 offset=dissect_inap_PlayAnnouncement(FALSE, tvb, offset, pinfo, tree, -1);
4009 case 48: /*PromptAndCollectUserInformation*/
4010 offset=dissect_inap_PromptAndCollectUserInformationarg(FALSE, tvb, offset, pinfo, tree, -1);
4012 case 33: /*ResetTimer*/
4013 offset=dissect_inap_ResetTimer(FALSE, tvb, offset, pinfo, tree, -1);
4016 proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob");
4017 /* todo call the asn.1 dissector */
4023 static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4025 case 48: /*PromptAndCollectUserInformation*/
4026 offset=dissect_inap_PromptAndCollectUserInformationres(FALSE, tvb, offset, pinfo, tree, -1);
4029 proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnResultData blob");
4035 dissect_invokeCmd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4036 return dissect_inap_Opcode(FALSE, tvb, offset, pinfo, tree, hf_inap_invokeCmd);
4039 static int dissect_invokeid(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4040 return dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_inap_invokeid, NULL);
4044 static const value_string InvokeId_vals[] = {
4050 static int dissect_absent(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4051 return dissect_inap_NULL(FALSE, tvb, offset, pinfo, tree, hf_inap_absent);
4055 static const ber_choice_t InvokeId_choice[] = {
4056 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeid },
4057 { 1, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_absent },
4058 { 0, 0, 0, 0, NULL }
4062 dissect_inap_InvokeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
4063 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4064 InvokeId_choice, hf_index, ett_inap_InvokeId);
4068 static int dissect_invokeId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4069 return dissect_inap_InvokeId(FALSE, tvb, offset, pinfo, tree, hf_inap_invokeId);
4072 static const ber_sequence_t InvokePDU_sequence[] = {
4073 { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
4074 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeCmd },
4075 { BER_CLASS_UNI, -1/*depends on Cmd*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeData },
4080 dissect_inap_InvokePDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
4081 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4082 InvokePDU_sequence, hf_index, ett_inap_InvokePDU);
4086 static int dissect_invoke_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4087 return dissect_inap_InvokePDU(TRUE, tvb, offset, pinfo, tree, hf_inap_invoke);
4090 static const ber_sequence_t ReturnResult_result_sequence[] = {
4091 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeCmd },
4092 { BER_CLASS_UNI, -1/*depends on Cmd*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_returnResultData },
4096 dissect_returnResult_result(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4097 offset = dissect_ber_sequence(FALSE, pinfo, tree, tvb, offset,
4098 ReturnResult_result_sequence, hf_inap_returnResult_result, ett_inap_ReturnResult_result);
4103 static const ber_sequence_t ReturnResultPDU_sequence[] = {
4104 { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
4105 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_returnResult_result },
4110 dissect_inap_returnResultPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
4111 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4112 ReturnResultPDU_sequence, hf_index, ett_inap_ReturnResultPDU);
4116 static int dissect_returnResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4117 return dissect_inap_returnResultPDU(TRUE, tvb, offset, pinfo, tree, hf_inap_returnResult);
4120 static const value_string INAPPDU_vals[] = {
4122 { 2, "returnResult" },
4123 { 3, "returnError" },
4128 static const ber_choice_t INAPPDU_choice[] = {
4129 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_invoke_impl },
4130 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_returnResult_impl },
4132 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_returnError_impl },
4133 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_reject_impl },
4135 { 0, 0, 0, 0, NULL }
4138 static guint8 inap_pdu_type = 0;
4139 static guint8 inap_pdu_size = 0;
4142 dissect_inap_INAPPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
4144 inap_pdu_type = tvb_get_guint8(tvb, offset)&0x0f;
4145 /* Get the length and add 2 */
4146 inap_pdu_size = tvb_get_guint8(tvb, offset+1)+2;
4148 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4149 INAPPDU_choice, hf_index, ett_inap_INAPPDU);
4151 if (check_col(pinfo->cinfo, COL_INFO)){
4152 col_prepend_fstr(pinfo->cinfo, COL_INFO, val_to_str(opcode, inap_opr_code_strings, "Unknown INAP (%u)"));
4162 dissect_inap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
4164 proto_item *item=NULL;
4165 proto_tree *tree=NULL;
4168 if (check_col(pinfo->cinfo, COL_PROTOCOL))
4170 col_set_str(pinfo->cinfo, COL_PROTOCOL, "INAP");
4173 /* create display subtree for the protocol */
4175 item = proto_tree_add_item(parent_tree, proto_inap, tvb, 0, -1, FALSE);
4176 tree = proto_item_add_subtree(item, ett_inap);
4179 dissect_inap_INAPPDU(FALSE, tvb, 0, pinfo, tree, -1);
4184 /*--- proto_reg_handoff_inap ---------------------------------------*/
4185 void proto_reg_handoff_inap(void) {
4186 dissector_handle_t inap_handle;
4188 inap_handle = create_dissector_handle(dissect_inap, proto_inap);
4189 dissector_add("tcap.itu_ssn", global_tcap_itu_ssn, inap_handle);
4194 void proto_register_inap(void) {
4195 module_t *inap_module;
4196 /* List of fields */
4197 static hf_register_info hf[] = {
4198 { &hf_inap_invokeCmd,
4199 { "invokeCmd", "inap.invokeCmd",
4200 FT_UINT32, BASE_DEC, VALS(inap_opr_code_strings), 0,
4201 "InvokePDU/invokeCmd", HFILL }},
4202 { &hf_inap_invokeid,
4203 { "invokeid", "inap.invokeid",
4204 FT_INT32, BASE_DEC, NULL, 0,
4205 "InvokeId/invokeid", HFILL }},
4207 { "absent", "inap.absent",
4208 FT_NONE, BASE_NONE, NULL, 0,
4209 "InvokeId/absent", HFILL }},
4210 { &hf_inap_invokeId,
4211 { "invokeId", "inap.invokeId",
4212 FT_UINT32, BASE_DEC, VALS(InvokeId_vals), 0,
4213 "InvokePDU/invokeId", HFILL }},
4215 { "invoke", "inap.invoke",
4216 FT_NONE, BASE_NONE, NULL, 0,
4217 "INAPPDU/invoke", HFILL }},
4218 { &hf_inap_returnResult,
4219 { "returnResult", "inap.returnResult",
4220 FT_NONE, BASE_NONE, NULL, 0,
4221 "INAPPDU/returnResult", HFILL }},
4225 /*--- Included file: packet-inap-hfarr.c ---*/
4227 { &hf_inap_originalCallID,
4228 { "originalCallID", "inap.originalCallID",
4229 FT_INT32, BASE_DEC, NULL, 0,
4230 "AddPartyArg/originalCallID", HFILL }},
4231 { &hf_inap_destinationCallID,
4232 { "destinationCallID", "inap.destinationCallID",
4233 FT_INT32, BASE_DEC, NULL, 0,
4234 "AddPartyArg/destinationCallID", HFILL }},
4235 { &hf_inap_newLegID,
4236 { "newLegID", "inap.newLegID",
4237 FT_BYTES, BASE_HEX, NULL, 0,
4238 "AttachArg/newLegID", HFILL }},
4239 { &hf_inap_correlationidentifier,
4240 { "correlationidentifier", "inap.correlationidentifier",
4241 FT_BYTES, BASE_HEX, NULL, 0,
4243 { &hf_inap_CallPartyHandlingResultsArg_item,
4244 { "Item", "inap.CallPartyHandlingResultsArg_item",
4245 FT_NONE, BASE_NONE, NULL, 0,
4246 "CallPartyHandlingResultsArg/_item", HFILL }},
4248 { "callID", "inap.callID",
4249 FT_INT32, BASE_DEC, NULL, 0,
4251 { &hf_inap_targetCallID,
4252 { "targetCallID", "inap.targetCallID",
4253 FT_INT32, BASE_DEC, NULL, 0,
4254 "ChangePartiesArg/targetCallID", HFILL }},
4255 { &hf_inap_legToBeConnectedID,
4256 { "legToBeConnectedID", "inap.legToBeConnectedID",
4257 FT_BYTES, BASE_HEX, NULL, 0,
4258 "ChangePartiesArg/legToBeConnectedID", HFILL }},
4259 { &hf_inap_legToBeDetached,
4260 { "legToBeDetached", "inap.legToBeDetached",
4261 FT_BYTES, BASE_HEX, NULL, 0,
4262 "DetachArg/legToBeDetached", HFILL }},
4264 { "legID", "inap.legID",
4265 FT_UINT32, BASE_DEC, VALS(inap_LegID_vals), 0,
4267 { &hf_inap_sendingSideID,
4268 { "sendingSideID", "inap.sendingSideID",
4269 FT_BYTES, BASE_HEX, NULL, 0,
4271 { &hf_inap_receivingSideID,
4272 { "receivingSideID", "inap.receivingSideID",
4273 FT_BYTES, BASE_HEX, NULL, 0,
4275 { &hf_inap_heldLegID,
4276 { "heldLegID", "inap.heldLegID",
4277 FT_UINT32, BASE_DEC, VALS(inap_LegID_vals), 0,
4278 "ReconnectArg/heldLegID", HFILL }},
4279 { &hf_inap_legToBeReleased,
4280 { "legToBeReleased", "inap.legToBeReleased",
4281 FT_UINT32, BASE_DEC, VALS(inap_LegID_vals), 0,
4282 "ReleaseCallPartyConnectionArg/legToBeReleased", HFILL }},
4283 { &hf_inap_releaseCause,
4284 { "releaseCause", "inap.releaseCause",
4285 FT_BYTES, BASE_HEX, NULL, 0,
4287 { &hf_inap_legStatus,
4288 { "legStatus", "inap.legStatus",
4289 FT_UINT32, BASE_DEC, VALS(inap_LegStatus_vals), 0,
4290 "LegInformation/legStatus", HFILL }},
4291 { &hf_inap_VariableParts_item,
4292 { "Item", "inap.VariableParts_item",
4293 FT_UINT32, BASE_DEC, VALS(inap_VariableParts_item_vals), 0,
4294 "VariableParts/_item", HFILL }},
4296 { "integer", "inap.integer",
4297 FT_UINT32, BASE_DEC, NULL, 0,
4298 "VariableParts/_item/integer", HFILL }},
4300 { "number", "inap.number",
4301 FT_BYTES, BASE_HEX, NULL, 0,
4302 "VariableParts/_item/number", HFILL }},
4304 { "time", "inap.time",
4305 FT_BYTES, BASE_HEX, NULL, 0,
4306 "VariableParts/_item/time", HFILL }},
4308 { "date", "inap.date",
4309 FT_BYTES, BASE_HEX, NULL, 0,
4310 "VariableParts/_item/date", HFILL }},
4312 { "price", "inap.price",
4313 FT_BYTES, BASE_HEX, NULL, 0,
4314 "VariableParts/_item/price", HFILL }},
4315 { &hf_inap_elementaryMessageID,
4316 { "elementaryMessageID", "inap.elementaryMessageID",
4317 FT_UINT32, BASE_DEC, NULL, 0,
4319 { &hf_inap_variableParts,
4320 { "variableParts", "inap.variableParts",
4321 FT_NONE, BASE_NONE, NULL, 0,
4322 "VariableMessage/variableParts", HFILL }},
4324 { "toneID", "inap.toneID",
4325 FT_UINT32, BASE_DEC, NULL, 0,
4326 "Tone/toneID", HFILL }},
4327 { &hf_inap_tduration,
4328 { "tduration", "inap.tduration",
4329 FT_UINT32, BASE_DEC, NULL, 0,
4330 "Tone/tduration", HFILL }},
4331 { &hf_inap_messageContent,
4332 { "messageContent", "inap.messageContent",
4333 FT_STRING, BASE_NONE, NULL, 0,
4334 "Text/messageContent", HFILL }},
4335 { &hf_inap_attributes,
4336 { "attributes", "inap.attributes",
4337 FT_BYTES, BASE_HEX, NULL, 0,
4338 "Text/attributes", HFILL }},
4340 { "text", "inap.text",
4341 FT_NONE, BASE_NONE, NULL, 0,
4342 "MessageID/text", HFILL }},
4343 { &hf_inap_elementaryMessageIDs,
4344 { "elementaryMessageIDs", "inap.elementaryMessageIDs",
4345 FT_NONE, BASE_NONE, NULL, 0,
4346 "MessageID/elementaryMessageIDs", HFILL }},
4347 { &hf_inap_elementaryMessageIDs_item,
4348 { "Item", "inap.elementaryMessageIDs_item",
4349 FT_UINT32, BASE_DEC, NULL, 0,
4350 "MessageID/elementaryMessageIDs/_item", HFILL }},
4351 { &hf_inap_variableMessage,
4352 { "variableMessage", "inap.variableMessage",
4353 FT_NONE, BASE_NONE, NULL, 0,
4354 "MessageID/variableMessage", HFILL }},
4355 { &hf_inap_inbandInfo,
4356 { "inbandInfo", "inap.inbandInfo",
4357 FT_NONE, BASE_NONE, NULL, 0,
4358 "InformationToSend/inbandInfo", HFILL }},
4359 { &hf_inap_messageID,
4360 { "messageID", "inap.messageID",
4361 FT_UINT32, BASE_DEC, VALS(inap_MessageID_vals), 0,
4362 "InformationToSend/inbandInfo/messageID", HFILL }},
4363 { &hf_inap_numberOfRepetitions,
4364 { "numberOfRepetitions", "inap.numberOfRepetitions",
4365 FT_UINT32, BASE_DEC, NULL, 0,
4366 "InformationToSend/inbandInfo/numberOfRepetitions", HFILL }},
4367 { &hf_inap_mduration,
4368 { "mduration", "inap.mduration",
4369 FT_UINT32, BASE_DEC, NULL, 0,
4370 "InformationToSend/inbandInfo/mduration", HFILL }},
4371 { &hf_inap_interval,
4372 { "interval", "inap.interval",
4373 FT_UINT32, BASE_DEC, NULL, 0,
4376 { "tone", "inap.tone",
4377 FT_NONE, BASE_NONE, NULL, 0,
4378 "InformationToSend/tone", HFILL }},
4379 { &hf_inap_displayInformation,
4380 { "displayInformation", "inap.displayInformation",
4381 FT_STRING, BASE_NONE, NULL, 0,
4382 "InformationToSend/displayInformation", HFILL }},
4383 { &hf_inap_dialledNumber,
4384 { "dialledNumber", "inap.dialledNumber",
4385 FT_BYTES, BASE_HEX, NULL, 0,
4386 "FilteringCriteria/dialledNumber", HFILL }},
4387 { &hf_inap_callingLineID,
4388 { "callingLineID", "inap.callingLineID",
4389 FT_BYTES, BASE_HEX, NULL, 0,
4390 "FilteringCriteria/callingLineID", HFILL }},
4391 { &hf_inap_serviceKey,
4392 { "serviceKey", "inap.serviceKey",
4393 FT_UINT32, BASE_DEC, NULL, 0,
4395 { &hf_inap_addressAndService,
4396 { "addressAndService", "inap.addressAndService",
4397 FT_NONE, BASE_NONE, NULL, 0,
4398 "FilteringCriteria/addressAndService", HFILL }},
4399 { &hf_inap_calledAddressValue,
4400 { "calledAddressValue", "inap.calledAddressValue",
4401 FT_BYTES, BASE_HEX, NULL, 0,
4403 { &hf_inap_callingAddressValue,
4404 { "callingAddressValue", "inap.callingAddressValue",
4405 FT_BYTES, BASE_HEX, NULL, 0,
4407 { &hf_inap_locationNumber,
4408 { "locationNumber", "inap.locationNumber",
4409 FT_BYTES, BASE_HEX, NULL, 0,
4411 { &hf_inap_Extensions_item,
4412 { "Item", "inap.Extensions_item",
4413 FT_NONE, BASE_NONE, NULL, 0,
4414 "Extensions/_item", HFILL }},
4416 { "type", "inap.type",
4417 FT_INT32, BASE_DEC, NULL, 0,
4418 "Extensions/_item/type", HFILL }},
4419 { &hf_inap_criticality,
4420 { "criticality", "inap.criticality",
4421 FT_UINT32, BASE_DEC, VALS(inap_T_criticality_vals), 0,
4422 "Extensions/_item/criticality", HFILL }},
4424 { "value", "inap.value",
4425 FT_BYTES, BASE_HEX, NULL, 0,
4426 "Extensions/_item/value", HFILL }},
4427 { &hf_inap_filteredCallTreatment,
4428 { "filteredCallTreatment", "inap.filteredCallTreatment",
4429 FT_NONE, BASE_NONE, NULL, 0,
4430 "ActivateServiceFilteringarg/filteredCallTreatment", HFILL }},
4431 { &hf_inap_sFBillingChargingCharacteristics,
4432 { "sFBillingChargingCharacteristics", "inap.sFBillingChargingCharacteristics",
4433 FT_BYTES, BASE_HEX, NULL, 0,
4434 "ActivateServiceFilteringarg/filteredCallTreatment/sFBillingChargingCharacteristics", HFILL }},
4435 { &hf_inap_informationToSend,
4436 { "informationToSend", "inap.informationToSend",
4437 FT_UINT32, BASE_DEC, VALS(inap_InformationToSend_vals), 0,
4439 { &hf_inap_maximumNumberOfCounters,
4440 { "maximumNumberOfCounters", "inap.maximumNumberOfCounters",
4441 FT_INT32, BASE_DEC, NULL, 0,
4442 "ActivateServiceFilteringarg/filteredCallTreatment/maximumNumberOfCounters", HFILL }},
4443 { &hf_inap_filteringCharacteristics,
4444 { "filteringCharacteristics", "inap.filteringCharacteristics",
4445 FT_UINT32, BASE_DEC, VALS(inap_T_filteringCharacteristics_vals), 0,
4446 "ActivateServiceFilteringarg/filteringCharacteristics", HFILL }},
4447 { &hf_inap_numberOfCalls,
4448 { "numberOfCalls", "inap.numberOfCalls",
4449 FT_UINT32, BASE_DEC, NULL, 0,
4450 "ActivateServiceFilteringarg/filteringCharacteristics/numberOfCalls", HFILL }},
4451 { &hf_inap_filteringTimeOut,
4452 { "filteringTimeOut", "inap.filteringTimeOut",
4453 FT_UINT32, BASE_DEC, VALS(inap_T_filteringTimeOut_vals), 0,
4454 "ActivateServiceFilteringarg/filteringTimeOut", HFILL }},
4455 { &hf_inap_aduration,
4456 { "aduration", "inap.aduration",
4457 FT_UINT32, BASE_DEC, NULL, 0,
4458 "ActivateServiceFilteringarg/filteringTimeOut/aduration", HFILL }},
4459 { &hf_inap_stopTime,
4460 { "stopTime", "inap.stopTime",
4461 FT_BYTES, BASE_HEX, NULL, 0,
4462 "ActivateServiceFilteringarg/filteringTimeOut/stopTime", HFILL }},
4463 { &hf_inap_filteringCriteria,
4464 { "filteringCriteria", "inap.filteringCriteria",
4465 FT_UINT32, BASE_DEC, VALS(inap_FilteringCriteria_vals), 0,
4467 { &hf_inap_startTime,
4468 { "startTime", "inap.startTime",
4469 FT_BYTES, BASE_HEX, NULL, 0,
4470 "ActivateServiceFilteringarg/startTime", HFILL }},
4471 { &hf_inap_extensions,
4472 { "extensions", "inap.extensions",
4473 FT_NONE, BASE_NONE, NULL, 0,
4475 { &hf_inap_messageType,
4476 { "messageType", "inap.messageType",
4477 FT_UINT32, BASE_DEC, VALS(inap_T_messageType_vals), 0,
4478 "MiscCallInfo/messageType", HFILL }},
4479 { &hf_inap_dpAssignment,
4480 { "dpAssignment", "inap.dpAssignment",
4481 FT_UINT32, BASE_DEC, VALS(inap_T_dpAssignment_vals), 0,
4482 "MiscCallInfo/dpAssignment", HFILL }},
4483 { &hf_inap_miscCallInfo,
4484 { "miscCallInfo", "inap.miscCallInfo",
4485 FT_NONE, BASE_NONE, NULL, 0,
4487 { &hf_inap_triggerType,
4488 { "triggerType", "inap.triggerType",
4489 FT_UINT32, BASE_DEC, VALS(inap_TriggerType_vals), 0,
4491 { &hf_inap_RouteList_item,
4492 { "Item", "inap.RouteList_item",
4493 FT_BYTES, BASE_HEX, NULL, 0,
4494 "RouteList/_item", HFILL }},
4495 { &hf_inap_bearerCap,
4496 { "bearerCap", "inap.bearerCap",
4497 FT_BYTES, BASE_HEX, NULL, 0,
4498 "BearerCapability/bearerCap", HFILL }},
4500 { "tmr", "inap.tmr",
4501 FT_BYTES, BASE_HEX, NULL, 0,
4502 "BearerCapability/tmr", HFILL }},
4503 { &hf_inap_serviceAddressInformation,
4504 { "serviceAddressInformation", "inap.serviceAddressInformation",
4505 FT_NONE, BASE_NONE, NULL, 0,
4506 "DpSpecificCommonParameters/serviceAddressInformation", HFILL }},
4507 { &hf_inap_bearerCapability,
4508 { "bearerCapability", "inap.bearerCapability",
4509 FT_UINT32, BASE_DEC, VALS(inap_BearerCapability_vals), 0,
4511 { &hf_inap_calledPartyNumber,
4512 { "calledPartyNumber", "inap.calledPartyNumber",
4513 FT_BYTES, BASE_HEX, NULL, 0,
4515 { &hf_inap_callingPartyNumber,
4516 { "callingPartyNumber", "inap.callingPartyNumber",
4517 FT_BYTES, BASE_HEX, NULL, 0,
4519 { &hf_inap_callingPartysCategory,
4520 { "callingPartysCategory", "inap.callingPartysCategory",
4521 FT_BYTES, BASE_HEX, NULL, 0,
4523 { &hf_inap_iPSSPCapabilities,
4524 { "iPSSPCapabilities", "inap.iPSSPCapabilities",
4525 FT_BYTES, BASE_HEX, NULL, 0,
4527 { &hf_inap_iPAvailable,
4528 { "iPAvailable", "inap.iPAvailable",
4529 FT_BYTES, BASE_HEX, NULL, 0,
4531 { &hf_inap_iSDNAccessRelatedInformation,
4532 { "iSDNAccessRelatedInformation", "inap.iSDNAccessRelatedInformation",
4533 FT_BYTES, BASE_HEX, NULL, 0,
4535 { &hf_inap_cGEncountered,
4536 { "cGEncountered", "inap.cGEncountered",
4537 FT_UINT32, BASE_DEC, VALS(inap_CGEncountered_vals), 0,
4539 { &hf_inap_serviceProfileIdentifier,
4540 { "serviceProfileIdentifier", "inap.serviceProfileIdentifier",
4541 FT_BYTES, BASE_HEX, NULL, 0,
4543 { &hf_inap_terminalType,
4544 { "terminalType", "inap.terminalType",
4545 FT_UINT32, BASE_DEC, VALS(inap_TerminalType_vals), 0,
4547 { &hf_inap_chargeNumber,
4548 { "chargeNumber", "inap.chargeNumber",
4549 FT_BYTES, BASE_HEX, NULL, 0,
4551 { &hf_inap_servingAreaID,
4552 { "servingAreaID", "inap.servingAreaID",
4553 FT_BYTES, BASE_HEX, NULL, 0,
4554 "DpSpecificCommonParameters/servingAreaID", HFILL }},
4555 { &hf_inap_trunkGroupID,
4556 { "trunkGroupID", "inap.trunkGroupID",
4557 FT_INT32, BASE_DEC, NULL, 0,
4559 { &hf_inap_privateFacilityID,
4560 { "privateFacilityID", "inap.privateFacilityID",
4561 FT_INT32, BASE_DEC, NULL, 0,
4563 { &hf_inap_huntGroup,
4564 { "huntGroup", "inap.huntGroup",
4565 FT_BYTES, BASE_HEX, NULL, 0,
4567 { &hf_inap_routeIndex,
4568 { "routeIndex", "inap.routeIndex",
4569 FT_BYTES, BASE_HEX, NULL, 0,
4571 { &hf_inap_dpSpecificCommonParameters,
4572 { "dpSpecificCommonParameters", "inap.dpSpecificCommonParameters",
4573 FT_NONE, BASE_NONE, NULL, 0,
4575 { &hf_inap_dialledDigits,
4576 { "dialledDigits", "inap.dialledDigits",
4577 FT_BYTES, BASE_HEX, NULL, 0,
4579 { &hf_inap_callingPartyBusinessGroupID,
4580 { "callingPartyBusinessGroupID", "inap.callingPartyBusinessGroupID",
4581 FT_BYTES, BASE_HEX, NULL, 0,
4583 { &hf_inap_callingPartySubaddress,
4584 { "callingPartySubaddress", "inap.callingPartySubaddress",
4585 FT_BYTES, BASE_HEX, NULL, 0,
4587 { &hf_inap_callingFacilityGroup,
4588 { "callingFacilityGroup", "inap.callingFacilityGroup",
4589 FT_UINT32, BASE_DEC, VALS(inap_CallingFacilityGroup_vals), 0,
4591 { &hf_inap_callingFacilityGroupMember,
4592 { "callingFacilityGroupMember", "inap.callingFacilityGroupMember",
4593 FT_INT32, BASE_DEC, NULL, 0,
4595 { &hf_inap_originalCalledPartyID,
4596 { "originalCalledPartyID", "inap.originalCalledPartyID",
4597 FT_BYTES, BASE_HEX, NULL, 0,
4600 { "prefix", "inap.prefix",
4601 FT_BYTES, BASE_HEX, NULL, 0,
4603 { &hf_inap_redirectingPartyID,
4604 { "redirectingPartyID", "inap.redirectingPartyID",
4605 FT_BYTES, BASE_HEX, NULL, 0,
4607 { &hf_inap_redirectionInformation,
4608 { "redirectionInformation", "inap.redirectionInformation",
4609 FT_BYTES, BASE_HEX, NULL, 0,
4611 { &hf_inap_routeList,
4612 { "routeList", "inap.routeList",
4613 FT_NONE, BASE_NONE, NULL, 0,
4615 { &hf_inap_travellingClassMark,
4616 { "travellingClassMark", "inap.travellingClassMark",
4617 FT_BYTES, BASE_HEX, NULL, 0,
4619 { &hf_inap_featureCode,
4620 { "featureCode", "inap.featureCode",
4621 FT_BYTES, BASE_HEX, NULL, 0,
4623 { &hf_inap_accessCode,
4624 { "accessCode", "inap.accessCode",
4625 FT_BYTES, BASE_HEX, NULL, 0,
4628 { "carrier", "inap.carrier",
4629 FT_BYTES, BASE_HEX, NULL, 0,
4631 { &hf_inap_destinationRoutingAddress,
4632 { "destinationRoutingAddress", "inap.destinationRoutingAddress",
4633 FT_NONE, BASE_NONE, NULL, 0,
4635 { &hf_inap_destinationRoutingAddress_item,
4636 { "Item", "inap.destinationRoutingAddress_item",
4637 FT_BYTES, BASE_HEX, NULL, 0,
4639 { &hf_inap_alertingPattern,
4640 { "alertingPattern", "inap.alertingPattern",
4641 FT_BYTES, BASE_HEX, NULL, 0,
4643 { &hf_inap_aChBillingChargingCharacteristics,
4644 { "aChBillingChargingCharacteristics", "inap.aChBillingChargingCharacteristics",
4645 FT_BYTES, BASE_HEX, NULL, 0,
4646 "ApplyChargingarg/aChBillingChargingCharacteristics", HFILL }},
4647 { &hf_inap_partyToCharge,
4648 { "partyToCharge", "inap.partyToCharge",
4649 FT_UINT32, BASE_DEC, VALS(inap_PartyToCharge_vals), 0,
4651 { &hf_inap_correlationID,
4652 { "correlationID", "inap.correlationID",
4653 FT_BYTES, BASE_HEX, NULL, 0,
4655 { &hf_inap_gapCriteria,
4656 { "gapCriteria", "inap.gapCriteria",
4657 FT_UINT32, BASE_DEC, VALS(inap_T_gapCriteria_vals), 0,
4658 "CallGaparg/gapCriteria", HFILL }},
4659 { &hf_inap_gapOnService,
4660 { "gapOnService", "inap.gapOnService",
4661 FT_NONE, BASE_NONE, NULL, 0,
4662 "CallGaparg/gapCriteria/gapOnService", HFILL }},
4663 { &hf_inap_dpCriteria,
4664 { "dpCriteria", "inap.dpCriteria",
4665 FT_UINT32, BASE_DEC, VALS(inap_T_dpCriteria_vals), 0,
4666 "CallGaparg/gapCriteria/gapOnService/dpCriteria", HFILL }},
4667 { &hf_inap_calledAddressAndService,
4668 { "calledAddressAndService", "inap.calledAddressAndService",
4669 FT_NONE, BASE_NONE, NULL, 0,
4670 "CallGaparg/gapCriteria/calledAddressAndService", HFILL }},
4671 { &hf_inap_callingAddressAndService,
4672 { "callingAddressAndService", "inap.callingAddressAndService",
4673 FT_NONE, BASE_NONE, NULL, 0,
4674 "CallGaparg/gapCriteria/callingAddressAndService", HFILL }},
4675 { &hf_inap_gapIndicators,
4676 { "gapIndicators", "inap.gapIndicators",
4677 FT_NONE, BASE_NONE, NULL, 0,
4678 "CallGaparg/gapIndicators", HFILL }},
4679 { &hf_inap_cgduration,
4680 { "cgduration", "inap.cgduration",
4681 FT_UINT32, BASE_DEC, NULL, 0,
4682 "CallGaparg/gapIndicators/cgduration", HFILL }},
4683 { &hf_inap_gapInterval,
4684 { "gapInterval", "inap.gapInterval",
4685 FT_UINT32, BASE_DEC, NULL, 0,
4686 "CallGaparg/gapIndicators/gapInterval", HFILL }},
4687 { &hf_inap_controlType,
4688 { "controlType", "inap.controlType",
4689 FT_UINT32, BASE_DEC, VALS(inap_T_controlType_vals), 0,
4690 "CallGaparg/controlType", HFILL }},
4691 { &hf_inap_gapTreatment,
4692 { "gapTreatment", "inap.gapTreatment",
4693 FT_UINT32, BASE_DEC, VALS(inap_T_gapTreatment_vals), 0,
4694 "CallGaparg/gapTreatment", HFILL }},
4696 { "both", "inap.both",
4697 FT_NONE, BASE_NONE, NULL, 0,
4699 { &hf_inap_requestedInformationList,
4700 { "requestedInformationList", "inap.requestedInformationList",
4701 FT_NONE, BASE_NONE, NULL, 0,
4702 "CallInformationReportarg/requestedInformationList", HFILL }},
4703 { &hf_inap_requestedInformationList_item,
4704 { "Item", "inap.requestedInformationList_item",
4705 FT_NONE, BASE_NONE, NULL, 0,
4706 "CallInformationReportarg/requestedInformationList/_item", HFILL }},
4707 { &hf_inap_requestedInformationType,
4708 { "requestedInformationType", "inap.requestedInformationType",
4709 FT_UINT32, BASE_DEC, VALS(inap_T_requestedInformationType_vals), 0,
4710 "CallInformationReportarg/requestedInformationList/_item/requestedInformationType", HFILL }},
4711 { &hf_inap_requestedInformationValue,
4712 { "requestedInformationValue", "inap.requestedInformationValue",
4713 FT_UINT32, BASE_DEC, VALS(inap_T_requestedInformationValue_vals), 0,
4714 "CallInformationReportarg/requestedInformationList/_item/requestedInformationValue", HFILL }},
4715 { &hf_inap_callAttemptElapsedTimeValue,
4716 { "callAttemptElapsedTimeValue", "inap.callAttemptElapsedTimeValue",
4717 FT_UINT32, BASE_DEC, NULL, 0,
4718 "CallInformationReportarg/requestedInformationList/_item/requestedInformationValue/callAttemptElapsedTimeValue", HFILL }},
4719 { &hf_inap_callStopTimeValue,
4720 { "callStopTimeValue", "inap.callStopTimeValue",
4721 FT_BYTES, BASE_HEX, NULL, 0,
4722 "CallInformationReportarg/requestedInformationList/_item/requestedInformationValue/callStopTimeValue", HFILL }},
4723 { &hf_inap_callConnectedElapsedTimeValue,
4724 { "callConnectedElapsedTimeValue", "inap.callConnectedElapsedTimeValue",
4725 FT_UINT32, BASE_DEC, NULL, 0,
4726 "CallInformationReportarg/requestedInformationList/_item/requestedInformationValue/callConnectedElapsedTimeValue", HFILL }},
4727 { &hf_inap_releaseCauseValue,
4728 { "releaseCauseValue", "inap.releaseCauseValue",
4729 FT_BYTES, BASE_HEX, NULL, 0,
4730 "CallInformationReportarg/requestedInformationList/_item/requestedInformationValue/releaseCauseValue", HFILL }},
4731 { &hf_inap_requestedInformationTypeList,
4732 { "requestedInformationTypeList", "inap.requestedInformationTypeList",
4733 FT_NONE, BASE_NONE, NULL, 0,
4734 "CallInformationRequestarg/requestedInformationTypeList", HFILL }},
4735 { &hf_inap_requestedInformationTypeList_item,
4736 { "Item", "inap.requestedInformationTypeList_item",
4737 FT_UINT32, BASE_DEC, VALS(inap_T_requestedInformationTypeList_item_vals), 0,
4738 "CallInformationRequestarg/requestedInformationTypeList/_item", HFILL }},
4739 { &hf_inap_invokeID,
4740 { "invokeID", "inap.invokeID",
4741 FT_UINT32, BASE_DEC, NULL, 0,
4742 "Cancelarg/invokeID", HFILL }},
4743 { &hf_inap_allRequests,
4744 { "allRequests", "inap.allRequests",
4745 FT_NONE, BASE_NONE, NULL, 0,
4746 "Cancelarg/allRequests", HFILL }},
4748 { "lineID", "inap.lineID",
4749 FT_BYTES, BASE_HEX, NULL, 0,
4751 { &hf_inap_facilityGroupID,
4752 { "facilityGroupID", "inap.facilityGroupID",
4753 FT_UINT32, BASE_DEC, VALS(inap_FacilityGroupID_vals), 0,
4755 { &hf_inap_facilityGroupMemberID,
4756 { "facilityGroupMemberID", "inap.facilityGroupMemberID",
4757 FT_INT32, BASE_DEC, NULL, 0,
4759 { &hf_inap_resourceID,
4760 { "resourceID", "inap.resourceID",
4761 FT_UINT32, BASE_DEC, VALS(inap_ResourceID_vals), 0,
4763 { &hf_inap_numberingPlan,
4764 { "numberingPlan", "inap.numberingPlan",
4765 FT_BYTES, BASE_HEX, NULL, 0,
4766 "CollectInformationarg/numberingPlan", HFILL }},
4767 { &hf_inap_cutAndPaste,
4768 { "cutAndPaste", "inap.cutAndPaste",
4769 FT_UINT32, BASE_DEC, NULL, 0,
4770 "Connectarg/cutAndPaste", HFILL }},
4771 { &hf_inap_forwardingCondition,
4772 { "forwardingCondition", "inap.forwardingCondition",
4773 FT_UINT32, BASE_DEC, VALS(inap_T_forwardingCondition_vals), 0,
4774 "Connectarg/forwardingCondition", HFILL }},
4776 { "scfID", "inap.scfID",
4777 FT_BYTES, BASE_HEX, NULL, 0,
4779 { &hf_inap_serviceInteractionIndicators,
4780 { "serviceInteractionIndicators", "inap.serviceInteractionIndicators",
4781 FT_BYTES, BASE_HEX, NULL, 0,
4783 { &hf_inap_resourceAddress,
4784 { "resourceAddress", "inap.resourceAddress",
4785 FT_UINT32, BASE_DEC, VALS(inap_T_resourceAddress_vals), 0,
4786 "ConnectToResource/resourceAddress", HFILL }},
4787 { &hf_inap_ipRoutingAddress,
4788 { "ipRoutingAddress", "inap.ipRoutingAddress",
4789 FT_BYTES, BASE_HEX, NULL, 0,
4790 "ConnectToResource/resourceAddress/ipRoutingAddress", HFILL }},
4792 { "none", "inap.none",
4793 FT_NONE, BASE_NONE, NULL, 0,
4794 "ConnectToResource/resourceAddress/none", HFILL }},
4795 { &hf_inap_assistingSSPIPRoutingAddress,
4796 { "assistingSSPIPRoutingAddress", "inap.assistingSSPIPRoutingAddress",
4797 FT_BYTES, BASE_HEX, NULL, 0,
4798 "EstablishTemporaryConnection/assistingSSPIPRoutingAddress", HFILL }},
4799 { &hf_inap_eventTypeCharging,
4800 { "eventTypeCharging", "inap.eventTypeCharging",
4801 FT_BYTES, BASE_HEX, NULL, 0,
4803 { &hf_inap_eventSpecificInformationCharging,
4804 { "eventSpecificInformationCharging", "inap.eventSpecificInformationCharging",
4805 FT_BYTES, BASE_HEX, NULL, 0,
4806 "EventNotificationChargingarg/eventSpecificInformationCharging", HFILL }},
4807 { &hf_inap_monitorMode,
4808 { "monitorMode", "inap.monitorMode",
4809 FT_UINT32, BASE_DEC, VALS(inap_MonitorMode_vals), 0,
4811 { &hf_inap_eventTypeBCSM,
4812 { "eventTypeBCSM", "inap.eventTypeBCSM",
4813 FT_UINT32, BASE_DEC, VALS(inap_EventTypeBCSM_vals), 0,
4815 { &hf_inap_bcsmEventCorrelationID,
4816 { "bcsmEventCorrelationID", "inap.bcsmEventCorrelationID",
4817 FT_BYTES, BASE_HEX, NULL, 0,
4819 { &hf_inap_eventSpecificInformationBCSM,
4820 { "eventSpecificInformationBCSM", "inap.eventSpecificInformationBCSM",
4821 FT_UINT32, BASE_DEC, VALS(inap_T_eventSpecificInformationBCSM_vals), 0,
4822 "EventReportBCSM/eventSpecificInformationBCSM", HFILL }},
4823 { &hf_inap_collectedInfoSpecificInfo,
4824 { "collectedInfoSpecificInfo", "inap.collectedInfoSpecificInfo",
4825 FT_NONE, BASE_NONE, NULL, 0,
4826 "EventReportBCSM/eventSpecificInformationBCSM/collectedInfoSpecificInfo", HFILL }},
4827 { &hf_inap_calledPartynumber,
4828 { "calledPartynumber", "inap.calledPartynumber",
4829 FT_BYTES, BASE_HEX, NULL, 0,
4831 { &hf_inap_analyzedInfoSpecificInfo,
4832 { "analyzedInfoSpecificInfo", "inap.analyzedInfoSpecificInfo",
4833 FT_NONE, BASE_NONE, NULL, 0,
4834 "EventReportBCSM/eventSpecificInformationBCSM/analyzedInfoSpecificInfo", HFILL }},
4835 { &hf_inap_routeSelectFailureSpecificInfo,
4836 { "routeSelectFailureSpecificInfo", "inap.routeSelectFailureSpecificInfo",
4837 FT_NONE, BASE_NONE, NULL, 0,
4838 "EventReportBCSM/eventSpecificInformationBCSM/routeSelectFailureSpecificInfo", HFILL }},
4839 { &hf_inap_failureCause,
4840 { "failureCause", "inap.failureCause",
4841 FT_BYTES, BASE_HEX, NULL, 0,
4843 { &hf_inap_oCalledPartyBusySpecificInfo,
4844 { "oCalledPartyBusySpecificInfo", "inap.oCalledPartyBusySpecificInfo",
4845 FT_NONE, BASE_NONE, NULL, 0,
4846 "EventReportBCSM/eventSpecificInformationBCSM/oCalledPartyBusySpecificInfo", HFILL }},
4847 { &hf_inap_busyCause,
4848 { "busyCause", "inap.busyCause",
4849 FT_BYTES, BASE_HEX, NULL, 0,
4851 { &hf_inap_oNoAnswerSpecificInfo,
4852 { "oNoAnswerSpecificInfo", "inap.oNoAnswerSpecificInfo",
4853 FT_NONE, BASE_NONE, NULL, 0,
4854 "EventReportBCSM/eventSpecificInformationBCSM/oNoAnswerSpecificInfo", HFILL }},
4855 { &hf_inap_oAnswerSpecificInfo,
4856 { "oAnswerSpecificInfo", "inap.oAnswerSpecificInfo",
4857 FT_NONE, BASE_NONE, NULL, 0,
4858 "EventReportBCSM/eventSpecificInformationBCSM/oAnswerSpecificInfo", HFILL }},
4859 { &hf_inap_oMidCallSpecificInfo,
4860 { "oMidCallSpecificInfo", "inap.oMidCallSpecificInfo",
4861 FT_NONE, BASE_NONE, NULL, 0,
4862 "EventReportBCSM/eventSpecificInformationBCSM/oMidCallSpecificInfo", HFILL }},
4863 { &hf_inap_connectTime,
4864 { "connectTime", "inap.connectTime",
4865 FT_UINT32, BASE_DEC, NULL, 0,
4867 { &hf_inap_oDisconnectSpecificInfo,
4868 { "oDisconnectSpecificInfo", "inap.oDisconnectSpecificInfo",
4869 FT_NONE, BASE_NONE, NULL, 0,
4870 "EventReportBCSM/eventSpecificInformationBCSM/oDisconnectSpecificInfo", HFILL }},
4871 { &hf_inap_tBusySpecificInfo,
4872 { "tBusySpecificInfo", "inap.tBusySpecificInfo",
4873 FT_NONE, BASE_NONE, NULL, 0,
4874 "EventReportBCSM/eventSpecificInformationBCSM/tBusySpecificInfo", HFILL }},
4875 { &hf_inap_tNoAnswerSpecificInfo,
4876 { "tNoAnswerSpecificInfo", "inap.tNoAnswerSpecificInfo",
4877 FT_NONE, BASE_NONE, NULL, 0,
4878 "EventReportBCSM/eventSpecificInformationBCSM/tNoAnswerSpecificInfo", HFILL }},
4879 { &hf_inap_tAnswerSpecificInfo,
4880 { "tAnswerSpecificInfo", "inap.tAnswerSpecificInfo",
4881 FT_NONE, BASE_NONE, NULL, 0,
4882 "EventReportBCSM/eventSpecificInformationBCSM/tAnswerSpecificInfo", HFILL }},
4883 { &hf_inap_tMidCallSpecificInfo,
4884 { "tMidCallSpecificInfo", "inap.tMidCallSpecificInfo",
4885 FT_NONE, BASE_NONE, NULL, 0,
4886 "EventReportBCSM/eventSpecificInformationBCSM/tMidCallSpecificInfo", HFILL }},
4887 { &hf_inap_tDisconnectSpecificInfo,
4888 { "tDisconnectSpecificInfo", "inap.tDisconnectSpecificInfo",
4889 FT_NONE, BASE_NONE, NULL, 0,
4890 "EventReportBCSM/eventSpecificInformationBCSM/tDisconnectSpecificInfo", HFILL }},
4891 { &hf_inap_holdcause,
4892 { "holdcause", "inap.holdcause",
4893 FT_BYTES, BASE_HEX, NULL, 0,
4894 "HoldCallInNetworkarg/holdcause", HFILL }},
4896 { "empty", "inap.empty",
4897 FT_NONE, BASE_NONE, NULL, 0,
4898 "HoldCallInNetworkarg/empty", HFILL }},
4899 { &hf_inap_highLayerCompatibility,
4900 { "highLayerCompatibility", "inap.highLayerCompatibility",
4901 FT_BYTES, BASE_HEX, NULL, 0,
4902 "InitialDP/highLayerCompatibility", HFILL }},
4903 { &hf_inap_additionalCallingPartyNumber,
4904 { "additionalCallingPartyNumber", "inap.additionalCallingPartyNumber",
4905 FT_BYTES, BASE_HEX, NULL, 0,
4906 "InitialDP/additionalCallingPartyNumber", HFILL }},
4907 { &hf_inap_forwardCallIndicators,
4908 { "forwardCallIndicators", "inap.forwardCallIndicators",
4909 FT_BYTES, BASE_HEX, NULL, 0,
4910 "InitialDP/forwardCallIndicators", HFILL }},
4911 { &hf_inap_calledPartyBusinessGroupID,
4912 { "calledPartyBusinessGroupID", "inap.calledPartyBusinessGroupID",
4913 FT_BYTES, BASE_HEX, NULL, 0,
4915 { &hf_inap_calledPartySubaddress,
4916 { "calledPartySubaddress", "inap.calledPartySubaddress",
4917 FT_BYTES, BASE_HEX, NULL, 0,
4919 { &hf_inap_featureRequestIndicator,
4920 { "featureRequestIndicator", "inap.featureRequestIndicator",
4921 FT_UINT32, BASE_DEC, VALS(inap_FeatureRequestIndicator_vals), 0,
4923 { &hf_inap_disconnectFromIPForbidden,
4924 { "disconnectFromIPForbidden", "inap.disconnectFromIPForbidden",
4925 FT_BOOLEAN, 8, NULL, 0,
4927 { &hf_inap_requestAnnouncementComplete,
4928 { "requestAnnouncementComplete", "inap.requestAnnouncementComplete",
4929 FT_BOOLEAN, 8, NULL, 0,
4930 "PlayAnnouncement/requestAnnouncementComplete", HFILL }},
4931 { &hf_inap_collectedInfo,
4932 { "collectedInfo", "inap.collectedInfo",
4933 FT_UINT32, BASE_DEC, VALS(inap_T_collectedInfo_vals), 0,
4934 "PromptAndCollectUserInformationarg/collectedInfo", HFILL }},
4935 { &hf_inap_collectedDigits,
4936 { "collectedDigits", "inap.collectedDigits",
4937 FT_NONE, BASE_NONE, NULL, 0,
4938 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits", HFILL }},
4939 { &hf_inap_minimumNbOfDigits,
4940 { "minimumNbOfDigits", "inap.minimumNbOfDigits",
4941 FT_UINT32, BASE_DEC, NULL, 0,
4942 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/minimumNbOfDigits", HFILL }},
4943 { &hf_inap_maximumNbOfDigits,
4944 { "maximumNbOfDigits", "inap.maximumNbOfDigits",
4945 FT_UINT32, BASE_DEC, NULL, 0,
4946 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/maximumNbOfDigits", HFILL }},
4947 { &hf_inap_endOfReplyDigit,
4948 { "endOfReplyDigit", "inap.endOfReplyDigit",
4949 FT_BYTES, BASE_HEX, NULL, 0,
4950 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/endOfReplyDigit", HFILL }},
4951 { &hf_inap_cancelDigit,
4952 { "cancelDigit", "inap.cancelDigit",
4953 FT_BYTES, BASE_HEX, NULL, 0,
4954 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/cancelDigit", HFILL }},
4955 { &hf_inap_startDigit,
4956 { "startDigit", "inap.startDigit",
4957 FT_BYTES, BASE_HEX, NULL, 0,
4958 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/startDigit", HFILL }},
4959 { &hf_inap_firstDigitTimeOut,
4960 { "firstDigitTimeOut", "inap.firstDigitTimeOut",
4961 FT_UINT32, BASE_DEC, NULL, 0,
4962 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/firstDigitTimeOut", HFILL }},
4963 { &hf_inap_interDigitTimeOut,
4964 { "interDigitTimeOut", "inap.interDigitTimeOut",
4965 FT_UINT32, BASE_DEC, NULL, 0,
4966 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/interDigitTimeOut", HFILL }},
4967 { &hf_inap_errorTreatment,
4968 { "errorTreatment", "inap.errorTreatment",
4969 FT_UINT32, BASE_DEC, VALS(inap_T_errorTreatment_vals), 0,
4970 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/errorTreatment", HFILL }},
4971 { &hf_inap_interruptableAnnInd,
4972 { "interruptableAnnInd", "inap.interruptableAnnInd",
4973 FT_BOOLEAN, 8, NULL, 0,
4974 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/interruptableAnnInd", HFILL }},
4975 { &hf_inap_voiceInformation,
4976 { "voiceInformation", "inap.voiceInformation",
4977 FT_BOOLEAN, 8, NULL, 0,
4978 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/voiceInformation", HFILL }},
4979 { &hf_inap_voiceBack,
4980 { "voiceBack", "inap.voiceBack",
4981 FT_BOOLEAN, 8, NULL, 0,
4982 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/voiceBack", HFILL }},
4983 { &hf_inap_iA5Information,
4984 { "iA5Information", "inap.iA5Information",
4985 FT_BOOLEAN, 8, NULL, 0,
4986 "PromptAndCollectUserInformationarg/collectedInfo/iA5Information", HFILL }},
4987 { &hf_inap_digitsResponse,
4988 { "digitsResponse", "inap.digitsResponse",
4989 FT_BYTES, BASE_HEX, NULL, 0,
4990 "PromptAndCollectUserInformationres/digitsResponse", HFILL }},
4991 { &hf_inap_iA5Response,
4992 { "iA5Response", "inap.iA5Response",
4993 FT_STRING, BASE_NONE, NULL, 0,
4994 "PromptAndCollectUserInformationres/iA5Response", HFILL }},
4995 { &hf_inap_resourceStatus,
4996 { "resourceStatus", "inap.resourceStatus",
4997 FT_UINT32, BASE_DEC, VALS(inap_ResourceStatus_vals), 0,
4999 { &hf_inap_monitorDuration,
5000 { "monitorDuration", "inap.monitorDuration",
5001 FT_UINT32, BASE_DEC, NULL, 0,
5003 { &hf_inap_RequestNotificationChargingEvent_item,
5004 { "Item", "inap.RequestNotificationChargingEvent_item",
5005 FT_NONE, BASE_NONE, NULL, 0,
5006 "RequestNotificationChargingEvent/_item", HFILL }},
5007 { &hf_inap_bcsmEvents,
5008 { "bcsmEvents", "inap.bcsmEvents",
5009 FT_NONE, BASE_NONE, NULL, 0,
5010 "RequestReportBCSMEvent/bcsmEvents", HFILL }},
5011 { &hf_inap_bcsmEvents_item,
5012 { "Item", "inap.bcsmEvents_item",
5013 FT_NONE, BASE_NONE, NULL, 0,
5014 "RequestReportBCSMEvent/bcsmEvents/_item", HFILL }},
5015 { &hf_inap_dpSpecificCriteria,
5016 { "dpSpecificCriteria", "inap.dpSpecificCriteria",
5017 FT_UINT32, BASE_DEC, VALS(inap_T_dpSpecificCriteria_vals), 0,
5018 "RequestReportBCSMEvent/bcsmEvents/_item/dpSpecificCriteria", HFILL }},
5019 { &hf_inap_numberOfDigits,
5020 { "numberOfDigits", "inap.numberOfDigits",
5021 FT_UINT32, BASE_DEC, NULL, 0,
5022 "RequestReportBCSMEvent/bcsmEvents/_item/dpSpecificCriteria/numberOfDigits", HFILL }},
5023 { &hf_inap_applicationTimer,
5024 { "applicationTimer", "inap.applicationTimer",
5025 FT_UINT32, BASE_DEC, NULL, 0,
5026 "RequestReportBCSMEvent/bcsmEvents/_item/dpSpecificCriteria/applicationTimer", HFILL }},
5028 { "timerID", "inap.timerID",
5029 FT_UINT32, BASE_DEC, VALS(inap_T_timerID_vals), 0,
5030 "ResetTimer/timerID", HFILL }},
5031 { &hf_inap_timervalue,
5032 { "timervalue", "inap.timervalue",
5033 FT_UINT32, BASE_DEC, NULL, 0,
5034 "ResetTimer/timervalue", HFILL }},
5035 { &hf_inap_destinationNumberRoutingAddress,
5036 { "destinationNumberRoutingAddress", "inap.destinationNumberRoutingAddress",
5037 FT_BYTES, BASE_HEX, NULL, 0,
5038 "SelectFacility/destinationNumberRoutingAddress", HFILL }},
5039 { &hf_inap_calledFacilityGroup,
5040 { "calledFacilityGroup", "inap.calledFacilityGroup",
5041 FT_UINT32, BASE_DEC, VALS(inap_CalledFacilityGroup_vals), 0,
5043 { &hf_inap_calledFacilityGroupMember,
5044 { "calledFacilityGroupMember", "inap.calledFacilityGroupMember",
5045 FT_INT32, BASE_DEC, NULL, 0,
5047 { &hf_inap_sCIBillingChargingCharacteristics,
5048 { "sCIBillingChargingCharacteristics", "inap.sCIBillingChargingCharacteristics",
5049 FT_BYTES, BASE_HEX, NULL, 0,
5050 "SendChargingInformation/sCIBillingChargingCharacteristics", HFILL }},
5051 { &hf_inap_countersValue,
5052 { "countersValue", "inap.countersValue",
5053 FT_NONE, BASE_NONE, NULL, 0,
5054 "ServiceFilteringResponse/countersValue", HFILL }},
5055 { &hf_inap_countersValue_item,
5056 { "Item", "inap.countersValue_item",
5057 FT_NONE, BASE_NONE, NULL, 0,
5058 "ServiceFilteringResponse/countersValue/_item", HFILL }},
5059 { &hf_inap_counterID,
5060 { "counterID", "inap.counterID",
5061 FT_UINT32, BASE_DEC, NULL, 0,
5062 "ServiceFilteringResponse/countersValue/_item/counterID", HFILL }},
5063 { &hf_inap_counterValue,
5064 { "counterValue", "inap.counterValue",
5065 FT_UINT32, BASE_DEC, NULL, 0,
5066 "ServiceFilteringResponse/countersValue/_item/counterValue", HFILL }},
5067 { &hf_inap_responseCondition,
5068 { "responseCondition", "inap.responseCondition",
5069 FT_UINT32, BASE_DEC, VALS(inap_T_responseCondition_vals), 0,
5070 "ServiceFilteringResponse/responseCondition", HFILL }},
5071 { &hf_inap_reportCondition,
5072 { "reportCondition", "inap.reportCondition",
5073 FT_UINT32, BASE_DEC, VALS(inap_T_reportCondition_vals), 0,
5074 "StatusReport/reportCondition", HFILL }},
5076 { "problem", "inap.problem",
5077 FT_UINT32, BASE_DEC, VALS(inap_T_problem_vals), 0,
5078 "CancelFailed/problem", HFILL }},
5079 { &hf_inap_operation,
5080 { "operation", "inap.operation",
5081 FT_UINT32, BASE_DEC, NULL, 0,
5082 "CancelFailed/operation", HFILL }},
5084 /*--- End of included file: packet-inap-hfarr.c ---*/
5093 /* List of subtrees */
5094 static gint *ett[] = {
5097 &ett_inap_InvokePDU,
5098 &ett_inap_ReturnResultPDU,
5099 &ett_inap_ReturnResult_result,
5101 &ett_inapisup_parameter,
5103 /*--- Included file: packet-inap-ettarr.c ---*/
5105 &ett_inap_AddPartyArg,
5106 &ett_inap_AttachArg,
5107 &ett_inap_CallPartyHandlingResultsArg,
5108 &ett_inap_ChangePartiesArg,
5109 &ett_inap_DetachArg,
5110 &ett_inap_HoldCallPartyConnectionArg,
5112 &ett_inap_ReconnectArg,
5113 &ett_inap_ReleaseCallPartyConnectionArg,
5114 &ett_inap_LegInformation,
5115 &ett_inap_VariableParts,
5116 &ett_inap_VariableParts_item,
5117 &ett_inap_VariableMessage,
5120 &ett_inap_MessageID,
5121 &ett_inap_T_elementaryMessageIDs,
5122 &ett_inap_InformationToSend,
5123 &ett_inap_T_inbandInfo,
5124 &ett_inap_FilteringCriteria,
5125 &ett_inap_T_addressAndService,
5126 &ett_inap_Extensions,
5127 &ett_inap_Extensions_item,
5128 &ett_inap_ActivateServiceFilteringarg,
5129 &ett_inap_T_filteredCallTreatment,
5130 &ett_inap_T_filteringCharacteristics,
5131 &ett_inap_T_filteringTimeOut,
5132 &ett_inap_MiscCallInfo,
5133 &ett_inap_ServiceAddressInformation,
5134 &ett_inap_RouteList,
5135 &ett_inap_BearerCapability,
5136 &ett_inap_DpSpecificCommonParameters,
5137 &ett_inap_CallingFacilityGroup,
5138 &ett_inap_AnalysedInformationarg,
5139 &ett_inap_AnalyseInformationarg,
5140 &ett_inap_SEQUENCE_SIZE_1_3_OF_DestinationAddress,
5141 &ett_inap_PartyToCharge,
5142 &ett_inap_ApplyChargingarg,
5143 &ett_inap_AssistRequestInstructionsarg,
5144 &ett_inap_CallGaparg,
5145 &ett_inap_T_gapCriteria,
5146 &ett_inap_T_gapOnService,
5147 &ett_inap_T_calledAddressAndService,
5148 &ett_inap_T_callingAddressAndService,
5149 &ett_inap_T_gapIndicators,
5150 &ett_inap_T_gapTreatment,
5152 &ett_inap_CallInformationReportarg,
5153 &ett_inap_T_requestedInformationList,
5154 &ett_inap_T_requestedInformationList_item,
5155 &ett_inap_T_requestedInformationValue,
5156 &ett_inap_CallInformationRequestarg,
5157 &ett_inap_T_requestedInformationTypeList,
5158 &ett_inap_Cancelarg,
5159 &ett_inap_FacilityGroupID,
5160 &ett_inap_ResourceID,
5161 &ett_inap_CancelStatusReportRequestarg,
5162 &ett_inap_CollectedInformationarg,
5163 &ett_inap_CollectInformationarg,
5164 &ett_inap_Connectarg,
5165 &ett_inap_ConnectToResource,
5166 &ett_inap_T_resourceAddress,
5167 &ett_inap_EstablishTemporaryConnection,
5168 &ett_inap_EventNotificationChargingarg,
5169 &ett_inap_EventReportBCSM,
5170 &ett_inap_T_eventSpecificInformationBCSM,
5171 &ett_inap_T_collectedInfoSpecificInfo,
5172 &ett_inap_T_analyzedInfoSpecificInfo,
5173 &ett_inap_T_routeSelectFailureSpecificInfo,
5174 &ett_inap_T_oCalledPartyBusySpecificInfo,
5175 &ett_inap_T_oNoAnswerSpecificInfo,
5176 &ett_inap_T_oAnswerSpecificInfo,
5177 &ett_inap_T_oMidCallSpecificInfo,
5178 &ett_inap_T_oDisconnectSpecificInfo,
5179 &ett_inap_T_tBusySpecificInfo,
5180 &ett_inap_T_tNoAnswerSpecificInfo,
5181 &ett_inap_T_tAnswerSpecificInfo,
5182 &ett_inap_T_tMidCallSpecificInfo,
5183 &ett_inap_T_tDisconnectSpecificInfo,
5184 &ett_inap_HoldCallInNetworkarg,
5185 &ett_inap_InitialDP,
5186 &ett_inap_InitiateCallAttempt,
5188 &ett_inap_OCalledPartyBusy,
5189 &ett_inap_ODisconnect,
5191 &ett_inap_ONoAnswer,
5192 &ett_inap_OriginationAttemptAuthorized,
5193 &ett_inap_PlayAnnouncement,
5194 &ett_inap_PromptAndCollectUserInformationarg,
5195 &ett_inap_T_collectedInfo,
5196 &ett_inap_T_collectedDigits,
5197 &ett_inap_PromptAndCollectUserInformationres,
5198 &ett_inap_RequestCurrentStatusReportarg,
5199 &ett_inap_RequestCurrentStatusReportres,
5200 &ett_inap_RequestEveryStatusChangeReport,
5201 &ett_inap_RequestFirstStatusMatchReport,
5202 &ett_inap_RequestNotificationChargingEvent,
5203 &ett_inap_RequestNotificationChargingEvent_item,
5204 &ett_inap_RequestReportBCSMEvent,
5205 &ett_inap_T_bcsmEvents,
5206 &ett_inap_T_bcsmEvents_item,
5207 &ett_inap_T_dpSpecificCriteria,
5208 &ett_inap_ResetTimer,
5209 &ett_inap_RouteSelectFailure,
5210 &ett_inap_CalledFacilityGroup,
5211 &ett_inap_SelectFacility,
5212 &ett_inap_SelectRoute,
5213 &ett_inap_SendChargingInformation,
5214 &ett_inap_ServiceFilteringResponse,
5215 &ett_inap_T_countersValue,
5216 &ett_inap_T_countersValue_item,
5217 &ett_inap_StatusReport,
5220 &ett_inap_TDisconnect,
5221 &ett_inap_TermAttemptAuthorized,
5223 &ett_inap_TNoAnswer,
5224 &ett_inap_CancelFailed,
5226 /*--- End of included file: packet-inap-ettarr.c ---*/
5230 /* Register protocol */
5231 proto_inap = proto_register_protocol(PNAME, PSNAME, PFNAME);
5232 /*XXX register_dissector("inap", dissect_inap, proto_inap);*/
5233 /* Register fields and subtrees */
5234 proto_register_field_array(proto_inap, hf, array_length(hf));
5235 proto_register_subtree_array(ett, array_length(ett));
5237 inap_module = prefs_register_protocol(proto_inap, proto_reg_handoff_inap);
5239 prefs_register_uint_preference(inap_module, "tcap.itu_ssn",
5240 "Subsystem number used for INAP",
5241 "Set Subsystem number used for INAP",
5242 10, &global_tcap_itu_ssn);