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 */
9 /* packet-inap-template.c
11 * Copyright 2004, Tim Endean <endeant@hotmail.com>
12 * Built from the gsm-map dissector Copyright 2004, Anders Broman <anders.broman@ericsson.com>
15 * Ethereal - Network traffic analyzer
16 * By Gerald Combs <gerald@ethereal.com>
17 * Copyright 1998 Gerald Combs
19 * This program is free software; you can redistribute it and/or
20 * modify it under the terms of the GNU General Public License
21 * as published by the Free Software Foundation; either version 2
22 * of the License, or (at your option) any later version.
24 * This program is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 * GNU General Public License for more details.
29 * You should have received a copy of the GNU General Public License
30 * along with this program; if not, write to the Free Software
31 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
32 * References: ETSI 300 374
40 #include <epan/packet.h>
41 #include <epan/prefs.h>
42 #include <epan/conversation.h>
48 #include "packet-ber.h"
49 #include "packet-inap.h"
50 #include "packet-q931.h"
51 #include "packet-e164.h"
57 /* Initialize the protocol and registered fields */
59 static int hf_inap_invokeCmd = -1; /* Opcode */
60 static int hf_inap_invokeid = -1; /* INTEGER */
61 static int hf_inap_absent = -1; /* NULL */
62 static int hf_inap_invokeId = -1; /* InvokeId */
63 static int hf_inap_invoke = -1; /* InvokePDU */
64 static int hf_inap_returnResult = -1; /* InvokePDU */
65 static int hf_inap_returnResult_result = -1;
66 static int hf_inap_getPassword = -1;
67 static int hf_inap_currentPassword = -1;
69 /*--- Included file: packet-inap-hf.c ---*/
71 static int hf_inap_originalCallID = -1; /* CallID */
72 static int hf_inap_destinationCallID = -1; /* CallID */
73 static int hf_inap_newLegID = -1; /* OCTET_STRING */
74 static int hf_inap_correlationidentifier = -1; /* OCTET_STRING */
75 static int hf_inap_CallPartyHandlingResultsArg_item = -1; /* LegInformation */
76 static int hf_inap_callID = -1; /* CallID */
77 static int hf_inap_targetCallID = -1; /* CallID */
78 static int hf_inap_legToBeConnectedID = -1; /* OCTET_STRING */
79 static int hf_inap_legToBeDetached = -1; /* OCTET_STRING */
80 static int hf_inap_legID = -1; /* LegID */
81 static int hf_inap_sendingSideID = -1; /* OCTET_STRING_SIZE_1 */
82 static int hf_inap_receivingSideID = -1; /* OCTET_STRING_SIZE_1 */
83 static int hf_inap_heldLegID = -1; /* LegID */
84 static int hf_inap_legToBeReleased = -1; /* LegID */
85 static int hf_inap_releaseCause = -1; /* Cause */
86 static int hf_inap_legStatus = -1; /* LegStatus */
87 static int hf_inap_VariableParts_item = -1; /* VariableParts_item */
88 static int hf_inap_integer = -1; /* INTEGER_0_2147483647 */
89 static int hf_inap_number = -1; /* OCTET_STRING */
90 static int hf_inap_time = -1; /* OCTET_STRING */
91 static int hf_inap_date = -1; /* OCTET_STRING */
92 static int hf_inap_price = -1; /* OCTET_STRING */
93 static int hf_inap_elementaryMessageID = -1; /* INTEGER_0_2147483647 */
94 static int hf_inap_variableParts = -1; /* VariableParts */
95 static int hf_inap_toneID = -1; /* INTEGER_0_2147483647 */
96 static int hf_inap_tduration = -1; /* INTEGER_0_2147483647 */
97 static int hf_inap_messageContent = -1; /* IA5String */
98 static int hf_inap_attributes = -1; /* OCTET_STRING */
99 static int hf_inap_text = -1; /* Text */
100 static int hf_inap_elementaryMessageIDs = -1; /* T_elementaryMessageIDs */
101 static int hf_inap_elementaryMessageIDs_item = -1; /* INTEGER_0_2147483647 */
102 static int hf_inap_variableMessage = -1; /* VariableMessage */
103 static int hf_inap_inbandInfo = -1; /* T_inbandInfo */
104 static int hf_inap_messageID = -1; /* MessageID */
105 static int hf_inap_numberOfRepetitions = -1; /* INTEGER_1_127 */
106 static int hf_inap_mduration = -1; /* INTEGER_0_32767 */
107 static int hf_inap_interval = -1; /* INTEGER_0_32767 */
108 static int hf_inap_tone = -1; /* Tone */
109 static int hf_inap_displayInformation = -1; /* IA5String */
110 static int hf_inap_dialledNumber = -1; /* OCTET_STRING */
111 static int hf_inap_callingLineID = -1; /* OCTET_STRING */
112 static int hf_inap_serviceKey = -1; /* INTEGER_0_2147483647 */
113 static int hf_inap_addressAndService = -1; /* T_addressAndService */
114 static int hf_inap_calledAddressValue = -1; /* OCTET_STRING */
115 static int hf_inap_callingAddressValue = -1; /* OCTET_STRING */
116 static int hf_inap_locationNumber = -1; /* OCTET_STRING */
117 static int hf_inap_Extensions_item = -1; /* Extensions_item */
118 static int hf_inap_type = -1; /* INTEGER */
119 static int hf_inap_criticality = -1; /* T_criticality */
120 static int hf_inap_value = -1; /* OCTET_STRING */
121 static int hf_inap_filteredCallTreatment = -1; /* T_filteredCallTreatment */
122 static int hf_inap_sFBillingChargingCharacteristics = -1; /* OCTET_STRING */
123 static int hf_inap_informationToSend = -1; /* InformationToSend */
124 static int hf_inap_maximumNumberOfCounters = -1; /* INTEGER */
125 static int hf_inap_filteringCharacteristics = -1; /* T_filteringCharacteristics */
126 static int hf_inap_numberOfCalls = -1; /* INTEGER_0_2147483647 */
127 static int hf_inap_filteringTimeOut = -1; /* T_filteringTimeOut */
128 static int hf_inap_aduration = -1; /* INTEGER_M2_86400 */
129 static int hf_inap_stopTime = -1; /* OCTET_STRING_SIZE_6 */
130 static int hf_inap_filteringCriteria = -1; /* FilteringCriteria */
131 static int hf_inap_startTime = -1; /* OCTET_STRING_SIZE_6 */
132 static int hf_inap_extensions = -1; /* Extensions */
133 static int hf_inap_messageType = -1; /* T_messageType */
134 static int hf_inap_dpAssignment = -1; /* T_dpAssignment */
135 static int hf_inap_miscCallInfo = -1; /* MiscCallInfo */
136 static int hf_inap_triggerType = -1; /* TriggerType */
137 static int hf_inap_RouteList_item = -1; /* OCTET_STRING */
138 static int hf_inap_bearerCap = -1; /* OCTET_STRING */
139 static int hf_inap_tmr = -1; /* OCTET_STRING_SIZE_1 */
140 static int hf_inap_serviceAddressInformation = -1; /* ServiceAddressInformation */
141 static int hf_inap_bearerCapability = -1; /* BearerCapability */
142 static int hf_inap_calledPartyNumber = -1; /* OCTET_STRING */
143 static int hf_inap_callingPartyNumber = -1; /* OCTET_STRING */
144 static int hf_inap_callingPartysCategory = -1; /* OCTET_STRING_SIZE_1 */
145 static int hf_inap_iPSSPCapabilities = -1; /* OCTET_STRING */
146 static int hf_inap_iPAvailable = -1; /* OCTET_STRING */
147 static int hf_inap_iSDNAccessRelatedInformation = -1; /* OCTET_STRING */
148 static int hf_inap_cGEncountered = -1; /* CGEncountered */
149 static int hf_inap_serviceProfileIdentifier = -1; /* OCTET_STRING */
150 static int hf_inap_terminalType = -1; /* TerminalType */
151 static int hf_inap_chargeNumber = -1; /* OCTET_STRING */
152 static int hf_inap_servingAreaID = -1; /* OCTET_STRING */
153 static int hf_inap_trunkGroupID = -1; /* INTEGER */
154 static int hf_inap_privateFacilityID = -1; /* INTEGER */
155 static int hf_inap_huntGroup = -1; /* OCTET_STRING */
156 static int hf_inap_routeIndex = -1; /* OCTET_STRING */
157 static int hf_inap_dpSpecificCommonParameters = -1; /* DpSpecificCommonParameters */
158 static int hf_inap_dialledDigits = -1; /* OCTET_STRING */
159 static int hf_inap_callingPartyBusinessGroupID = -1; /* OCTET_STRING */
160 static int hf_inap_callingPartySubaddress = -1; /* OCTET_STRING */
161 static int hf_inap_callingFacilityGroup = -1; /* CallingFacilityGroup */
162 static int hf_inap_callingFacilityGroupMember = -1; /* INTEGER */
163 static int hf_inap_originalCalledPartyID = -1; /* OCTET_STRING */
164 static int hf_inap_prefix = -1; /* OCTET_STRING */
165 static int hf_inap_redirectingPartyID = -1; /* OCTET_STRING */
166 static int hf_inap_redirectionInformation = -1; /* OCTET_STRING_SIZE_2 */
167 static int hf_inap_routeList = -1; /* RouteList */
168 static int hf_inap_travellingClassMark = -1; /* OCTET_STRING */
169 static int hf_inap_featureCode = -1; /* OCTET_STRING */
170 static int hf_inap_accessCode = -1; /* OCTET_STRING */
171 static int hf_inap_carrier = -1; /* OCTET_STRING */
172 static int hf_inap_destinationRoutingAddress = -1; /* SEQUENCE_SIZE_1_3_OF_DestinationAddress */
173 static int hf_inap_destinationRoutingAddress_item = -1; /* DestinationAddress */
174 static int hf_inap_alertingPattern = -1; /* OCTET_STRING_SIZE_3 */
175 static int hf_inap_aChBillingChargingCharacteristics = -1; /* OCTET_STRING */
176 static int hf_inap_partyToCharge = -1; /* PartyToCharge */
177 static int hf_inap_correlationID = -1; /* OCTET_STRING */
178 static int hf_inap_gapCriteria = -1; /* T_gapCriteria */
179 static int hf_inap_gapOnService = -1; /* T_gapOnService */
180 static int hf_inap_dpCriteria = -1; /* T_dpCriteria */
181 static int hf_inap_calledAddressAndService = -1; /* T_calledAddressAndService */
182 static int hf_inap_callingAddressAndService = -1; /* T_callingAddressAndService */
183 static int hf_inap_gapIndicators = -1; /* T_gapIndicators */
184 static int hf_inap_cgduration = -1; /* INTEGER_M2_86400 */
185 static int hf_inap_gapInterval = -1; /* INTEGER_M1_60000 */
186 static int hf_inap_controlType = -1; /* T_controlType */
187 static int hf_inap_gapTreatment = -1; /* T_gapTreatment */
188 static int hf_inap_both = -1; /* Both */
189 static int hf_inap_requestedInformationList = -1; /* T_requestedInformationList */
190 static int hf_inap_requestedInformationList_item = -1; /* T_requestedInformationList_item */
191 static int hf_inap_requestedInformationType = -1; /* T_requestedInformationType */
192 static int hf_inap_requestedInformationValue = -1; /* T_requestedInformationValue */
193 static int hf_inap_callAttemptElapsedTimeValue = -1; /* INTEGER_0_255 */
194 static int hf_inap_callStopTimeValue = -1; /* OCTET_STRING_SIZE_6 */
195 static int hf_inap_callConnectedElapsedTimeValue = -1; /* INTEGER_0_2147483647 */
196 static int hf_inap_releaseCauseValue = -1; /* Cause */
197 static int hf_inap_requestedInformationTypeList = -1; /* T_requestedInformationTypeList */
198 static int hf_inap_requestedInformationTypeList_item = -1; /* T_requestedInformationTypeList_item */
199 static int hf_inap_invokeID = -1; /* INTEGER_M128_127 */
200 static int hf_inap_allRequests = -1; /* NULL */
201 static int hf_inap_lineID = -1; /* OCTET_STRING */
202 static int hf_inap_facilityGroupID = -1; /* FacilityGroupID */
203 static int hf_inap_facilityGroupMemberID = -1; /* INTEGER */
204 static int hf_inap_resourceID = -1; /* ResourceID */
205 static int hf_inap_numberingPlan = -1; /* OCTET_STRING_SIZE_1 */
206 static int hf_inap_cutAndPaste = -1; /* INTEGER_0_22 */
207 static int hf_inap_forwardingCondition = -1; /* T_forwardingCondition */
208 static int hf_inap_scfID = -1; /* OCTET_STRING */
209 static int hf_inap_serviceInteractionIndicators = -1; /* OCTET_STRING */
210 static int hf_inap_resourceAddress = -1; /* T_resourceAddress */
211 static int hf_inap_ipRoutingAddress = -1; /* OCTET_STRING */
212 static int hf_inap_none = -1; /* NULL */
213 static int hf_inap_assistingSSPIPRoutingAddress = -1; /* OCTET_STRING */
214 static int hf_inap_eventTypeCharging = -1; /* OCTET_STRING */
215 static int hf_inap_eventSpecificInformationCharging = -1; /* OCTET_STRING */
216 static int hf_inap_monitorMode = -1; /* MonitorMode */
217 static int hf_inap_eventTypeBCSM = -1; /* EventTypeBCSM */
218 static int hf_inap_bcsmEventCorrelationID = -1; /* OCTET_STRING */
219 static int hf_inap_eventSpecificInformationBCSM = -1; /* T_eventSpecificInformationBCSM */
220 static int hf_inap_collectedInfoSpecificInfo = -1; /* T_collectedInfoSpecificInfo */
221 static int hf_inap_calledPartynumber = -1; /* OCTET_STRING */
222 static int hf_inap_analyzedInfoSpecificInfo = -1; /* T_analyzedInfoSpecificInfo */
223 static int hf_inap_routeSelectFailureSpecificInfo = -1; /* T_routeSelectFailureSpecificInfo */
224 static int hf_inap_failureCause = -1; /* OCTET_STRING_SIZE_2_10 */
225 static int hf_inap_oCalledPartyBusySpecificInfo = -1; /* T_oCalledPartyBusySpecificInfo */
226 static int hf_inap_busyCause = -1; /* OCTET_STRING_SIZE_2_10 */
227 static int hf_inap_oNoAnswerSpecificInfo = -1; /* T_oNoAnswerSpecificInfo */
228 static int hf_inap_oAnswerSpecificInfo = -1; /* T_oAnswerSpecificInfo */
229 static int hf_inap_oMidCallSpecificInfo = -1; /* T_oMidCallSpecificInfo */
230 static int hf_inap_connectTime = -1; /* INTEGER_0_2147483647 */
231 static int hf_inap_oDisconnectSpecificInfo = -1; /* T_oDisconnectSpecificInfo */
232 static int hf_inap_tBusySpecificInfo = -1; /* T_tBusySpecificInfo */
233 static int hf_inap_tNoAnswerSpecificInfo = -1; /* T_tNoAnswerSpecificInfo */
234 static int hf_inap_tAnswerSpecificInfo = -1; /* T_tAnswerSpecificInfo */
235 static int hf_inap_tMidCallSpecificInfo = -1; /* T_tMidCallSpecificInfo */
236 static int hf_inap_tDisconnectSpecificInfo = -1; /* T_tDisconnectSpecificInfo */
237 static int hf_inap_holdcause = -1; /* OCTET_STRING */
238 static int hf_inap_empty = -1; /* NULL */
239 static int hf_inap_highLayerCompatibility = -1; /* OCTET_STRING_SIZE_2 */
240 static int hf_inap_additionalCallingPartyNumber = -1; /* OCTET_STRING */
241 static int hf_inap_forwardCallIndicators = -1; /* OCTET_STRING_SIZE_2 */
242 static int hf_inap_calledPartyBusinessGroupID = -1; /* OCTET_STRING */
243 static int hf_inap_calledPartySubaddress = -1; /* OCTET_STRING */
244 static int hf_inap_featureRequestIndicator = -1; /* FeatureRequestIndicator */
245 static int hf_inap_disconnectFromIPForbidden = -1; /* BOOLEAN */
246 static int hf_inap_requestAnnouncementComplete = -1; /* BOOLEAN */
247 static int hf_inap_collectedInfo = -1; /* T_collectedInfo */
248 static int hf_inap_collectedDigits = -1; /* T_collectedDigits */
249 static int hf_inap_minimumNbOfDigits = -1; /* INTEGER_1_127 */
250 static int hf_inap_maximumNbOfDigits = -1; /* INTEGER_1_127 */
251 static int hf_inap_endOfReplyDigit = -1; /* OCTET_STRING_SIZE_1_2 */
252 static int hf_inap_cancelDigit = -1; /* OCTET_STRING_SIZE_1_2 */
253 static int hf_inap_startDigit = -1; /* OCTET_STRING_SIZE_1_2 */
254 static int hf_inap_firstDigitTimeOut = -1; /* INTEGER_1_127 */
255 static int hf_inap_interDigitTimeOut = -1; /* INTEGER_1_127 */
256 static int hf_inap_errorTreatment = -1; /* T_errorTreatment */
257 static int hf_inap_interruptableAnnInd = -1; /* BOOLEAN */
258 static int hf_inap_voiceInformation = -1; /* BOOLEAN */
259 static int hf_inap_voiceBack = -1; /* BOOLEAN */
260 static int hf_inap_iA5Information = -1; /* BOOLEAN */
261 static int hf_inap_digitsResponse = -1; /* OCTET_STRING */
262 static int hf_inap_iA5Response = -1; /* IA5String */
263 static int hf_inap_resourceStatus = -1; /* ResourceStatus */
264 static int hf_inap_monitorDuration = -1; /* INTEGER_M2_86400 */
265 static int hf_inap_RequestNotificationChargingEvent_item = -1; /* RequestNotificationChargingEvent_item */
266 static int hf_inap_bcsmEvents = -1; /* T_bcsmEvents */
267 static int hf_inap_bcsmEvents_item = -1; /* T_bcsmEvents_item */
268 static int hf_inap_dpSpecificCriteria = -1; /* T_dpSpecificCriteria */
269 static int hf_inap_numberOfDigits = -1; /* INTEGER_1_255 */
270 static int hf_inap_applicationTimer = -1; /* INTEGER_0_2047 */
271 static int hf_inap_timerID = -1; /* T_timerID */
272 static int hf_inap_timervalue = -1; /* INTEGER_0_2147483647 */
273 static int hf_inap_destinationNumberRoutingAddress = -1; /* OCTET_STRING */
274 static int hf_inap_calledFacilityGroup = -1; /* CalledFacilityGroup */
275 static int hf_inap_calledFacilityGroupMember = -1; /* INTEGER */
276 static int hf_inap_sCIBillingChargingCharacteristics = -1; /* OCTET_STRING */
277 static int hf_inap_countersValue = -1; /* T_countersValue */
278 static int hf_inap_countersValue_item = -1; /* T_countersValue_item */
279 static int hf_inap_counterID = -1; /* INTEGER_0_99 */
280 static int hf_inap_counterValue = -1; /* INTEGER_0_2147483647 */
281 static int hf_inap_responseCondition = -1; /* T_responseCondition */
282 static int hf_inap_reportCondition = -1; /* T_reportCondition */
283 static int hf_inap_problem = -1; /* T_problem */
284 static int hf_inap_operation = -1; /* INTEGER_M128_127 */
286 /*--- End of included file: packet-inap-hf.c ---*/
288 static guint global_tcap_itu_ssn = 241;
290 /* Initialize the subtree pointers */
291 static gint ett_inap = -1;
292 static gint ett_inap_InvokeId = -1;
293 static gint ett_inap_InvokePDU = -1;
294 static gint ett_inap_ReturnResultPDU = -1;
295 static gint ett_inap_ReturnResult_result = -1;
296 static gint ett_inap_INAPPDU = -1;
297 static gint ett_inapisup_parameter = -1;
298 static int inap_tap = -1;
300 /*--- Included file: packet-inap-ett.c ---*/
302 static gint ett_inap_AddPartyArg = -1;
303 static gint ett_inap_AttachArg = -1;
304 static gint ett_inap_CallPartyHandlingResultsArg = -1;
305 static gint ett_inap_ChangePartiesArg = -1;
306 static gint ett_inap_DetachArg = -1;
307 static gint ett_inap_HoldCallPartyConnectionArg = -1;
308 static gint ett_inap_LegID = -1;
309 static gint ett_inap_ReconnectArg = -1;
310 static gint ett_inap_ReleaseCallPartyConnectionArg = -1;
311 static gint ett_inap_LegInformation = -1;
312 static gint ett_inap_VariableParts = -1;
313 static gint ett_inap_VariableParts_item = -1;
314 static gint ett_inap_VariableMessage = -1;
315 static gint ett_inap_Tone = -1;
316 static gint ett_inap_Text = -1;
317 static gint ett_inap_MessageID = -1;
318 static gint ett_inap_T_elementaryMessageIDs = -1;
319 static gint ett_inap_InformationToSend = -1;
320 static gint ett_inap_T_inbandInfo = -1;
321 static gint ett_inap_FilteringCriteria = -1;
322 static gint ett_inap_T_addressAndService = -1;
323 static gint ett_inap_Extensions = -1;
324 static gint ett_inap_Extensions_item = -1;
325 static gint ett_inap_ActivateServiceFilteringarg = -1;
326 static gint ett_inap_T_filteredCallTreatment = -1;
327 static gint ett_inap_T_filteringCharacteristics = -1;
328 static gint ett_inap_T_filteringTimeOut = -1;
329 static gint ett_inap_MiscCallInfo = -1;
330 static gint ett_inap_ServiceAddressInformation = -1;
331 static gint ett_inap_RouteList = -1;
332 static gint ett_inap_BearerCapability = -1;
333 static gint ett_inap_DpSpecificCommonParameters = -1;
334 static gint ett_inap_CallingFacilityGroup = -1;
335 static gint ett_inap_AnalysedInformationarg = -1;
336 static gint ett_inap_AnalyseInformationarg = -1;
337 static gint ett_inap_SEQUENCE_SIZE_1_3_OF_DestinationAddress = -1;
338 static gint ett_inap_PartyToCharge = -1;
339 static gint ett_inap_ApplyChargingarg = -1;
340 static gint ett_inap_AssistRequestInstructionsarg = -1;
341 static gint ett_inap_CallGaparg = -1;
342 static gint ett_inap_T_gapCriteria = -1;
343 static gint ett_inap_T_gapOnService = -1;
344 static gint ett_inap_T_calledAddressAndService = -1;
345 static gint ett_inap_T_callingAddressAndService = -1;
346 static gint ett_inap_T_gapIndicators = -1;
347 static gint ett_inap_T_gapTreatment = -1;
348 static gint ett_inap_Both = -1;
349 static gint ett_inap_CallInformationReportarg = -1;
350 static gint ett_inap_T_requestedInformationList = -1;
351 static gint ett_inap_T_requestedInformationList_item = -1;
352 static gint ett_inap_T_requestedInformationValue = -1;
353 static gint ett_inap_CallInformationRequestarg = -1;
354 static gint ett_inap_T_requestedInformationTypeList = -1;
355 static gint ett_inap_Cancelarg = -1;
356 static gint ett_inap_FacilityGroupID = -1;
357 static gint ett_inap_ResourceID = -1;
358 static gint ett_inap_CancelStatusReportRequestarg = -1;
359 static gint ett_inap_CollectedInformationarg = -1;
360 static gint ett_inap_CollectInformationarg = -1;
361 static gint ett_inap_Connectarg = -1;
362 static gint ett_inap_ConnectToResource = -1;
363 static gint ett_inap_T_resourceAddress = -1;
364 static gint ett_inap_EstablishTemporaryConnection = -1;
365 static gint ett_inap_EventNotificationChargingarg = -1;
366 static gint ett_inap_EventReportBCSM = -1;
367 static gint ett_inap_T_eventSpecificInformationBCSM = -1;
368 static gint ett_inap_T_collectedInfoSpecificInfo = -1;
369 static gint ett_inap_T_analyzedInfoSpecificInfo = -1;
370 static gint ett_inap_T_routeSelectFailureSpecificInfo = -1;
371 static gint ett_inap_T_oCalledPartyBusySpecificInfo = -1;
372 static gint ett_inap_T_oNoAnswerSpecificInfo = -1;
373 static gint ett_inap_T_oAnswerSpecificInfo = -1;
374 static gint ett_inap_T_oMidCallSpecificInfo = -1;
375 static gint ett_inap_T_oDisconnectSpecificInfo = -1;
376 static gint ett_inap_T_tBusySpecificInfo = -1;
377 static gint ett_inap_T_tNoAnswerSpecificInfo = -1;
378 static gint ett_inap_T_tAnswerSpecificInfo = -1;
379 static gint ett_inap_T_tMidCallSpecificInfo = -1;
380 static gint ett_inap_T_tDisconnectSpecificInfo = -1;
381 static gint ett_inap_HoldCallInNetworkarg = -1;
382 static gint ett_inap_InitialDP = -1;
383 static gint ett_inap_InitiateCallAttempt = -1;
384 static gint ett_inap_OAnswer = -1;
385 static gint ett_inap_OCalledPartyBusy = -1;
386 static gint ett_inap_ODisconnect = -1;
387 static gint ett_inap_OMidCall = -1;
388 static gint ett_inap_ONoAnswer = -1;
389 static gint ett_inap_OriginationAttemptAuthorized = -1;
390 static gint ett_inap_PlayAnnouncement = -1;
391 static gint ett_inap_PromptAndCollectUserInformationarg = -1;
392 static gint ett_inap_T_collectedInfo = -1;
393 static gint ett_inap_T_collectedDigits = -1;
394 static gint ett_inap_PromptAndCollectUserInformationres = -1;
395 static gint ett_inap_RequestCurrentStatusReportarg = -1;
396 static gint ett_inap_RequestCurrentStatusReportres = -1;
397 static gint ett_inap_RequestEveryStatusChangeReport = -1;
398 static gint ett_inap_RequestFirstStatusMatchReport = -1;
399 static gint ett_inap_RequestNotificationChargingEvent = -1;
400 static gint ett_inap_RequestNotificationChargingEvent_item = -1;
401 static gint ett_inap_RequestReportBCSMEvent = -1;
402 static gint ett_inap_T_bcsmEvents = -1;
403 static gint ett_inap_T_bcsmEvents_item = -1;
404 static gint ett_inap_T_dpSpecificCriteria = -1;
405 static gint ett_inap_ResetTimer = -1;
406 static gint ett_inap_RouteSelectFailure = -1;
407 static gint ett_inap_CalledFacilityGroup = -1;
408 static gint ett_inap_SelectFacility = -1;
409 static gint ett_inap_SelectRoute = -1;
410 static gint ett_inap_SendChargingInformation = -1;
411 static gint ett_inap_ServiceFilteringResponse = -1;
412 static gint ett_inap_T_countersValue = -1;
413 static gint ett_inap_T_countersValue_item = -1;
414 static gint ett_inap_StatusReport = -1;
415 static gint ett_inap_TAnswer = -1;
416 static gint ett_inap_TBusy = -1;
417 static gint ett_inap_TDisconnect = -1;
418 static gint ett_inap_TermAttemptAuthorized = -1;
419 static gint ett_inap_TMidCall = -1;
420 static gint ett_inap_TNoAnswer = -1;
421 static gint ett_inap_CancelFailed = -1;
423 /*--- End of included file: packet-inap-ett.c ---*/
426 static int dissect_invokeCmd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset);
429 /*--- Included file: packet-inap-fn.c ---*/
431 /*--- Fields for imported types ---*/
437 dissect_inap_CallID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
438 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
442 static int dissect_originalCallID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
443 return dissect_inap_CallID(TRUE, tvb, offset, pinfo, tree, hf_inap_originalCallID);
445 static int dissect_destinationCallID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
446 return dissect_inap_CallID(TRUE, tvb, offset, pinfo, tree, hf_inap_destinationCallID);
448 static int dissect_callID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
449 return dissect_inap_CallID(TRUE, tvb, offset, pinfo, tree, hf_inap_callID);
451 static int dissect_targetCallID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
452 return dissect_inap_CallID(TRUE, tvb, offset, pinfo, tree, hf_inap_targetCallID);
455 static const ber_sequence_t AddPartyArg_sequence[] = {
456 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCallID_impl },
457 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationCallID_impl },
462 dissect_inap_AddPartyArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
463 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
464 AddPartyArg_sequence, hf_index, ett_inap_AddPartyArg);
471 dissect_inap_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
472 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
477 static int dissect_newLegID_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_newLegID);
480 static int dissect_correlationidentifier_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_correlationidentifier);
483 static int dissect_legToBeConnectedID_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_legToBeConnectedID);
486 static int dissect_legToBeDetached_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_legToBeDetached);
489 static int dissect_number_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_number);
492 static int dissect_time_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_time);
495 static int dissect_date_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_date);
498 static int dissect_price_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_price);
501 static int dissect_attributes_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_attributes);
504 static int dissect_dialledNumber_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_dialledNumber);
507 static int dissect_callingLineID_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_callingLineID);
510 static int dissect_calledAddressValue_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_calledAddressValue);
513 static int dissect_callingAddressValue_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_callingAddressValue);
516 static int dissect_locationNumber_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_locationNumber);
519 static int dissect_value_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_value);
522 static int dissect_sFBillingChargingCharacteristics_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
523 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_sFBillingChargingCharacteristics);
525 static int dissect_RouteList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
526 return dissect_inap_OCTET_STRING(FALSE, tvb, offset, pinfo, tree, hf_inap_RouteList_item);
528 static int dissect_bearerCap_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_bearerCap);
531 static int dissect_calledPartyNumber_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_calledPartyNumber);
534 static int dissect_callingPartyNumber_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_callingPartyNumber);
537 static int dissect_iPSSPCapabilities_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_iPSSPCapabilities);
540 static int dissect_iPAvailable_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_iPAvailable);
543 static int dissect_iSDNAccessRelatedInformation_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_iSDNAccessRelatedInformation);
546 static int dissect_serviceProfileIdentifier_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_serviceProfileIdentifier);
549 static int dissect_chargeNumber_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_chargeNumber);
552 static int dissect_servingAreaID_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_servingAreaID);
555 static int dissect_huntGroup_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_huntGroup);
558 static int dissect_routeIndex_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_routeIndex);
561 static int dissect_dialledDigits_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_dialledDigits);
564 static int dissect_callingPartyBusinessGroupID_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_callingPartyBusinessGroupID);
567 static int dissect_callingPartySubaddress_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_callingPartySubaddress);
570 static int dissect_originalCalledPartyID_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_originalCalledPartyID);
573 static int dissect_prefix_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_prefix);
576 static int dissect_redirectingPartyID_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_redirectingPartyID);
579 static int dissect_travellingClassMark_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_travellingClassMark);
582 static int dissect_featureCode_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_featureCode);
585 static int dissect_accessCode_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_accessCode);
588 static int dissect_carrier_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_carrier);
591 static int dissect_aChBillingChargingCharacteristics_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_aChBillingChargingCharacteristics);
594 static int dissect_correlationID_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_correlationID);
597 static int dissect_lineID_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_lineID);
600 static int dissect_scfID_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_scfID);
603 static int dissect_serviceInteractionIndicators_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_serviceInteractionIndicators);
606 static int dissect_ipRoutingAddress_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_ipRoutingAddress);
609 static int dissect_assistingSSPIPRoutingAddress_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_assistingSSPIPRoutingAddress);
612 static int dissect_eventTypeCharging_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_eventTypeCharging);
615 static int dissect_eventSpecificInformationCharging_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_eventSpecificInformationCharging);
618 static int dissect_bcsmEventCorrelationID_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_bcsmEventCorrelationID);
621 static int dissect_calledPartynumber_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_calledPartynumber);
624 static int dissect_holdcause_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_holdcause);
627 static int dissect_additionalCallingPartyNumber_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_additionalCallingPartyNumber);
630 static int dissect_calledPartyBusinessGroupID_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_calledPartyBusinessGroupID);
633 static int dissect_calledPartySubaddress_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_calledPartySubaddress);
636 static int dissect_digitsResponse_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_digitsResponse);
639 static int dissect_destinationNumberRoutingAddress_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_destinationNumberRoutingAddress);
642 static int dissect_sCIBillingChargingCharacteristics_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
643 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_sCIBillingChargingCharacteristics);
646 static const ber_sequence_t AttachArg_sequence[] = {
647 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_newLegID_impl },
648 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationidentifier_impl },
653 dissect_inap_AttachArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
654 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
655 AttachArg_sequence, hf_index, ett_inap_AttachArg);
662 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_) {
663 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
668 static int dissect_sendingSideID_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_sendingSideID);
671 static int dissect_receivingSideID_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_receivingSideID);
674 static int dissect_tmr_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_tmr);
677 static int dissect_callingPartysCategory_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_callingPartysCategory);
680 static int dissect_numberingPlan_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
681 return dissect_inap_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_inap_numberingPlan);
685 static const value_string inap_LegID_vals[] = {
686 { 0, "sendingSideID" },
687 { 1, "receivingSideID" },
691 static const ber_choice_t LegID_choice[] = {
692 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sendingSideID_impl },
693 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_receivingSideID_impl },
698 dissect_inap_LegID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
699 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
700 LegID_choice, hf_index, ett_inap_LegID);
704 static int dissect_legID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
705 return dissect_inap_LegID(TRUE, tvb, offset, pinfo, tree, hf_inap_legID);
707 static int dissect_heldLegID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
708 return dissect_inap_LegID(TRUE, tvb, offset, pinfo, tree, hf_inap_heldLegID);
710 static int dissect_legToBeReleased_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
711 return dissect_inap_LegID(TRUE, tvb, offset, pinfo, tree, hf_inap_legToBeReleased);
715 static const value_string inap_LegStatus_vals[] = {
717 { 1, "unconnected" },
719 { 3, "interacting" },
725 dissect_inap_LegStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
726 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
730 static int dissect_legStatus_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
731 return dissect_inap_LegStatus(TRUE, tvb, offset, pinfo, tree, hf_inap_legStatus);
734 static const ber_sequence_t LegInformation_sequence[] = {
735 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
736 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_legStatus_impl },
741 dissect_inap_LegInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
742 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
743 LegInformation_sequence, hf_index, ett_inap_LegInformation);
747 static int dissect_CallPartyHandlingResultsArg_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
748 return dissect_inap_LegInformation(FALSE, tvb, offset, pinfo, tree, hf_inap_CallPartyHandlingResultsArg_item);
751 static const ber_sequence_t CallPartyHandlingResultsArg_sequence_of[1] = {
752 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_CallPartyHandlingResultsArg_item },
756 dissect_inap_CallPartyHandlingResultsArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
757 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
758 CallPartyHandlingResultsArg_sequence_of, hf_index, ett_inap_CallPartyHandlingResultsArg);
763 static const ber_sequence_t ChangePartiesArg_sequence[] = {
764 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callID_impl },
765 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_targetCallID_impl },
766 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_legToBeConnectedID_impl },
771 dissect_inap_ChangePartiesArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
772 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
773 ChangePartiesArg_sequence, hf_index, ett_inap_ChangePartiesArg);
778 static const ber_sequence_t DetachArg_sequence[] = {
779 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_legToBeDetached_impl },
780 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationidentifier_impl },
785 dissect_inap_DetachArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
786 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
787 DetachArg_sequence, hf_index, ett_inap_DetachArg);
792 static const ber_sequence_t HoldCallPartyConnectionArg_sequence[] = {
793 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callID_impl },
794 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
799 dissect_inap_HoldCallPartyConnectionArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
800 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
801 HoldCallPartyConnectionArg_sequence, hf_index, ett_inap_HoldCallPartyConnectionArg);
806 static const ber_sequence_t ReconnectArg_sequence[] = {
807 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callID_impl },
808 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_heldLegID_impl },
813 dissect_inap_ReconnectArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
814 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
815 ReconnectArg_sequence, hf_index, ett_inap_ReconnectArg);
822 dissect_inap_Cause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
823 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
828 static int dissect_releaseCause_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
829 return dissect_inap_Cause(TRUE, tvb, offset, pinfo, tree, hf_inap_releaseCause);
831 static int dissect_releaseCauseValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
832 return dissect_inap_Cause(TRUE, tvb, offset, pinfo, tree, hf_inap_releaseCauseValue);
835 static const ber_sequence_t ReleaseCallPartyConnectionArg_sequence[] = {
836 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legToBeReleased_impl },
837 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callID_impl },
838 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
843 dissect_inap_ReleaseCallPartyConnectionArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
844 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
845 ReleaseCallPartyConnectionArg_sequence, hf_index, ett_inap_ReleaseCallPartyConnectionArg);
853 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_) {
854 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
858 static int dissect_integer_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_integer);
861 static int dissect_elementaryMessageID_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_elementaryMessageID);
864 static int dissect_toneID_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_toneID);
867 static int dissect_tduration_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
868 return dissect_inap_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_inap_tduration);
870 static int dissect_elementaryMessageIDs_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
871 return dissect_inap_INTEGER_0_2147483647(FALSE, tvb, offset, pinfo, tree, hf_inap_elementaryMessageIDs_item);
873 static int dissect_serviceKey_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_serviceKey);
876 static int dissect_numberOfCalls_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_numberOfCalls);
879 static int dissect_callConnectedElapsedTimeValue_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_callConnectedElapsedTimeValue);
882 static int dissect_connectTime_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_connectTime);
885 static int dissect_timervalue_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_timervalue);
888 static int dissect_counterValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
889 return dissect_inap_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_inap_counterValue);
893 static const value_string inap_VariableParts_item_vals[] = {
902 static const ber_choice_t VariableParts_item_choice[] = {
903 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_integer_impl },
904 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_number_impl },
905 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_time_impl },
906 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_date_impl },
907 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_price_impl },
912 dissect_inap_VariableParts_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
913 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
914 VariableParts_item_choice, hf_index, ett_inap_VariableParts_item);
918 static int dissect_VariableParts_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
919 return dissect_inap_VariableParts_item(FALSE, tvb, offset, pinfo, tree, hf_inap_VariableParts_item);
922 static const ber_sequence_t VariableParts_sequence_of[1] = {
923 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_VariableParts_item },
927 dissect_inap_VariableParts(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
928 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
929 VariableParts_sequence_of, hf_index, ett_inap_VariableParts);
933 static int dissect_variableParts_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
934 return dissect_inap_VariableParts(TRUE, tvb, offset, pinfo, tree, hf_inap_variableParts);
937 static const ber_sequence_t VariableMessage_sequence[] = {
938 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_elementaryMessageID_impl },
939 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_variableParts_impl },
944 dissect_inap_VariableMessage(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
945 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
946 VariableMessage_sequence, hf_index, ett_inap_VariableMessage);
950 static int dissect_variableMessage_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
951 return dissect_inap_VariableMessage(TRUE, tvb, offset, pinfo, tree, hf_inap_variableMessage);
955 static const value_string inap_TriggerType_vals[] = {
956 { 0, "featureActivation" },
957 { 1, "verticalServiceCode" },
958 { 2, "customizedAccess" },
959 { 3, "customizedIntercom" },
960 { 12, "emergencyService" },
962 { 14, "sharedIOTrunk" },
963 { 17, "offHookDelay" },
964 { 18, "channelSetupPRI" },
967 { 27, "oCalledPartyBusy" },
969 { 30, "originationAttemptAuthorized" },
971 { 32, "oDisconnect" },
972 { 33, "termAttemptAuthorized" },
974 { 35, "tDisconnect" },
980 dissect_inap_TriggerType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
981 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
985 static int dissect_triggerType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
986 return dissect_inap_TriggerType(TRUE, tvb, offset, pinfo, tree, hf_inap_triggerType);
989 static const ber_sequence_t Tone_sequence[] = {
990 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_toneID_impl },
991 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tduration_impl },
996 dissect_inap_Tone(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
997 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
998 Tone_sequence, hf_index, ett_inap_Tone);
1002 static int dissect_tone_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1003 return dissect_inap_Tone(TRUE, tvb, offset, pinfo, tree, hf_inap_tone);
1008 dissect_inap_IA5String(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1009 offset = dissect_ber_restricted_string(implicit_tag, 0,
1010 pinfo, tree, tvb, offset, hf_index,
1015 static int dissect_messageContent_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1016 return dissect_inap_IA5String(TRUE, tvb, offset, pinfo, tree, hf_inap_messageContent);
1018 static int dissect_displayInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1019 return dissect_inap_IA5String(TRUE, tvb, offset, pinfo, tree, hf_inap_displayInformation);
1021 static int dissect_iA5Response_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1022 return dissect_inap_IA5String(TRUE, tvb, offset, pinfo, tree, hf_inap_iA5Response);
1025 static const ber_sequence_t Text_sequence[] = {
1026 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_messageContent_impl },
1027 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_attributes_impl },
1032 dissect_inap_Text(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1033 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1034 Text_sequence, hf_index, ett_inap_Text);
1038 static int dissect_text_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1039 return dissect_inap_Text(TRUE, tvb, offset, pinfo, tree, hf_inap_text);
1042 static const ber_sequence_t T_elementaryMessageIDs_sequence_of[1] = {
1043 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_elementaryMessageIDs_item },
1047 dissect_inap_T_elementaryMessageIDs(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1048 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1049 T_elementaryMessageIDs_sequence_of, hf_index, ett_inap_T_elementaryMessageIDs);
1053 static int dissect_elementaryMessageIDs_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1054 return dissect_inap_T_elementaryMessageIDs(TRUE, tvb, offset, pinfo, tree, hf_inap_elementaryMessageIDs);
1058 static const value_string inap_MessageID_vals[] = {
1059 { 0, "elementaryMessageID" },
1061 { 29, "elementaryMessageIDs" },
1062 { 30, "variableMessage" },
1066 static const ber_choice_t MessageID_choice[] = {
1067 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_elementaryMessageID_impl },
1068 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_text_impl },
1069 { 29, BER_CLASS_CON, 29, BER_FLAGS_IMPLTAG, dissect_elementaryMessageIDs_impl },
1070 { 30, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_variableMessage_impl },
1071 { 0, 0, 0, 0, NULL }
1075 dissect_inap_MessageID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1076 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1077 MessageID_choice, hf_index, ett_inap_MessageID);
1081 static int dissect_messageID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1082 return dissect_inap_MessageID(TRUE, tvb, offset, pinfo, tree, hf_inap_messageID);
1088 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_) {
1089 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1093 static int dissect_numberOfRepetitions_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_numberOfRepetitions);
1096 static int dissect_minimumNbOfDigits_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_minimumNbOfDigits);
1099 static int dissect_maximumNbOfDigits_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_maximumNbOfDigits);
1102 static int dissect_firstDigitTimeOut_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_firstDigitTimeOut);
1105 static int dissect_interDigitTimeOut_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1106 return dissect_inap_INTEGER_1_127(TRUE, tvb, offset, pinfo, tree, hf_inap_interDigitTimeOut);
1112 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_) {
1113 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1117 static int dissect_mduration_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_mduration);
1120 static int dissect_interval_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1121 return dissect_inap_INTEGER_0_32767(TRUE, tvb, offset, pinfo, tree, hf_inap_interval);
1124 static const ber_sequence_t T_inbandInfo_sequence[] = {
1125 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_messageID_impl },
1126 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numberOfRepetitions_impl },
1127 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mduration_impl },
1128 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_interval_impl },
1133 dissect_inap_T_inbandInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1134 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1135 T_inbandInfo_sequence, hf_index, ett_inap_T_inbandInfo);
1139 static int dissect_inbandInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1140 return dissect_inap_T_inbandInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_inbandInfo);
1144 static const value_string inap_InformationToSend_vals[] = {
1145 { 0, "inbandInfo" },
1147 { 2, "displayInformation" },
1151 static const ber_choice_t InformationToSend_choice[] = {
1152 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inbandInfo_impl },
1153 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_tone_impl },
1154 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_displayInformation_impl },
1155 { 0, 0, 0, 0, NULL }
1159 dissect_inap_InformationToSend(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1160 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1161 InformationToSend_choice, hf_index, ett_inap_InformationToSend);
1165 static int dissect_informationToSend_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1166 return dissect_inap_InformationToSend(TRUE, tvb, offset, pinfo, tree, hf_inap_informationToSend);
1169 static const ber_sequence_t T_addressAndService_sequence[] = {
1170 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_calledAddressValue_impl },
1171 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
1172 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingAddressValue_impl },
1173 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationNumber_impl },
1178 dissect_inap_T_addressAndService(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1179 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1180 T_addressAndService_sequence, hf_index, ett_inap_T_addressAndService);
1184 static int dissect_addressAndService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1185 return dissect_inap_T_addressAndService(TRUE, tvb, offset, pinfo, tree, hf_inap_addressAndService);
1189 static const value_string inap_FilteringCriteria_vals[] = {
1190 { 0, "dialledNumber" },
1191 { 1, "callingLineID" },
1192 { 2, "serviceKey" },
1193 { 30, "addressAndService" },
1197 static const ber_choice_t FilteringCriteria_choice[] = {
1198 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dialledNumber_impl },
1199 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_callingLineID_impl },
1200 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
1201 { 30, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_addressAndService_impl },
1202 { 0, 0, 0, 0, NULL }
1206 dissect_inap_FilteringCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1207 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1208 FilteringCriteria_choice, hf_index, ett_inap_FilteringCriteria);
1212 static int dissect_filteringCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1213 return dissect_inap_FilteringCriteria(TRUE, tvb, offset, pinfo, tree, hf_inap_filteringCriteria);
1219 dissect_inap_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1220 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1224 static int dissect_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1225 return dissect_inap_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_inap_type);
1227 static int dissect_maximumNumberOfCounters_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1228 return dissect_inap_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_inap_maximumNumberOfCounters);
1230 static int dissect_trunkGroupID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1231 return dissect_inap_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_inap_trunkGroupID);
1233 static int dissect_privateFacilityID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1234 return dissect_inap_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_inap_privateFacilityID);
1236 static int dissect_callingFacilityGroupMember_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1237 return dissect_inap_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_inap_callingFacilityGroupMember);
1239 static int dissect_facilityGroupMemberID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1240 return dissect_inap_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_inap_facilityGroupMemberID);
1242 static int dissect_calledFacilityGroupMember_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1243 return dissect_inap_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_inap_calledFacilityGroupMember);
1247 static const value_string inap_T_criticality_vals[] = {
1255 dissect_inap_T_criticality(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1256 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1260 static int dissect_criticality(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1261 return dissect_inap_T_criticality(FALSE, tvb, offset, pinfo, tree, hf_inap_criticality);
1264 static const ber_sequence_t Extensions_item_sequence[] = {
1265 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_type },
1266 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_criticality },
1267 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_value_impl },
1272 dissect_inap_Extensions_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1273 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1274 Extensions_item_sequence, hf_index, ett_inap_Extensions_item);
1278 static int dissect_Extensions_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1279 return dissect_inap_Extensions_item(FALSE, tvb, offset, pinfo, tree, hf_inap_Extensions_item);
1282 static const ber_sequence_t Extensions_sequence_of[1] = {
1283 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Extensions_item },
1287 dissect_inap_Extensions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1288 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1289 Extensions_sequence_of, hf_index, ett_inap_Extensions);
1293 static int dissect_extensions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1294 return dissect_inap_Extensions(TRUE, tvb, offset, pinfo, tree, hf_inap_extensions);
1297 static const ber_sequence_t T_filteredCallTreatment_sequence[] = {
1298 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sFBillingChargingCharacteristics_impl },
1299 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_informationToSend_impl },
1300 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_maximumNumberOfCounters_impl },
1301 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
1306 dissect_inap_T_filteredCallTreatment(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1307 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1308 T_filteredCallTreatment_sequence, hf_index, ett_inap_T_filteredCallTreatment);
1312 static int dissect_filteredCallTreatment_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1313 return dissect_inap_T_filteredCallTreatment(TRUE, tvb, offset, pinfo, tree, hf_inap_filteredCallTreatment);
1317 static const value_string inap_T_filteringCharacteristics_vals[] = {
1319 { 1, "numberOfCalls" },
1323 static const ber_choice_t T_filteringCharacteristics_choice[] = {
1324 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_interval_impl },
1325 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_numberOfCalls_impl },
1326 { 0, 0, 0, 0, NULL }
1330 dissect_inap_T_filteringCharacteristics(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1331 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1332 T_filteringCharacteristics_choice, hf_index, ett_inap_T_filteringCharacteristics);
1336 static int dissect_filteringCharacteristics_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1337 return dissect_inap_T_filteringCharacteristics(TRUE, tvb, offset, pinfo, tree, hf_inap_filteringCharacteristics);
1343 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_) {
1344 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1348 static int dissect_aduration_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_aduration);
1351 static int dissect_cgduration_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_cgduration);
1354 static int dissect_monitorDuration_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1355 return dissect_inap_INTEGER_M2_86400(TRUE, tvb, offset, pinfo, tree, hf_inap_monitorDuration);
1360 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_) {
1361 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1366 static int dissect_stopTime_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_stopTime);
1369 static int dissect_startTime_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_startTime);
1372 static int dissect_callStopTimeValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1373 return dissect_inap_OCTET_STRING_SIZE_6(TRUE, tvb, offset, pinfo, tree, hf_inap_callStopTimeValue);
1377 static const value_string inap_T_filteringTimeOut_vals[] = {
1383 static const ber_choice_t T_filteringTimeOut_choice[] = {
1384 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_aduration_impl },
1385 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_stopTime_impl },
1386 { 0, 0, 0, 0, NULL }
1390 dissect_inap_T_filteringTimeOut(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1391 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1392 T_filteringTimeOut_choice, hf_index, ett_inap_T_filteringTimeOut);
1396 static int dissect_filteringTimeOut_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1397 return dissect_inap_T_filteringTimeOut(TRUE, tvb, offset, pinfo, tree, hf_inap_filteringTimeOut);
1400 static const ber_sequence_t ActivateServiceFilteringarg_sequence[] = {
1401 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_filteredCallTreatment_impl },
1402 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_filteringCharacteristics_impl },
1403 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_filteringTimeOut_impl },
1404 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_filteringCriteria_impl },
1405 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_startTime_impl },
1406 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
1411 dissect_inap_ActivateServiceFilteringarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1412 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1413 ActivateServiceFilteringarg_sequence, hf_index, ett_inap_ActivateServiceFilteringarg);
1419 static const value_string inap_T_messageType_vals[] = {
1421 { 1, "notification" },
1427 dissect_inap_T_messageType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1428 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1432 static int dissect_messageType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1433 return dissect_inap_T_messageType(TRUE, tvb, offset, pinfo, tree, hf_inap_messageType);
1437 static const value_string inap_T_dpAssignment_vals[] = {
1438 { 0, "individualLine" },
1439 { 1, "groupBased" },
1440 { 2, "officeBased" },
1446 dissect_inap_T_dpAssignment(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1447 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1451 static int dissect_dpAssignment_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1452 return dissect_inap_T_dpAssignment(TRUE, tvb, offset, pinfo, tree, hf_inap_dpAssignment);
1455 static const ber_sequence_t MiscCallInfo_sequence[] = {
1456 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_messageType_impl },
1457 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dpAssignment_impl },
1462 dissect_inap_MiscCallInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1463 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1464 MiscCallInfo_sequence, hf_index, ett_inap_MiscCallInfo);
1468 static int dissect_miscCallInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1469 return dissect_inap_MiscCallInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_miscCallInfo);
1472 static const ber_sequence_t ServiceAddressInformation_sequence[] = {
1473 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
1474 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_miscCallInfo_impl },
1475 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_triggerType_impl },
1480 dissect_inap_ServiceAddressInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1481 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1482 ServiceAddressInformation_sequence, hf_index, ett_inap_ServiceAddressInformation);
1486 static int dissect_serviceAddressInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1487 return dissect_inap_ServiceAddressInformation(TRUE, tvb, offset, pinfo, tree, hf_inap_serviceAddressInformation);
1491 static const value_string inap_TerminalType_vals[] = {
1496 { 4, "isdnNoDtmf" },
1503 dissect_inap_TerminalType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1504 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1508 static int dissect_terminalType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1509 return dissect_inap_TerminalType(TRUE, tvb, offset, pinfo, tree, hf_inap_terminalType);
1512 static const ber_sequence_t RouteList_sequence_of[1] = {
1513 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_RouteList_item },
1517 dissect_inap_RouteList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1518 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1519 RouteList_sequence_of, hf_index, ett_inap_RouteList);
1523 static int dissect_routeList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1524 return dissect_inap_RouteList(TRUE, tvb, offset, pinfo, tree, hf_inap_routeList);
1528 static const value_string inap_CGEncountered_vals[] = {
1529 { 0, "noCGencountered" },
1530 { 1, "manualCGencountered" },
1531 { 2, "scpOverload" },
1537 dissect_inap_CGEncountered(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1538 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1542 static int dissect_cGEncountered_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1543 return dissect_inap_CGEncountered(TRUE, tvb, offset, pinfo, tree, hf_inap_cGEncountered);
1547 static const value_string inap_BearerCapability_vals[] = {
1553 static const ber_choice_t BearerCapability_choice[] = {
1554 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_bearerCap_impl },
1555 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_tmr_impl },
1556 { 0, 0, 0, 0, NULL }
1560 dissect_inap_BearerCapability(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1561 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1562 BearerCapability_choice, hf_index, ett_inap_BearerCapability);
1566 static int dissect_bearerCapability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1567 return dissect_inap_BearerCapability(TRUE, tvb, offset, pinfo, tree, hf_inap_bearerCapability);
1570 static const ber_sequence_t DpSpecificCommonParameters_sequence[] = {
1571 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_serviceAddressInformation_impl },
1572 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_bearerCapability_impl },
1573 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyNumber_impl },
1574 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyNumber_impl },
1575 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartysCategory_impl },
1576 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iPSSPCapabilities_impl },
1577 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iPAvailable_impl },
1578 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iSDNAccessRelatedInformation_impl },
1579 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cGEncountered_impl },
1580 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationNumber_impl },
1581 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceProfileIdentifier_impl },
1582 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_terminalType_impl },
1583 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
1584 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargeNumber_impl },
1585 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_servingAreaID_impl },
1590 dissect_inap_DpSpecificCommonParameters(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1591 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1592 DpSpecificCommonParameters_sequence, hf_index, ett_inap_DpSpecificCommonParameters);
1596 static int dissect_dpSpecificCommonParameters_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1597 return dissect_inap_DpSpecificCommonParameters(TRUE, tvb, offset, pinfo, tree, hf_inap_dpSpecificCommonParameters);
1601 static const value_string inap_CallingFacilityGroup_vals[] = {
1602 { 0, "trunkGroupID" },
1603 { 1, "privateFacilityID" },
1605 { 3, "routeIndex" },
1609 static const ber_choice_t CallingFacilityGroup_choice[] = {
1610 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_trunkGroupID_impl },
1611 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_privateFacilityID_impl },
1612 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_huntGroup_impl },
1613 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_routeIndex_impl },
1614 { 0, 0, 0, 0, NULL }
1618 dissect_inap_CallingFacilityGroup(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1619 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1620 CallingFacilityGroup_choice, hf_index, ett_inap_CallingFacilityGroup);
1624 static int dissect_callingFacilityGroup_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1625 return dissect_inap_CallingFacilityGroup(TRUE, tvb, offset, pinfo, tree, hf_inap_callingFacilityGroup);
1630 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_) {
1631 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1636 static int dissect_redirectionInformation_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_redirectionInformation);
1639 static int dissect_highLayerCompatibility_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_highLayerCompatibility);
1642 static int dissect_forwardCallIndicators_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1643 return dissect_inap_OCTET_STRING_SIZE_2(TRUE, tvb, offset, pinfo, tree, hf_inap_forwardCallIndicators);
1646 static const ber_sequence_t AnalysedInformationarg_sequence[] = {
1647 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
1648 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dialledDigits_impl },
1649 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
1650 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
1651 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
1652 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
1653 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
1654 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_prefix_impl },
1655 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
1656 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
1657 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
1658 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
1659 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
1660 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_featureCode_impl },
1661 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_accessCode_impl },
1662 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
1667 dissect_inap_AnalysedInformationarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1668 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1669 AnalysedInformationarg_sequence, hf_index, ett_inap_AnalysedInformationarg);
1676 dissect_inap_DestinationAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1677 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1682 static int dissect_destinationRoutingAddress_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1683 return dissect_inap_DestinationAddress(FALSE, tvb, offset, pinfo, tree, hf_inap_destinationRoutingAddress_item);
1686 static const ber_sequence_t SEQUENCE_SIZE_1_3_OF_DestinationAddress_sequence_of[1] = {
1687 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_destinationRoutingAddress_item },
1691 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_) {
1692 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1693 SEQUENCE_SIZE_1_3_OF_DestinationAddress_sequence_of, hf_index, ett_inap_SEQUENCE_SIZE_1_3_OF_DestinationAddress);
1697 static int dissect_destinationRoutingAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1698 return dissect_inap_SEQUENCE_SIZE_1_3_OF_DestinationAddress(TRUE, tvb, offset, pinfo, tree, hf_inap_destinationRoutingAddress);
1703 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_) {
1704 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1709 static int dissect_alertingPattern_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1710 return dissect_inap_OCTET_STRING_SIZE_3(TRUE, tvb, offset, pinfo, tree, hf_inap_alertingPattern);
1713 static const ber_sequence_t AnalyseInformationarg_sequence[] = {
1714 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_destinationRoutingAddress_impl },
1715 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
1716 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iSDNAccessRelatedInformation_impl },
1717 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
1718 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
1719 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyNumber_impl },
1720 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartysCategory_impl },
1721 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyNumber_impl },
1722 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargeNumber_impl },
1723 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
1724 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
1729 dissect_inap_AnalyseInformationarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1730 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1731 AnalyseInformationarg_sequence, hf_index, ett_inap_AnalyseInformationarg);
1737 static const value_string inap_PartyToCharge_vals[] = {
1738 { 0, "sendingSideID" },
1739 { 1, "receivingSideID" },
1743 static const ber_choice_t PartyToCharge_choice[] = {
1744 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sendingSideID_impl },
1745 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_receivingSideID_impl },
1746 { 0, 0, 0, 0, NULL }
1750 dissect_inap_PartyToCharge(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1751 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1752 PartyToCharge_choice, hf_index, ett_inap_PartyToCharge);
1756 static int dissect_partyToCharge_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1757 return dissect_inap_PartyToCharge(TRUE, tvb, offset, pinfo, tree, hf_inap_partyToCharge);
1760 static const ber_sequence_t ApplyChargingarg_sequence[] = {
1761 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_aChBillingChargingCharacteristics_impl },
1762 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_partyToCharge_impl },
1763 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
1768 dissect_inap_ApplyChargingarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1769 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1770 ApplyChargingarg_sequence, hf_index, ett_inap_ApplyChargingarg);
1777 dissect_inap_ApplyChargingReportarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1778 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1784 static const ber_sequence_t AssistRequestInstructionsarg_sequence[] = {
1785 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
1786 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iPAvailable_impl },
1787 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iPSSPCapabilities_impl },
1788 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
1793 dissect_inap_AssistRequestInstructionsarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1794 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1795 AssistRequestInstructionsarg_sequence, hf_index, ett_inap_AssistRequestInstructionsarg);
1801 static const value_string inap_T_dpCriteria_vals[] = {
1802 { 1, "origAttemptAuthorized" },
1803 { 2, "collectedInfo" },
1804 { 3, "analysedInformation" },
1805 { 4, "routeSelectFailure" },
1806 { 5, "oCalledPartyBusy" },
1810 { 9, "oDisconnect" },
1812 { 12, "termAttemptAuthorized" },
1814 { 14, "tNoAnswer" },
1817 { 17, "tDisconnect" },
1824 dissect_inap_T_dpCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1825 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1829 static int dissect_dpCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1830 return dissect_inap_T_dpCriteria(TRUE, tvb, offset, pinfo, tree, hf_inap_dpCriteria);
1833 static const ber_sequence_t T_gapOnService_sequence[] = {
1834 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
1835 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dpCriteria_impl },
1840 dissect_inap_T_gapOnService(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1841 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1842 T_gapOnService_sequence, hf_index, ett_inap_T_gapOnService);
1846 static int dissect_gapOnService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1847 return dissect_inap_T_gapOnService(TRUE, tvb, offset, pinfo, tree, hf_inap_gapOnService);
1850 static const ber_sequence_t T_calledAddressAndService_sequence[] = {
1851 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_calledAddressValue_impl },
1852 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
1857 dissect_inap_T_calledAddressAndService(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1858 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1859 T_calledAddressAndService_sequence, hf_index, ett_inap_T_calledAddressAndService);
1863 static int dissect_calledAddressAndService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1864 return dissect_inap_T_calledAddressAndService(TRUE, tvb, offset, pinfo, tree, hf_inap_calledAddressAndService);
1867 static const ber_sequence_t T_callingAddressAndService_sequence[] = {
1868 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_callingAddressValue_impl },
1869 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
1870 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationNumber_impl },
1875 dissect_inap_T_callingAddressAndService(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1876 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1877 T_callingAddressAndService_sequence, hf_index, ett_inap_T_callingAddressAndService);
1881 static int dissect_callingAddressAndService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1882 return dissect_inap_T_callingAddressAndService(TRUE, tvb, offset, pinfo, tree, hf_inap_callingAddressAndService);
1886 static const value_string inap_T_gapCriteria_vals[] = {
1887 { 0, "calledAddressValue" },
1888 { 2, "gapOnService" },
1889 { 29, "calledAddressAndService" },
1890 { 30, "callingAddressAndService" },
1894 static const ber_choice_t T_gapCriteria_choice[] = {
1895 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_calledAddressValue_impl },
1896 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gapOnService_impl },
1897 { 29, BER_CLASS_CON, 29, BER_FLAGS_IMPLTAG, dissect_calledAddressAndService_impl },
1898 { 30, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_callingAddressAndService_impl },
1899 { 0, 0, 0, 0, NULL }
1903 dissect_inap_T_gapCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1904 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1905 T_gapCriteria_choice, hf_index, ett_inap_T_gapCriteria);
1909 static int dissect_gapCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1910 return dissect_inap_T_gapCriteria(TRUE, tvb, offset, pinfo, tree, hf_inap_gapCriteria);
1916 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_) {
1917 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1921 static int dissect_gapInterval_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1922 return dissect_inap_INTEGER_M1_60000(TRUE, tvb, offset, pinfo, tree, hf_inap_gapInterval);
1925 static const ber_sequence_t T_gapIndicators_sequence[] = {
1926 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cgduration_impl },
1927 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gapInterval_impl },
1932 dissect_inap_T_gapIndicators(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1933 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1934 T_gapIndicators_sequence, hf_index, ett_inap_T_gapIndicators);
1938 static int dissect_gapIndicators_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1939 return dissect_inap_T_gapIndicators(TRUE, tvb, offset, pinfo, tree, hf_inap_gapIndicators);
1943 static const value_string inap_T_controlType_vals[] = {
1944 { 0, "sCPOverloaded" },
1945 { 1, "manuallyInitiated" },
1946 { 2, "destinationOverload" },
1952 dissect_inap_T_controlType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1953 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1957 static int dissect_controlType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1958 return dissect_inap_T_controlType(TRUE, tvb, offset, pinfo, tree, hf_inap_controlType);
1961 static const ber_sequence_t Both_sequence[] = {
1962 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_informationToSend_impl },
1963 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
1968 dissect_inap_Both(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1969 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1970 Both_sequence, hf_index, ett_inap_Both);
1974 static int dissect_both_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1975 return dissect_inap_Both(TRUE, tvb, offset, pinfo, tree, hf_inap_both);
1979 static const value_string inap_T_gapTreatment_vals[] = {
1980 { 0, "informationToSend" },
1981 { 1, "releaseCause" },
1986 static const ber_choice_t T_gapTreatment_choice[] = {
1987 { 0, BER_CLASS_CON, 0, 0, dissect_informationToSend_impl },
1988 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
1989 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_both_impl },
1990 { 0, 0, 0, 0, NULL }
1994 dissect_inap_T_gapTreatment(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1995 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1996 T_gapTreatment_choice, hf_index, ett_inap_T_gapTreatment);
2000 static int dissect_gapTreatment_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2001 return dissect_inap_T_gapTreatment(TRUE, tvb, offset, pinfo, tree, hf_inap_gapTreatment);
2004 static const ber_sequence_t CallGaparg_sequence[] = {
2005 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gapCriteria_impl },
2006 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gapIndicators_impl },
2007 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_controlType_impl },
2008 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gapTreatment_impl },
2009 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2014 dissect_inap_CallGaparg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2015 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2016 CallGaparg_sequence, hf_index, ett_inap_CallGaparg);
2022 static const value_string inap_T_requestedInformationType_vals[] = {
2023 { 0, "callAttemptElapsedTime" },
2024 { 1, "callStopTime" },
2025 { 2, "callConnectedElapsedTime" },
2026 { 3, "calledAddress" },
2027 { 30, "releaseCause" },
2033 dissect_inap_T_requestedInformationType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2034 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2038 static int dissect_requestedInformationType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2039 return dissect_inap_T_requestedInformationType(TRUE, tvb, offset, pinfo, tree, hf_inap_requestedInformationType);
2045 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_) {
2046 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2050 static int dissect_callAttemptElapsedTimeValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2051 return dissect_inap_INTEGER_0_255(TRUE, tvb, offset, pinfo, tree, hf_inap_callAttemptElapsedTimeValue);
2055 static const value_string inap_T_requestedInformationValue_vals[] = {
2056 { 0, "callAttemptElapsedTimeValue" },
2057 { 1, "callStopTimeValue" },
2058 { 2, "callConnectedElapsedTimeValue" },
2059 { 3, "calledAddressValue" },
2060 { 30, "releaseCauseValue" },
2064 static const ber_choice_t T_requestedInformationValue_choice[] = {
2065 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_callAttemptElapsedTimeValue_impl },
2066 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_callStopTimeValue_impl },
2067 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_callConnectedElapsedTimeValue_impl },
2068 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_calledAddressValue_impl },
2069 { 30, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_releaseCauseValue_impl },
2070 { 0, 0, 0, 0, NULL }
2074 dissect_inap_T_requestedInformationValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2075 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2076 T_requestedInformationValue_choice, hf_index, ett_inap_T_requestedInformationValue);
2080 static int dissect_requestedInformationValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2081 return dissect_inap_T_requestedInformationValue(TRUE, tvb, offset, pinfo, tree, hf_inap_requestedInformationValue);
2084 static const ber_sequence_t T_requestedInformationList_item_sequence[] = {
2085 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_requestedInformationType_impl },
2086 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_requestedInformationValue_impl },
2091 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_) {
2092 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2093 T_requestedInformationList_item_sequence, hf_index, ett_inap_T_requestedInformationList_item);
2097 static int dissect_requestedInformationList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2098 return dissect_inap_T_requestedInformationList_item(FALSE, tvb, offset, pinfo, tree, hf_inap_requestedInformationList_item);
2101 static const ber_sequence_t T_requestedInformationList_sequence_of[1] = {
2102 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_requestedInformationList_item },
2106 dissect_inap_T_requestedInformationList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2107 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2108 T_requestedInformationList_sequence_of, hf_index, ett_inap_T_requestedInformationList);
2112 static int dissect_requestedInformationList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2113 return dissect_inap_T_requestedInformationList(TRUE, tvb, offset, pinfo, tree, hf_inap_requestedInformationList);
2116 static const ber_sequence_t CallInformationReportarg_sequence[] = {
2117 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_requestedInformationList_impl },
2118 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
2119 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2124 dissect_inap_CallInformationReportarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2125 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2126 CallInformationReportarg_sequence, hf_index, ett_inap_CallInformationReportarg);
2132 static const value_string inap_T_requestedInformationTypeList_item_vals[] = {
2133 { 0, "callAttemptElapsedTime" },
2134 { 1, "callStopTime" },
2135 { 2, "callConnectedElapsedTime" },
2136 { 3, "calledAddress" },
2137 { 30, "releaseCause" },
2143 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_) {
2144 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2148 static int dissect_requestedInformationTypeList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2149 return dissect_inap_T_requestedInformationTypeList_item(FALSE, tvb, offset, pinfo, tree, hf_inap_requestedInformationTypeList_item);
2152 static const ber_sequence_t T_requestedInformationTypeList_sequence_of[1] = {
2153 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_requestedInformationTypeList_item },
2157 dissect_inap_T_requestedInformationTypeList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2158 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2159 T_requestedInformationTypeList_sequence_of, hf_index, ett_inap_T_requestedInformationTypeList);
2163 static int dissect_requestedInformationTypeList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2164 return dissect_inap_T_requestedInformationTypeList(TRUE, tvb, offset, pinfo, tree, hf_inap_requestedInformationTypeList);
2167 static const ber_sequence_t CallInformationRequestarg_sequence[] = {
2168 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_requestedInformationTypeList_impl },
2169 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
2170 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2175 dissect_inap_CallInformationRequestarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2176 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2177 CallInformationRequestarg_sequence, hf_index, ett_inap_CallInformationRequestarg);
2185 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_) {
2186 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2190 static int dissect_invokeID_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_invokeID);
2193 static int dissect_operation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2194 return dissect_inap_INTEGER_M128_127(TRUE, tvb, offset, pinfo, tree, hf_inap_operation);
2199 dissect_inap_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2200 { proto_item *ti_tmp;
2201 ti_tmp = proto_tree_add_item(tree, hf_index, tvb, offset>>8, 0, FALSE);
2202 proto_item_append_text(ti_tmp, ": NULL");
2207 static int dissect_allRequests_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2208 return dissect_inap_NULL(TRUE, tvb, offset, pinfo, tree, hf_inap_allRequests);
2210 static int dissect_none_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2211 return dissect_inap_NULL(TRUE, tvb, offset, pinfo, tree, hf_inap_none);
2213 static int dissect_empty_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2214 return dissect_inap_NULL(TRUE, tvb, offset, pinfo, tree, hf_inap_empty);
2218 static const value_string inap_Cancelarg_vals[] = {
2220 { 1, "allRequests" },
2224 static const ber_choice_t Cancelarg_choice[] = {
2225 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_invokeID_impl },
2226 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_allRequests_impl },
2227 { 0, 0, 0, 0, NULL }
2231 dissect_inap_Cancelarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2232 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2233 Cancelarg_choice, hf_index, ett_inap_Cancelarg);
2239 static const value_string inap_FacilityGroupID_vals[] = {
2240 { 0, "trunkGroupID" },
2241 { 1, "privateFacilityID" },
2243 { 3, "routeIndex" },
2247 static const ber_choice_t FacilityGroupID_choice[] = {
2248 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_trunkGroupID_impl },
2249 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_privateFacilityID_impl },
2250 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_huntGroup_impl },
2251 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_routeIndex_impl },
2252 { 0, 0, 0, 0, NULL }
2256 dissect_inap_FacilityGroupID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2257 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2258 FacilityGroupID_choice, hf_index, ett_inap_FacilityGroupID);
2262 static int dissect_facilityGroupID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2263 return dissect_inap_FacilityGroupID(TRUE, tvb, offset, pinfo, tree, hf_inap_facilityGroupID);
2267 static const value_string inap_ResourceID_vals[] = {
2269 { 1, "facilityGroupID" },
2270 { 2, "facilityGroupMemberID" },
2271 { 3, "trunkGroupID" },
2275 static const ber_choice_t ResourceID_choice[] = {
2276 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_lineID_impl },
2277 { 1, BER_CLASS_CON, 1, 0, dissect_facilityGroupID_impl },
2278 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_facilityGroupMemberID_impl },
2279 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_trunkGroupID_impl },
2280 { 0, 0, 0, 0, NULL }
2284 dissect_inap_ResourceID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2285 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2286 ResourceID_choice, hf_index, ett_inap_ResourceID);
2290 static int dissect_resourceID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2291 return dissect_inap_ResourceID(TRUE, tvb, offset, pinfo, tree, hf_inap_resourceID);
2294 static const ber_sequence_t CancelStatusReportRequestarg_sequence[] = {
2295 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_resourceID_impl },
2296 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2301 dissect_inap_CancelStatusReportRequestarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2302 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2303 CancelStatusReportRequestarg_sequence, hf_index, ett_inap_CancelStatusReportRequestarg);
2308 static const ber_sequence_t CollectedInformationarg_sequence[] = {
2309 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
2310 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dialledDigits_impl },
2311 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
2312 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
2313 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
2314 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
2315 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
2316 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_prefix_impl },
2317 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
2318 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
2319 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
2320 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2321 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_featureCode_impl },
2322 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_accessCode_impl },
2323 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
2328 dissect_inap_CollectedInformationarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2329 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2330 CollectedInformationarg_sequence, hf_index, ett_inap_CollectedInformationarg);
2335 static const ber_sequence_t CollectInformationarg_sequence[] = {
2336 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
2337 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numberingPlan_impl },
2338 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
2339 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
2340 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2341 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyNumber_impl },
2342 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dialledDigits_impl },
2347 dissect_inap_CollectInformationarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2348 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2349 CollectInformationarg_sequence, hf_index, ett_inap_CollectInformationarg);
2357 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_) {
2358 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2362 static int dissect_cutAndPaste_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2363 return dissect_inap_INTEGER_0_22(TRUE, tvb, offset, pinfo, tree, hf_inap_cutAndPaste);
2367 static const value_string inap_T_forwardingCondition_vals[] = {
2375 dissect_inap_T_forwardingCondition(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2376 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2380 static int dissect_forwardingCondition_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2381 return dissect_inap_T_forwardingCondition(TRUE, tvb, offset, pinfo, tree, hf_inap_forwardingCondition);
2384 static const ber_sequence_t Connectarg_sequence[] = {
2385 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_destinationRoutingAddress_impl },
2386 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
2387 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
2388 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cutAndPaste_impl },
2389 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingCondition_impl },
2390 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iSDNAccessRelatedInformation_impl },
2391 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
2392 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
2393 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_scfID_impl },
2394 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
2395 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2396 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
2397 { BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceInteractionIndicators_impl },
2398 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyNumber_impl },
2399 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartysCategory_impl },
2400 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
2401 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
2406 dissect_inap_Connectarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2407 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2408 Connectarg_sequence, hf_index, ett_inap_Connectarg);
2414 static const value_string inap_T_resourceAddress_vals[] = {
2415 { 0, "ipRoutingAddress" },
2422 static const ber_choice_t T_resourceAddress_choice[] = {
2423 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ipRoutingAddress_impl },
2424 { 1, BER_CLASS_CON, 1, 0, dissect_legID_impl },
2425 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_both_impl },
2426 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_none_impl },
2427 { 0, 0, 0, 0, NULL }
2431 dissect_inap_T_resourceAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2432 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2433 T_resourceAddress_choice, hf_index, ett_inap_T_resourceAddress);
2437 static int dissect_resourceAddress(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2438 return dissect_inap_T_resourceAddress(FALSE, tvb, offset, pinfo, tree, hf_inap_resourceAddress);
2441 static const ber_sequence_t ConnectToResource_sequence[] = {
2442 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_resourceAddress },
2443 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2444 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceInteractionIndicators_impl },
2449 dissect_inap_ConnectToResource(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2450 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2451 ConnectToResource_sequence, hf_index, ett_inap_ConnectToResource);
2456 static const ber_sequence_t EstablishTemporaryConnection_sequence[] = {
2457 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_assistingSSPIPRoutingAddress_impl },
2458 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
2459 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
2460 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_scfID_impl },
2461 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2462 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
2463 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceInteractionIndicators_impl },
2468 dissect_inap_EstablishTemporaryConnection(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2469 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2470 EstablishTemporaryConnection_sequence, hf_index, ett_inap_EstablishTemporaryConnection);
2476 static const value_string inap_MonitorMode_vals[] = {
2477 { 0, "interrupted" },
2478 { 1, "notifyAndContinue" },
2479 { 2, "transparent" },
2485 dissect_inap_MonitorMode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2486 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2490 static int dissect_monitorMode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2491 return dissect_inap_MonitorMode(TRUE, tvb, offset, pinfo, tree, hf_inap_monitorMode);
2494 static const ber_sequence_t EventNotificationChargingarg_sequence[] = {
2495 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_eventTypeCharging_impl },
2496 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_eventSpecificInformationCharging_impl },
2497 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
2498 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2499 { BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_monitorMode_impl },
2504 dissect_inap_EventNotificationChargingarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2505 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2506 EventNotificationChargingarg_sequence, hf_index, ett_inap_EventNotificationChargingarg);
2512 static const value_string inap_EventTypeBCSM_vals[] = {
2513 { 1, "origAttemptAuthorized" },
2514 { 2, "collectedInfo" },
2515 { 3, "analysedInformation" },
2516 { 4, "routeSelectFailure" },
2517 { 5, "oCalledPartyBusy" },
2521 { 9, "oDisconnect" },
2523 { 12, "termAttemptAuthorized" },
2525 { 14, "tNoAnswer" },
2528 { 17, "tDisconnect" },
2535 dissect_inap_EventTypeBCSM(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2536 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2540 static int dissect_eventTypeBCSM_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2541 return dissect_inap_EventTypeBCSM(TRUE, tvb, offset, pinfo, tree, hf_inap_eventTypeBCSM);
2544 static const ber_sequence_t T_collectedInfoSpecificInfo_sequence[] = {
2545 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_calledPartynumber_impl },
2550 dissect_inap_T_collectedInfoSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2551 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2552 T_collectedInfoSpecificInfo_sequence, hf_index, ett_inap_T_collectedInfoSpecificInfo);
2556 static int dissect_collectedInfoSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2557 return dissect_inap_T_collectedInfoSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_collectedInfoSpecificInfo);
2560 static const ber_sequence_t T_analyzedInfoSpecificInfo_sequence[] = {
2561 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_calledPartynumber_impl },
2566 dissect_inap_T_analyzedInfoSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2567 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2568 T_analyzedInfoSpecificInfo_sequence, hf_index, ett_inap_T_analyzedInfoSpecificInfo);
2572 static int dissect_analyzedInfoSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2573 return dissect_inap_T_analyzedInfoSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_analyzedInfoSpecificInfo);
2578 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_) {
2579 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2584 static int dissect_failureCause_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_failureCause);
2587 static int dissect_busyCause_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2588 return dissect_inap_OCTET_STRING_SIZE_2_10(TRUE, tvb, offset, pinfo, tree, hf_inap_busyCause);
2591 static const ber_sequence_t T_routeSelectFailureSpecificInfo_sequence[] = {
2592 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_failureCause_impl },
2597 dissect_inap_T_routeSelectFailureSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2598 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2599 T_routeSelectFailureSpecificInfo_sequence, hf_index, ett_inap_T_routeSelectFailureSpecificInfo);
2603 static int dissect_routeSelectFailureSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2604 return dissect_inap_T_routeSelectFailureSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_routeSelectFailureSpecificInfo);
2607 static const ber_sequence_t T_oCalledPartyBusySpecificInfo_sequence[] = {
2608 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_busyCause_impl },
2613 dissect_inap_T_oCalledPartyBusySpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2614 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2615 T_oCalledPartyBusySpecificInfo_sequence, hf_index, ett_inap_T_oCalledPartyBusySpecificInfo);
2619 static int dissect_oCalledPartyBusySpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2620 return dissect_inap_T_oCalledPartyBusySpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_oCalledPartyBusySpecificInfo);
2623 static const ber_sequence_t T_oNoAnswerSpecificInfo_sequence[] = {
2628 dissect_inap_T_oNoAnswerSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2629 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2630 T_oNoAnswerSpecificInfo_sequence, hf_index, ett_inap_T_oNoAnswerSpecificInfo);
2634 static int dissect_oNoAnswerSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2635 return dissect_inap_T_oNoAnswerSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_oNoAnswerSpecificInfo);
2638 static const ber_sequence_t T_oAnswerSpecificInfo_sequence[] = {
2643 dissect_inap_T_oAnswerSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2644 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2645 T_oAnswerSpecificInfo_sequence, hf_index, ett_inap_T_oAnswerSpecificInfo);
2649 static int dissect_oAnswerSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2650 return dissect_inap_T_oAnswerSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_oAnswerSpecificInfo);
2653 static const ber_sequence_t T_oMidCallSpecificInfo_sequence[] = {
2654 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_connectTime_impl },
2659 dissect_inap_T_oMidCallSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2660 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2661 T_oMidCallSpecificInfo_sequence, hf_index, ett_inap_T_oMidCallSpecificInfo);
2665 static int dissect_oMidCallSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2666 return dissect_inap_T_oMidCallSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_oMidCallSpecificInfo);
2669 static const ber_sequence_t T_oDisconnectSpecificInfo_sequence[] = {
2670 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
2671 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_connectTime_impl },
2676 dissect_inap_T_oDisconnectSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2677 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2678 T_oDisconnectSpecificInfo_sequence, hf_index, ett_inap_T_oDisconnectSpecificInfo);
2682 static int dissect_oDisconnectSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2683 return dissect_inap_T_oDisconnectSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_oDisconnectSpecificInfo);
2686 static const ber_sequence_t T_tBusySpecificInfo_sequence[] = {
2687 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_busyCause_impl },
2692 dissect_inap_T_tBusySpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2693 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2694 T_tBusySpecificInfo_sequence, hf_index, ett_inap_T_tBusySpecificInfo);
2698 static int dissect_tBusySpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2699 return dissect_inap_T_tBusySpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_tBusySpecificInfo);
2702 static const ber_sequence_t T_tNoAnswerSpecificInfo_sequence[] = {
2707 dissect_inap_T_tNoAnswerSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2708 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2709 T_tNoAnswerSpecificInfo_sequence, hf_index, ett_inap_T_tNoAnswerSpecificInfo);
2713 static int dissect_tNoAnswerSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2714 return dissect_inap_T_tNoAnswerSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_tNoAnswerSpecificInfo);
2717 static const ber_sequence_t T_tAnswerSpecificInfo_sequence[] = {
2722 dissect_inap_T_tAnswerSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2723 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2724 T_tAnswerSpecificInfo_sequence, hf_index, ett_inap_T_tAnswerSpecificInfo);
2728 static int dissect_tAnswerSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2729 return dissect_inap_T_tAnswerSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_tAnswerSpecificInfo);
2732 static const ber_sequence_t T_tMidCallSpecificInfo_sequence[] = {
2733 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_connectTime_impl },
2738 dissect_inap_T_tMidCallSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2739 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2740 T_tMidCallSpecificInfo_sequence, hf_index, ett_inap_T_tMidCallSpecificInfo);
2744 static int dissect_tMidCallSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2745 return dissect_inap_T_tMidCallSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_tMidCallSpecificInfo);
2748 static const ber_sequence_t T_tDisconnectSpecificInfo_sequence[] = {
2749 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
2750 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_connectTime_impl },
2755 dissect_inap_T_tDisconnectSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2756 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2757 T_tDisconnectSpecificInfo_sequence, hf_index, ett_inap_T_tDisconnectSpecificInfo);
2761 static int dissect_tDisconnectSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2762 return dissect_inap_T_tDisconnectSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_tDisconnectSpecificInfo);
2766 static const value_string inap_T_eventSpecificInformationBCSM_vals[] = {
2767 { 0, "collectedInfoSpecificInfo" },
2768 { 1, "analyzedInfoSpecificInfo" },
2769 { 2, "routeSelectFailureSpecificInfo" },
2770 { 3, "oCalledPartyBusySpecificInfo" },
2771 { 4, "oNoAnswerSpecificInfo" },
2772 { 5, "oAnswerSpecificInfo" },
2773 { 6, "oMidCallSpecificInfo" },
2774 { 7, "oDisconnectSpecificInfo" },
2775 { 8, "tBusySpecificInfo" },
2776 { 9, "tNoAnswerSpecificInfo" },
2777 { 10, "tAnswerSpecificInfo" },
2778 { 11, "tMidCallSpecificInfo" },
2779 { 12, "tDisconnectSpecificInfo" },
2783 static const ber_choice_t T_eventSpecificInformationBCSM_choice[] = {
2784 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_collectedInfoSpecificInfo_impl },
2785 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_analyzedInfoSpecificInfo_impl },
2786 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_routeSelectFailureSpecificInfo_impl },
2787 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_oCalledPartyBusySpecificInfo_impl },
2788 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_oNoAnswerSpecificInfo_impl },
2789 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_oAnswerSpecificInfo_impl },
2790 { 6, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_oMidCallSpecificInfo_impl },
2791 { 7, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_oDisconnectSpecificInfo_impl },
2792 { 8, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_tBusySpecificInfo_impl },
2793 { 9, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_tNoAnswerSpecificInfo_impl },
2794 { 10, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_tAnswerSpecificInfo_impl },
2795 { 11, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_tMidCallSpecificInfo_impl },
2796 { 12, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_tDisconnectSpecificInfo_impl },
2797 { 0, 0, 0, 0, NULL }
2801 dissect_inap_T_eventSpecificInformationBCSM(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2802 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2803 T_eventSpecificInformationBCSM_choice, hf_index, ett_inap_T_eventSpecificInformationBCSM);
2807 static int dissect_eventSpecificInformationBCSM_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2808 return dissect_inap_T_eventSpecificInformationBCSM(TRUE, tvb, offset, pinfo, tree, hf_inap_eventSpecificInformationBCSM);
2811 static const ber_sequence_t EventReportBCSM_sequence[] = {
2812 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_eventTypeBCSM_impl },
2813 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bcsmEventCorrelationID_impl },
2814 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_eventSpecificInformationBCSM_impl },
2815 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
2816 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_miscCallInfo_impl },
2817 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2822 dissect_inap_EventReportBCSM(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2823 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2824 EventReportBCSM_sequence, hf_index, ett_inap_EventReportBCSM);
2831 dissect_inap_FurnishChargingInformationarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2832 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2839 static const value_string inap_HoldCallInNetworkarg_vals[] = {
2845 static const ber_choice_t HoldCallInNetworkarg_choice[] = {
2846 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_holdcause_impl },
2847 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_empty_impl },
2848 { 0, 0, 0, 0, NULL }
2852 dissect_inap_HoldCallInNetworkarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2853 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2854 HoldCallInNetworkarg_choice, hf_index, ett_inap_HoldCallInNetworkarg);
2859 static const ber_sequence_t InitialDP_sequence[] = {
2860 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
2861 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dialledDigits_impl },
2862 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyNumber_impl },
2863 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyNumber_impl },
2864 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
2865 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartysCategory_impl },
2866 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
2867 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cGEncountered_impl },
2868 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iPSSPCapabilities_impl },
2869 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iPAvailable_impl },
2870 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationNumber_impl },
2871 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_miscCallInfo_impl },
2872 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
2873 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceProfileIdentifier_impl },
2874 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_terminalType_impl },
2875 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2876 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_triggerType_impl },
2877 { BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_highLayerCompatibility_impl },
2878 { BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceInteractionIndicators_impl },
2879 { BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalCallingPartyNumber_impl },
2880 { BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardCallIndicators_impl },
2881 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_bearerCapability_impl },
2882 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_eventTypeBCSM_impl },
2883 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
2884 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
2889 dissect_inap_InitialDP(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2890 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2891 InitialDP_sequence, hf_index, ett_inap_InitialDP);
2896 static const ber_sequence_t InitiateCallAttempt_sequence[] = {
2897 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_destinationRoutingAddress_impl },
2898 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
2899 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iSDNAccessRelatedInformation_impl },
2900 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
2901 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2902 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceInteractionIndicators_impl },
2903 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyNumber_impl },
2908 dissect_inap_InitiateCallAttempt(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2909 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2910 InitiateCallAttempt_sequence, hf_index, ett_inap_InitiateCallAttempt);
2915 static const ber_sequence_t OAnswer_sequence[] = {
2916 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
2917 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
2918 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
2919 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
2920 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
2921 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
2922 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
2923 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
2924 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
2925 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
2926 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2931 dissect_inap_OAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2932 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2933 OAnswer_sequence, hf_index, ett_inap_OAnswer);
2938 static const ber_sequence_t OCalledPartyBusy_sequence[] = {
2939 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
2940 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_busyCause_impl },
2941 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
2942 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
2943 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
2944 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
2945 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
2946 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_prefix_impl },
2947 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
2948 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
2949 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
2950 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
2951 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2952 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
2957 dissect_inap_OCalledPartyBusy(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2958 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2959 OCalledPartyBusy_sequence, hf_index, ett_inap_OCalledPartyBusy);
2964 static const ber_sequence_t ODisconnect_sequence[] = {
2965 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
2966 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
2967 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
2968 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
2969 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
2970 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
2971 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
2972 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2973 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
2974 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_connectTime_impl },
2979 dissect_inap_ODisconnect(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2980 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2981 ODisconnect_sequence, hf_index, ett_inap_ODisconnect);
2987 static const value_string inap_FeatureRequestIndicator_vals[] = {
2990 { 2, "featureActivation" },
2998 dissect_inap_FeatureRequestIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2999 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3003 static int dissect_featureRequestIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3004 return dissect_inap_FeatureRequestIndicator(TRUE, tvb, offset, pinfo, tree, hf_inap_featureRequestIndicator);
3007 static const ber_sequence_t OMidCall_sequence[] = {
3008 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3009 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyBusinessGroupID_impl },
3010 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartySubaddress_impl },
3011 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
3012 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
3013 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_featureRequestIndicator_impl },
3014 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3015 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
3020 dissect_inap_OMidCall(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3021 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3022 OMidCall_sequence, hf_index, ett_inap_OMidCall);
3027 static const ber_sequence_t ONoAnswer_sequence[] = {
3028 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3029 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
3030 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
3031 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
3032 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
3033 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
3034 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_prefix_impl },
3035 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
3036 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
3037 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
3038 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
3039 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3040 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
3045 dissect_inap_ONoAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3046 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3047 ONoAnswer_sequence, hf_index, ett_inap_ONoAnswer);
3052 static const ber_sequence_t OriginationAttemptAuthorized_sequence[] = {
3053 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3054 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dialledDigits_impl },
3055 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
3056 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
3057 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
3058 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
3059 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
3060 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3061 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
3066 dissect_inap_OriginationAttemptAuthorized(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3067 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3068 OriginationAttemptAuthorized_sequence, hf_index, ett_inap_OriginationAttemptAuthorized);
3075 dissect_inap_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3076 offset = dissect_ber_boolean(pinfo, tree, tvb, offset, hf_index);
3080 static int dissect_disconnectFromIPForbidden_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3081 return dissect_inap_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_inap_disconnectFromIPForbidden);
3083 static int dissect_requestAnnouncementComplete_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3084 return dissect_inap_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_inap_requestAnnouncementComplete);
3086 static int dissect_interruptableAnnInd_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3087 return dissect_inap_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_inap_interruptableAnnInd);
3089 static int dissect_voiceInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3090 return dissect_inap_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_inap_voiceInformation);
3092 static int dissect_voiceBack_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3093 return dissect_inap_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_inap_voiceBack);
3095 static int dissect_iA5Information_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3096 return dissect_inap_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_inap_iA5Information);
3099 static const ber_sequence_t PlayAnnouncement_sequence[] = {
3100 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_informationToSend_impl },
3101 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_disconnectFromIPForbidden_impl },
3102 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestAnnouncementComplete_impl },
3103 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3108 dissect_inap_PlayAnnouncement(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3109 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3110 PlayAnnouncement_sequence, hf_index, ett_inap_PlayAnnouncement);
3117 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_) {
3118 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3123 static int dissect_endOfReplyDigit_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_endOfReplyDigit);
3126 static int dissect_cancelDigit_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_cancelDigit);
3129 static int dissect_startDigit_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3130 return dissect_inap_OCTET_STRING_SIZE_1_2(TRUE, tvb, offset, pinfo, tree, hf_inap_startDigit);
3134 static const value_string inap_T_errorTreatment_vals[] = {
3135 { 0, "reportErrorToScf" },
3137 { 2, "repeatPrompt" },
3143 dissect_inap_T_errorTreatment(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3144 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3148 static int dissect_errorTreatment_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3149 return dissect_inap_T_errorTreatment(TRUE, tvb, offset, pinfo, tree, hf_inap_errorTreatment);
3152 static const ber_sequence_t T_collectedDigits_sequence[] = {
3153 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_minimumNbOfDigits_impl },
3154 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_maximumNbOfDigits_impl },
3155 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_endOfReplyDigit_impl },
3156 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cancelDigit_impl },
3157 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_startDigit_impl },
3158 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_firstDigitTimeOut_impl },
3159 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_interDigitTimeOut_impl },
3160 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_errorTreatment_impl },
3161 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_interruptableAnnInd_impl },
3162 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_voiceInformation_impl },
3163 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_voiceBack_impl },
3168 dissect_inap_T_collectedDigits(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3169 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3170 T_collectedDigits_sequence, hf_index, ett_inap_T_collectedDigits);
3174 static int dissect_collectedDigits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3175 return dissect_inap_T_collectedDigits(TRUE, tvb, offset, pinfo, tree, hf_inap_collectedDigits);
3179 static const value_string inap_T_collectedInfo_vals[] = {
3180 { 0, "collectedDigits" },
3181 { 1, "iA5Information" },
3185 static const ber_choice_t T_collectedInfo_choice[] = {
3186 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_collectedDigits_impl },
3187 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_iA5Information_impl },
3188 { 0, 0, 0, 0, NULL }
3192 dissect_inap_T_collectedInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3193 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3194 T_collectedInfo_choice, hf_index, ett_inap_T_collectedInfo);
3198 static int dissect_collectedInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3199 return dissect_inap_T_collectedInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_collectedInfo);
3202 static const ber_sequence_t PromptAndCollectUserInformationarg_sequence[] = {
3203 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_collectedInfo_impl },
3204 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_disconnectFromIPForbidden_impl },
3205 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_informationToSend_impl },
3206 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3211 dissect_inap_PromptAndCollectUserInformationarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3212 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3213 PromptAndCollectUserInformationarg_sequence, hf_index, ett_inap_PromptAndCollectUserInformationarg);
3219 static const value_string inap_PromptAndCollectUserInformationres_vals[] = {
3220 { 0, "digitsResponse" },
3221 { 1, "iA5Response" },
3225 static const ber_choice_t PromptAndCollectUserInformationres_choice[] = {
3226 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_digitsResponse_impl },
3227 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_iA5Response_impl },
3228 { 0, 0, 0, 0, NULL }
3232 dissect_inap_PromptAndCollectUserInformationres(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3233 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3234 PromptAndCollectUserInformationres_choice, hf_index, ett_inap_PromptAndCollectUserInformationres);
3240 static const value_string inap_ResourceStatus_vals[] = {
3248 dissect_inap_ResourceStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3249 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3253 static int dissect_resourceStatus_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3254 return dissect_inap_ResourceStatus(TRUE, tvb, offset, pinfo, tree, hf_inap_resourceStatus);
3259 dissect_inap_ReleaseCall(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3260 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3267 static const value_string inap_RequestCurrentStatusReportarg_vals[] = {
3269 { 1, "facilityGroupID" },
3270 { 2, "facilityGroupMemberID" },
3271 { 3, "trunkGroupID" },
3275 static const ber_choice_t RequestCurrentStatusReportarg_choice[] = {
3276 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_lineID_impl },
3277 { 1, BER_CLASS_CON, 1, 0, dissect_facilityGroupID_impl },
3278 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_facilityGroupMemberID_impl },
3279 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_trunkGroupID_impl },
3280 { 0, 0, 0, 0, NULL }
3284 dissect_inap_RequestCurrentStatusReportarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3285 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3286 RequestCurrentStatusReportarg_choice, hf_index, ett_inap_RequestCurrentStatusReportarg);
3291 static const ber_sequence_t RequestCurrentStatusReportres_sequence[] = {
3292 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_resourceStatus_impl },
3293 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_resourceID_impl },
3294 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3299 dissect_inap_RequestCurrentStatusReportres(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3300 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3301 RequestCurrentStatusReportres_sequence, hf_index, ett_inap_RequestCurrentStatusReportres);
3306 static const ber_sequence_t RequestEveryStatusChangeReport_sequence[] = {
3307 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_resourceID_impl },
3308 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
3309 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_monitorDuration_impl },
3310 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3315 dissect_inap_RequestEveryStatusChangeReport(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3316 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3317 RequestEveryStatusChangeReport_sequence, hf_index, ett_inap_RequestEveryStatusChangeReport);
3322 static const ber_sequence_t RequestFirstStatusMatchReport_sequence[] = {
3323 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_resourceID_impl },
3324 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_resourceStatus_impl },
3325 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
3326 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_monitorDuration_impl },
3327 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3328 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_bearerCapability_impl },
3333 dissect_inap_RequestFirstStatusMatchReport(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3334 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3335 RequestFirstStatusMatchReport_sequence, hf_index, ett_inap_RequestFirstStatusMatchReport);
3340 static const ber_sequence_t RequestNotificationChargingEvent_item_sequence[] = {
3341 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_eventTypeCharging_impl },
3342 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_monitorMode_impl },
3343 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
3348 dissect_inap_RequestNotificationChargingEvent_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3349 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3350 RequestNotificationChargingEvent_item_sequence, hf_index, ett_inap_RequestNotificationChargingEvent_item);
3354 static int dissect_RequestNotificationChargingEvent_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3355 return dissect_inap_RequestNotificationChargingEvent_item(FALSE, tvb, offset, pinfo, tree, hf_inap_RequestNotificationChargingEvent_item);
3358 static const ber_sequence_t RequestNotificationChargingEvent_sequence_of[1] = {
3359 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_RequestNotificationChargingEvent_item },
3363 dissect_inap_RequestNotificationChargingEvent(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3364 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3365 RequestNotificationChargingEvent_sequence_of, hf_index, ett_inap_RequestNotificationChargingEvent);
3373 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_) {
3374 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3378 static int dissect_numberOfDigits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3379 return dissect_inap_INTEGER_1_255(TRUE, tvb, offset, pinfo, tree, hf_inap_numberOfDigits);
3385 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_) {
3386 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3390 static int dissect_applicationTimer_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3391 return dissect_inap_INTEGER_0_2047(TRUE, tvb, offset, pinfo, tree, hf_inap_applicationTimer);
3395 static const value_string inap_T_dpSpecificCriteria_vals[] = {
3396 { 0, "numberOfDigits" },
3397 { 1, "applicationTimer" },
3401 static const ber_choice_t T_dpSpecificCriteria_choice[] = {
3402 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_numberOfDigits_impl },
3403 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_applicationTimer_impl },
3404 { 0, 0, 0, 0, NULL }
3408 dissect_inap_T_dpSpecificCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3409 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3410 T_dpSpecificCriteria_choice, hf_index, ett_inap_T_dpSpecificCriteria);
3414 static int dissect_dpSpecificCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3415 return dissect_inap_T_dpSpecificCriteria(TRUE, tvb, offset, pinfo, tree, hf_inap_dpSpecificCriteria);
3418 static const ber_sequence_t T_bcsmEvents_item_sequence[] = {
3419 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_eventTypeBCSM_impl },
3420 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_monitorMode_impl },
3421 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
3422 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dpSpecificCriteria_impl },
3427 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_) {
3428 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3429 T_bcsmEvents_item_sequence, hf_index, ett_inap_T_bcsmEvents_item);
3433 static int dissect_bcsmEvents_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3434 return dissect_inap_T_bcsmEvents_item(FALSE, tvb, offset, pinfo, tree, hf_inap_bcsmEvents_item);
3437 static const ber_sequence_t T_bcsmEvents_sequence_of[1] = {
3438 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_bcsmEvents_item },
3442 dissect_inap_T_bcsmEvents(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3443 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3444 T_bcsmEvents_sequence_of, hf_index, ett_inap_T_bcsmEvents);
3448 static int dissect_bcsmEvents_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3449 return dissect_inap_T_bcsmEvents(TRUE, tvb, offset, pinfo, tree, hf_inap_bcsmEvents);
3452 static const ber_sequence_t RequestReportBCSMEvent_sequence[] = {
3453 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_bcsmEvents_impl },
3454 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bcsmEventCorrelationID_impl },
3455 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3460 dissect_inap_RequestReportBCSMEvent(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3461 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3462 RequestReportBCSMEvent_sequence, hf_index, ett_inap_RequestReportBCSMEvent);
3468 static const value_string inap_T_timerID_vals[] = {
3475 dissect_inap_T_timerID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3476 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3480 static int dissect_timerID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3481 return dissect_inap_T_timerID(TRUE, tvb, offset, pinfo, tree, hf_inap_timerID);
3484 static const ber_sequence_t ResetTimer_sequence[] = {
3485 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_timerID_impl },
3486 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_timervalue_impl },
3487 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3492 dissect_inap_ResetTimer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3493 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3494 ResetTimer_sequence, hf_index, ett_inap_ResetTimer);
3499 static const ber_sequence_t RouteSelectFailure_sequence[] = {
3500 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3501 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dialledDigits_impl },
3502 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
3503 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
3504 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
3505 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
3506 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_failureCause_impl },
3507 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
3508 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_prefix_impl },
3509 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
3510 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
3511 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
3512 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
3513 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3514 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
3519 dissect_inap_RouteSelectFailure(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3520 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3521 RouteSelectFailure_sequence, hf_index, ett_inap_RouteSelectFailure);
3527 static const value_string inap_CalledFacilityGroup_vals[] = {
3528 { 0, "trunkGroupID" },
3529 { 1, "privateFacilityID" },
3531 { 3, "routeIndex" },
3535 static const ber_choice_t CalledFacilityGroup_choice[] = {
3536 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_trunkGroupID_impl },
3537 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_privateFacilityID_impl },
3538 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_huntGroup_impl },
3539 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_routeIndex_impl },
3540 { 0, 0, 0, 0, NULL }
3544 dissect_inap_CalledFacilityGroup(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3545 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3546 CalledFacilityGroup_choice, hf_index, ett_inap_CalledFacilityGroup);
3550 static int dissect_calledFacilityGroup_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3551 return dissect_inap_CalledFacilityGroup(TRUE, tvb, offset, pinfo, tree, hf_inap_calledFacilityGroup);
3554 static const ber_sequence_t SelectFacility_sequence[] = {
3555 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
3556 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationNumberRoutingAddress_impl },
3557 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iSDNAccessRelatedInformation_impl },
3558 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_calledFacilityGroup_impl },
3559 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledFacilityGroupMember_impl },
3560 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
3561 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3566 dissect_inap_SelectFacility(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3567 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3568 SelectFacility_sequence, hf_index, ett_inap_SelectFacility);
3573 static const ber_sequence_t SelectRoute_sequence[] = {
3574 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_destinationRoutingAddress_impl },
3575 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
3576 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
3577 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iSDNAccessRelatedInformation_impl },
3578 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
3579 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
3580 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_scfID_impl },
3581 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
3582 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3583 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
3588 dissect_inap_SelectRoute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3589 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3590 SelectRoute_sequence, hf_index, ett_inap_SelectRoute);
3595 static const ber_sequence_t SendChargingInformation_sequence[] = {
3596 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sCIBillingChargingCharacteristics_impl },
3597 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_partyToCharge_impl },
3598 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3603 dissect_inap_SendChargingInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3604 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3605 SendChargingInformation_sequence, hf_index, ett_inap_SendChargingInformation);
3613 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_) {
3614 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3618 static int dissect_counterID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3619 return dissect_inap_INTEGER_0_99(TRUE, tvb, offset, pinfo, tree, hf_inap_counterID);
3622 static const ber_sequence_t T_countersValue_item_sequence[] = {
3623 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_counterID_impl },
3624 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_counterValue_impl },
3629 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_) {
3630 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3631 T_countersValue_item_sequence, hf_index, ett_inap_T_countersValue_item);
3635 static int dissect_countersValue_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3636 return dissect_inap_T_countersValue_item(FALSE, tvb, offset, pinfo, tree, hf_inap_countersValue_item);
3639 static const ber_sequence_t T_countersValue_sequence_of[1] = {
3640 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_countersValue_item },
3644 dissect_inap_T_countersValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3645 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3646 T_countersValue_sequence_of, hf_index, ett_inap_T_countersValue);
3650 static int dissect_countersValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3651 return dissect_inap_T_countersValue(TRUE, tvb, offset, pinfo, tree, hf_inap_countersValue);
3655 static const value_string inap_T_responseCondition_vals[] = {
3656 { 0, "intermediateResponse" },
3657 { 1, "lastResponse" },
3663 dissect_inap_T_responseCondition(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3664 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3668 static int dissect_responseCondition_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3669 return dissect_inap_T_responseCondition(TRUE, tvb, offset, pinfo, tree, hf_inap_responseCondition);
3672 static const ber_sequence_t ServiceFilteringResponse_sequence[] = {
3673 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_countersValue_impl },
3674 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_filteringCriteria_impl },
3675 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3676 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_responseCondition_impl },
3681 dissect_inap_ServiceFilteringResponse(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3682 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3683 ServiceFilteringResponse_sequence, hf_index, ett_inap_ServiceFilteringResponse);
3689 static const value_string inap_T_reportCondition_vals[] = {
3690 { 0, "statusReport" },
3691 { 1, "timerExpired" },
3698 dissect_inap_T_reportCondition(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3699 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3703 static int dissect_reportCondition_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3704 return dissect_inap_T_reportCondition(TRUE, tvb, offset, pinfo, tree, hf_inap_reportCondition);
3707 static const ber_sequence_t StatusReport_sequence[] = {
3708 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_resourceStatus_impl },
3709 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
3710 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_resourceID_impl },
3711 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3712 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_reportCondition_impl },
3717 dissect_inap_StatusReport(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3718 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3719 StatusReport_sequence, hf_index, ett_inap_StatusReport);
3724 static const ber_sequence_t TAnswer_sequence[] = {
3725 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3726 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyBusinessGroupID_impl },
3727 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartySubaddress_impl },
3728 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_calledFacilityGroup_impl },
3729 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledFacilityGroupMember_impl },
3730 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3735 dissect_inap_TAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3736 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3737 TAnswer_sequence, hf_index, ett_inap_TAnswer);
3742 static const ber_sequence_t TBusy_sequence[] = {
3743 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3744 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_busyCause_impl },
3745 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyBusinessGroupID_impl },
3746 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartySubaddress_impl },
3747 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
3748 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
3749 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
3750 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
3751 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
3752 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3757 dissect_inap_TBusy(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3758 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3759 TBusy_sequence, hf_index, ett_inap_TBusy);
3764 static const ber_sequence_t TDisconnect_sequence[] = {
3765 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3766 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyBusinessGroupID_impl },
3767 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartySubaddress_impl },
3768 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_calledFacilityGroup_impl },
3769 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledFacilityGroupMember_impl },
3770 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
3771 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3772 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_connectTime_impl },
3777 dissect_inap_TDisconnect(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3778 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3779 TDisconnect_sequence, hf_index, ett_inap_TDisconnect);
3784 static const ber_sequence_t TermAttemptAuthorized_sequence[] = {
3785 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3786 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyBusinessGroupID_impl },
3787 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartySubaddress_impl },
3788 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
3789 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
3790 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
3791 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
3792 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
3793 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
3794 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3799 dissect_inap_TermAttemptAuthorized(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3800 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3801 TermAttemptAuthorized_sequence, hf_index, ett_inap_TermAttemptAuthorized);
3806 static const ber_sequence_t TMidCall_sequence[] = {
3807 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3808 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyBusinessGroupID_impl },
3809 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartySubaddress_impl },
3810 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
3811 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
3812 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_featureRequestIndicator_impl },
3813 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3814 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
3819 dissect_inap_TMidCall(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3820 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3821 TMidCall_sequence, hf_index, ett_inap_TMidCall);
3826 static const ber_sequence_t TNoAnswer_sequence[] = {
3827 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3828 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyBusinessGroupID_impl },
3829 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartySubaddress_impl },
3830 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_calledFacilityGroup_impl },
3831 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledFacilityGroupMember_impl },
3832 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
3833 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
3834 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
3835 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
3836 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3841 dissect_inap_TNoAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3842 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3843 TNoAnswer_sequence, hf_index, ett_inap_TNoAnswer);
3849 static const value_string inap_T_problem_vals[] = {
3850 { 0, "unknownOperation" },
3852 { 2, "operationNotCancellable" },
3858 dissect_inap_T_problem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3859 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3863 static int dissect_problem_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3864 return dissect_inap_T_problem(TRUE, tvb, offset, pinfo, tree, hf_inap_problem);
3867 static const ber_sequence_t CancelFailed_sequence[] = {
3868 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_problem_impl },
3869 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_operation_impl },
3874 dissect_inap_CancelFailed(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3875 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3876 CancelFailed_sequence, hf_index, ett_inap_CancelFailed);
3882 static const value_string inap_RequestedInfoError_vals[] = {
3883 { 1, "unknownRequestedInfo" },
3884 { 2, "requestedInfoNotAvailable" },
3890 dissect_inap_RequestedInfoError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3891 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3897 static const value_string inap_SystemFailure_vals[] = {
3898 { 0, "unavailableResources" },
3899 { 1, "componentFailure" },
3900 { 2, "basicCallProcessingException" },
3901 { 3, "resourceStatusFailure" },
3902 { 4, "endUserFailure" },
3908 dissect_inap_SystemFailure(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3909 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3915 static const value_string inap_TaskRefused_vals[] = {
3917 { 1, "unobtainable" },
3918 { 2, "congestion" },
3924 dissect_inap_TaskRefused(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3925 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3931 /*--- End of included file: packet-inap-fn.c ---*/
3935 const value_string inap_opr_code_strings[] = {
3937 {16, "AssistRequestInstructions"},
3938 {44, "CallInformationReport"},
3939 {45, "CallInformationRequest"},
3942 {19,"ConnectToResource"},
3943 {17,"EstablishTemporaryConnection"},
3944 {24,"EventReportBCSM"},
3945 {34,"FurnishChargingInformation"},
3947 {47,"PlayAnnouncement"},
3948 {48,"PromptAndCollectUserInformation"},
3949 {99,"ReceivedInformation"}, /*???????*/
3951 {23,"RequestReportBCSMEvent"},
3952 {49,"SpecializedResourceReport"}
3956 static guint32 opcode=0;
3959 dissect_inap_Opcode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
3960 offset = dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_index, &opcode);
3962 if (check_col(pinfo->cinfo, COL_INFO)){
3963 col_set_str(pinfo->cinfo, COL_INFO, val_to_str(opcode, inap_opr_code_strings, "Unknown Inap (%u)"));
3969 static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3971 case 16: /*AssistRequestInstructions*/
3972 offset=dissect_inap_AssistRequestInstructionsarg(FALSE, tvb, offset, pinfo, tree, -1);
3974 case 44: /*CallInformationReport*/
3975 offset=dissect_inap_CallInformationReportarg(FALSE, tvb, offset, pinfo, tree, -1);
3977 case 45: /*CallInformationRequest*/
3978 offset=dissect_inap_CallInformationRequestarg(FALSE, tvb, offset, pinfo, tree, -1);
3981 offset=dissect_inap_Cancelarg(FALSE, tvb, offset, pinfo, tree, -1);
3983 case 20: /*Connect*/
3984 offset=dissect_inap_Connectarg(FALSE, tvb, offset, pinfo, tree, -1);
3986 case 18: /*DisconnectForwardConnections*/
3987 proto_tree_add_text(tree, tvb, offset, -1, "Disconnect Forward Connection");
3989 case 19: /*ConnectToResource*/
3990 offset=dissect_inap_ConnectToResource(FALSE, tvb, offset, pinfo, tree, -1);
3992 case 17: /*EstablishTemporaryConnection*/
3993 offset=dissect_inap_EstablishTemporaryConnection(FALSE, tvb, offset, pinfo, tree, -1);
3995 case 24: /*EventReportBCSM*/
3996 offset=dissect_inap_EventReportBCSM(FALSE, tvb, offset, pinfo, tree, -1);
3998 case 34: /*FurnishChargingInformation*/
3999 offset=dissect_inap_FurnishChargingInformationarg(FALSE, tvb, offset, pinfo, tree, -1);
4001 case 0: /*InitialDP*/
4002 offset=dissect_inap_InitialDP(FALSE, tvb, offset, pinfo, tree, -1);
4005 case 23: /*InitialDP*/
4006 offset=dissect_inap_RequestReportBCSMEvent(FALSE, tvb, offset, pinfo, tree, -1);
4009 case 47: /*PlayAnnouncement*/
4010 offset=dissect_inap_PlayAnnouncement(FALSE, tvb, offset, pinfo, tree, -1);
4012 case 48: /*PromptAndCollectUserInformation*/
4013 offset=dissect_inap_PromptAndCollectUserInformationarg(FALSE, tvb, offset, pinfo, tree, -1);
4015 case 33: /*ResetTimer*/
4016 offset=dissect_inap_ResetTimer(FALSE, tvb, offset, pinfo, tree, -1);
4019 proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob");
4020 /* todo call the asn.1 dissector */
4026 static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4028 case 48: /*PromptAndCollectUserInformation*/
4029 offset=dissect_inap_PromptAndCollectUserInformationres(FALSE, tvb, offset, pinfo, tree, -1);
4032 proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnResultData blob");
4038 dissect_invokeCmd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4039 return dissect_inap_Opcode(FALSE, tvb, offset, pinfo, tree, hf_inap_invokeCmd);
4042 static int dissect_invokeid(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4043 return dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_inap_invokeid, NULL);
4047 static const value_string InvokeId_vals[] = {
4053 static int dissect_absent(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4054 return dissect_inap_NULL(FALSE, tvb, offset, pinfo, tree, hf_inap_absent);
4058 static const ber_choice_t InvokeId_choice[] = {
4059 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeid },
4060 { 1, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_absent },
4061 { 0, 0, 0, 0, NULL }
4065 dissect_inap_InvokeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
4066 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4067 InvokeId_choice, hf_index, ett_inap_InvokeId);
4071 static int dissect_invokeId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4072 return dissect_inap_InvokeId(FALSE, tvb, offset, pinfo, tree, hf_inap_invokeId);
4075 static const ber_sequence_t InvokePDU_sequence[] = {
4076 { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
4077 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeCmd },
4078 { BER_CLASS_UNI, -1/*depends on Cmd*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeData },
4083 dissect_inap_InvokePDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
4084 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4085 InvokePDU_sequence, hf_index, ett_inap_InvokePDU);
4089 static int dissect_invoke_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4090 return dissect_inap_InvokePDU(TRUE, tvb, offset, pinfo, tree, hf_inap_invoke);
4093 static const ber_sequence_t ReturnResult_result_sequence[] = {
4094 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeCmd },
4095 { BER_CLASS_UNI, -1/*depends on Cmd*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_returnResultData },
4099 dissect_returnResult_result(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4100 offset = dissect_ber_sequence(FALSE, pinfo, tree, tvb, offset,
4101 ReturnResult_result_sequence, hf_inap_returnResult_result, ett_inap_ReturnResult_result);
4106 static const ber_sequence_t ReturnResultPDU_sequence[] = {
4107 { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
4108 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_returnResult_result },
4113 dissect_inap_returnResultPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
4114 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4115 ReturnResultPDU_sequence, hf_index, ett_inap_ReturnResultPDU);
4119 static int dissect_returnResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4120 return dissect_inap_returnResultPDU(TRUE, tvb, offset, pinfo, tree, hf_inap_returnResult);
4123 static const value_string INAPPDU_vals[] = {
4125 { 2, "returnResult" },
4126 { 3, "returnError" },
4131 static const ber_choice_t INAPPDU_choice[] = {
4132 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_invoke_impl },
4133 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_returnResult_impl },
4135 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_returnError_impl },
4136 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_reject_impl },
4138 { 0, 0, 0, 0, NULL }
4141 static guint8 inap_pdu_type = 0;
4142 static guint8 inap_pdu_size = 0;
4145 dissect_inap_INAPPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
4147 inap_pdu_type = tvb_get_guint8(tvb, offset)&0x0f;
4148 /* Get the length and add 2 */
4149 inap_pdu_size = tvb_get_guint8(tvb, offset+1)+2;
4151 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4152 INAPPDU_choice, hf_index, ett_inap_INAPPDU);
4154 if (check_col(pinfo->cinfo, COL_INFO)){
4155 col_prepend_fstr(pinfo->cinfo, COL_INFO, val_to_str(opcode, inap_opr_code_strings, "Unknown INAP (%u)"));
4165 dissect_inap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
4167 proto_item *item=NULL;
4168 proto_tree *tree=NULL;
4172 if (check_col(pinfo->cinfo, COL_PROTOCOL))
4174 col_set_str(pinfo->cinfo, COL_PROTOCOL, "INAP");
4177 /* create display subtree for the protocol */
4179 item = proto_tree_add_item(parent_tree, proto_inap, tvb, 0, -1, FALSE);
4180 tree = proto_item_add_subtree(item, ett_inap);
4183 dissect_inap_INAPPDU(FALSE, tvb, 0, pinfo, tree, -1);
4188 /*--- proto_reg_handoff_inap ---------------------------------------*/
4189 void proto_reg_handoff_inap(void) {
4190 dissector_handle_t inap_handle;
4192 inap_handle = create_dissector_handle(dissect_inap, proto_inap);
4193 dissector_add("tcap.itu_ssn", global_tcap_itu_ssn, inap_handle);
4198 void proto_register_inap(void) {
4199 module_t *inap_module;
4200 /* List of fields */
4201 static hf_register_info hf[] = {
4202 { &hf_inap_invokeCmd,
4203 { "invokeCmd", "inap.invokeCmd",
4204 FT_UINT32, BASE_DEC, VALS(inap_opr_code_strings), 0,
4205 "InvokePDU/invokeCmd", HFILL }},
4206 { &hf_inap_invokeid,
4207 { "invokeid", "inap.invokeid",
4208 FT_INT32, BASE_DEC, NULL, 0,
4209 "InvokeId/invokeid", HFILL }},
4211 { "absent", "inap.absent",
4212 FT_NONE, BASE_NONE, NULL, 0,
4213 "InvokeId/absent", HFILL }},
4214 { &hf_inap_invokeId,
4215 { "invokeId", "inap.invokeId",
4216 FT_UINT32, BASE_DEC, VALS(InvokeId_vals), 0,
4217 "InvokePDU/invokeId", HFILL }},
4219 { "invoke", "inap.invoke",
4220 FT_NONE, BASE_NONE, NULL, 0,
4221 "INAPPDU/invoke", HFILL }},
4222 { &hf_inap_returnResult,
4223 { "returnResult", "inap.returnResult",
4224 FT_NONE, BASE_NONE, NULL, 0,
4225 "INAPPDU/returnResult", HFILL }},
4229 /*--- Included file: packet-inap-hfarr.c ---*/
4231 { &hf_inap_originalCallID,
4232 { "originalCallID", "inap.originalCallID",
4233 FT_INT32, BASE_DEC, NULL, 0,
4234 "AddPartyArg/originalCallID", HFILL }},
4235 { &hf_inap_destinationCallID,
4236 { "destinationCallID", "inap.destinationCallID",
4237 FT_INT32, BASE_DEC, NULL, 0,
4238 "AddPartyArg/destinationCallID", HFILL }},
4239 { &hf_inap_newLegID,
4240 { "newLegID", "inap.newLegID",
4241 FT_BYTES, BASE_HEX, NULL, 0,
4242 "AttachArg/newLegID", HFILL }},
4243 { &hf_inap_correlationidentifier,
4244 { "correlationidentifier", "inap.correlationidentifier",
4245 FT_BYTES, BASE_HEX, NULL, 0,
4247 { &hf_inap_CallPartyHandlingResultsArg_item,
4248 { "Item", "inap.CallPartyHandlingResultsArg_item",
4249 FT_NONE, BASE_NONE, NULL, 0,
4250 "CallPartyHandlingResultsArg/_item", HFILL }},
4252 { "callID", "inap.callID",
4253 FT_INT32, BASE_DEC, NULL, 0,
4255 { &hf_inap_targetCallID,
4256 { "targetCallID", "inap.targetCallID",
4257 FT_INT32, BASE_DEC, NULL, 0,
4258 "ChangePartiesArg/targetCallID", HFILL }},
4259 { &hf_inap_legToBeConnectedID,
4260 { "legToBeConnectedID", "inap.legToBeConnectedID",
4261 FT_BYTES, BASE_HEX, NULL, 0,
4262 "ChangePartiesArg/legToBeConnectedID", HFILL }},
4263 { &hf_inap_legToBeDetached,
4264 { "legToBeDetached", "inap.legToBeDetached",
4265 FT_BYTES, BASE_HEX, NULL, 0,
4266 "DetachArg/legToBeDetached", HFILL }},
4268 { "legID", "inap.legID",
4269 FT_UINT32, BASE_DEC, VALS(inap_LegID_vals), 0,
4271 { &hf_inap_sendingSideID,
4272 { "sendingSideID", "inap.sendingSideID",
4273 FT_BYTES, BASE_HEX, NULL, 0,
4275 { &hf_inap_receivingSideID,
4276 { "receivingSideID", "inap.receivingSideID",
4277 FT_BYTES, BASE_HEX, NULL, 0,
4279 { &hf_inap_heldLegID,
4280 { "heldLegID", "inap.heldLegID",
4281 FT_UINT32, BASE_DEC, VALS(inap_LegID_vals), 0,
4282 "ReconnectArg/heldLegID", HFILL }},
4283 { &hf_inap_legToBeReleased,
4284 { "legToBeReleased", "inap.legToBeReleased",
4285 FT_UINT32, BASE_DEC, VALS(inap_LegID_vals), 0,
4286 "ReleaseCallPartyConnectionArg/legToBeReleased", HFILL }},
4287 { &hf_inap_releaseCause,
4288 { "releaseCause", "inap.releaseCause",
4289 FT_BYTES, BASE_HEX, NULL, 0,
4291 { &hf_inap_legStatus,
4292 { "legStatus", "inap.legStatus",
4293 FT_UINT32, BASE_DEC, VALS(inap_LegStatus_vals), 0,
4294 "LegInformation/legStatus", HFILL }},
4295 { &hf_inap_VariableParts_item,
4296 { "Item", "inap.VariableParts_item",
4297 FT_UINT32, BASE_DEC, VALS(inap_VariableParts_item_vals), 0,
4298 "VariableParts/_item", HFILL }},
4300 { "integer", "inap.integer",
4301 FT_UINT32, BASE_DEC, NULL, 0,
4302 "VariableParts/_item/integer", HFILL }},
4304 { "number", "inap.number",
4305 FT_BYTES, BASE_HEX, NULL, 0,
4306 "VariableParts/_item/number", HFILL }},
4308 { "time", "inap.time",
4309 FT_BYTES, BASE_HEX, NULL, 0,
4310 "VariableParts/_item/time", HFILL }},
4312 { "date", "inap.date",
4313 FT_BYTES, BASE_HEX, NULL, 0,
4314 "VariableParts/_item/date", HFILL }},
4316 { "price", "inap.price",
4317 FT_BYTES, BASE_HEX, NULL, 0,
4318 "VariableParts/_item/price", HFILL }},
4319 { &hf_inap_elementaryMessageID,
4320 { "elementaryMessageID", "inap.elementaryMessageID",
4321 FT_UINT32, BASE_DEC, NULL, 0,
4323 { &hf_inap_variableParts,
4324 { "variableParts", "inap.variableParts",
4325 FT_NONE, BASE_NONE, NULL, 0,
4326 "VariableMessage/variableParts", HFILL }},
4328 { "toneID", "inap.toneID",
4329 FT_UINT32, BASE_DEC, NULL, 0,
4330 "Tone/toneID", HFILL }},
4331 { &hf_inap_tduration,
4332 { "tduration", "inap.tduration",
4333 FT_UINT32, BASE_DEC, NULL, 0,
4334 "Tone/tduration", HFILL }},
4335 { &hf_inap_messageContent,
4336 { "messageContent", "inap.messageContent",
4337 FT_STRING, BASE_NONE, NULL, 0,
4338 "Text/messageContent", HFILL }},
4339 { &hf_inap_attributes,
4340 { "attributes", "inap.attributes",
4341 FT_BYTES, BASE_HEX, NULL, 0,
4342 "Text/attributes", HFILL }},
4344 { "text", "inap.text",
4345 FT_NONE, BASE_NONE, NULL, 0,
4346 "MessageID/text", HFILL }},
4347 { &hf_inap_elementaryMessageIDs,
4348 { "elementaryMessageIDs", "inap.elementaryMessageIDs",
4349 FT_NONE, BASE_NONE, NULL, 0,
4350 "MessageID/elementaryMessageIDs", HFILL }},
4351 { &hf_inap_elementaryMessageIDs_item,
4352 { "Item", "inap.elementaryMessageIDs_item",
4353 FT_UINT32, BASE_DEC, NULL, 0,
4354 "MessageID/elementaryMessageIDs/_item", HFILL }},
4355 { &hf_inap_variableMessage,
4356 { "variableMessage", "inap.variableMessage",
4357 FT_NONE, BASE_NONE, NULL, 0,
4358 "MessageID/variableMessage", HFILL }},
4359 { &hf_inap_inbandInfo,
4360 { "inbandInfo", "inap.inbandInfo",
4361 FT_NONE, BASE_NONE, NULL, 0,
4362 "InformationToSend/inbandInfo", HFILL }},
4363 { &hf_inap_messageID,
4364 { "messageID", "inap.messageID",
4365 FT_UINT32, BASE_DEC, VALS(inap_MessageID_vals), 0,
4366 "InformationToSend/inbandInfo/messageID", HFILL }},
4367 { &hf_inap_numberOfRepetitions,
4368 { "numberOfRepetitions", "inap.numberOfRepetitions",
4369 FT_UINT32, BASE_DEC, NULL, 0,
4370 "InformationToSend/inbandInfo/numberOfRepetitions", HFILL }},
4371 { &hf_inap_mduration,
4372 { "mduration", "inap.mduration",
4373 FT_UINT32, BASE_DEC, NULL, 0,
4374 "InformationToSend/inbandInfo/mduration", HFILL }},
4375 { &hf_inap_interval,
4376 { "interval", "inap.interval",
4377 FT_UINT32, BASE_DEC, NULL, 0,
4380 { "tone", "inap.tone",
4381 FT_NONE, BASE_NONE, NULL, 0,
4382 "InformationToSend/tone", HFILL }},
4383 { &hf_inap_displayInformation,
4384 { "displayInformation", "inap.displayInformation",
4385 FT_STRING, BASE_NONE, NULL, 0,
4386 "InformationToSend/displayInformation", HFILL }},
4387 { &hf_inap_dialledNumber,
4388 { "dialledNumber", "inap.dialledNumber",
4389 FT_BYTES, BASE_HEX, NULL, 0,
4390 "FilteringCriteria/dialledNumber", HFILL }},
4391 { &hf_inap_callingLineID,
4392 { "callingLineID", "inap.callingLineID",
4393 FT_BYTES, BASE_HEX, NULL, 0,
4394 "FilteringCriteria/callingLineID", HFILL }},
4395 { &hf_inap_serviceKey,
4396 { "serviceKey", "inap.serviceKey",
4397 FT_UINT32, BASE_DEC, NULL, 0,
4399 { &hf_inap_addressAndService,
4400 { "addressAndService", "inap.addressAndService",
4401 FT_NONE, BASE_NONE, NULL, 0,
4402 "FilteringCriteria/addressAndService", HFILL }},
4403 { &hf_inap_calledAddressValue,
4404 { "calledAddressValue", "inap.calledAddressValue",
4405 FT_BYTES, BASE_HEX, NULL, 0,
4407 { &hf_inap_callingAddressValue,
4408 { "callingAddressValue", "inap.callingAddressValue",
4409 FT_BYTES, BASE_HEX, NULL, 0,
4411 { &hf_inap_locationNumber,
4412 { "locationNumber", "inap.locationNumber",
4413 FT_BYTES, BASE_HEX, NULL, 0,
4415 { &hf_inap_Extensions_item,
4416 { "Item", "inap.Extensions_item",
4417 FT_NONE, BASE_NONE, NULL, 0,
4418 "Extensions/_item", HFILL }},
4420 { "type", "inap.type",
4421 FT_INT32, BASE_DEC, NULL, 0,
4422 "Extensions/_item/type", HFILL }},
4423 { &hf_inap_criticality,
4424 { "criticality", "inap.criticality",
4425 FT_UINT32, BASE_DEC, VALS(inap_T_criticality_vals), 0,
4426 "Extensions/_item/criticality", HFILL }},
4428 { "value", "inap.value",
4429 FT_BYTES, BASE_HEX, NULL, 0,
4430 "Extensions/_item/value", HFILL }},
4431 { &hf_inap_filteredCallTreatment,
4432 { "filteredCallTreatment", "inap.filteredCallTreatment",
4433 FT_NONE, BASE_NONE, NULL, 0,
4434 "ActivateServiceFilteringarg/filteredCallTreatment", HFILL }},
4435 { &hf_inap_sFBillingChargingCharacteristics,
4436 { "sFBillingChargingCharacteristics", "inap.sFBillingChargingCharacteristics",
4437 FT_BYTES, BASE_HEX, NULL, 0,
4438 "ActivateServiceFilteringarg/filteredCallTreatment/sFBillingChargingCharacteristics", HFILL }},
4439 { &hf_inap_informationToSend,
4440 { "informationToSend", "inap.informationToSend",
4441 FT_UINT32, BASE_DEC, VALS(inap_InformationToSend_vals), 0,
4443 { &hf_inap_maximumNumberOfCounters,
4444 { "maximumNumberOfCounters", "inap.maximumNumberOfCounters",
4445 FT_INT32, BASE_DEC, NULL, 0,
4446 "ActivateServiceFilteringarg/filteredCallTreatment/maximumNumberOfCounters", HFILL }},
4447 { &hf_inap_filteringCharacteristics,
4448 { "filteringCharacteristics", "inap.filteringCharacteristics",
4449 FT_UINT32, BASE_DEC, VALS(inap_T_filteringCharacteristics_vals), 0,
4450 "ActivateServiceFilteringarg/filteringCharacteristics", HFILL }},
4451 { &hf_inap_numberOfCalls,
4452 { "numberOfCalls", "inap.numberOfCalls",
4453 FT_UINT32, BASE_DEC, NULL, 0,
4454 "ActivateServiceFilteringarg/filteringCharacteristics/numberOfCalls", HFILL }},
4455 { &hf_inap_filteringTimeOut,
4456 { "filteringTimeOut", "inap.filteringTimeOut",
4457 FT_UINT32, BASE_DEC, VALS(inap_T_filteringTimeOut_vals), 0,
4458 "ActivateServiceFilteringarg/filteringTimeOut", HFILL }},
4459 { &hf_inap_aduration,
4460 { "aduration", "inap.aduration",
4461 FT_UINT32, BASE_DEC, NULL, 0,
4462 "ActivateServiceFilteringarg/filteringTimeOut/aduration", HFILL }},
4463 { &hf_inap_stopTime,
4464 { "stopTime", "inap.stopTime",
4465 FT_BYTES, BASE_HEX, NULL, 0,
4466 "ActivateServiceFilteringarg/filteringTimeOut/stopTime", HFILL }},
4467 { &hf_inap_filteringCriteria,
4468 { "filteringCriteria", "inap.filteringCriteria",
4469 FT_UINT32, BASE_DEC, VALS(inap_FilteringCriteria_vals), 0,
4471 { &hf_inap_startTime,
4472 { "startTime", "inap.startTime",
4473 FT_BYTES, BASE_HEX, NULL, 0,
4474 "ActivateServiceFilteringarg/startTime", HFILL }},
4475 { &hf_inap_extensions,
4476 { "extensions", "inap.extensions",
4477 FT_NONE, BASE_NONE, NULL, 0,
4479 { &hf_inap_messageType,
4480 { "messageType", "inap.messageType",
4481 FT_UINT32, BASE_DEC, VALS(inap_T_messageType_vals), 0,
4482 "MiscCallInfo/messageType", HFILL }},
4483 { &hf_inap_dpAssignment,
4484 { "dpAssignment", "inap.dpAssignment",
4485 FT_UINT32, BASE_DEC, VALS(inap_T_dpAssignment_vals), 0,
4486 "MiscCallInfo/dpAssignment", HFILL }},
4487 { &hf_inap_miscCallInfo,
4488 { "miscCallInfo", "inap.miscCallInfo",
4489 FT_NONE, BASE_NONE, NULL, 0,
4491 { &hf_inap_triggerType,
4492 { "triggerType", "inap.triggerType",
4493 FT_UINT32, BASE_DEC, VALS(inap_TriggerType_vals), 0,
4495 { &hf_inap_RouteList_item,
4496 { "Item", "inap.RouteList_item",
4497 FT_BYTES, BASE_HEX, NULL, 0,
4498 "RouteList/_item", HFILL }},
4499 { &hf_inap_bearerCap,
4500 { "bearerCap", "inap.bearerCap",
4501 FT_BYTES, BASE_HEX, NULL, 0,
4502 "BearerCapability/bearerCap", HFILL }},
4504 { "tmr", "inap.tmr",
4505 FT_BYTES, BASE_HEX, NULL, 0,
4506 "BearerCapability/tmr", HFILL }},
4507 { &hf_inap_serviceAddressInformation,
4508 { "serviceAddressInformation", "inap.serviceAddressInformation",
4509 FT_NONE, BASE_NONE, NULL, 0,
4510 "DpSpecificCommonParameters/serviceAddressInformation", HFILL }},
4511 { &hf_inap_bearerCapability,
4512 { "bearerCapability", "inap.bearerCapability",
4513 FT_UINT32, BASE_DEC, VALS(inap_BearerCapability_vals), 0,
4515 { &hf_inap_calledPartyNumber,
4516 { "calledPartyNumber", "inap.calledPartyNumber",
4517 FT_BYTES, BASE_HEX, NULL, 0,
4519 { &hf_inap_callingPartyNumber,
4520 { "callingPartyNumber", "inap.callingPartyNumber",
4521 FT_BYTES, BASE_HEX, NULL, 0,
4523 { &hf_inap_callingPartysCategory,
4524 { "callingPartysCategory", "inap.callingPartysCategory",
4525 FT_BYTES, BASE_HEX, NULL, 0,
4527 { &hf_inap_iPSSPCapabilities,
4528 { "iPSSPCapabilities", "inap.iPSSPCapabilities",
4529 FT_BYTES, BASE_HEX, NULL, 0,
4531 { &hf_inap_iPAvailable,
4532 { "iPAvailable", "inap.iPAvailable",
4533 FT_BYTES, BASE_HEX, NULL, 0,
4535 { &hf_inap_iSDNAccessRelatedInformation,
4536 { "iSDNAccessRelatedInformation", "inap.iSDNAccessRelatedInformation",
4537 FT_BYTES, BASE_HEX, NULL, 0,
4539 { &hf_inap_cGEncountered,
4540 { "cGEncountered", "inap.cGEncountered",
4541 FT_UINT32, BASE_DEC, VALS(inap_CGEncountered_vals), 0,
4543 { &hf_inap_serviceProfileIdentifier,
4544 { "serviceProfileIdentifier", "inap.serviceProfileIdentifier",
4545 FT_BYTES, BASE_HEX, NULL, 0,
4547 { &hf_inap_terminalType,
4548 { "terminalType", "inap.terminalType",
4549 FT_UINT32, BASE_DEC, VALS(inap_TerminalType_vals), 0,
4551 { &hf_inap_chargeNumber,
4552 { "chargeNumber", "inap.chargeNumber",
4553 FT_BYTES, BASE_HEX, NULL, 0,
4555 { &hf_inap_servingAreaID,
4556 { "servingAreaID", "inap.servingAreaID",
4557 FT_BYTES, BASE_HEX, NULL, 0,
4558 "DpSpecificCommonParameters/servingAreaID", HFILL }},
4559 { &hf_inap_trunkGroupID,
4560 { "trunkGroupID", "inap.trunkGroupID",
4561 FT_INT32, BASE_DEC, NULL, 0,
4563 { &hf_inap_privateFacilityID,
4564 { "privateFacilityID", "inap.privateFacilityID",
4565 FT_INT32, BASE_DEC, NULL, 0,
4567 { &hf_inap_huntGroup,
4568 { "huntGroup", "inap.huntGroup",
4569 FT_BYTES, BASE_HEX, NULL, 0,
4571 { &hf_inap_routeIndex,
4572 { "routeIndex", "inap.routeIndex",
4573 FT_BYTES, BASE_HEX, NULL, 0,
4575 { &hf_inap_dpSpecificCommonParameters,
4576 { "dpSpecificCommonParameters", "inap.dpSpecificCommonParameters",
4577 FT_NONE, BASE_NONE, NULL, 0,
4579 { &hf_inap_dialledDigits,
4580 { "dialledDigits", "inap.dialledDigits",
4581 FT_BYTES, BASE_HEX, NULL, 0,
4583 { &hf_inap_callingPartyBusinessGroupID,
4584 { "callingPartyBusinessGroupID", "inap.callingPartyBusinessGroupID",
4585 FT_BYTES, BASE_HEX, NULL, 0,
4587 { &hf_inap_callingPartySubaddress,
4588 { "callingPartySubaddress", "inap.callingPartySubaddress",
4589 FT_BYTES, BASE_HEX, NULL, 0,
4591 { &hf_inap_callingFacilityGroup,
4592 { "callingFacilityGroup", "inap.callingFacilityGroup",
4593 FT_UINT32, BASE_DEC, VALS(inap_CallingFacilityGroup_vals), 0,
4595 { &hf_inap_callingFacilityGroupMember,
4596 { "callingFacilityGroupMember", "inap.callingFacilityGroupMember",
4597 FT_INT32, BASE_DEC, NULL, 0,
4599 { &hf_inap_originalCalledPartyID,
4600 { "originalCalledPartyID", "inap.originalCalledPartyID",
4601 FT_BYTES, BASE_HEX, NULL, 0,
4604 { "prefix", "inap.prefix",
4605 FT_BYTES, BASE_HEX, NULL, 0,
4607 { &hf_inap_redirectingPartyID,
4608 { "redirectingPartyID", "inap.redirectingPartyID",
4609 FT_BYTES, BASE_HEX, NULL, 0,
4611 { &hf_inap_redirectionInformation,
4612 { "redirectionInformation", "inap.redirectionInformation",
4613 FT_BYTES, BASE_HEX, NULL, 0,
4615 { &hf_inap_routeList,
4616 { "routeList", "inap.routeList",
4617 FT_NONE, BASE_NONE, NULL, 0,
4619 { &hf_inap_travellingClassMark,
4620 { "travellingClassMark", "inap.travellingClassMark",
4621 FT_BYTES, BASE_HEX, NULL, 0,
4623 { &hf_inap_featureCode,
4624 { "featureCode", "inap.featureCode",
4625 FT_BYTES, BASE_HEX, NULL, 0,
4627 { &hf_inap_accessCode,
4628 { "accessCode", "inap.accessCode",
4629 FT_BYTES, BASE_HEX, NULL, 0,
4632 { "carrier", "inap.carrier",
4633 FT_BYTES, BASE_HEX, NULL, 0,
4635 { &hf_inap_destinationRoutingAddress,
4636 { "destinationRoutingAddress", "inap.destinationRoutingAddress",
4637 FT_NONE, BASE_NONE, NULL, 0,
4639 { &hf_inap_destinationRoutingAddress_item,
4640 { "Item", "inap.destinationRoutingAddress_item",
4641 FT_BYTES, BASE_HEX, NULL, 0,
4643 { &hf_inap_alertingPattern,
4644 { "alertingPattern", "inap.alertingPattern",
4645 FT_BYTES, BASE_HEX, NULL, 0,
4647 { &hf_inap_aChBillingChargingCharacteristics,
4648 { "aChBillingChargingCharacteristics", "inap.aChBillingChargingCharacteristics",
4649 FT_BYTES, BASE_HEX, NULL, 0,
4650 "ApplyChargingarg/aChBillingChargingCharacteristics", HFILL }},
4651 { &hf_inap_partyToCharge,
4652 { "partyToCharge", "inap.partyToCharge",
4653 FT_UINT32, BASE_DEC, VALS(inap_PartyToCharge_vals), 0,
4655 { &hf_inap_correlationID,
4656 { "correlationID", "inap.correlationID",
4657 FT_BYTES, BASE_HEX, NULL, 0,
4659 { &hf_inap_gapCriteria,
4660 { "gapCriteria", "inap.gapCriteria",
4661 FT_UINT32, BASE_DEC, VALS(inap_T_gapCriteria_vals), 0,
4662 "CallGaparg/gapCriteria", HFILL }},
4663 { &hf_inap_gapOnService,
4664 { "gapOnService", "inap.gapOnService",
4665 FT_NONE, BASE_NONE, NULL, 0,
4666 "CallGaparg/gapCriteria/gapOnService", HFILL }},
4667 { &hf_inap_dpCriteria,
4668 { "dpCriteria", "inap.dpCriteria",
4669 FT_UINT32, BASE_DEC, VALS(inap_T_dpCriteria_vals), 0,
4670 "CallGaparg/gapCriteria/gapOnService/dpCriteria", HFILL }},
4671 { &hf_inap_calledAddressAndService,
4672 { "calledAddressAndService", "inap.calledAddressAndService",
4673 FT_NONE, BASE_NONE, NULL, 0,
4674 "CallGaparg/gapCriteria/calledAddressAndService", HFILL }},
4675 { &hf_inap_callingAddressAndService,
4676 { "callingAddressAndService", "inap.callingAddressAndService",
4677 FT_NONE, BASE_NONE, NULL, 0,
4678 "CallGaparg/gapCriteria/callingAddressAndService", HFILL }},
4679 { &hf_inap_gapIndicators,
4680 { "gapIndicators", "inap.gapIndicators",
4681 FT_NONE, BASE_NONE, NULL, 0,
4682 "CallGaparg/gapIndicators", HFILL }},
4683 { &hf_inap_cgduration,
4684 { "cgduration", "inap.cgduration",
4685 FT_UINT32, BASE_DEC, NULL, 0,
4686 "CallGaparg/gapIndicators/cgduration", HFILL }},
4687 { &hf_inap_gapInterval,
4688 { "gapInterval", "inap.gapInterval",
4689 FT_UINT32, BASE_DEC, NULL, 0,
4690 "CallGaparg/gapIndicators/gapInterval", HFILL }},
4691 { &hf_inap_controlType,
4692 { "controlType", "inap.controlType",
4693 FT_UINT32, BASE_DEC, VALS(inap_T_controlType_vals), 0,
4694 "CallGaparg/controlType", HFILL }},
4695 { &hf_inap_gapTreatment,
4696 { "gapTreatment", "inap.gapTreatment",
4697 FT_UINT32, BASE_DEC, VALS(inap_T_gapTreatment_vals), 0,
4698 "CallGaparg/gapTreatment", HFILL }},
4700 { "both", "inap.both",
4701 FT_NONE, BASE_NONE, NULL, 0,
4703 { &hf_inap_requestedInformationList,
4704 { "requestedInformationList", "inap.requestedInformationList",
4705 FT_NONE, BASE_NONE, NULL, 0,
4706 "CallInformationReportarg/requestedInformationList", HFILL }},
4707 { &hf_inap_requestedInformationList_item,
4708 { "Item", "inap.requestedInformationList_item",
4709 FT_NONE, BASE_NONE, NULL, 0,
4710 "CallInformationReportarg/requestedInformationList/_item", HFILL }},
4711 { &hf_inap_requestedInformationType,
4712 { "requestedInformationType", "inap.requestedInformationType",
4713 FT_UINT32, BASE_DEC, VALS(inap_T_requestedInformationType_vals), 0,
4714 "CallInformationReportarg/requestedInformationList/_item/requestedInformationType", HFILL }},
4715 { &hf_inap_requestedInformationValue,
4716 { "requestedInformationValue", "inap.requestedInformationValue",
4717 FT_UINT32, BASE_DEC, VALS(inap_T_requestedInformationValue_vals), 0,
4718 "CallInformationReportarg/requestedInformationList/_item/requestedInformationValue", HFILL }},
4719 { &hf_inap_callAttemptElapsedTimeValue,
4720 { "callAttemptElapsedTimeValue", "inap.callAttemptElapsedTimeValue",
4721 FT_UINT32, BASE_DEC, NULL, 0,
4722 "CallInformationReportarg/requestedInformationList/_item/requestedInformationValue/callAttemptElapsedTimeValue", HFILL }},
4723 { &hf_inap_callStopTimeValue,
4724 { "callStopTimeValue", "inap.callStopTimeValue",
4725 FT_BYTES, BASE_HEX, NULL, 0,
4726 "CallInformationReportarg/requestedInformationList/_item/requestedInformationValue/callStopTimeValue", HFILL }},
4727 { &hf_inap_callConnectedElapsedTimeValue,
4728 { "callConnectedElapsedTimeValue", "inap.callConnectedElapsedTimeValue",
4729 FT_UINT32, BASE_DEC, NULL, 0,
4730 "CallInformationReportarg/requestedInformationList/_item/requestedInformationValue/callConnectedElapsedTimeValue", HFILL }},
4731 { &hf_inap_releaseCauseValue,
4732 { "releaseCauseValue", "inap.releaseCauseValue",
4733 FT_BYTES, BASE_HEX, NULL, 0,
4734 "CallInformationReportarg/requestedInformationList/_item/requestedInformationValue/releaseCauseValue", HFILL }},
4735 { &hf_inap_requestedInformationTypeList,
4736 { "requestedInformationTypeList", "inap.requestedInformationTypeList",
4737 FT_NONE, BASE_NONE, NULL, 0,
4738 "CallInformationRequestarg/requestedInformationTypeList", HFILL }},
4739 { &hf_inap_requestedInformationTypeList_item,
4740 { "Item", "inap.requestedInformationTypeList_item",
4741 FT_UINT32, BASE_DEC, VALS(inap_T_requestedInformationTypeList_item_vals), 0,
4742 "CallInformationRequestarg/requestedInformationTypeList/_item", HFILL }},
4743 { &hf_inap_invokeID,
4744 { "invokeID", "inap.invokeID",
4745 FT_UINT32, BASE_DEC, NULL, 0,
4746 "Cancelarg/invokeID", HFILL }},
4747 { &hf_inap_allRequests,
4748 { "allRequests", "inap.allRequests",
4749 FT_NONE, BASE_NONE, NULL, 0,
4750 "Cancelarg/allRequests", HFILL }},
4752 { "lineID", "inap.lineID",
4753 FT_BYTES, BASE_HEX, NULL, 0,
4755 { &hf_inap_facilityGroupID,
4756 { "facilityGroupID", "inap.facilityGroupID",
4757 FT_UINT32, BASE_DEC, VALS(inap_FacilityGroupID_vals), 0,
4759 { &hf_inap_facilityGroupMemberID,
4760 { "facilityGroupMemberID", "inap.facilityGroupMemberID",
4761 FT_INT32, BASE_DEC, NULL, 0,
4763 { &hf_inap_resourceID,
4764 { "resourceID", "inap.resourceID",
4765 FT_UINT32, BASE_DEC, VALS(inap_ResourceID_vals), 0,
4767 { &hf_inap_numberingPlan,
4768 { "numberingPlan", "inap.numberingPlan",
4769 FT_BYTES, BASE_HEX, NULL, 0,
4770 "CollectInformationarg/numberingPlan", HFILL }},
4771 { &hf_inap_cutAndPaste,
4772 { "cutAndPaste", "inap.cutAndPaste",
4773 FT_UINT32, BASE_DEC, NULL, 0,
4774 "Connectarg/cutAndPaste", HFILL }},
4775 { &hf_inap_forwardingCondition,
4776 { "forwardingCondition", "inap.forwardingCondition",
4777 FT_UINT32, BASE_DEC, VALS(inap_T_forwardingCondition_vals), 0,
4778 "Connectarg/forwardingCondition", HFILL }},
4780 { "scfID", "inap.scfID",
4781 FT_BYTES, BASE_HEX, NULL, 0,
4783 { &hf_inap_serviceInteractionIndicators,
4784 { "serviceInteractionIndicators", "inap.serviceInteractionIndicators",
4785 FT_BYTES, BASE_HEX, NULL, 0,
4787 { &hf_inap_resourceAddress,
4788 { "resourceAddress", "inap.resourceAddress",
4789 FT_UINT32, BASE_DEC, VALS(inap_T_resourceAddress_vals), 0,
4790 "ConnectToResource/resourceAddress", HFILL }},
4791 { &hf_inap_ipRoutingAddress,
4792 { "ipRoutingAddress", "inap.ipRoutingAddress",
4793 FT_BYTES, BASE_HEX, NULL, 0,
4794 "ConnectToResource/resourceAddress/ipRoutingAddress", HFILL }},
4796 { "none", "inap.none",
4797 FT_NONE, BASE_NONE, NULL, 0,
4798 "ConnectToResource/resourceAddress/none", HFILL }},
4799 { &hf_inap_assistingSSPIPRoutingAddress,
4800 { "assistingSSPIPRoutingAddress", "inap.assistingSSPIPRoutingAddress",
4801 FT_BYTES, BASE_HEX, NULL, 0,
4802 "EstablishTemporaryConnection/assistingSSPIPRoutingAddress", HFILL }},
4803 { &hf_inap_eventTypeCharging,
4804 { "eventTypeCharging", "inap.eventTypeCharging",
4805 FT_BYTES, BASE_HEX, NULL, 0,
4807 { &hf_inap_eventSpecificInformationCharging,
4808 { "eventSpecificInformationCharging", "inap.eventSpecificInformationCharging",
4809 FT_BYTES, BASE_HEX, NULL, 0,
4810 "EventNotificationChargingarg/eventSpecificInformationCharging", HFILL }},
4811 { &hf_inap_monitorMode,
4812 { "monitorMode", "inap.monitorMode",
4813 FT_UINT32, BASE_DEC, VALS(inap_MonitorMode_vals), 0,
4815 { &hf_inap_eventTypeBCSM,
4816 { "eventTypeBCSM", "inap.eventTypeBCSM",
4817 FT_UINT32, BASE_DEC, VALS(inap_EventTypeBCSM_vals), 0,
4819 { &hf_inap_bcsmEventCorrelationID,
4820 { "bcsmEventCorrelationID", "inap.bcsmEventCorrelationID",
4821 FT_BYTES, BASE_HEX, NULL, 0,
4823 { &hf_inap_eventSpecificInformationBCSM,
4824 { "eventSpecificInformationBCSM", "inap.eventSpecificInformationBCSM",
4825 FT_UINT32, BASE_DEC, VALS(inap_T_eventSpecificInformationBCSM_vals), 0,
4826 "EventReportBCSM/eventSpecificInformationBCSM", HFILL }},
4827 { &hf_inap_collectedInfoSpecificInfo,
4828 { "collectedInfoSpecificInfo", "inap.collectedInfoSpecificInfo",
4829 FT_NONE, BASE_NONE, NULL, 0,
4830 "EventReportBCSM/eventSpecificInformationBCSM/collectedInfoSpecificInfo", HFILL }},
4831 { &hf_inap_calledPartynumber,
4832 { "calledPartynumber", "inap.calledPartynumber",
4833 FT_BYTES, BASE_HEX, NULL, 0,
4835 { &hf_inap_analyzedInfoSpecificInfo,
4836 { "analyzedInfoSpecificInfo", "inap.analyzedInfoSpecificInfo",
4837 FT_NONE, BASE_NONE, NULL, 0,
4838 "EventReportBCSM/eventSpecificInformationBCSM/analyzedInfoSpecificInfo", HFILL }},
4839 { &hf_inap_routeSelectFailureSpecificInfo,
4840 { "routeSelectFailureSpecificInfo", "inap.routeSelectFailureSpecificInfo",
4841 FT_NONE, BASE_NONE, NULL, 0,
4842 "EventReportBCSM/eventSpecificInformationBCSM/routeSelectFailureSpecificInfo", HFILL }},
4843 { &hf_inap_failureCause,
4844 { "failureCause", "inap.failureCause",
4845 FT_BYTES, BASE_HEX, NULL, 0,
4847 { &hf_inap_oCalledPartyBusySpecificInfo,
4848 { "oCalledPartyBusySpecificInfo", "inap.oCalledPartyBusySpecificInfo",
4849 FT_NONE, BASE_NONE, NULL, 0,
4850 "EventReportBCSM/eventSpecificInformationBCSM/oCalledPartyBusySpecificInfo", HFILL }},
4851 { &hf_inap_busyCause,
4852 { "busyCause", "inap.busyCause",
4853 FT_BYTES, BASE_HEX, NULL, 0,
4855 { &hf_inap_oNoAnswerSpecificInfo,
4856 { "oNoAnswerSpecificInfo", "inap.oNoAnswerSpecificInfo",
4857 FT_NONE, BASE_NONE, NULL, 0,
4858 "EventReportBCSM/eventSpecificInformationBCSM/oNoAnswerSpecificInfo", HFILL }},
4859 { &hf_inap_oAnswerSpecificInfo,
4860 { "oAnswerSpecificInfo", "inap.oAnswerSpecificInfo",
4861 FT_NONE, BASE_NONE, NULL, 0,
4862 "EventReportBCSM/eventSpecificInformationBCSM/oAnswerSpecificInfo", HFILL }},
4863 { &hf_inap_oMidCallSpecificInfo,
4864 { "oMidCallSpecificInfo", "inap.oMidCallSpecificInfo",
4865 FT_NONE, BASE_NONE, NULL, 0,
4866 "EventReportBCSM/eventSpecificInformationBCSM/oMidCallSpecificInfo", HFILL }},
4867 { &hf_inap_connectTime,
4868 { "connectTime", "inap.connectTime",
4869 FT_UINT32, BASE_DEC, NULL, 0,
4871 { &hf_inap_oDisconnectSpecificInfo,
4872 { "oDisconnectSpecificInfo", "inap.oDisconnectSpecificInfo",
4873 FT_NONE, BASE_NONE, NULL, 0,
4874 "EventReportBCSM/eventSpecificInformationBCSM/oDisconnectSpecificInfo", HFILL }},
4875 { &hf_inap_tBusySpecificInfo,
4876 { "tBusySpecificInfo", "inap.tBusySpecificInfo",
4877 FT_NONE, BASE_NONE, NULL, 0,
4878 "EventReportBCSM/eventSpecificInformationBCSM/tBusySpecificInfo", HFILL }},
4879 { &hf_inap_tNoAnswerSpecificInfo,
4880 { "tNoAnswerSpecificInfo", "inap.tNoAnswerSpecificInfo",
4881 FT_NONE, BASE_NONE, NULL, 0,
4882 "EventReportBCSM/eventSpecificInformationBCSM/tNoAnswerSpecificInfo", HFILL }},
4883 { &hf_inap_tAnswerSpecificInfo,
4884 { "tAnswerSpecificInfo", "inap.tAnswerSpecificInfo",
4885 FT_NONE, BASE_NONE, NULL, 0,
4886 "EventReportBCSM/eventSpecificInformationBCSM/tAnswerSpecificInfo", HFILL }},
4887 { &hf_inap_tMidCallSpecificInfo,
4888 { "tMidCallSpecificInfo", "inap.tMidCallSpecificInfo",
4889 FT_NONE, BASE_NONE, NULL, 0,
4890 "EventReportBCSM/eventSpecificInformationBCSM/tMidCallSpecificInfo", HFILL }},
4891 { &hf_inap_tDisconnectSpecificInfo,
4892 { "tDisconnectSpecificInfo", "inap.tDisconnectSpecificInfo",
4893 FT_NONE, BASE_NONE, NULL, 0,
4894 "EventReportBCSM/eventSpecificInformationBCSM/tDisconnectSpecificInfo", HFILL }},
4895 { &hf_inap_holdcause,
4896 { "holdcause", "inap.holdcause",
4897 FT_BYTES, BASE_HEX, NULL, 0,
4898 "HoldCallInNetworkarg/holdcause", HFILL }},
4900 { "empty", "inap.empty",
4901 FT_NONE, BASE_NONE, NULL, 0,
4902 "HoldCallInNetworkarg/empty", HFILL }},
4903 { &hf_inap_highLayerCompatibility,
4904 { "highLayerCompatibility", "inap.highLayerCompatibility",
4905 FT_BYTES, BASE_HEX, NULL, 0,
4906 "InitialDP/highLayerCompatibility", HFILL }},
4907 { &hf_inap_additionalCallingPartyNumber,
4908 { "additionalCallingPartyNumber", "inap.additionalCallingPartyNumber",
4909 FT_BYTES, BASE_HEX, NULL, 0,
4910 "InitialDP/additionalCallingPartyNumber", HFILL }},
4911 { &hf_inap_forwardCallIndicators,
4912 { "forwardCallIndicators", "inap.forwardCallIndicators",
4913 FT_BYTES, BASE_HEX, NULL, 0,
4914 "InitialDP/forwardCallIndicators", HFILL }},
4915 { &hf_inap_calledPartyBusinessGroupID,
4916 { "calledPartyBusinessGroupID", "inap.calledPartyBusinessGroupID",
4917 FT_BYTES, BASE_HEX, NULL, 0,
4919 { &hf_inap_calledPartySubaddress,
4920 { "calledPartySubaddress", "inap.calledPartySubaddress",
4921 FT_BYTES, BASE_HEX, NULL, 0,
4923 { &hf_inap_featureRequestIndicator,
4924 { "featureRequestIndicator", "inap.featureRequestIndicator",
4925 FT_UINT32, BASE_DEC, VALS(inap_FeatureRequestIndicator_vals), 0,
4927 { &hf_inap_disconnectFromIPForbidden,
4928 { "disconnectFromIPForbidden", "inap.disconnectFromIPForbidden",
4929 FT_BOOLEAN, 8, NULL, 0,
4931 { &hf_inap_requestAnnouncementComplete,
4932 { "requestAnnouncementComplete", "inap.requestAnnouncementComplete",
4933 FT_BOOLEAN, 8, NULL, 0,
4934 "PlayAnnouncement/requestAnnouncementComplete", HFILL }},
4935 { &hf_inap_collectedInfo,
4936 { "collectedInfo", "inap.collectedInfo",
4937 FT_UINT32, BASE_DEC, VALS(inap_T_collectedInfo_vals), 0,
4938 "PromptAndCollectUserInformationarg/collectedInfo", HFILL }},
4939 { &hf_inap_collectedDigits,
4940 { "collectedDigits", "inap.collectedDigits",
4941 FT_NONE, BASE_NONE, NULL, 0,
4942 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits", HFILL }},
4943 { &hf_inap_minimumNbOfDigits,
4944 { "minimumNbOfDigits", "inap.minimumNbOfDigits",
4945 FT_UINT32, BASE_DEC, NULL, 0,
4946 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/minimumNbOfDigits", HFILL }},
4947 { &hf_inap_maximumNbOfDigits,
4948 { "maximumNbOfDigits", "inap.maximumNbOfDigits",
4949 FT_UINT32, BASE_DEC, NULL, 0,
4950 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/maximumNbOfDigits", HFILL }},
4951 { &hf_inap_endOfReplyDigit,
4952 { "endOfReplyDigit", "inap.endOfReplyDigit",
4953 FT_BYTES, BASE_HEX, NULL, 0,
4954 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/endOfReplyDigit", HFILL }},
4955 { &hf_inap_cancelDigit,
4956 { "cancelDigit", "inap.cancelDigit",
4957 FT_BYTES, BASE_HEX, NULL, 0,
4958 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/cancelDigit", HFILL }},
4959 { &hf_inap_startDigit,
4960 { "startDigit", "inap.startDigit",
4961 FT_BYTES, BASE_HEX, NULL, 0,
4962 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/startDigit", HFILL }},
4963 { &hf_inap_firstDigitTimeOut,
4964 { "firstDigitTimeOut", "inap.firstDigitTimeOut",
4965 FT_UINT32, BASE_DEC, NULL, 0,
4966 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/firstDigitTimeOut", HFILL }},
4967 { &hf_inap_interDigitTimeOut,
4968 { "interDigitTimeOut", "inap.interDigitTimeOut",
4969 FT_UINT32, BASE_DEC, NULL, 0,
4970 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/interDigitTimeOut", HFILL }},
4971 { &hf_inap_errorTreatment,
4972 { "errorTreatment", "inap.errorTreatment",
4973 FT_UINT32, BASE_DEC, VALS(inap_T_errorTreatment_vals), 0,
4974 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/errorTreatment", HFILL }},
4975 { &hf_inap_interruptableAnnInd,
4976 { "interruptableAnnInd", "inap.interruptableAnnInd",
4977 FT_BOOLEAN, 8, NULL, 0,
4978 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/interruptableAnnInd", HFILL }},
4979 { &hf_inap_voiceInformation,
4980 { "voiceInformation", "inap.voiceInformation",
4981 FT_BOOLEAN, 8, NULL, 0,
4982 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/voiceInformation", HFILL }},
4983 { &hf_inap_voiceBack,
4984 { "voiceBack", "inap.voiceBack",
4985 FT_BOOLEAN, 8, NULL, 0,
4986 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/voiceBack", HFILL }},
4987 { &hf_inap_iA5Information,
4988 { "iA5Information", "inap.iA5Information",
4989 FT_BOOLEAN, 8, NULL, 0,
4990 "PromptAndCollectUserInformationarg/collectedInfo/iA5Information", HFILL }},
4991 { &hf_inap_digitsResponse,
4992 { "digitsResponse", "inap.digitsResponse",
4993 FT_BYTES, BASE_HEX, NULL, 0,
4994 "PromptAndCollectUserInformationres/digitsResponse", HFILL }},
4995 { &hf_inap_iA5Response,
4996 { "iA5Response", "inap.iA5Response",
4997 FT_STRING, BASE_NONE, NULL, 0,
4998 "PromptAndCollectUserInformationres/iA5Response", HFILL }},
4999 { &hf_inap_resourceStatus,
5000 { "resourceStatus", "inap.resourceStatus",
5001 FT_UINT32, BASE_DEC, VALS(inap_ResourceStatus_vals), 0,
5003 { &hf_inap_monitorDuration,
5004 { "monitorDuration", "inap.monitorDuration",
5005 FT_UINT32, BASE_DEC, NULL, 0,
5007 { &hf_inap_RequestNotificationChargingEvent_item,
5008 { "Item", "inap.RequestNotificationChargingEvent_item",
5009 FT_NONE, BASE_NONE, NULL, 0,
5010 "RequestNotificationChargingEvent/_item", HFILL }},
5011 { &hf_inap_bcsmEvents,
5012 { "bcsmEvents", "inap.bcsmEvents",
5013 FT_NONE, BASE_NONE, NULL, 0,
5014 "RequestReportBCSMEvent/bcsmEvents", HFILL }},
5015 { &hf_inap_bcsmEvents_item,
5016 { "Item", "inap.bcsmEvents_item",
5017 FT_NONE, BASE_NONE, NULL, 0,
5018 "RequestReportBCSMEvent/bcsmEvents/_item", HFILL }},
5019 { &hf_inap_dpSpecificCriteria,
5020 { "dpSpecificCriteria", "inap.dpSpecificCriteria",
5021 FT_UINT32, BASE_DEC, VALS(inap_T_dpSpecificCriteria_vals), 0,
5022 "RequestReportBCSMEvent/bcsmEvents/_item/dpSpecificCriteria", HFILL }},
5023 { &hf_inap_numberOfDigits,
5024 { "numberOfDigits", "inap.numberOfDigits",
5025 FT_UINT32, BASE_DEC, NULL, 0,
5026 "RequestReportBCSMEvent/bcsmEvents/_item/dpSpecificCriteria/numberOfDigits", HFILL }},
5027 { &hf_inap_applicationTimer,
5028 { "applicationTimer", "inap.applicationTimer",
5029 FT_UINT32, BASE_DEC, NULL, 0,
5030 "RequestReportBCSMEvent/bcsmEvents/_item/dpSpecificCriteria/applicationTimer", HFILL }},
5032 { "timerID", "inap.timerID",
5033 FT_UINT32, BASE_DEC, VALS(inap_T_timerID_vals), 0,
5034 "ResetTimer/timerID", HFILL }},
5035 { &hf_inap_timervalue,
5036 { "timervalue", "inap.timervalue",
5037 FT_UINT32, BASE_DEC, NULL, 0,
5038 "ResetTimer/timervalue", HFILL }},
5039 { &hf_inap_destinationNumberRoutingAddress,
5040 { "destinationNumberRoutingAddress", "inap.destinationNumberRoutingAddress",
5041 FT_BYTES, BASE_HEX, NULL, 0,
5042 "SelectFacility/destinationNumberRoutingAddress", HFILL }},
5043 { &hf_inap_calledFacilityGroup,
5044 { "calledFacilityGroup", "inap.calledFacilityGroup",
5045 FT_UINT32, BASE_DEC, VALS(inap_CalledFacilityGroup_vals), 0,
5047 { &hf_inap_calledFacilityGroupMember,
5048 { "calledFacilityGroupMember", "inap.calledFacilityGroupMember",
5049 FT_INT32, BASE_DEC, NULL, 0,
5051 { &hf_inap_sCIBillingChargingCharacteristics,
5052 { "sCIBillingChargingCharacteristics", "inap.sCIBillingChargingCharacteristics",
5053 FT_BYTES, BASE_HEX, NULL, 0,
5054 "SendChargingInformation/sCIBillingChargingCharacteristics", HFILL }},
5055 { &hf_inap_countersValue,
5056 { "countersValue", "inap.countersValue",
5057 FT_NONE, BASE_NONE, NULL, 0,
5058 "ServiceFilteringResponse/countersValue", HFILL }},
5059 { &hf_inap_countersValue_item,
5060 { "Item", "inap.countersValue_item",
5061 FT_NONE, BASE_NONE, NULL, 0,
5062 "ServiceFilteringResponse/countersValue/_item", HFILL }},
5063 { &hf_inap_counterID,
5064 { "counterID", "inap.counterID",
5065 FT_UINT32, BASE_DEC, NULL, 0,
5066 "ServiceFilteringResponse/countersValue/_item/counterID", HFILL }},
5067 { &hf_inap_counterValue,
5068 { "counterValue", "inap.counterValue",
5069 FT_UINT32, BASE_DEC, NULL, 0,
5070 "ServiceFilteringResponse/countersValue/_item/counterValue", HFILL }},
5071 { &hf_inap_responseCondition,
5072 { "responseCondition", "inap.responseCondition",
5073 FT_UINT32, BASE_DEC, VALS(inap_T_responseCondition_vals), 0,
5074 "ServiceFilteringResponse/responseCondition", HFILL }},
5075 { &hf_inap_reportCondition,
5076 { "reportCondition", "inap.reportCondition",
5077 FT_UINT32, BASE_DEC, VALS(inap_T_reportCondition_vals), 0,
5078 "StatusReport/reportCondition", HFILL }},
5080 { "problem", "inap.problem",
5081 FT_UINT32, BASE_DEC, VALS(inap_T_problem_vals), 0,
5082 "CancelFailed/problem", HFILL }},
5083 { &hf_inap_operation,
5084 { "operation", "inap.operation",
5085 FT_UINT32, BASE_DEC, NULL, 0,
5086 "CancelFailed/operation", HFILL }},
5088 /*--- End of included file: packet-inap-hfarr.c ---*/
5097 /* List of subtrees */
5098 static gint *ett[] = {
5101 &ett_inap_InvokePDU,
5102 &ett_inap_ReturnResultPDU,
5103 &ett_inap_ReturnResult_result,
5105 &ett_inapisup_parameter,
5107 /*--- Included file: packet-inap-ettarr.c ---*/
5109 &ett_inap_AddPartyArg,
5110 &ett_inap_AttachArg,
5111 &ett_inap_CallPartyHandlingResultsArg,
5112 &ett_inap_ChangePartiesArg,
5113 &ett_inap_DetachArg,
5114 &ett_inap_HoldCallPartyConnectionArg,
5116 &ett_inap_ReconnectArg,
5117 &ett_inap_ReleaseCallPartyConnectionArg,
5118 &ett_inap_LegInformation,
5119 &ett_inap_VariableParts,
5120 &ett_inap_VariableParts_item,
5121 &ett_inap_VariableMessage,
5124 &ett_inap_MessageID,
5125 &ett_inap_T_elementaryMessageIDs,
5126 &ett_inap_InformationToSend,
5127 &ett_inap_T_inbandInfo,
5128 &ett_inap_FilteringCriteria,
5129 &ett_inap_T_addressAndService,
5130 &ett_inap_Extensions,
5131 &ett_inap_Extensions_item,
5132 &ett_inap_ActivateServiceFilteringarg,
5133 &ett_inap_T_filteredCallTreatment,
5134 &ett_inap_T_filteringCharacteristics,
5135 &ett_inap_T_filteringTimeOut,
5136 &ett_inap_MiscCallInfo,
5137 &ett_inap_ServiceAddressInformation,
5138 &ett_inap_RouteList,
5139 &ett_inap_BearerCapability,
5140 &ett_inap_DpSpecificCommonParameters,
5141 &ett_inap_CallingFacilityGroup,
5142 &ett_inap_AnalysedInformationarg,
5143 &ett_inap_AnalyseInformationarg,
5144 &ett_inap_SEQUENCE_SIZE_1_3_OF_DestinationAddress,
5145 &ett_inap_PartyToCharge,
5146 &ett_inap_ApplyChargingarg,
5147 &ett_inap_AssistRequestInstructionsarg,
5148 &ett_inap_CallGaparg,
5149 &ett_inap_T_gapCriteria,
5150 &ett_inap_T_gapOnService,
5151 &ett_inap_T_calledAddressAndService,
5152 &ett_inap_T_callingAddressAndService,
5153 &ett_inap_T_gapIndicators,
5154 &ett_inap_T_gapTreatment,
5156 &ett_inap_CallInformationReportarg,
5157 &ett_inap_T_requestedInformationList,
5158 &ett_inap_T_requestedInformationList_item,
5159 &ett_inap_T_requestedInformationValue,
5160 &ett_inap_CallInformationRequestarg,
5161 &ett_inap_T_requestedInformationTypeList,
5162 &ett_inap_Cancelarg,
5163 &ett_inap_FacilityGroupID,
5164 &ett_inap_ResourceID,
5165 &ett_inap_CancelStatusReportRequestarg,
5166 &ett_inap_CollectedInformationarg,
5167 &ett_inap_CollectInformationarg,
5168 &ett_inap_Connectarg,
5169 &ett_inap_ConnectToResource,
5170 &ett_inap_T_resourceAddress,
5171 &ett_inap_EstablishTemporaryConnection,
5172 &ett_inap_EventNotificationChargingarg,
5173 &ett_inap_EventReportBCSM,
5174 &ett_inap_T_eventSpecificInformationBCSM,
5175 &ett_inap_T_collectedInfoSpecificInfo,
5176 &ett_inap_T_analyzedInfoSpecificInfo,
5177 &ett_inap_T_routeSelectFailureSpecificInfo,
5178 &ett_inap_T_oCalledPartyBusySpecificInfo,
5179 &ett_inap_T_oNoAnswerSpecificInfo,
5180 &ett_inap_T_oAnswerSpecificInfo,
5181 &ett_inap_T_oMidCallSpecificInfo,
5182 &ett_inap_T_oDisconnectSpecificInfo,
5183 &ett_inap_T_tBusySpecificInfo,
5184 &ett_inap_T_tNoAnswerSpecificInfo,
5185 &ett_inap_T_tAnswerSpecificInfo,
5186 &ett_inap_T_tMidCallSpecificInfo,
5187 &ett_inap_T_tDisconnectSpecificInfo,
5188 &ett_inap_HoldCallInNetworkarg,
5189 &ett_inap_InitialDP,
5190 &ett_inap_InitiateCallAttempt,
5192 &ett_inap_OCalledPartyBusy,
5193 &ett_inap_ODisconnect,
5195 &ett_inap_ONoAnswer,
5196 &ett_inap_OriginationAttemptAuthorized,
5197 &ett_inap_PlayAnnouncement,
5198 &ett_inap_PromptAndCollectUserInformationarg,
5199 &ett_inap_T_collectedInfo,
5200 &ett_inap_T_collectedDigits,
5201 &ett_inap_PromptAndCollectUserInformationres,
5202 &ett_inap_RequestCurrentStatusReportarg,
5203 &ett_inap_RequestCurrentStatusReportres,
5204 &ett_inap_RequestEveryStatusChangeReport,
5205 &ett_inap_RequestFirstStatusMatchReport,
5206 &ett_inap_RequestNotificationChargingEvent,
5207 &ett_inap_RequestNotificationChargingEvent_item,
5208 &ett_inap_RequestReportBCSMEvent,
5209 &ett_inap_T_bcsmEvents,
5210 &ett_inap_T_bcsmEvents_item,
5211 &ett_inap_T_dpSpecificCriteria,
5212 &ett_inap_ResetTimer,
5213 &ett_inap_RouteSelectFailure,
5214 &ett_inap_CalledFacilityGroup,
5215 &ett_inap_SelectFacility,
5216 &ett_inap_SelectRoute,
5217 &ett_inap_SendChargingInformation,
5218 &ett_inap_ServiceFilteringResponse,
5219 &ett_inap_T_countersValue,
5220 &ett_inap_T_countersValue_item,
5221 &ett_inap_StatusReport,
5224 &ett_inap_TDisconnect,
5225 &ett_inap_TermAttemptAuthorized,
5227 &ett_inap_TNoAnswer,
5228 &ett_inap_CancelFailed,
5230 /*--- End of included file: packet-inap-ettarr.c ---*/
5234 /* Register protocol */
5235 proto_inap = proto_register_protocol(PNAME, PSNAME, PFNAME);
5236 /*XXX register_dissector("inap", dissect_inap, proto_inap);*/
5237 /* Register fields and subtrees */
5238 proto_register_field_array(proto_inap, hf, array_length(hf));
5239 proto_register_subtree_array(ett, array_length(ett));
5241 inap_module = prefs_register_protocol(proto_inap, proto_reg_handoff_inap);
5243 prefs_register_uint_preference(inap_module, "tcap.itu_ssn",
5244 "Subsystem number used for INAP",
5245 "Set Subsystem number used for INAP",
5246 10, &global_tcap_itu_ssn);