1 /* Do not modify this file. */
2 /* It is created automatically by the ASN.1 to Ethereal dissector compiler */
4 /* ../../tools/asn2eth.py -X -b -e -p inap -c inap.cnf -s packet-inap-template inap.asn */
6 /* Input file: packet-inap-template.c */
8 /* packet-inap-template.c
10 * Copyright 2004, Tim Endean <endeant@hotmail.com>
11 * Built from the gsm-map dissector Copyright 2004, Anders Broman <anders.broman@ericsson.com>
14 * Ethereal - Network traffic analyzer
15 * By Gerald Combs <gerald@ethereal.com>
16 * Copyright 1998 Gerald Combs
18 * This program is free software; you can redistribute it and/or
19 * modify it under the terms of the GNU General Public License
20 * as published by the Free Software Foundation; either version 2
21 * of the License, or (at your option) any later version.
23 * This program is distributed in the hope that it will be useful,
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26 * GNU General Public License for more details.
28 * You should have received a copy of the GNU General Public License
29 * along with this program; if not, write to the Free Software
30 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
31 * References: ETSI 300 374
39 #include <epan/packet.h>
40 #include <epan/prefs.h>
41 #include <epan/conversation.h>
46 #include "packet-ber.h"
47 #include "packet-inap.h"
48 #include "packet-q931.h"
49 #include "packet-e164.h"
55 /* Initialize the protocol and registered fields */
57 static int hf_inap_invokeCmd = -1; /* Opcode */
58 static int hf_inap_invokeid = -1; /* INTEGER */
59 static int hf_inap_absent = -1; /* NULL */
60 static int hf_inap_invokeId = -1; /* InvokeId */
61 static int hf_inap_invoke = -1; /* InvokePDU */
62 static int hf_inap_ReturnError = -1; /* InvokePDU */
63 static int hf_inap_returnResult = -1; /* InvokePDU */
64 static int hf_inap_returnResult_result = -1;
65 static int hf_inap_getPassword = -1;
66 static int hf_inap_currentPassword = -1;
67 static int hf_inap_genproblem = -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_initialCallSegment = -1; /* Cause */
264 static int hf_inap_allCallSegments = -1; /* T_allCallSegments */
265 static int hf_inap_resourceStatus = -1; /* ResourceStatus */
266 static int hf_inap_monitorDuration = -1; /* INTEGER_M2_86400 */
267 static int hf_inap_RequestNotificationChargingEvent_item = -1; /* RequestNotificationChargingEvent_item */
268 static int hf_inap_bcsmEvents = -1; /* T_bcsmEvents */
269 static int hf_inap_bcsmEvents_item = -1; /* T_bcsmEvents_item */
270 static int hf_inap_dpSpecificCriteria = -1; /* T_dpSpecificCriteria */
271 static int hf_inap_numberOfDigits = -1; /* INTEGER_1_255 */
272 static int hf_inap_applicationTimer = -1; /* INTEGER_0_2047 */
273 static int hf_inap_timerID = -1; /* T_timerID */
274 static int hf_inap_timervalue = -1; /* INTEGER_0_2147483647 */
275 static int hf_inap_destinationNumberRoutingAddress = -1; /* OCTET_STRING */
276 static int hf_inap_calledFacilityGroup = -1; /* CalledFacilityGroup */
277 static int hf_inap_calledFacilityGroupMember = -1; /* INTEGER */
278 static int hf_inap_sCIBillingChargingCharacteristics = -1; /* OCTET_STRING */
279 static int hf_inap_countersValue = -1; /* T_countersValue */
280 static int hf_inap_countersValue_item = -1; /* T_countersValue_item */
281 static int hf_inap_counterID = -1; /* INTEGER_0_99 */
282 static int hf_inap_counterValue = -1; /* INTEGER_0_2147483647 */
283 static int hf_inap_responseCondition = -1; /* T_responseCondition */
284 static int hf_inap_reportCondition = -1; /* T_reportCondition */
285 static int hf_inap_problem = -1; /* T_problem */
286 static int hf_inap_operation = -1; /* INTEGER_M128_127 */
287 static int hf_inap_rinvokeID = -1; /* T_rinvokeID */
288 static int hf_inap_invidtype = -1; /* InvokeIDType */
289 static int hf_inap_null = -1; /* NULL */
290 static int hf_inap_rproblem = -1; /* T_rproblem */
291 static int hf_inap_gp = -1; /* GeneralProblem */
292 static int hf_inap_ip = -1; /* InvokeProblem */
293 static int hf_inap_rrp = -1; /* ReturnResultProblem */
294 static int hf_inap_rep = -1; /* ReturnErrorProblem */
296 /*--- End of included file: packet-inap-hf.c ---*/
299 static guint tcap_itu_ssn = 106;
300 static guint tcap_itu_ssn1 = 241;
303 static guint global_tcap_itu_ssn = 1;
304 static guint global_tcap_itu_ssn1 = 1;
306 /* Initialize the subtree pointers */
307 static gint ett_inap = -1;
308 static gint ett_inap_InvokeId = -1;
309 static gint ett_inap_InvokePDU = -1;
310 static gint ett_inap_ReturnErrorPDU = -1;
311 static gint ett_inap_ReturnResultPDU = -1;
312 static gint ett_inap_ReturnResult_result = -1;
313 static gint ett_inap_INAPPDU = -1;
314 static gint ett_inapisup_parameter = -1;
316 /*--- Included file: packet-inap-ett.c ---*/
318 static gint ett_inap_AddPartyArg = -1;
319 static gint ett_inap_AttachArg = -1;
320 static gint ett_inap_CallPartyHandlingResultsArg = -1;
321 static gint ett_inap_ChangePartiesArg = -1;
322 static gint ett_inap_DetachArg = -1;
323 static gint ett_inap_HoldCallPartyConnectionArg = -1;
324 static gint ett_inap_LegID = -1;
325 static gint ett_inap_ReconnectArg = -1;
326 static gint ett_inap_ReleaseCallPartyConnectionArg = -1;
327 static gint ett_inap_LegInformation = -1;
328 static gint ett_inap_VariableParts = -1;
329 static gint ett_inap_VariableParts_item = -1;
330 static gint ett_inap_VariableMessage = -1;
331 static gint ett_inap_Tone = -1;
332 static gint ett_inap_Text = -1;
333 static gint ett_inap_MessageID = -1;
334 static gint ett_inap_T_elementaryMessageIDs = -1;
335 static gint ett_inap_InformationToSend = -1;
336 static gint ett_inap_T_inbandInfo = -1;
337 static gint ett_inap_FilteringCriteria = -1;
338 static gint ett_inap_T_addressAndService = -1;
339 static gint ett_inap_Extensions = -1;
340 static gint ett_inap_Extensions_item = -1;
341 static gint ett_inap_ActivateServiceFilteringarg = -1;
342 static gint ett_inap_T_filteredCallTreatment = -1;
343 static gint ett_inap_T_filteringCharacteristics = -1;
344 static gint ett_inap_T_filteringTimeOut = -1;
345 static gint ett_inap_MiscCallInfo = -1;
346 static gint ett_inap_ServiceAddressInformation = -1;
347 static gint ett_inap_RouteList = -1;
348 static gint ett_inap_BearerCapability = -1;
349 static gint ett_inap_DpSpecificCommonParameters = -1;
350 static gint ett_inap_CallingFacilityGroup = -1;
351 static gint ett_inap_AnalysedInformationarg = -1;
352 static gint ett_inap_AnalyseInformationarg = -1;
353 static gint ett_inap_SEQUENCE_SIZE_1_3_OF_DestinationAddress = -1;
354 static gint ett_inap_PartyToCharge = -1;
355 static gint ett_inap_ApplyChargingarg = -1;
356 static gint ett_inap_AssistRequestInstructionsarg = -1;
357 static gint ett_inap_CallGaparg = -1;
358 static gint ett_inap_T_gapCriteria = -1;
359 static gint ett_inap_T_gapOnService = -1;
360 static gint ett_inap_T_calledAddressAndService = -1;
361 static gint ett_inap_T_callingAddressAndService = -1;
362 static gint ett_inap_T_gapIndicators = -1;
363 static gint ett_inap_T_gapTreatment = -1;
364 static gint ett_inap_Both = -1;
365 static gint ett_inap_CallInformationReportarg = -1;
366 static gint ett_inap_T_requestedInformationList = -1;
367 static gint ett_inap_T_requestedInformationList_item = -1;
368 static gint ett_inap_T_requestedInformationValue = -1;
369 static gint ett_inap_CallInformationRequestarg = -1;
370 static gint ett_inap_T_requestedInformationTypeList = -1;
371 static gint ett_inap_Cancelarg = -1;
372 static gint ett_inap_FacilityGroupID = -1;
373 static gint ett_inap_ResourceID = -1;
374 static gint ett_inap_CancelStatusReportRequestarg = -1;
375 static gint ett_inap_CollectedInformationarg = -1;
376 static gint ett_inap_CollectInformationarg = -1;
377 static gint ett_inap_Connectarg = -1;
378 static gint ett_inap_ConnectToResource = -1;
379 static gint ett_inap_T_resourceAddress = -1;
380 static gint ett_inap_EstablishTemporaryConnection = -1;
381 static gint ett_inap_EventNotificationChargingarg = -1;
382 static gint ett_inap_EventReportBCSM = -1;
383 static gint ett_inap_T_eventSpecificInformationBCSM = -1;
384 static gint ett_inap_T_collectedInfoSpecificInfo = -1;
385 static gint ett_inap_T_analyzedInfoSpecificInfo = -1;
386 static gint ett_inap_T_routeSelectFailureSpecificInfo = -1;
387 static gint ett_inap_T_oCalledPartyBusySpecificInfo = -1;
388 static gint ett_inap_T_oNoAnswerSpecificInfo = -1;
389 static gint ett_inap_T_oAnswerSpecificInfo = -1;
390 static gint ett_inap_T_oMidCallSpecificInfo = -1;
391 static gint ett_inap_T_oDisconnectSpecificInfo = -1;
392 static gint ett_inap_T_tBusySpecificInfo = -1;
393 static gint ett_inap_T_tNoAnswerSpecificInfo = -1;
394 static gint ett_inap_T_tAnswerSpecificInfo = -1;
395 static gint ett_inap_T_tMidCallSpecificInfo = -1;
396 static gint ett_inap_T_tDisconnectSpecificInfo = -1;
397 static gint ett_inap_HoldCallInNetworkarg = -1;
398 static gint ett_inap_InitialDP = -1;
399 static gint ett_inap_InitiateCallAttempt = -1;
400 static gint ett_inap_OAnswer = -1;
401 static gint ett_inap_OCalledPartyBusy = -1;
402 static gint ett_inap_ODisconnect = -1;
403 static gint ett_inap_OMidCall = -1;
404 static gint ett_inap_ONoAnswer = -1;
405 static gint ett_inap_OriginationAttemptAuthorized = -1;
406 static gint ett_inap_PlayAnnouncement = -1;
407 static gint ett_inap_PromptAndCollectUserInformationarg = -1;
408 static gint ett_inap_T_collectedInfo = -1;
409 static gint ett_inap_T_collectedDigits = -1;
410 static gint ett_inap_PromptAndCollectUserInformationres = -1;
411 static gint ett_inap_ReleaseCallArg = -1;
412 static gint ett_inap_T_allCallSegments = -1;
413 static gint ett_inap_RequestCurrentStatusReportarg = -1;
414 static gint ett_inap_RequestCurrentStatusReportres = -1;
415 static gint ett_inap_RequestEveryStatusChangeReport = -1;
416 static gint ett_inap_RequestFirstStatusMatchReport = -1;
417 static gint ett_inap_RequestNotificationChargingEvent = -1;
418 static gint ett_inap_RequestNotificationChargingEvent_item = -1;
419 static gint ett_inap_RequestReportBCSMEvent = -1;
420 static gint ett_inap_T_bcsmEvents = -1;
421 static gint ett_inap_T_bcsmEvents_item = -1;
422 static gint ett_inap_T_dpSpecificCriteria = -1;
423 static gint ett_inap_ResetTimer = -1;
424 static gint ett_inap_RouteSelectFailure = -1;
425 static gint ett_inap_CalledFacilityGroup = -1;
426 static gint ett_inap_SelectFacility = -1;
427 static gint ett_inap_SelectRoute = -1;
428 static gint ett_inap_SendChargingInformation = -1;
429 static gint ett_inap_ServiceFilteringResponse = -1;
430 static gint ett_inap_T_countersValue = -1;
431 static gint ett_inap_T_countersValue_item = -1;
432 static gint ett_inap_StatusReport = -1;
433 static gint ett_inap_TAnswer = -1;
434 static gint ett_inap_TBusy = -1;
435 static gint ett_inap_TDisconnect = -1;
436 static gint ett_inap_TermAttemptAuthorized = -1;
437 static gint ett_inap_TMidCall = -1;
438 static gint ett_inap_TNoAnswer = -1;
439 static gint ett_inap_CancelFailed = -1;
440 static gint ett_inap_RejectPDU = -1;
441 static gint ett_inap_T_rinvokeID = -1;
442 static gint ett_inap_T_rproblem = -1;
444 /*--- End of included file: packet-inap-ett.c ---*/
447 static int dissect_invokeCmd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset);
450 /*--- Included file: packet-inap-fn.c ---*/
452 /*--- Fields for imported types ---*/
458 dissect_inap_CallID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
459 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
464 static int dissect_originalCallID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
465 return dissect_inap_CallID(TRUE, tvb, offset, pinfo, tree, hf_inap_originalCallID);
467 static int dissect_destinationCallID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
468 return dissect_inap_CallID(TRUE, tvb, offset, pinfo, tree, hf_inap_destinationCallID);
470 static int dissect_callID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
471 return dissect_inap_CallID(TRUE, tvb, offset, pinfo, tree, hf_inap_callID);
473 static int dissect_targetCallID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
474 return dissect_inap_CallID(TRUE, tvb, offset, pinfo, tree, hf_inap_targetCallID);
477 static const ber_sequence_t AddPartyArg_sequence[] = {
478 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCallID_impl },
479 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationCallID_impl },
484 dissect_inap_AddPartyArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
485 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
486 AddPartyArg_sequence, hf_index, ett_inap_AddPartyArg);
493 dissect_inap_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
494 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
499 static int dissect_newLegID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
500 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_newLegID);
502 static int dissect_correlationidentifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
503 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_correlationidentifier);
505 static int dissect_legToBeConnectedID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
506 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_legToBeConnectedID);
508 static int dissect_legToBeDetached_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
509 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_legToBeDetached);
511 static int dissect_number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
512 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_number);
514 static int dissect_time_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
515 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_time);
517 static int dissect_date_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
518 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_date);
520 static int dissect_price_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
521 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_price);
523 static int dissect_attributes_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
524 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_attributes);
526 static int dissect_dialledNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
527 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_dialledNumber);
529 static int dissect_callingLineID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
530 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_callingLineID);
532 static int dissect_calledAddressValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
533 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_calledAddressValue);
535 static int dissect_callingAddressValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
536 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_callingAddressValue);
538 static int dissect_locationNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
539 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_locationNumber);
541 static int dissect_value_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
542 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_value);
544 static int dissect_sFBillingChargingCharacteristics_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
545 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_sFBillingChargingCharacteristics);
547 static int dissect_RouteList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
548 return dissect_inap_OCTET_STRING(FALSE, tvb, offset, pinfo, tree, hf_inap_RouteList_item);
550 static int dissect_bearerCap_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
551 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_bearerCap);
553 static int dissect_calledPartyNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
554 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_calledPartyNumber);
556 static int dissect_callingPartyNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
557 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_callingPartyNumber);
559 static int dissect_iPSSPCapabilities_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
560 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_iPSSPCapabilities);
562 static int dissect_iPAvailable_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
563 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_iPAvailable);
565 static int dissect_iSDNAccessRelatedInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
566 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_iSDNAccessRelatedInformation);
568 static int dissect_serviceProfileIdentifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
569 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_serviceProfileIdentifier);
571 static int dissect_chargeNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
572 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_chargeNumber);
574 static int dissect_servingAreaID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
575 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_servingAreaID);
577 static int dissect_huntGroup_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
578 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_huntGroup);
580 static int dissect_routeIndex_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
581 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_routeIndex);
583 static int dissect_dialledDigits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
584 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_dialledDigits);
586 static int dissect_callingPartyBusinessGroupID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
587 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_callingPartyBusinessGroupID);
589 static int dissect_callingPartySubaddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
590 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_callingPartySubaddress);
592 static int dissect_originalCalledPartyID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
593 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_originalCalledPartyID);
595 static int dissect_prefix_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
596 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_prefix);
598 static int dissect_redirectingPartyID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
599 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_redirectingPartyID);
601 static int dissect_travellingClassMark_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
602 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_travellingClassMark);
604 static int dissect_featureCode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
605 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_featureCode);
607 static int dissect_accessCode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
608 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_accessCode);
610 static int dissect_carrier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
611 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_carrier);
613 static int dissect_aChBillingChargingCharacteristics_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
614 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_aChBillingChargingCharacteristics);
616 static int dissect_correlationID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
617 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_correlationID);
619 static int dissect_lineID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
620 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_lineID);
622 static int dissect_scfID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
623 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_scfID);
625 static int dissect_serviceInteractionIndicators_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
626 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_serviceInteractionIndicators);
628 static int dissect_ipRoutingAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
629 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_ipRoutingAddress);
631 static int dissect_assistingSSPIPRoutingAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
632 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_assistingSSPIPRoutingAddress);
634 static int dissect_eventTypeCharging_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
635 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_eventTypeCharging);
637 static int dissect_eventSpecificInformationCharging_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
638 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_eventSpecificInformationCharging);
640 static int dissect_bcsmEventCorrelationID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
641 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_bcsmEventCorrelationID);
643 static int dissect_calledPartynumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
644 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_calledPartynumber);
646 static int dissect_holdcause_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
647 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_holdcause);
649 static int dissect_additionalCallingPartyNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
650 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_additionalCallingPartyNumber);
652 static int dissect_calledPartyBusinessGroupID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
653 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_calledPartyBusinessGroupID);
655 static int dissect_calledPartySubaddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
656 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_calledPartySubaddress);
658 static int dissect_digitsResponse_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
659 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_digitsResponse);
661 static int dissect_destinationNumberRoutingAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
662 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_destinationNumberRoutingAddress);
664 static int dissect_sCIBillingChargingCharacteristics_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
665 return dissect_inap_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_inap_sCIBillingChargingCharacteristics);
668 static const ber_sequence_t AttachArg_sequence[] = {
669 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_newLegID_impl },
670 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationidentifier_impl },
675 dissect_inap_AttachArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
676 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
677 AttachArg_sequence, hf_index, ett_inap_AttachArg);
684 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_) {
685 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
690 static int dissect_sendingSideID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
691 return dissect_inap_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_inap_sendingSideID);
693 static int dissect_receivingSideID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
694 return dissect_inap_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_inap_receivingSideID);
696 static int dissect_tmr_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
697 return dissect_inap_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_inap_tmr);
699 static int dissect_callingPartysCategory_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
700 return dissect_inap_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_inap_callingPartysCategory);
702 static int dissect_numberingPlan_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
703 return dissect_inap_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_inap_numberingPlan);
707 static const value_string inap_LegID_vals[] = {
708 { 0, "sendingSideID" },
709 { 1, "receivingSideID" },
713 static const ber_choice_t LegID_choice[] = {
714 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sendingSideID_impl },
715 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_receivingSideID_impl },
720 dissect_inap_LegID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
721 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
722 LegID_choice, hf_index, ett_inap_LegID, NULL);
726 static int dissect_legID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
727 return dissect_inap_LegID(TRUE, tvb, offset, pinfo, tree, hf_inap_legID);
729 static int dissect_heldLegID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
730 return dissect_inap_LegID(TRUE, tvb, offset, pinfo, tree, hf_inap_heldLegID);
732 static int dissect_legToBeReleased_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
733 return dissect_inap_LegID(TRUE, tvb, offset, pinfo, tree, hf_inap_legToBeReleased);
737 static const value_string inap_LegStatus_vals[] = {
739 { 1, "unconnected" },
741 { 3, "interacting" },
747 dissect_inap_LegStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
748 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
752 static int dissect_legStatus_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
753 return dissect_inap_LegStatus(TRUE, tvb, offset, pinfo, tree, hf_inap_legStatus);
756 static const ber_sequence_t LegInformation_sequence[] = {
757 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
758 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_legStatus_impl },
763 dissect_inap_LegInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
764 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
765 LegInformation_sequence, hf_index, ett_inap_LegInformation);
769 static int dissect_CallPartyHandlingResultsArg_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
770 return dissect_inap_LegInformation(FALSE, tvb, offset, pinfo, tree, hf_inap_CallPartyHandlingResultsArg_item);
773 static const ber_sequence_t CallPartyHandlingResultsArg_sequence_of[1] = {
774 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_CallPartyHandlingResultsArg_item },
778 dissect_inap_CallPartyHandlingResultsArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
779 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
780 CallPartyHandlingResultsArg_sequence_of, hf_index, ett_inap_CallPartyHandlingResultsArg);
785 static const ber_sequence_t ChangePartiesArg_sequence[] = {
786 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callID_impl },
787 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_targetCallID_impl },
788 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_legToBeConnectedID_impl },
793 dissect_inap_ChangePartiesArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
794 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
795 ChangePartiesArg_sequence, hf_index, ett_inap_ChangePartiesArg);
800 static const ber_sequence_t DetachArg_sequence[] = {
801 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_legToBeDetached_impl },
802 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationidentifier_impl },
807 dissect_inap_DetachArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
808 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
809 DetachArg_sequence, hf_index, ett_inap_DetachArg);
814 static const ber_sequence_t HoldCallPartyConnectionArg_sequence[] = {
815 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callID_impl },
816 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
821 dissect_inap_HoldCallPartyConnectionArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
822 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
823 HoldCallPartyConnectionArg_sequence, hf_index, ett_inap_HoldCallPartyConnectionArg);
828 static const ber_sequence_t ReconnectArg_sequence[] = {
829 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callID_impl },
830 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_heldLegID_impl },
835 dissect_inap_ReconnectArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
836 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
837 ReconnectArg_sequence, hf_index, ett_inap_ReconnectArg);
844 dissect_inap_Cause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
845 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
850 static int dissect_releaseCause_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
851 return dissect_inap_Cause(TRUE, tvb, offset, pinfo, tree, hf_inap_releaseCause);
853 static int dissect_releaseCauseValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
854 return dissect_inap_Cause(TRUE, tvb, offset, pinfo, tree, hf_inap_releaseCauseValue);
856 static int dissect_initialCallSegment(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
857 return dissect_inap_Cause(FALSE, tvb, offset, pinfo, tree, hf_inap_initialCallSegment);
860 static const ber_sequence_t ReleaseCallPartyConnectionArg_sequence[] = {
861 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legToBeReleased_impl },
862 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callID_impl },
863 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
868 dissect_inap_ReleaseCallPartyConnectionArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
869 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
870 ReleaseCallPartyConnectionArg_sequence, hf_index, ett_inap_ReleaseCallPartyConnectionArg);
878 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_) {
879 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
884 static int dissect_integer_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
885 return dissect_inap_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_inap_integer);
887 static int dissect_elementaryMessageID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
888 return dissect_inap_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_inap_elementaryMessageID);
890 static int dissect_toneID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
891 return dissect_inap_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_inap_toneID);
893 static int dissect_tduration_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
894 return dissect_inap_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_inap_tduration);
896 static int dissect_elementaryMessageIDs_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
897 return dissect_inap_INTEGER_0_2147483647(FALSE, tvb, offset, pinfo, tree, hf_inap_elementaryMessageIDs_item);
899 static int dissect_serviceKey_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
900 return dissect_inap_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_inap_serviceKey);
902 static int dissect_numberOfCalls_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
903 return dissect_inap_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_inap_numberOfCalls);
905 static int dissect_callConnectedElapsedTimeValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
906 return dissect_inap_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_inap_callConnectedElapsedTimeValue);
908 static int dissect_connectTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
909 return dissect_inap_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_inap_connectTime);
911 static int dissect_timervalue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
912 return dissect_inap_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_inap_timervalue);
914 static int dissect_counterValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
915 return dissect_inap_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_inap_counterValue);
919 static const value_string inap_VariableParts_item_vals[] = {
928 static const ber_choice_t VariableParts_item_choice[] = {
929 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_integer_impl },
930 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_number_impl },
931 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_time_impl },
932 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_date_impl },
933 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_price_impl },
938 dissect_inap_VariableParts_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
939 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
940 VariableParts_item_choice, hf_index, ett_inap_VariableParts_item, NULL);
944 static int dissect_VariableParts_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
945 return dissect_inap_VariableParts_item(FALSE, tvb, offset, pinfo, tree, hf_inap_VariableParts_item);
948 static const ber_sequence_t VariableParts_sequence_of[1] = {
949 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_VariableParts_item },
953 dissect_inap_VariableParts(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
954 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
955 VariableParts_sequence_of, hf_index, ett_inap_VariableParts);
959 static int dissect_variableParts_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
960 return dissect_inap_VariableParts(TRUE, tvb, offset, pinfo, tree, hf_inap_variableParts);
963 static const ber_sequence_t VariableMessage_sequence[] = {
964 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_elementaryMessageID_impl },
965 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_variableParts_impl },
970 dissect_inap_VariableMessage(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
971 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
972 VariableMessage_sequence, hf_index, ett_inap_VariableMessage);
976 static int dissect_variableMessage_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
977 return dissect_inap_VariableMessage(TRUE, tvb, offset, pinfo, tree, hf_inap_variableMessage);
981 static const value_string inap_TriggerType_vals[] = {
982 { 0, "featureActivation" },
983 { 1, "verticalServiceCode" },
984 { 2, "customizedAccess" },
985 { 3, "customizedIntercom" },
986 { 12, "emergencyService" },
988 { 14, "sharedIOTrunk" },
989 { 17, "offHookDelay" },
990 { 18, "channelSetupPRI" },
993 { 27, "oCalledPartyBusy" },
995 { 30, "originationAttemptAuthorized" },
997 { 32, "oDisconnect" },
998 { 33, "termAttemptAuthorized" },
1000 { 35, "tDisconnect" },
1006 dissect_inap_TriggerType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1007 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1011 static int dissect_triggerType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1012 return dissect_inap_TriggerType(TRUE, tvb, offset, pinfo, tree, hf_inap_triggerType);
1015 static const ber_sequence_t Tone_sequence[] = {
1016 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_toneID_impl },
1017 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tduration_impl },
1022 dissect_inap_Tone(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1023 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1024 Tone_sequence, hf_index, ett_inap_Tone);
1028 static int dissect_tone_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1029 return dissect_inap_Tone(TRUE, tvb, offset, pinfo, tree, hf_inap_tone);
1034 dissect_inap_IA5String(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1035 offset = dissect_ber_restricted_string(implicit_tag, 0,
1036 pinfo, tree, tvb, offset, hf_index,
1041 static int dissect_messageContent_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1042 return dissect_inap_IA5String(TRUE, tvb, offset, pinfo, tree, hf_inap_messageContent);
1044 static int dissect_displayInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1045 return dissect_inap_IA5String(TRUE, tvb, offset, pinfo, tree, hf_inap_displayInformation);
1047 static int dissect_iA5Response_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1048 return dissect_inap_IA5String(TRUE, tvb, offset, pinfo, tree, hf_inap_iA5Response);
1051 static const ber_sequence_t Text_sequence[] = {
1052 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_messageContent_impl },
1053 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_attributes_impl },
1058 dissect_inap_Text(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1059 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1060 Text_sequence, hf_index, ett_inap_Text);
1064 static int dissect_text_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1065 return dissect_inap_Text(TRUE, tvb, offset, pinfo, tree, hf_inap_text);
1068 static const ber_sequence_t T_elementaryMessageIDs_sequence_of[1] = {
1069 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_elementaryMessageIDs_item },
1073 dissect_inap_T_elementaryMessageIDs(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1074 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1075 T_elementaryMessageIDs_sequence_of, hf_index, ett_inap_T_elementaryMessageIDs);
1079 static int dissect_elementaryMessageIDs_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1080 return dissect_inap_T_elementaryMessageIDs(TRUE, tvb, offset, pinfo, tree, hf_inap_elementaryMessageIDs);
1084 static const value_string inap_MessageID_vals[] = {
1085 { 0, "elementaryMessageID" },
1087 { 29, "elementaryMessageIDs" },
1088 { 30, "variableMessage" },
1092 static const ber_choice_t MessageID_choice[] = {
1093 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_elementaryMessageID_impl },
1094 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_text_impl },
1095 { 29, BER_CLASS_CON, 29, BER_FLAGS_IMPLTAG, dissect_elementaryMessageIDs_impl },
1096 { 30, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_variableMessage_impl },
1097 { 0, 0, 0, 0, NULL }
1101 dissect_inap_MessageID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1102 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
1103 MessageID_choice, hf_index, ett_inap_MessageID, NULL);
1107 static int dissect_messageID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1108 return dissect_inap_MessageID(TRUE, tvb, offset, pinfo, tree, hf_inap_messageID);
1114 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_) {
1115 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1120 static int dissect_numberOfRepetitions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1121 return dissect_inap_INTEGER_1_127(TRUE, tvb, offset, pinfo, tree, hf_inap_numberOfRepetitions);
1123 static int dissect_minimumNbOfDigits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1124 return dissect_inap_INTEGER_1_127(TRUE, tvb, offset, pinfo, tree, hf_inap_minimumNbOfDigits);
1126 static int dissect_maximumNbOfDigits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1127 return dissect_inap_INTEGER_1_127(TRUE, tvb, offset, pinfo, tree, hf_inap_maximumNbOfDigits);
1129 static int dissect_firstDigitTimeOut_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1130 return dissect_inap_INTEGER_1_127(TRUE, tvb, offset, pinfo, tree, hf_inap_firstDigitTimeOut);
1132 static int dissect_interDigitTimeOut_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1133 return dissect_inap_INTEGER_1_127(TRUE, tvb, offset, pinfo, tree, hf_inap_interDigitTimeOut);
1139 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_) {
1140 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1145 static int dissect_mduration_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1146 return dissect_inap_INTEGER_0_32767(TRUE, tvb, offset, pinfo, tree, hf_inap_mduration);
1148 static int dissect_interval_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1149 return dissect_inap_INTEGER_0_32767(TRUE, tvb, offset, pinfo, tree, hf_inap_interval);
1152 static const ber_sequence_t T_inbandInfo_sequence[] = {
1153 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_messageID_impl },
1154 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numberOfRepetitions_impl },
1155 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mduration_impl },
1156 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_interval_impl },
1161 dissect_inap_T_inbandInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1162 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1163 T_inbandInfo_sequence, hf_index, ett_inap_T_inbandInfo);
1167 static int dissect_inbandInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1168 return dissect_inap_T_inbandInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_inbandInfo);
1172 static const value_string inap_InformationToSend_vals[] = {
1173 { 0, "inbandInfo" },
1175 { 2, "displayInformation" },
1179 static const ber_choice_t InformationToSend_choice[] = {
1180 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inbandInfo_impl },
1181 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_tone_impl },
1182 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_displayInformation_impl },
1183 { 0, 0, 0, 0, NULL }
1187 dissect_inap_InformationToSend(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1188 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
1189 InformationToSend_choice, hf_index, ett_inap_InformationToSend, NULL);
1193 static int dissect_informationToSend_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1194 return dissect_inap_InformationToSend(TRUE, tvb, offset, pinfo, tree, hf_inap_informationToSend);
1197 static const ber_sequence_t T_addressAndService_sequence[] = {
1198 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_calledAddressValue_impl },
1199 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
1200 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingAddressValue_impl },
1201 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationNumber_impl },
1206 dissect_inap_T_addressAndService(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1207 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1208 T_addressAndService_sequence, hf_index, ett_inap_T_addressAndService);
1212 static int dissect_addressAndService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1213 return dissect_inap_T_addressAndService(TRUE, tvb, offset, pinfo, tree, hf_inap_addressAndService);
1217 static const value_string inap_FilteringCriteria_vals[] = {
1218 { 0, "dialledNumber" },
1219 { 1, "callingLineID" },
1220 { 2, "serviceKey" },
1221 { 30, "addressAndService" },
1225 static const ber_choice_t FilteringCriteria_choice[] = {
1226 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dialledNumber_impl },
1227 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_callingLineID_impl },
1228 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
1229 { 30, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_addressAndService_impl },
1230 { 0, 0, 0, 0, NULL }
1234 dissect_inap_FilteringCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1235 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
1236 FilteringCriteria_choice, hf_index, ett_inap_FilteringCriteria, NULL);
1240 static int dissect_filteringCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1241 return dissect_inap_FilteringCriteria(TRUE, tvb, offset, pinfo, tree, hf_inap_filteringCriteria);
1247 dissect_inap_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1248 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1253 static int dissect_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1254 return dissect_inap_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_inap_type);
1256 static int dissect_maximumNumberOfCounters_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1257 return dissect_inap_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_inap_maximumNumberOfCounters);
1259 static int dissect_trunkGroupID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1260 return dissect_inap_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_inap_trunkGroupID);
1262 static int dissect_privateFacilityID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1263 return dissect_inap_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_inap_privateFacilityID);
1265 static int dissect_callingFacilityGroupMember_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1266 return dissect_inap_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_inap_callingFacilityGroupMember);
1268 static int dissect_facilityGroupMemberID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1269 return dissect_inap_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_inap_facilityGroupMemberID);
1271 static int dissect_calledFacilityGroupMember_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1272 return dissect_inap_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_inap_calledFacilityGroupMember);
1276 static const value_string inap_T_criticality_vals[] = {
1284 dissect_inap_T_criticality(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1285 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1289 static int dissect_criticality(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1290 return dissect_inap_T_criticality(FALSE, tvb, offset, pinfo, tree, hf_inap_criticality);
1293 static const ber_sequence_t Extensions_item_sequence[] = {
1294 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_type },
1295 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_criticality },
1296 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_value_impl },
1301 dissect_inap_Extensions_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1302 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1303 Extensions_item_sequence, hf_index, ett_inap_Extensions_item);
1307 static int dissect_Extensions_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1308 return dissect_inap_Extensions_item(FALSE, tvb, offset, pinfo, tree, hf_inap_Extensions_item);
1311 static const ber_sequence_t Extensions_sequence_of[1] = {
1312 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Extensions_item },
1316 dissect_inap_Extensions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1317 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1318 Extensions_sequence_of, hf_index, ett_inap_Extensions);
1322 static int dissect_extensions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1323 return dissect_inap_Extensions(TRUE, tvb, offset, pinfo, tree, hf_inap_extensions);
1326 static const ber_sequence_t T_filteredCallTreatment_sequence[] = {
1327 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sFBillingChargingCharacteristics_impl },
1328 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_informationToSend_impl },
1329 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_maximumNumberOfCounters_impl },
1330 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
1335 dissect_inap_T_filteredCallTreatment(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1336 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1337 T_filteredCallTreatment_sequence, hf_index, ett_inap_T_filteredCallTreatment);
1341 static int dissect_filteredCallTreatment_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1342 return dissect_inap_T_filteredCallTreatment(TRUE, tvb, offset, pinfo, tree, hf_inap_filteredCallTreatment);
1346 static const value_string inap_T_filteringCharacteristics_vals[] = {
1348 { 1, "numberOfCalls" },
1352 static const ber_choice_t T_filteringCharacteristics_choice[] = {
1353 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_interval_impl },
1354 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_numberOfCalls_impl },
1355 { 0, 0, 0, 0, NULL }
1359 dissect_inap_T_filteringCharacteristics(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1360 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
1361 T_filteringCharacteristics_choice, hf_index, ett_inap_T_filteringCharacteristics, NULL);
1365 static int dissect_filteringCharacteristics_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1366 return dissect_inap_T_filteringCharacteristics(TRUE, tvb, offset, pinfo, tree, hf_inap_filteringCharacteristics);
1372 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_) {
1373 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1378 static int dissect_aduration_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1379 return dissect_inap_INTEGER_M2_86400(TRUE, tvb, offset, pinfo, tree, hf_inap_aduration);
1381 static int dissect_cgduration_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1382 return dissect_inap_INTEGER_M2_86400(TRUE, tvb, offset, pinfo, tree, hf_inap_cgduration);
1384 static int dissect_monitorDuration_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1385 return dissect_inap_INTEGER_M2_86400(TRUE, tvb, offset, pinfo, tree, hf_inap_monitorDuration);
1390 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_) {
1391 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1396 static int dissect_stopTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1397 return dissect_inap_OCTET_STRING_SIZE_6(TRUE, tvb, offset, pinfo, tree, hf_inap_stopTime);
1399 static int dissect_startTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1400 return dissect_inap_OCTET_STRING_SIZE_6(TRUE, tvb, offset, pinfo, tree, hf_inap_startTime);
1402 static int dissect_callStopTimeValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1403 return dissect_inap_OCTET_STRING_SIZE_6(TRUE, tvb, offset, pinfo, tree, hf_inap_callStopTimeValue);
1407 static const value_string inap_T_filteringTimeOut_vals[] = {
1413 static const ber_choice_t T_filteringTimeOut_choice[] = {
1414 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_aduration_impl },
1415 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_stopTime_impl },
1416 { 0, 0, 0, 0, NULL }
1420 dissect_inap_T_filteringTimeOut(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1421 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
1422 T_filteringTimeOut_choice, hf_index, ett_inap_T_filteringTimeOut, NULL);
1426 static int dissect_filteringTimeOut_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1427 return dissect_inap_T_filteringTimeOut(TRUE, tvb, offset, pinfo, tree, hf_inap_filteringTimeOut);
1430 static const ber_sequence_t ActivateServiceFilteringarg_sequence[] = {
1431 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_filteredCallTreatment_impl },
1432 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_filteringCharacteristics_impl },
1433 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_filteringTimeOut_impl },
1434 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_filteringCriteria_impl },
1435 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_startTime_impl },
1436 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
1441 dissect_inap_ActivateServiceFilteringarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1442 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1443 ActivateServiceFilteringarg_sequence, hf_index, ett_inap_ActivateServiceFilteringarg);
1449 static const value_string inap_T_messageType_vals[] = {
1451 { 1, "notification" },
1457 dissect_inap_T_messageType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1458 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1462 static int dissect_messageType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1463 return dissect_inap_T_messageType(TRUE, tvb, offset, pinfo, tree, hf_inap_messageType);
1467 static const value_string inap_T_dpAssignment_vals[] = {
1468 { 0, "individualLine" },
1469 { 1, "groupBased" },
1470 { 2, "officeBased" },
1476 dissect_inap_T_dpAssignment(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1477 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1481 static int dissect_dpAssignment_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1482 return dissect_inap_T_dpAssignment(TRUE, tvb, offset, pinfo, tree, hf_inap_dpAssignment);
1485 static const ber_sequence_t MiscCallInfo_sequence[] = {
1486 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_messageType_impl },
1487 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dpAssignment_impl },
1492 dissect_inap_MiscCallInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1493 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1494 MiscCallInfo_sequence, hf_index, ett_inap_MiscCallInfo);
1498 static int dissect_miscCallInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1499 return dissect_inap_MiscCallInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_miscCallInfo);
1502 static const ber_sequence_t ServiceAddressInformation_sequence[] = {
1503 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
1504 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_miscCallInfo_impl },
1505 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_triggerType_impl },
1510 dissect_inap_ServiceAddressInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1511 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1512 ServiceAddressInformation_sequence, hf_index, ett_inap_ServiceAddressInformation);
1516 static int dissect_serviceAddressInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1517 return dissect_inap_ServiceAddressInformation(TRUE, tvb, offset, pinfo, tree, hf_inap_serviceAddressInformation);
1521 static const value_string inap_TerminalType_vals[] = {
1526 { 4, "isdnNoDtmf" },
1533 dissect_inap_TerminalType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1534 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1538 static int dissect_terminalType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1539 return dissect_inap_TerminalType(TRUE, tvb, offset, pinfo, tree, hf_inap_terminalType);
1542 static const ber_sequence_t RouteList_sequence_of[1] = {
1543 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_RouteList_item },
1547 dissect_inap_RouteList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1548 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1549 RouteList_sequence_of, hf_index, ett_inap_RouteList);
1553 static int dissect_routeList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1554 return dissect_inap_RouteList(TRUE, tvb, offset, pinfo, tree, hf_inap_routeList);
1558 static const value_string inap_CGEncountered_vals[] = {
1559 { 0, "noCGencountered" },
1560 { 1, "manualCGencountered" },
1561 { 2, "scpOverload" },
1567 dissect_inap_CGEncountered(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1568 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1572 static int dissect_cGEncountered_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1573 return dissect_inap_CGEncountered(TRUE, tvb, offset, pinfo, tree, hf_inap_cGEncountered);
1577 static const value_string inap_BearerCapability_vals[] = {
1583 static const ber_choice_t BearerCapability_choice[] = {
1584 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_bearerCap_impl },
1585 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_tmr_impl },
1586 { 0, 0, 0, 0, NULL }
1590 dissect_inap_BearerCapability(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1591 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
1592 BearerCapability_choice, hf_index, ett_inap_BearerCapability, NULL);
1596 static int dissect_bearerCapability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1597 return dissect_inap_BearerCapability(TRUE, tvb, offset, pinfo, tree, hf_inap_bearerCapability);
1600 static const ber_sequence_t DpSpecificCommonParameters_sequence[] = {
1601 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_serviceAddressInformation_impl },
1602 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_bearerCapability_impl },
1603 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyNumber_impl },
1604 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyNumber_impl },
1605 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartysCategory_impl },
1606 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iPSSPCapabilities_impl },
1607 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iPAvailable_impl },
1608 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iSDNAccessRelatedInformation_impl },
1609 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cGEncountered_impl },
1610 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationNumber_impl },
1611 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceProfileIdentifier_impl },
1612 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_terminalType_impl },
1613 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
1614 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargeNumber_impl },
1615 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_servingAreaID_impl },
1620 dissect_inap_DpSpecificCommonParameters(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1621 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1622 DpSpecificCommonParameters_sequence, hf_index, ett_inap_DpSpecificCommonParameters);
1626 static int dissect_dpSpecificCommonParameters_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1627 return dissect_inap_DpSpecificCommonParameters(TRUE, tvb, offset, pinfo, tree, hf_inap_dpSpecificCommonParameters);
1631 static const value_string inap_CallingFacilityGroup_vals[] = {
1632 { 0, "trunkGroupID" },
1633 { 1, "privateFacilityID" },
1635 { 3, "routeIndex" },
1639 static const ber_choice_t CallingFacilityGroup_choice[] = {
1640 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_trunkGroupID_impl },
1641 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_privateFacilityID_impl },
1642 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_huntGroup_impl },
1643 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_routeIndex_impl },
1644 { 0, 0, 0, 0, NULL }
1648 dissect_inap_CallingFacilityGroup(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1649 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
1650 CallingFacilityGroup_choice, hf_index, ett_inap_CallingFacilityGroup, NULL);
1654 static int dissect_callingFacilityGroup_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1655 return dissect_inap_CallingFacilityGroup(TRUE, tvb, offset, pinfo, tree, hf_inap_callingFacilityGroup);
1660 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_) {
1661 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1666 static int dissect_redirectionInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1667 return dissect_inap_OCTET_STRING_SIZE_2(TRUE, tvb, offset, pinfo, tree, hf_inap_redirectionInformation);
1669 static int dissect_highLayerCompatibility_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1670 return dissect_inap_OCTET_STRING_SIZE_2(TRUE, tvb, offset, pinfo, tree, hf_inap_highLayerCompatibility);
1672 static int dissect_forwardCallIndicators_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1673 return dissect_inap_OCTET_STRING_SIZE_2(TRUE, tvb, offset, pinfo, tree, hf_inap_forwardCallIndicators);
1676 static const ber_sequence_t AnalysedInformationarg_sequence[] = {
1677 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
1678 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dialledDigits_impl },
1679 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
1680 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
1681 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
1682 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
1683 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
1684 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_prefix_impl },
1685 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
1686 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
1687 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
1688 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
1689 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
1690 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_featureCode_impl },
1691 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_accessCode_impl },
1692 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
1697 dissect_inap_AnalysedInformationarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1698 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1699 AnalysedInformationarg_sequence, hf_index, ett_inap_AnalysedInformationarg);
1706 dissect_inap_DestinationAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1707 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1712 static int dissect_destinationRoutingAddress_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1713 return dissect_inap_DestinationAddress(FALSE, tvb, offset, pinfo, tree, hf_inap_destinationRoutingAddress_item);
1716 static const ber_sequence_t SEQUENCE_SIZE_1_3_OF_DestinationAddress_sequence_of[1] = {
1717 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_destinationRoutingAddress_item },
1721 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_) {
1722 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1723 SEQUENCE_SIZE_1_3_OF_DestinationAddress_sequence_of, hf_index, ett_inap_SEQUENCE_SIZE_1_3_OF_DestinationAddress);
1727 static int dissect_destinationRoutingAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1728 return dissect_inap_SEQUENCE_SIZE_1_3_OF_DestinationAddress(TRUE, tvb, offset, pinfo, tree, hf_inap_destinationRoutingAddress);
1733 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_) {
1734 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1739 static int dissect_alertingPattern_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1740 return dissect_inap_OCTET_STRING_SIZE_3(TRUE, tvb, offset, pinfo, tree, hf_inap_alertingPattern);
1743 static const ber_sequence_t AnalyseInformationarg_sequence[] = {
1744 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_destinationRoutingAddress_impl },
1745 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
1746 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iSDNAccessRelatedInformation_impl },
1747 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
1748 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
1749 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyNumber_impl },
1750 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartysCategory_impl },
1751 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyNumber_impl },
1752 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargeNumber_impl },
1753 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
1754 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
1759 dissect_inap_AnalyseInformationarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1760 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1761 AnalyseInformationarg_sequence, hf_index, ett_inap_AnalyseInformationarg);
1767 static const value_string inap_PartyToCharge_vals[] = {
1768 { 0, "sendingSideID" },
1769 { 1, "receivingSideID" },
1773 static const ber_choice_t PartyToCharge_choice[] = {
1774 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sendingSideID_impl },
1775 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_receivingSideID_impl },
1776 { 0, 0, 0, 0, NULL }
1780 dissect_inap_PartyToCharge(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1781 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
1782 PartyToCharge_choice, hf_index, ett_inap_PartyToCharge, NULL);
1786 static int dissect_partyToCharge_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1787 return dissect_inap_PartyToCharge(TRUE, tvb, offset, pinfo, tree, hf_inap_partyToCharge);
1790 static const ber_sequence_t ApplyChargingarg_sequence[] = {
1791 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_aChBillingChargingCharacteristics_impl },
1792 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_partyToCharge_impl },
1793 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
1798 dissect_inap_ApplyChargingarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1799 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1800 ApplyChargingarg_sequence, hf_index, ett_inap_ApplyChargingarg);
1807 dissect_inap_ApplyChargingReportarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1808 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1814 static const ber_sequence_t AssistRequestInstructionsarg_sequence[] = {
1815 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
1816 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iPAvailable_impl },
1817 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iPSSPCapabilities_impl },
1818 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
1823 dissect_inap_AssistRequestInstructionsarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1824 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1825 AssistRequestInstructionsarg_sequence, hf_index, ett_inap_AssistRequestInstructionsarg);
1831 static const value_string inap_T_dpCriteria_vals[] = {
1832 { 1, "origAttemptAuthorized" },
1833 { 2, "collectedInfo" },
1834 { 3, "analysedInformation" },
1835 { 4, "routeSelectFailure" },
1836 { 5, "oCalledPartyBusy" },
1840 { 9, "oDisconnect" },
1842 { 12, "termAttemptAuthorized" },
1844 { 14, "tNoAnswer" },
1847 { 17, "tDisconnect" },
1854 dissect_inap_T_dpCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1855 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1859 static int dissect_dpCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1860 return dissect_inap_T_dpCriteria(TRUE, tvb, offset, pinfo, tree, hf_inap_dpCriteria);
1863 static const ber_sequence_t T_gapOnService_sequence[] = {
1864 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
1865 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dpCriteria_impl },
1870 dissect_inap_T_gapOnService(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1871 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1872 T_gapOnService_sequence, hf_index, ett_inap_T_gapOnService);
1876 static int dissect_gapOnService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1877 return dissect_inap_T_gapOnService(TRUE, tvb, offset, pinfo, tree, hf_inap_gapOnService);
1880 static const ber_sequence_t T_calledAddressAndService_sequence[] = {
1881 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_calledAddressValue_impl },
1882 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
1887 dissect_inap_T_calledAddressAndService(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1888 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1889 T_calledAddressAndService_sequence, hf_index, ett_inap_T_calledAddressAndService);
1893 static int dissect_calledAddressAndService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1894 return dissect_inap_T_calledAddressAndService(TRUE, tvb, offset, pinfo, tree, hf_inap_calledAddressAndService);
1897 static const ber_sequence_t T_callingAddressAndService_sequence[] = {
1898 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_callingAddressValue_impl },
1899 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
1900 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationNumber_impl },
1905 dissect_inap_T_callingAddressAndService(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1906 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1907 T_callingAddressAndService_sequence, hf_index, ett_inap_T_callingAddressAndService);
1911 static int dissect_callingAddressAndService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1912 return dissect_inap_T_callingAddressAndService(TRUE, tvb, offset, pinfo, tree, hf_inap_callingAddressAndService);
1916 static const value_string inap_T_gapCriteria_vals[] = {
1917 { 0, "calledAddressValue" },
1918 { 2, "gapOnService" },
1919 { 29, "calledAddressAndService" },
1920 { 30, "callingAddressAndService" },
1924 static const ber_choice_t T_gapCriteria_choice[] = {
1925 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_calledAddressValue_impl },
1926 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gapOnService_impl },
1927 { 29, BER_CLASS_CON, 29, BER_FLAGS_IMPLTAG, dissect_calledAddressAndService_impl },
1928 { 30, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_callingAddressAndService_impl },
1929 { 0, 0, 0, 0, NULL }
1933 dissect_inap_T_gapCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1934 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
1935 T_gapCriteria_choice, hf_index, ett_inap_T_gapCriteria, NULL);
1939 static int dissect_gapCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1940 return dissect_inap_T_gapCriteria(TRUE, tvb, offset, pinfo, tree, hf_inap_gapCriteria);
1946 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_) {
1947 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1952 static int dissect_gapInterval_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1953 return dissect_inap_INTEGER_M1_60000(TRUE, tvb, offset, pinfo, tree, hf_inap_gapInterval);
1956 static const ber_sequence_t T_gapIndicators_sequence[] = {
1957 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cgduration_impl },
1958 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gapInterval_impl },
1963 dissect_inap_T_gapIndicators(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1964 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1965 T_gapIndicators_sequence, hf_index, ett_inap_T_gapIndicators);
1969 static int dissect_gapIndicators_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1970 return dissect_inap_T_gapIndicators(TRUE, tvb, offset, pinfo, tree, hf_inap_gapIndicators);
1974 static const value_string inap_T_controlType_vals[] = {
1975 { 0, "sCPOverloaded" },
1976 { 1, "manuallyInitiated" },
1977 { 2, "destinationOverload" },
1983 dissect_inap_T_controlType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1984 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1988 static int dissect_controlType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1989 return dissect_inap_T_controlType(TRUE, tvb, offset, pinfo, tree, hf_inap_controlType);
1992 static const ber_sequence_t Both_sequence[] = {
1993 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_informationToSend_impl },
1994 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
1999 dissect_inap_Both(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2000 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2001 Both_sequence, hf_index, ett_inap_Both);
2005 static int dissect_both_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2006 return dissect_inap_Both(TRUE, tvb, offset, pinfo, tree, hf_inap_both);
2010 static const value_string inap_T_gapTreatment_vals[] = {
2011 { 0, "informationToSend" },
2012 { 1, "releaseCause" },
2017 static const ber_choice_t T_gapTreatment_choice[] = {
2018 { 0, BER_CLASS_CON, 0, 0, dissect_informationToSend_impl },
2019 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
2020 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_both_impl },
2021 { 0, 0, 0, 0, NULL }
2025 dissect_inap_T_gapTreatment(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2026 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
2027 T_gapTreatment_choice, hf_index, ett_inap_T_gapTreatment, NULL);
2031 static int dissect_gapTreatment_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2032 return dissect_inap_T_gapTreatment(TRUE, tvb, offset, pinfo, tree, hf_inap_gapTreatment);
2035 static const ber_sequence_t CallGaparg_sequence[] = {
2036 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gapCriteria_impl },
2037 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gapIndicators_impl },
2038 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_controlType_impl },
2039 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gapTreatment_impl },
2040 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2045 dissect_inap_CallGaparg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2046 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2047 CallGaparg_sequence, hf_index, ett_inap_CallGaparg);
2053 static const value_string inap_T_requestedInformationType_vals[] = {
2054 { 0, "callAttemptElapsedTime" },
2055 { 1, "callStopTime" },
2056 { 2, "callConnectedElapsedTime" },
2057 { 3, "calledAddress" },
2058 { 30, "releaseCause" },
2064 dissect_inap_T_requestedInformationType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2065 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2069 static int dissect_requestedInformationType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2070 return dissect_inap_T_requestedInformationType(TRUE, tvb, offset, pinfo, tree, hf_inap_requestedInformationType);
2076 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_) {
2077 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2082 static int dissect_callAttemptElapsedTimeValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2083 return dissect_inap_INTEGER_0_255(TRUE, tvb, offset, pinfo, tree, hf_inap_callAttemptElapsedTimeValue);
2087 static const value_string inap_T_requestedInformationValue_vals[] = {
2088 { 0, "callAttemptElapsedTimeValue" },
2089 { 1, "callStopTimeValue" },
2090 { 2, "callConnectedElapsedTimeValue" },
2091 { 3, "calledAddressValue" },
2092 { 30, "releaseCauseValue" },
2096 static const ber_choice_t T_requestedInformationValue_choice[] = {
2097 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_callAttemptElapsedTimeValue_impl },
2098 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_callStopTimeValue_impl },
2099 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_callConnectedElapsedTimeValue_impl },
2100 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_calledAddressValue_impl },
2101 { 30, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_releaseCauseValue_impl },
2102 { 0, 0, 0, 0, NULL }
2106 dissect_inap_T_requestedInformationValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2107 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
2108 T_requestedInformationValue_choice, hf_index, ett_inap_T_requestedInformationValue, NULL);
2112 static int dissect_requestedInformationValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2113 return dissect_inap_T_requestedInformationValue(TRUE, tvb, offset, pinfo, tree, hf_inap_requestedInformationValue);
2116 static const ber_sequence_t T_requestedInformationList_item_sequence[] = {
2117 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_requestedInformationType_impl },
2118 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_requestedInformationValue_impl },
2123 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_) {
2124 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2125 T_requestedInformationList_item_sequence, hf_index, ett_inap_T_requestedInformationList_item);
2129 static int dissect_requestedInformationList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2130 return dissect_inap_T_requestedInformationList_item(FALSE, tvb, offset, pinfo, tree, hf_inap_requestedInformationList_item);
2133 static const ber_sequence_t T_requestedInformationList_sequence_of[1] = {
2134 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_requestedInformationList_item },
2138 dissect_inap_T_requestedInformationList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2139 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2140 T_requestedInformationList_sequence_of, hf_index, ett_inap_T_requestedInformationList);
2144 static int dissect_requestedInformationList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2145 return dissect_inap_T_requestedInformationList(TRUE, tvb, offset, pinfo, tree, hf_inap_requestedInformationList);
2148 static const ber_sequence_t CallInformationReportarg_sequence[] = {
2149 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_requestedInformationList_impl },
2150 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
2151 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2156 dissect_inap_CallInformationReportarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2157 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2158 CallInformationReportarg_sequence, hf_index, ett_inap_CallInformationReportarg);
2164 static const value_string inap_T_requestedInformationTypeList_item_vals[] = {
2165 { 0, "callAttemptElapsedTime" },
2166 { 1, "callStopTime" },
2167 { 2, "callConnectedElapsedTime" },
2168 { 3, "calledAddress" },
2169 { 30, "releaseCause" },
2175 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_) {
2176 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2180 static int dissect_requestedInformationTypeList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2181 return dissect_inap_T_requestedInformationTypeList_item(FALSE, tvb, offset, pinfo, tree, hf_inap_requestedInformationTypeList_item);
2184 static const ber_sequence_t T_requestedInformationTypeList_sequence_of[1] = {
2185 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_requestedInformationTypeList_item },
2189 dissect_inap_T_requestedInformationTypeList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2190 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2191 T_requestedInformationTypeList_sequence_of, hf_index, ett_inap_T_requestedInformationTypeList);
2195 static int dissect_requestedInformationTypeList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2196 return dissect_inap_T_requestedInformationTypeList(TRUE, tvb, offset, pinfo, tree, hf_inap_requestedInformationTypeList);
2199 static const ber_sequence_t CallInformationRequestarg_sequence[] = {
2200 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_requestedInformationTypeList_impl },
2201 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
2202 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2203 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
2208 dissect_inap_CallInformationRequestarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2209 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2210 CallInformationRequestarg_sequence, hf_index, ett_inap_CallInformationRequestarg);
2218 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_) {
2219 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2224 static int dissect_invokeID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2225 return dissect_inap_INTEGER_M128_127(TRUE, tvb, offset, pinfo, tree, hf_inap_invokeID);
2227 static int dissect_operation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2228 return dissect_inap_INTEGER_M128_127(TRUE, tvb, offset, pinfo, tree, hf_inap_operation);
2234 dissect_inap_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2235 offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
2239 static int dissect_allRequests_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2240 return dissect_inap_NULL(TRUE, tvb, offset, pinfo, tree, hf_inap_allRequests);
2242 static int dissect_none_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2243 return dissect_inap_NULL(TRUE, tvb, offset, pinfo, tree, hf_inap_none);
2245 static int dissect_empty_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2246 return dissect_inap_NULL(TRUE, tvb, offset, pinfo, tree, hf_inap_empty);
2248 static int dissect_null(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2249 return dissect_inap_NULL(FALSE, tvb, offset, pinfo, tree, hf_inap_null);
2253 static const value_string inap_Cancelarg_vals[] = {
2255 { 1, "allRequests" },
2259 static const ber_choice_t Cancelarg_choice[] = {
2260 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_invokeID_impl },
2261 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_allRequests_impl },
2262 { 0, 0, 0, 0, NULL }
2266 dissect_inap_Cancelarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2267 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
2268 Cancelarg_choice, hf_index, ett_inap_Cancelarg, NULL);
2274 static const value_string inap_FacilityGroupID_vals[] = {
2275 { 0, "trunkGroupID" },
2276 { 1, "privateFacilityID" },
2278 { 3, "routeIndex" },
2282 static const ber_choice_t FacilityGroupID_choice[] = {
2283 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_trunkGroupID_impl },
2284 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_privateFacilityID_impl },
2285 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_huntGroup_impl },
2286 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_routeIndex_impl },
2287 { 0, 0, 0, 0, NULL }
2291 dissect_inap_FacilityGroupID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2292 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
2293 FacilityGroupID_choice, hf_index, ett_inap_FacilityGroupID, NULL);
2297 static int dissect_facilityGroupID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2298 return dissect_inap_FacilityGroupID(TRUE, tvb, offset, pinfo, tree, hf_inap_facilityGroupID);
2302 static const value_string inap_ResourceID_vals[] = {
2304 { 1, "facilityGroupID" },
2305 { 2, "facilityGroupMemberID" },
2306 { 3, "trunkGroupID" },
2310 static const ber_choice_t ResourceID_choice[] = {
2311 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_lineID_impl },
2312 { 1, BER_CLASS_CON, 1, 0, dissect_facilityGroupID_impl },
2313 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_facilityGroupMemberID_impl },
2314 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_trunkGroupID_impl },
2315 { 0, 0, 0, 0, NULL }
2319 dissect_inap_ResourceID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2320 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
2321 ResourceID_choice, hf_index, ett_inap_ResourceID, NULL);
2325 static int dissect_resourceID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2326 return dissect_inap_ResourceID(TRUE, tvb, offset, pinfo, tree, hf_inap_resourceID);
2329 static const ber_sequence_t CancelStatusReportRequestarg_sequence[] = {
2330 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_resourceID_impl },
2331 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2336 dissect_inap_CancelStatusReportRequestarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2337 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2338 CancelStatusReportRequestarg_sequence, hf_index, ett_inap_CancelStatusReportRequestarg);
2343 static const ber_sequence_t CollectedInformationarg_sequence[] = {
2344 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
2345 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dialledDigits_impl },
2346 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
2347 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
2348 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
2349 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
2350 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
2351 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_prefix_impl },
2352 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
2353 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
2354 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
2355 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2356 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_featureCode_impl },
2357 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_accessCode_impl },
2358 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
2363 dissect_inap_CollectedInformationarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2364 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2365 CollectedInformationarg_sequence, hf_index, ett_inap_CollectedInformationarg);
2370 static const ber_sequence_t CollectInformationarg_sequence[] = {
2371 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
2372 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numberingPlan_impl },
2373 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
2374 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
2375 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2376 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyNumber_impl },
2377 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dialledDigits_impl },
2382 dissect_inap_CollectInformationarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2383 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2384 CollectInformationarg_sequence, hf_index, ett_inap_CollectInformationarg);
2392 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_) {
2393 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2398 static int dissect_cutAndPaste_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2399 return dissect_inap_INTEGER_0_22(TRUE, tvb, offset, pinfo, tree, hf_inap_cutAndPaste);
2403 static const value_string inap_T_forwardingCondition_vals[] = {
2411 dissect_inap_T_forwardingCondition(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2412 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2416 static int dissect_forwardingCondition_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2417 return dissect_inap_T_forwardingCondition(TRUE, tvb, offset, pinfo, tree, hf_inap_forwardingCondition);
2420 static const ber_sequence_t Connectarg_sequence[] = {
2421 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_destinationRoutingAddress_impl },
2422 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
2423 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
2424 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cutAndPaste_impl },
2425 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingCondition_impl },
2426 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iSDNAccessRelatedInformation_impl },
2427 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
2428 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
2429 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_scfID_impl },
2430 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
2431 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2432 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
2433 { BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceInteractionIndicators_impl },
2434 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyNumber_impl },
2435 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartysCategory_impl },
2436 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
2437 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
2442 dissect_inap_Connectarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2443 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2444 Connectarg_sequence, hf_index, ett_inap_Connectarg);
2450 static const value_string inap_T_resourceAddress_vals[] = {
2451 { 0, "ipRoutingAddress" },
2458 static const ber_choice_t T_resourceAddress_choice[] = {
2459 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ipRoutingAddress_impl },
2460 { 1, BER_CLASS_CON, 1, 0, dissect_legID_impl },
2461 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_both_impl },
2462 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_none_impl },
2463 { 0, 0, 0, 0, NULL }
2467 dissect_inap_T_resourceAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2468 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
2469 T_resourceAddress_choice, hf_index, ett_inap_T_resourceAddress, NULL);
2473 static int dissect_resourceAddress(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2474 return dissect_inap_T_resourceAddress(FALSE, tvb, offset, pinfo, tree, hf_inap_resourceAddress);
2477 static const ber_sequence_t ConnectToResource_sequence[] = {
2478 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_resourceAddress },
2479 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2480 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceInteractionIndicators_impl },
2485 dissect_inap_ConnectToResource(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2486 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2487 ConnectToResource_sequence, hf_index, ett_inap_ConnectToResource);
2492 static const ber_sequence_t EstablishTemporaryConnection_sequence[] = {
2493 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_assistingSSPIPRoutingAddress_impl },
2494 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
2495 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
2496 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_scfID_impl },
2497 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2498 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
2499 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceInteractionIndicators_impl },
2504 dissect_inap_EstablishTemporaryConnection(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 EstablishTemporaryConnection_sequence, hf_index, ett_inap_EstablishTemporaryConnection);
2512 static const value_string inap_MonitorMode_vals[] = {
2513 { 0, "interrupted" },
2514 { 1, "notifyAndContinue" },
2515 { 2, "transparent" },
2521 dissect_inap_MonitorMode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2522 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2526 static int dissect_monitorMode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2527 return dissect_inap_MonitorMode(TRUE, tvb, offset, pinfo, tree, hf_inap_monitorMode);
2530 static const ber_sequence_t EventNotificationChargingarg_sequence[] = {
2531 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_eventTypeCharging_impl },
2532 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_eventSpecificInformationCharging_impl },
2533 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
2534 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2535 { BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_monitorMode_impl },
2540 dissect_inap_EventNotificationChargingarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2541 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2542 EventNotificationChargingarg_sequence, hf_index, ett_inap_EventNotificationChargingarg);
2548 static const value_string inap_EventTypeBCSM_vals[] = {
2549 { 1, "origAttemptAuthorized" },
2550 { 2, "collectedInfo" },
2551 { 3, "analysedInformation" },
2552 { 4, "routeSelectFailure" },
2553 { 5, "oCalledPartyBusy" },
2557 { 9, "oDisconnect" },
2559 { 12, "termAttemptAuthorized" },
2561 { 14, "tNoAnswer" },
2564 { 17, "tDisconnect" },
2571 dissect_inap_EventTypeBCSM(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2572 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2576 static int dissect_eventTypeBCSM_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2577 return dissect_inap_EventTypeBCSM(TRUE, tvb, offset, pinfo, tree, hf_inap_eventTypeBCSM);
2580 static const ber_sequence_t T_collectedInfoSpecificInfo_sequence[] = {
2581 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_calledPartynumber_impl },
2586 dissect_inap_T_collectedInfoSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2587 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2588 T_collectedInfoSpecificInfo_sequence, hf_index, ett_inap_T_collectedInfoSpecificInfo);
2592 static int dissect_collectedInfoSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2593 return dissect_inap_T_collectedInfoSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_collectedInfoSpecificInfo);
2596 static const ber_sequence_t T_analyzedInfoSpecificInfo_sequence[] = {
2597 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_calledPartynumber_impl },
2602 dissect_inap_T_analyzedInfoSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2603 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2604 T_analyzedInfoSpecificInfo_sequence, hf_index, ett_inap_T_analyzedInfoSpecificInfo);
2608 static int dissect_analyzedInfoSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2609 return dissect_inap_T_analyzedInfoSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_analyzedInfoSpecificInfo);
2614 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_) {
2615 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2620 static int dissect_failureCause_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2621 return dissect_inap_OCTET_STRING_SIZE_2_10(TRUE, tvb, offset, pinfo, tree, hf_inap_failureCause);
2623 static int dissect_busyCause_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2624 return dissect_inap_OCTET_STRING_SIZE_2_10(TRUE, tvb, offset, pinfo, tree, hf_inap_busyCause);
2627 static const ber_sequence_t T_routeSelectFailureSpecificInfo_sequence[] = {
2628 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_failureCause_impl },
2633 dissect_inap_T_routeSelectFailureSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2634 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2635 T_routeSelectFailureSpecificInfo_sequence, hf_index, ett_inap_T_routeSelectFailureSpecificInfo);
2639 static int dissect_routeSelectFailureSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2640 return dissect_inap_T_routeSelectFailureSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_routeSelectFailureSpecificInfo);
2643 static const ber_sequence_t T_oCalledPartyBusySpecificInfo_sequence[] = {
2644 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_busyCause_impl },
2649 dissect_inap_T_oCalledPartyBusySpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2650 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2651 T_oCalledPartyBusySpecificInfo_sequence, hf_index, ett_inap_T_oCalledPartyBusySpecificInfo);
2655 static int dissect_oCalledPartyBusySpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2656 return dissect_inap_T_oCalledPartyBusySpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_oCalledPartyBusySpecificInfo);
2659 static const ber_sequence_t T_oNoAnswerSpecificInfo_sequence[] = {
2664 dissect_inap_T_oNoAnswerSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2665 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2666 T_oNoAnswerSpecificInfo_sequence, hf_index, ett_inap_T_oNoAnswerSpecificInfo);
2670 static int dissect_oNoAnswerSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2671 return dissect_inap_T_oNoAnswerSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_oNoAnswerSpecificInfo);
2674 static const ber_sequence_t T_oAnswerSpecificInfo_sequence[] = {
2679 dissect_inap_T_oAnswerSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2680 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2681 T_oAnswerSpecificInfo_sequence, hf_index, ett_inap_T_oAnswerSpecificInfo);
2685 static int dissect_oAnswerSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2686 return dissect_inap_T_oAnswerSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_oAnswerSpecificInfo);
2689 static const ber_sequence_t T_oMidCallSpecificInfo_sequence[] = {
2690 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_connectTime_impl },
2695 dissect_inap_T_oMidCallSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2696 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2697 T_oMidCallSpecificInfo_sequence, hf_index, ett_inap_T_oMidCallSpecificInfo);
2701 static int dissect_oMidCallSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2702 return dissect_inap_T_oMidCallSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_oMidCallSpecificInfo);
2705 static const ber_sequence_t T_oDisconnectSpecificInfo_sequence[] = {
2706 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
2707 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_connectTime_impl },
2712 dissect_inap_T_oDisconnectSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2713 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2714 T_oDisconnectSpecificInfo_sequence, hf_index, ett_inap_T_oDisconnectSpecificInfo);
2718 static int dissect_oDisconnectSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2719 return dissect_inap_T_oDisconnectSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_oDisconnectSpecificInfo);
2722 static const ber_sequence_t T_tBusySpecificInfo_sequence[] = {
2723 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_busyCause_impl },
2728 dissect_inap_T_tBusySpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2729 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2730 T_tBusySpecificInfo_sequence, hf_index, ett_inap_T_tBusySpecificInfo);
2734 static int dissect_tBusySpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2735 return dissect_inap_T_tBusySpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_tBusySpecificInfo);
2738 static const ber_sequence_t T_tNoAnswerSpecificInfo_sequence[] = {
2743 dissect_inap_T_tNoAnswerSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2744 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2745 T_tNoAnswerSpecificInfo_sequence, hf_index, ett_inap_T_tNoAnswerSpecificInfo);
2749 static int dissect_tNoAnswerSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2750 return dissect_inap_T_tNoAnswerSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_tNoAnswerSpecificInfo);
2753 static const ber_sequence_t T_tAnswerSpecificInfo_sequence[] = {
2758 dissect_inap_T_tAnswerSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2759 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2760 T_tAnswerSpecificInfo_sequence, hf_index, ett_inap_T_tAnswerSpecificInfo);
2764 static int dissect_tAnswerSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2765 return dissect_inap_T_tAnswerSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_tAnswerSpecificInfo);
2768 static const ber_sequence_t T_tMidCallSpecificInfo_sequence[] = {
2769 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_connectTime_impl },
2774 dissect_inap_T_tMidCallSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2775 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2776 T_tMidCallSpecificInfo_sequence, hf_index, ett_inap_T_tMidCallSpecificInfo);
2780 static int dissect_tMidCallSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2781 return dissect_inap_T_tMidCallSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_tMidCallSpecificInfo);
2784 static const ber_sequence_t T_tDisconnectSpecificInfo_sequence[] = {
2785 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
2786 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_connectTime_impl },
2791 dissect_inap_T_tDisconnectSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2792 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2793 T_tDisconnectSpecificInfo_sequence, hf_index, ett_inap_T_tDisconnectSpecificInfo);
2797 static int dissect_tDisconnectSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2798 return dissect_inap_T_tDisconnectSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_tDisconnectSpecificInfo);
2802 static const value_string inap_T_eventSpecificInformationBCSM_vals[] = {
2803 { 0, "collectedInfoSpecificInfo" },
2804 { 1, "analyzedInfoSpecificInfo" },
2805 { 2, "routeSelectFailureSpecificInfo" },
2806 { 3, "oCalledPartyBusySpecificInfo" },
2807 { 4, "oNoAnswerSpecificInfo" },
2808 { 5, "oAnswerSpecificInfo" },
2809 { 6, "oMidCallSpecificInfo" },
2810 { 7, "oDisconnectSpecificInfo" },
2811 { 8, "tBusySpecificInfo" },
2812 { 9, "tNoAnswerSpecificInfo" },
2813 { 10, "tAnswerSpecificInfo" },
2814 { 11, "tMidCallSpecificInfo" },
2815 { 12, "tDisconnectSpecificInfo" },
2819 static const ber_choice_t T_eventSpecificInformationBCSM_choice[] = {
2820 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_collectedInfoSpecificInfo_impl },
2821 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_analyzedInfoSpecificInfo_impl },
2822 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_routeSelectFailureSpecificInfo_impl },
2823 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_oCalledPartyBusySpecificInfo_impl },
2824 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_oNoAnswerSpecificInfo_impl },
2825 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_oAnswerSpecificInfo_impl },
2826 { 6, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_oMidCallSpecificInfo_impl },
2827 { 7, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_oDisconnectSpecificInfo_impl },
2828 { 8, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_tBusySpecificInfo_impl },
2829 { 9, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_tNoAnswerSpecificInfo_impl },
2830 { 10, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_tAnswerSpecificInfo_impl },
2831 { 11, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_tMidCallSpecificInfo_impl },
2832 { 12, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_tDisconnectSpecificInfo_impl },
2833 { 0, 0, 0, 0, NULL }
2837 dissect_inap_T_eventSpecificInformationBCSM(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2838 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
2839 T_eventSpecificInformationBCSM_choice, hf_index, ett_inap_T_eventSpecificInformationBCSM, NULL);
2843 static int dissect_eventSpecificInformationBCSM_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2844 return dissect_inap_T_eventSpecificInformationBCSM(TRUE, tvb, offset, pinfo, tree, hf_inap_eventSpecificInformationBCSM);
2847 static const ber_sequence_t EventReportBCSM_sequence[] = {
2848 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_eventTypeBCSM_impl },
2849 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bcsmEventCorrelationID_impl },
2850 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_eventSpecificInformationBCSM_impl },
2851 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
2852 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_miscCallInfo_impl },
2853 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2858 dissect_inap_EventReportBCSM(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2859 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2860 EventReportBCSM_sequence, hf_index, ett_inap_EventReportBCSM);
2867 dissect_inap_FurnishChargingInformationarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2868 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2875 static const value_string inap_HoldCallInNetworkarg_vals[] = {
2881 static const ber_choice_t HoldCallInNetworkarg_choice[] = {
2882 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_holdcause_impl },
2883 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_empty_impl },
2884 { 0, 0, 0, 0, NULL }
2888 dissect_inap_HoldCallInNetworkarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2889 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
2890 HoldCallInNetworkarg_choice, hf_index, ett_inap_HoldCallInNetworkarg, NULL);
2895 static const ber_sequence_t InitialDP_sequence[] = {
2896 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
2897 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dialledDigits_impl },
2898 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyNumber_impl },
2899 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyNumber_impl },
2900 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
2901 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartysCategory_impl },
2902 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
2903 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cGEncountered_impl },
2904 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iPSSPCapabilities_impl },
2905 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iPAvailable_impl },
2906 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationNumber_impl },
2907 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_miscCallInfo_impl },
2908 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
2909 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceProfileIdentifier_impl },
2910 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_terminalType_impl },
2911 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2912 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_triggerType_impl },
2913 { BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_highLayerCompatibility_impl },
2914 { BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceInteractionIndicators_impl },
2915 { BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalCallingPartyNumber_impl },
2916 { BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardCallIndicators_impl },
2917 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_bearerCapability_impl },
2918 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_eventTypeBCSM_impl },
2919 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
2920 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
2925 dissect_inap_InitialDP(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2926 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2927 InitialDP_sequence, hf_index, ett_inap_InitialDP);
2932 static const ber_sequence_t InitiateCallAttempt_sequence[] = {
2933 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_destinationRoutingAddress_impl },
2934 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
2935 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iSDNAccessRelatedInformation_impl },
2936 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
2937 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2938 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceInteractionIndicators_impl },
2939 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyNumber_impl },
2944 dissect_inap_InitiateCallAttempt(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2945 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2946 InitiateCallAttempt_sequence, hf_index, ett_inap_InitiateCallAttempt);
2951 static const ber_sequence_t OAnswer_sequence[] = {
2952 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
2953 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
2954 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
2955 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
2956 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
2957 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
2958 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
2959 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
2960 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
2961 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
2962 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2967 dissect_inap_OAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2968 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2969 OAnswer_sequence, hf_index, ett_inap_OAnswer);
2974 static const ber_sequence_t OCalledPartyBusy_sequence[] = {
2975 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
2976 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_busyCause_impl },
2977 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
2978 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
2979 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
2980 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
2981 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
2982 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_prefix_impl },
2983 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
2984 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
2985 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
2986 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
2987 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2988 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
2993 dissect_inap_OCalledPartyBusy(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2994 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2995 OCalledPartyBusy_sequence, hf_index, ett_inap_OCalledPartyBusy);
3000 static const ber_sequence_t ODisconnect_sequence[] = {
3001 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3002 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
3003 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
3004 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
3005 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
3006 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
3007 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
3008 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3009 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
3010 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_connectTime_impl },
3015 dissect_inap_ODisconnect(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3016 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3017 ODisconnect_sequence, hf_index, ett_inap_ODisconnect);
3023 static const value_string inap_FeatureRequestIndicator_vals[] = {
3026 { 2, "featureActivation" },
3034 dissect_inap_FeatureRequestIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3035 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3039 static int dissect_featureRequestIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3040 return dissect_inap_FeatureRequestIndicator(TRUE, tvb, offset, pinfo, tree, hf_inap_featureRequestIndicator);
3043 static const ber_sequence_t OMidCall_sequence[] = {
3044 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3045 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyBusinessGroupID_impl },
3046 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartySubaddress_impl },
3047 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
3048 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
3049 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_featureRequestIndicator_impl },
3050 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3051 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
3056 dissect_inap_OMidCall(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3057 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3058 OMidCall_sequence, hf_index, ett_inap_OMidCall);
3063 static const ber_sequence_t ONoAnswer_sequence[] = {
3064 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3065 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
3066 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
3067 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
3068 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
3069 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
3070 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_prefix_impl },
3071 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
3072 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
3073 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
3074 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
3075 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3076 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
3081 dissect_inap_ONoAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3082 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3083 ONoAnswer_sequence, hf_index, ett_inap_ONoAnswer);
3088 static const ber_sequence_t OriginationAttemptAuthorized_sequence[] = {
3089 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3090 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dialledDigits_impl },
3091 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
3092 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
3093 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
3094 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
3095 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
3096 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3097 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
3102 dissect_inap_OriginationAttemptAuthorized(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3103 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3104 OriginationAttemptAuthorized_sequence, hf_index, ett_inap_OriginationAttemptAuthorized);
3111 dissect_inap_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3112 offset = dissect_ber_boolean(implicit_tag, pinfo, tree, tvb, offset, hf_index);
3116 static int dissect_disconnectFromIPForbidden_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3117 return dissect_inap_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_inap_disconnectFromIPForbidden);
3119 static int dissect_requestAnnouncementComplete_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3120 return dissect_inap_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_inap_requestAnnouncementComplete);
3122 static int dissect_interruptableAnnInd_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3123 return dissect_inap_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_inap_interruptableAnnInd);
3125 static int dissect_voiceInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3126 return dissect_inap_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_inap_voiceInformation);
3128 static int dissect_voiceBack_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3129 return dissect_inap_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_inap_voiceBack);
3131 static int dissect_iA5Information_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3132 return dissect_inap_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_inap_iA5Information);
3135 static const ber_sequence_t PlayAnnouncement_sequence[] = {
3136 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_informationToSend_impl },
3137 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_disconnectFromIPForbidden_impl },
3138 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestAnnouncementComplete_impl },
3139 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3144 dissect_inap_PlayAnnouncement(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3145 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3146 PlayAnnouncement_sequence, hf_index, ett_inap_PlayAnnouncement);
3153 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_) {
3154 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3159 static int dissect_endOfReplyDigit_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3160 return dissect_inap_OCTET_STRING_SIZE_1_2(TRUE, tvb, offset, pinfo, tree, hf_inap_endOfReplyDigit);
3162 static int dissect_cancelDigit_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3163 return dissect_inap_OCTET_STRING_SIZE_1_2(TRUE, tvb, offset, pinfo, tree, hf_inap_cancelDigit);
3165 static int dissect_startDigit_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3166 return dissect_inap_OCTET_STRING_SIZE_1_2(TRUE, tvb, offset, pinfo, tree, hf_inap_startDigit);
3170 static const value_string inap_T_errorTreatment_vals[] = {
3171 { 0, "reportErrorToScf" },
3173 { 2, "repeatPrompt" },
3179 dissect_inap_T_errorTreatment(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3180 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3184 static int dissect_errorTreatment_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3185 return dissect_inap_T_errorTreatment(TRUE, tvb, offset, pinfo, tree, hf_inap_errorTreatment);
3188 static const ber_sequence_t T_collectedDigits_sequence[] = {
3189 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_minimumNbOfDigits_impl },
3190 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_maximumNbOfDigits_impl },
3191 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_endOfReplyDigit_impl },
3192 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cancelDigit_impl },
3193 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_startDigit_impl },
3194 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_firstDigitTimeOut_impl },
3195 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_interDigitTimeOut_impl },
3196 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_errorTreatment_impl },
3197 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_interruptableAnnInd_impl },
3198 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_voiceInformation_impl },
3199 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_voiceBack_impl },
3204 dissect_inap_T_collectedDigits(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3205 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3206 T_collectedDigits_sequence, hf_index, ett_inap_T_collectedDigits);
3210 static int dissect_collectedDigits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3211 return dissect_inap_T_collectedDigits(TRUE, tvb, offset, pinfo, tree, hf_inap_collectedDigits);
3215 static const value_string inap_T_collectedInfo_vals[] = {
3216 { 0, "collectedDigits" },
3217 { 1, "iA5Information" },
3221 static const ber_choice_t T_collectedInfo_choice[] = {
3222 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_collectedDigits_impl },
3223 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_iA5Information_impl },
3224 { 0, 0, 0, 0, NULL }
3228 dissect_inap_T_collectedInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3229 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
3230 T_collectedInfo_choice, hf_index, ett_inap_T_collectedInfo, NULL);
3234 static int dissect_collectedInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3235 return dissect_inap_T_collectedInfo(TRUE, tvb, offset, pinfo, tree, hf_inap_collectedInfo);
3238 static const ber_sequence_t PromptAndCollectUserInformationarg_sequence[] = {
3239 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_collectedInfo_impl },
3240 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_disconnectFromIPForbidden_impl },
3241 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_informationToSend_impl },
3242 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3247 dissect_inap_PromptAndCollectUserInformationarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3248 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3249 PromptAndCollectUserInformationarg_sequence, hf_index, ett_inap_PromptAndCollectUserInformationarg);
3255 static const value_string inap_PromptAndCollectUserInformationres_vals[] = {
3256 { 0, "digitsResponse" },
3257 { 1, "iA5Response" },
3261 static const ber_choice_t PromptAndCollectUserInformationres_choice[] = {
3262 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_digitsResponse_impl },
3263 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_iA5Response_impl },
3264 { 0, 0, 0, 0, NULL }
3268 dissect_inap_PromptAndCollectUserInformationres(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3269 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
3270 PromptAndCollectUserInformationres_choice, hf_index, ett_inap_PromptAndCollectUserInformationres, NULL);
3276 static const value_string inap_ResourceStatus_vals[] = {
3284 dissect_inap_ResourceStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3285 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3289 static int dissect_resourceStatus_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3290 return dissect_inap_ResourceStatus(TRUE, tvb, offset, pinfo, tree, hf_inap_resourceStatus);
3295 dissect_inap_ReleaseCall(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3296 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3302 static const ber_sequence_t T_allCallSegments_sequence[] = {
3303 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
3308 dissect_inap_T_allCallSegments(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3309 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3310 T_allCallSegments_sequence, hf_index, ett_inap_T_allCallSegments);
3314 static int dissect_allCallSegments_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3315 return dissect_inap_T_allCallSegments(TRUE, tvb, offset, pinfo, tree, hf_inap_allCallSegments);
3319 static const value_string inap_ReleaseCallArg_vals[] = {
3320 { 0, "initialCallSegment" },
3321 { 1, "allCallSegments" },
3325 static const ber_choice_t ReleaseCallArg_choice[] = {
3326 { 0, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_initialCallSegment },
3327 { 1, BER_CLASS_CON, 2, 0, dissect_allCallSegments_impl },
3328 { 0, 0, 0, 0, NULL }
3332 dissect_inap_ReleaseCallArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3333 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
3334 ReleaseCallArg_choice, hf_index, ett_inap_ReleaseCallArg, NULL);
3340 static const value_string inap_RequestCurrentStatusReportarg_vals[] = {
3342 { 1, "facilityGroupID" },
3343 { 2, "facilityGroupMemberID" },
3344 { 3, "trunkGroupID" },
3348 static const ber_choice_t RequestCurrentStatusReportarg_choice[] = {
3349 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_lineID_impl },
3350 { 1, BER_CLASS_CON, 1, 0, dissect_facilityGroupID_impl },
3351 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_facilityGroupMemberID_impl },
3352 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_trunkGroupID_impl },
3353 { 0, 0, 0, 0, NULL }
3357 dissect_inap_RequestCurrentStatusReportarg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3358 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
3359 RequestCurrentStatusReportarg_choice, hf_index, ett_inap_RequestCurrentStatusReportarg, NULL);
3364 static const ber_sequence_t RequestCurrentStatusReportres_sequence[] = {
3365 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_resourceStatus_impl },
3366 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_resourceID_impl },
3367 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3372 dissect_inap_RequestCurrentStatusReportres(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3373 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3374 RequestCurrentStatusReportres_sequence, hf_index, ett_inap_RequestCurrentStatusReportres);
3379 static const ber_sequence_t RequestEveryStatusChangeReport_sequence[] = {
3380 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_resourceID_impl },
3381 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
3382 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_monitorDuration_impl },
3383 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3388 dissect_inap_RequestEveryStatusChangeReport(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3389 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3390 RequestEveryStatusChangeReport_sequence, hf_index, ett_inap_RequestEveryStatusChangeReport);
3395 static const ber_sequence_t RequestFirstStatusMatchReport_sequence[] = {
3396 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_resourceID_impl },
3397 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_resourceStatus_impl },
3398 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
3399 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_monitorDuration_impl },
3400 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3401 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_bearerCapability_impl },
3406 dissect_inap_RequestFirstStatusMatchReport(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3407 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3408 RequestFirstStatusMatchReport_sequence, hf_index, ett_inap_RequestFirstStatusMatchReport);
3413 static const ber_sequence_t RequestNotificationChargingEvent_item_sequence[] = {
3414 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_eventTypeCharging_impl },
3415 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_monitorMode_impl },
3416 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
3421 dissect_inap_RequestNotificationChargingEvent_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3422 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3423 RequestNotificationChargingEvent_item_sequence, hf_index, ett_inap_RequestNotificationChargingEvent_item);
3427 static int dissect_RequestNotificationChargingEvent_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3428 return dissect_inap_RequestNotificationChargingEvent_item(FALSE, tvb, offset, pinfo, tree, hf_inap_RequestNotificationChargingEvent_item);
3431 static const ber_sequence_t RequestNotificationChargingEvent_sequence_of[1] = {
3432 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_RequestNotificationChargingEvent_item },
3436 dissect_inap_RequestNotificationChargingEvent(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3437 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3438 RequestNotificationChargingEvent_sequence_of, hf_index, ett_inap_RequestNotificationChargingEvent);
3446 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_) {
3447 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3452 static int dissect_numberOfDigits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3453 return dissect_inap_INTEGER_1_255(TRUE, tvb, offset, pinfo, tree, hf_inap_numberOfDigits);
3459 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_) {
3460 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3465 static int dissect_applicationTimer_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3466 return dissect_inap_INTEGER_0_2047(TRUE, tvb, offset, pinfo, tree, hf_inap_applicationTimer);
3470 static const value_string inap_T_dpSpecificCriteria_vals[] = {
3471 { 0, "numberOfDigits" },
3472 { 1, "applicationTimer" },
3476 static const ber_choice_t T_dpSpecificCriteria_choice[] = {
3477 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_numberOfDigits_impl },
3478 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_applicationTimer_impl },
3479 { 0, 0, 0, 0, NULL }
3483 dissect_inap_T_dpSpecificCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3484 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
3485 T_dpSpecificCriteria_choice, hf_index, ett_inap_T_dpSpecificCriteria, NULL);
3489 static int dissect_dpSpecificCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3490 return dissect_inap_T_dpSpecificCriteria(TRUE, tvb, offset, pinfo, tree, hf_inap_dpSpecificCriteria);
3493 static const ber_sequence_t T_bcsmEvents_item_sequence[] = {
3494 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_eventTypeBCSM_impl },
3495 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_monitorMode_impl },
3496 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
3497 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dpSpecificCriteria_impl },
3502 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_) {
3503 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3504 T_bcsmEvents_item_sequence, hf_index, ett_inap_T_bcsmEvents_item);
3508 static int dissect_bcsmEvents_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3509 return dissect_inap_T_bcsmEvents_item(FALSE, tvb, offset, pinfo, tree, hf_inap_bcsmEvents_item);
3512 static const ber_sequence_t T_bcsmEvents_sequence_of[1] = {
3513 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_bcsmEvents_item },
3517 dissect_inap_T_bcsmEvents(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3518 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3519 T_bcsmEvents_sequence_of, hf_index, ett_inap_T_bcsmEvents);
3523 static int dissect_bcsmEvents_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3524 return dissect_inap_T_bcsmEvents(TRUE, tvb, offset, pinfo, tree, hf_inap_bcsmEvents);
3527 static const ber_sequence_t RequestReportBCSMEvent_sequence[] = {
3528 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_bcsmEvents_impl },
3529 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bcsmEventCorrelationID_impl },
3530 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3535 dissect_inap_RequestReportBCSMEvent(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3536 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3537 RequestReportBCSMEvent_sequence, hf_index, ett_inap_RequestReportBCSMEvent);
3543 static const value_string inap_T_timerID_vals[] = {
3550 dissect_inap_T_timerID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3551 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3555 static int dissect_timerID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3556 return dissect_inap_T_timerID(TRUE, tvb, offset, pinfo, tree, hf_inap_timerID);
3559 static const ber_sequence_t ResetTimer_sequence[] = {
3560 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_timerID_impl },
3561 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_timervalue_impl },
3562 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3567 dissect_inap_ResetTimer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3568 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3569 ResetTimer_sequence, hf_index, ett_inap_ResetTimer);
3574 static const ber_sequence_t RouteSelectFailure_sequence[] = {
3575 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3576 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dialledDigits_impl },
3577 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
3578 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
3579 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_callingFacilityGroup_impl },
3580 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingFacilityGroupMember_impl },
3581 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_failureCause_impl },
3582 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
3583 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_prefix_impl },
3584 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
3585 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
3586 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
3587 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
3588 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3589 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
3594 dissect_inap_RouteSelectFailure(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3595 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3596 RouteSelectFailure_sequence, hf_index, ett_inap_RouteSelectFailure);
3602 static const value_string inap_CalledFacilityGroup_vals[] = {
3603 { 0, "trunkGroupID" },
3604 { 1, "privateFacilityID" },
3606 { 3, "routeIndex" },
3610 static const ber_choice_t CalledFacilityGroup_choice[] = {
3611 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_trunkGroupID_impl },
3612 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_privateFacilityID_impl },
3613 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_huntGroup_impl },
3614 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_routeIndex_impl },
3615 { 0, 0, 0, 0, NULL }
3619 dissect_inap_CalledFacilityGroup(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3620 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
3621 CalledFacilityGroup_choice, hf_index, ett_inap_CalledFacilityGroup, NULL);
3625 static int dissect_calledFacilityGroup_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3626 return dissect_inap_CalledFacilityGroup(TRUE, tvb, offset, pinfo, tree, hf_inap_calledFacilityGroup);
3629 static const ber_sequence_t SelectFacility_sequence[] = {
3630 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
3631 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationNumberRoutingAddress_impl },
3632 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iSDNAccessRelatedInformation_impl },
3633 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_calledFacilityGroup_impl },
3634 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledFacilityGroupMember_impl },
3635 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
3636 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3641 dissect_inap_SelectFacility(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3642 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3643 SelectFacility_sequence, hf_index, ett_inap_SelectFacility);
3648 static const ber_sequence_t SelectRoute_sequence[] = {
3649 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_destinationRoutingAddress_impl },
3650 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
3651 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
3652 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iSDNAccessRelatedInformation_impl },
3653 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
3654 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
3655 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_scfID_impl },
3656 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
3657 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3658 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
3663 dissect_inap_SelectRoute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3664 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3665 SelectRoute_sequence, hf_index, ett_inap_SelectRoute);
3670 static const ber_sequence_t SendChargingInformation_sequence[] = {
3671 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sCIBillingChargingCharacteristics_impl },
3672 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_partyToCharge_impl },
3673 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3678 dissect_inap_SendChargingInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3679 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3680 SendChargingInformation_sequence, hf_index, ett_inap_SendChargingInformation);
3688 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_) {
3689 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3694 static int dissect_counterID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3695 return dissect_inap_INTEGER_0_99(TRUE, tvb, offset, pinfo, tree, hf_inap_counterID);
3698 static const ber_sequence_t T_countersValue_item_sequence[] = {
3699 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_counterID_impl },
3700 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_counterValue_impl },
3705 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_) {
3706 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3707 T_countersValue_item_sequence, hf_index, ett_inap_T_countersValue_item);
3711 static int dissect_countersValue_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3712 return dissect_inap_T_countersValue_item(FALSE, tvb, offset, pinfo, tree, hf_inap_countersValue_item);
3715 static const ber_sequence_t T_countersValue_sequence_of[1] = {
3716 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_countersValue_item },
3720 dissect_inap_T_countersValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3721 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3722 T_countersValue_sequence_of, hf_index, ett_inap_T_countersValue);
3726 static int dissect_countersValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3727 return dissect_inap_T_countersValue(TRUE, tvb, offset, pinfo, tree, hf_inap_countersValue);
3731 static const value_string inap_T_responseCondition_vals[] = {
3732 { 0, "intermediateResponse" },
3733 { 1, "lastResponse" },
3739 dissect_inap_T_responseCondition(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3740 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3744 static int dissect_responseCondition_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3745 return dissect_inap_T_responseCondition(TRUE, tvb, offset, pinfo, tree, hf_inap_responseCondition);
3748 static const ber_sequence_t ServiceFilteringResponse_sequence[] = {
3749 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_countersValue_impl },
3750 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_filteringCriteria_impl },
3751 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3752 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_responseCondition_impl },
3757 dissect_inap_ServiceFilteringResponse(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 ServiceFilteringResponse_sequence, hf_index, ett_inap_ServiceFilteringResponse);
3765 static const value_string inap_T_reportCondition_vals[] = {
3766 { 0, "statusReport" },
3767 { 1, "timerExpired" },
3774 dissect_inap_T_reportCondition(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3775 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3779 static int dissect_reportCondition_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3780 return dissect_inap_T_reportCondition(TRUE, tvb, offset, pinfo, tree, hf_inap_reportCondition);
3783 static const ber_sequence_t StatusReport_sequence[] = {
3784 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_resourceStatus_impl },
3785 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
3786 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_resourceID_impl },
3787 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3788 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_reportCondition_impl },
3793 dissect_inap_StatusReport(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3794 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3795 StatusReport_sequence, hf_index, ett_inap_StatusReport);
3800 static const ber_sequence_t TAnswer_sequence[] = {
3801 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3802 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyBusinessGroupID_impl },
3803 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartySubaddress_impl },
3804 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_calledFacilityGroup_impl },
3805 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledFacilityGroupMember_impl },
3806 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3811 dissect_inap_TAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3812 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3813 TAnswer_sequence, hf_index, ett_inap_TAnswer);
3818 static const ber_sequence_t TBusy_sequence[] = {
3819 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3820 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_busyCause_impl },
3821 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyBusinessGroupID_impl },
3822 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartySubaddress_impl },
3823 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
3824 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
3825 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
3826 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
3827 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
3828 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3833 dissect_inap_TBusy(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3834 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3835 TBusy_sequence, hf_index, ett_inap_TBusy);
3840 static const ber_sequence_t TDisconnect_sequence[] = {
3841 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3842 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyBusinessGroupID_impl },
3843 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartySubaddress_impl },
3844 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_calledFacilityGroup_impl },
3845 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledFacilityGroupMember_impl },
3846 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
3847 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3848 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_connectTime_impl },
3853 dissect_inap_TDisconnect(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3854 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3855 TDisconnect_sequence, hf_index, ett_inap_TDisconnect);
3860 static const ber_sequence_t TermAttemptAuthorized_sequence[] = {
3861 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3862 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyBusinessGroupID_impl },
3863 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartySubaddress_impl },
3864 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
3865 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
3866 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
3867 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
3868 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeList_impl },
3869 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
3870 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3875 dissect_inap_TermAttemptAuthorized(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3876 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3877 TermAttemptAuthorized_sequence, hf_index, ett_inap_TermAttemptAuthorized);
3882 static const ber_sequence_t TMidCall_sequence[] = {
3883 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3884 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyBusinessGroupID_impl },
3885 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartySubaddress_impl },
3886 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyBusinessGroupID_impl },
3887 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartySubaddress_impl },
3888 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_featureRequestIndicator_impl },
3889 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3890 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
3895 dissect_inap_TMidCall(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3896 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3897 TMidCall_sequence, hf_index, ett_inap_TMidCall);
3902 static const ber_sequence_t TNoAnswer_sequence[] = {
3903 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dpSpecificCommonParameters_impl },
3904 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyBusinessGroupID_impl },
3905 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartySubaddress_impl },
3906 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_calledFacilityGroup_impl },
3907 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledFacilityGroupMember_impl },
3908 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
3909 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
3910 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
3911 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_travellingClassMark_impl },
3912 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3917 dissect_inap_TNoAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3918 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3919 TNoAnswer_sequence, hf_index, ett_inap_TNoAnswer);
3925 static const value_string inap_T_problem_vals[] = {
3926 { 0, "unknownOperation" },
3928 { 2, "operationNotCancellable" },
3934 dissect_inap_T_problem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3935 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3939 static int dissect_problem_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3940 return dissect_inap_T_problem(TRUE, tvb, offset, pinfo, tree, hf_inap_problem);
3943 static const ber_sequence_t CancelFailed_sequence[] = {
3944 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_problem_impl },
3945 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_operation_impl },
3950 dissect_inap_CancelFailed(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3951 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3952 CancelFailed_sequence, hf_index, ett_inap_CancelFailed);
3958 static const value_string inap_RequestedInfoError_vals[] = {
3959 { 1, "unknownRequestedInfo" },
3960 { 2, "requestedInfoNotAvailable" },
3966 dissect_inap_RequestedInfoError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3967 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3973 static const value_string inap_SystemFailure_vals[] = {
3974 { 0, "unavailableResources" },
3975 { 1, "componentFailure" },
3976 { 2, "basicCallProcessingException" },
3977 { 3, "resourceStatusFailure" },
3978 { 4, "endUserFailure" },
3984 dissect_inap_SystemFailure(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3985 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3991 static const value_string inap_TaskRefused_vals[] = {
3993 { 1, "unobtainable" },
3994 { 2, "congestion" },
4000 dissect_inap_TaskRefused(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4001 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
4009 dissect_inap_InvokeIDType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4010 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4015 static int dissect_invidtype(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4016 return dissect_inap_InvokeIDType(FALSE, tvb, offset, pinfo, tree, hf_inap_invidtype);
4020 static const value_string inap_T_rinvokeID_vals[] = {
4026 static const ber_choice_t T_rinvokeID_choice[] = {
4027 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invidtype },
4028 { 1, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_null },
4029 { 0, 0, 0, 0, NULL }
4033 dissect_inap_T_rinvokeID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4034 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
4035 T_rinvokeID_choice, hf_index, ett_inap_T_rinvokeID, NULL);
4039 static int dissect_rinvokeID(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4040 return dissect_inap_T_rinvokeID(FALSE, tvb, offset, pinfo, tree, hf_inap_rinvokeID);
4044 static const value_string inap_GeneralProblem_vals[] = {
4045 { 0, "unrecognisedAPDU" },
4046 { 1, "mistypedAPDU" },
4047 { 2, "badlyStructuredAPDU" },
4053 dissect_inap_GeneralProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4054 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4059 static int dissect_gp_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4060 return dissect_inap_GeneralProblem(TRUE, tvb, offset, pinfo, tree, hf_inap_gp);
4064 static const value_string inap_InvokeProblem_vals[] = {
4065 { 0, "duplicateInvocation" },
4066 { 1, "unrecognisedOperation" },
4067 { 2, "mistypedArgument" },
4068 { 3, "resourceLimitation" },
4069 { 4, "initiatorReleasing" },
4070 { 5, "unrecognisedLinkedID" },
4071 { 6, "linkedResponseUnexpected" },
4072 { 7, "unexpectedChildOperation" },
4078 dissect_inap_InvokeProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4079 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4084 static int dissect_ip_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4085 return dissect_inap_InvokeProblem(TRUE, tvb, offset, pinfo, tree, hf_inap_ip);
4089 static const value_string inap_ReturnResultProblem_vals[] = {
4090 { 0, "unrecognisedInvocation" },
4091 { 1, "resultResponseUnexpected" },
4092 { 2, "mistypedResult" },
4098 dissect_inap_ReturnResultProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4099 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4104 static int dissect_rrp_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4105 return dissect_inap_ReturnResultProblem(TRUE, tvb, offset, pinfo, tree, hf_inap_rrp);
4109 static const value_string inap_ReturnErrorProblem_vals[] = {
4110 { 0, "unrecognisedInvocation" },
4111 { 1, "errorResponseUnexpected" },
4112 { 2, "unrecognisedError" },
4113 { 3, "unexpectedError" },
4114 { 4, "mistypedParameter" },
4120 dissect_inap_ReturnErrorProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4121 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4126 static int dissect_rep_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4127 return dissect_inap_ReturnErrorProblem(TRUE, tvb, offset, pinfo, tree, hf_inap_rep);
4131 static const value_string inap_T_rproblem_vals[] = {
4139 static const ber_choice_t T_rproblem_choice[] = {
4140 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gp_impl },
4141 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ip_impl },
4142 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_rrp_impl },
4143 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_rep_impl },
4144 { 0, 0, 0, 0, NULL }
4148 dissect_inap_T_rproblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4149 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
4150 T_rproblem_choice, hf_index, ett_inap_T_rproblem, NULL);
4154 static int dissect_rproblem(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4155 return dissect_inap_T_rproblem(FALSE, tvb, offset, pinfo, tree, hf_inap_rproblem);
4158 static const ber_sequence_t RejectPDU_sequence[] = {
4159 { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_rinvokeID },
4160 { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_rproblem },
4165 dissect_inap_RejectPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4166 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4167 RejectPDU_sequence, hf_index, ett_inap_RejectPDU);
4173 /*--- End of included file: packet-inap-fn.c ---*/
4177 const value_string inap_opr_code_strings[] = {
4179 {16, "AssistRequestInstructions"},
4180 {44, "CallInformationReport"},
4181 {45, "CallInformationRequest"},
4184 {18, "DisconnectForwardConnection"},
4185 {19,"ConnectToResource"},
4186 {17,"EstablishTemporaryConnection"},
4187 {24,"EventReportBCSM"},
4188 {34,"FurnishChargingInformation"},
4190 {47,"PlayAnnouncement"},
4191 {48,"PromptAndCollectUserInformation"},
4192 {99,"ReceivedInformation"}, /*???????*/
4194 {23,"RequestReportBCSMEvent"},
4195 {49,"SpecializedResourceReport"},
4199 const value_string inap_error_code_strings[] = {
4204 {4,"improperCallerResponse"},
4205 {6,"missingCustomerRecord"},
4206 {7,"missingParameter"},
4207 {8,"parameterOutOfRange"},
4208 {10,"RequestedInfoError"},
4209 {11,"SystemFailure"},
4211 {13,"UnavailableResource"},
4212 {14,"UnexpectedComponentSequence"},
4213 {15,"UnexpectedDataValue"},
4214 {16,"UnexpectedParameter"},
4218 const value_string inap_general_problem_strings[] = {
4219 {0,"General Problem Unrecognized Component"},
4220 {1,"General Problem Mistyped Component"},
4221 {3,"General Problem Badly Structured Component"},
4226 static guint32 opcode=0;
4229 dissect_inap_Opcode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
4230 offset = dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_index, &opcode);
4232 if (check_col(pinfo->cinfo, COL_INFO)){
4233 col_set_str(pinfo->cinfo, COL_INFO, val_to_str(opcode, inap_opr_code_strings, "Unknown Inap (%u)"));
4242 dissect_inap_errorCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
4243 offset = dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_index, &opcode);
4245 if (check_col(pinfo->cinfo, COL_INFO)){
4246 col_set_str(pinfo->cinfo, COL_INFO, val_to_str(opcode, inap_error_code_strings, "Unknown Inap (%u)"));
4253 static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4255 case 16: /*AssistRequestInstructions*/
4256 offset=dissect_inap_AssistRequestInstructionsarg(FALSE, tvb, offset, pinfo, tree, -1);
4258 case 44: /*CallInformationReport*/
4259 offset=dissect_inap_CallInformationReportarg(FALSE, tvb, offset, pinfo, tree, -1);
4261 case 45: /*CallInformationRequest*/
4262 offset=dissect_inap_CallInformationRequestarg(FALSE, tvb, offset, pinfo, tree, -1);
4265 offset=dissect_inap_Cancelarg(FALSE, tvb, offset, pinfo, tree, -1);
4267 case 20: /*Connect*/
4268 offset=dissect_inap_Connectarg(FALSE, tvb, offset, pinfo, tree, -1);
4270 case 18: /*DisconnectForwardConnections*/
4271 proto_tree_add_text(tree, tvb, offset, -1, "Disconnect Forward Connection");
4273 case 19: /*ConnectToResource*/
4274 offset=dissect_inap_ConnectToResource(FALSE, tvb, offset, pinfo, tree, -1);
4276 case 17: /*EstablishTemporaryConnection*/
4277 offset=dissect_inap_EstablishTemporaryConnection(FALSE, tvb, offset, pinfo, tree, -1);
4279 case 24: /*EventReportBCSM*/
4280 offset=dissect_inap_EventReportBCSM(FALSE, tvb, offset, pinfo, tree, -1);
4282 case 34: /*FurnishChargingInformation*/
4283 offset=dissect_inap_FurnishChargingInformationarg(FALSE, tvb, offset, pinfo, tree, -1);
4285 case 0: /*InitialDP*/
4286 offset=dissect_inap_InitialDP(FALSE, tvb, offset, pinfo, tree, -1);
4289 case 23: /*InitialDP*/
4290 offset=dissect_inap_RequestReportBCSMEvent(FALSE, tvb, offset, pinfo, tree, -1);
4293 case 47: /*PlayAnnouncement*/
4294 offset=dissect_inap_PlayAnnouncement(FALSE, tvb, offset, pinfo, tree, -1);
4296 case 48: /*PromptAndCollectUserInformation*/
4297 offset=dissect_inap_PromptAndCollectUserInformationarg(FALSE, tvb, offset, pinfo, tree, -1);
4299 case 33: /*ResetTimer*/
4300 offset=dissect_inap_ResetTimer(FALSE, tvb, offset, pinfo, tree, -1);
4302 case 22: /*ResetTimer*/
4303 offset=dissect_inap_ReleaseCallArg(FALSE, tvb, offset, pinfo, tree, -1);
4306 proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob");
4307 /* todo call the asn.1 dissector */
4313 static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4315 case 48: /*PromptAndCollectUserInformation*/
4316 offset=dissect_inap_PromptAndCollectUserInformationres(FALSE, tvb, offset, pinfo, tree, -1);
4319 proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnResultData blob");
4325 dissect_invokeCmd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4326 return dissect_inap_Opcode(FALSE, tvb, offset, pinfo, tree, hf_inap_invokeCmd);
4331 dissect_errorCode(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4332 return dissect_inap_errorCode(FALSE, tvb, offset, pinfo, tree, hf_inap_ReturnError);
4335 static int dissect_invokeid(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4336 return dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_inap_invokeid, NULL);
4340 static const value_string InvokeId_vals[] = {
4346 static int dissect_absent(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4347 return dissect_inap_NULL(FALSE, tvb, offset, pinfo, tree, hf_inap_absent);
4351 static const ber_choice_t InvokeId_choice[] = {
4352 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeid },
4353 { 1, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_absent },
4354 { 0, 0, 0, 0, NULL }
4358 dissect_inap_InvokeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
4359 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
4360 InvokeId_choice, hf_index, ett_inap_InvokeId, NULL);
4364 static int dissect_invokeId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4365 return dissect_inap_InvokeId(FALSE, tvb, offset, pinfo, tree, hf_inap_invokeId);
4368 static const ber_sequence_t InvokePDU_sequence[] = {
4369 { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
4370 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeCmd },
4371 { BER_CLASS_UNI, -1/*depends on Cmd*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeData },
4376 dissect_inap_InvokePDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
4377 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4378 InvokePDU_sequence, hf_index, ett_inap_InvokePDU);
4384 static const ber_sequence_t returnErrorPDU_sequence[] = {
4385 { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
4386 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_errorCode },
4391 dissect_inap_returnErrorPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
4392 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4393 returnErrorPDU_sequence, hf_index, ett_inap_ReturnErrorPDU);
4399 static int dissect_invoke_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4400 return dissect_inap_InvokePDU(TRUE, tvb, offset, pinfo, tree, hf_inap_invoke);
4403 static int dissect_returnError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4404 return dissect_inap_returnErrorPDU(TRUE, tvb, offset, pinfo, tree, hf_inap_invoke);
4407 static const ber_sequence_t ReturnResult_result_sequence[] = {
4408 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeCmd },
4409 { BER_CLASS_UNI, -1/*depends on Cmd*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_returnResultData },
4413 dissect_returnResult_result(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4414 offset = dissect_ber_sequence(FALSE, pinfo, tree, tvb, offset,
4415 ReturnResult_result_sequence, hf_inap_returnResult_result, ett_inap_ReturnResult_result);
4420 static const ber_sequence_t ReturnResultPDU_sequence[] = {
4421 { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
4422 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_returnResult_result },
4427 dissect_inap_returnResultPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
4428 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4429 ReturnResultPDU_sequence, hf_index, ett_inap_ReturnResultPDU);
4433 static int dissect_returnResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4434 return dissect_inap_returnResultPDU(TRUE, tvb, offset, pinfo, tree, hf_inap_returnResult);
4438 static int dissect_reject_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4439 return dissect_inap_RejectPDU(TRUE, tvb, offset, pinfo, tree, -1);
4442 static const value_string INAPPDU_vals[] = {
4444 { 2, "returnResult" },
4445 { 3, "returnError" },
4450 static const ber_choice_t INAPPDU_choice[] = {
4451 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_invoke_impl },
4452 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_returnResult_impl },
4453 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_returnError_impl },
4454 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_reject_impl },
4455 { 0, 0, 0, 0, NULL }
4458 static guint8 inap_pdu_type = 0;
4459 static guint8 inap_pdu_size = 0;
4462 dissect_inap_INAPPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
4464 inap_pdu_type = tvb_get_guint8(tvb, offset)&0x0f;
4465 /* Get the length and add 2 */
4466 inap_pdu_size = tvb_get_guint8(tvb, offset+1)+2;
4468 offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
4469 INAPPDU_choice, hf_index, ett_inap_INAPPDU, NULL);
4471 if (check_col(pinfo->cinfo, COL_INFO)){
4472 col_prepend_fstr(pinfo->cinfo, COL_INFO, val_to_str(opcode, inap_opr_code_strings, "Unknown INAP (%u)"));
4482 dissect_inap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
4484 proto_item *item=NULL;
4485 proto_tree *tree=NULL;
4488 if (check_col(pinfo->cinfo, COL_PROTOCOL))
4490 col_set_str(pinfo->cinfo, COL_PROTOCOL, "INAP");
4493 /* create display subtree for the protocol */
4495 item = proto_tree_add_item(parent_tree, proto_inap, tvb, 0, -1, FALSE);
4496 tree = proto_item_add_subtree(item, ett_inap);
4499 dissect_inap_INAPPDU(FALSE, tvb, 0, pinfo, tree, -1);
4504 /*--- proto_reg_handoff_inap ---------------------------------------*/
4505 void proto_reg_handoff_inap(void) {
4506 dissector_handle_t inap_handle;
4507 static int inap_prefs_initialized = FALSE;
4509 inap_handle = create_dissector_handle(dissect_inap, proto_inap);
4511 if (!inap_prefs_initialized) {
4512 inap_prefs_initialized = TRUE;
4515 dissector_delete("tcap.itu_ssn", tcap_itu_ssn, inap_handle);
4516 dissector_delete("tcap.itu_ssn", tcap_itu_ssn1, inap_handle);
4518 tcap_itu_ssn = global_tcap_itu_ssn;
4519 tcap_itu_ssn1 = global_tcap_itu_ssn1;
4520 dissector_add("tcap.itu_ssn", global_tcap_itu_ssn, inap_handle);
4521 dissector_add("tcap.itu_ssn", global_tcap_itu_ssn1, inap_handle);
4526 void proto_register_inap(void) {
4527 module_t *inap_module;
4528 /* List of fields */
4529 static hf_register_info hf[] = {
4530 { &hf_inap_invokeCmd,
4531 { "invokeCmd", "inap.invokeCmd",
4532 FT_UINT32, BASE_DEC, VALS(inap_opr_code_strings), 0,
4533 "InvokePDU/invokeCmd", HFILL }},
4534 { &hf_inap_ReturnError,
4535 { "ReturnError", "inap.ReturnError",
4536 FT_UINT32, BASE_DEC, VALS(inap_error_code_strings), 0,
4537 "InvokePDU/ReturnError", HFILL }},
4538 { &hf_inap_invokeid,
4539 { "invokeid", "inap.invokeid",
4540 FT_INT32, BASE_DEC, NULL, 0,
4541 "InvokeId/invokeid", HFILL }},
4543 { "absent", "inap.absent",
4544 FT_NONE, BASE_NONE, NULL, 0,
4545 "InvokeId/absent", HFILL }},
4546 { &hf_inap_invokeId,
4547 { "invokeId", "inap.invokeId",
4548 FT_UINT32, BASE_DEC, VALS(InvokeId_vals), 0,
4549 "InvokePDU/invokeId", HFILL }},
4551 { "invoke", "inap.invoke",
4552 FT_NONE, BASE_NONE, NULL, 0,
4553 "INAPPDU/invoke", HFILL }},
4554 { &hf_inap_returnResult,
4555 { "returnResult", "inap.returnResult",
4556 FT_NONE, BASE_NONE, NULL, 0,
4557 "INAPPDU/returnResult", HFILL }},
4561 /*--- Included file: packet-inap-hfarr.c ---*/
4563 { &hf_inap_originalCallID,
4564 { "originalCallID", "inap.originalCallID",
4565 FT_INT32, BASE_DEC, NULL, 0,
4566 "AddPartyArg/originalCallID", HFILL }},
4567 { &hf_inap_destinationCallID,
4568 { "destinationCallID", "inap.destinationCallID",
4569 FT_INT32, BASE_DEC, NULL, 0,
4570 "AddPartyArg/destinationCallID", HFILL }},
4571 { &hf_inap_newLegID,
4572 { "newLegID", "inap.newLegID",
4573 FT_BYTES, BASE_HEX, NULL, 0,
4574 "AttachArg/newLegID", HFILL }},
4575 { &hf_inap_correlationidentifier,
4576 { "correlationidentifier", "inap.correlationidentifier",
4577 FT_BYTES, BASE_HEX, NULL, 0,
4579 { &hf_inap_CallPartyHandlingResultsArg_item,
4580 { "Item", "inap.CallPartyHandlingResultsArg_item",
4581 FT_NONE, BASE_NONE, NULL, 0,
4582 "CallPartyHandlingResultsArg/_item", HFILL }},
4584 { "callID", "inap.callID",
4585 FT_INT32, BASE_DEC, NULL, 0,
4587 { &hf_inap_targetCallID,
4588 { "targetCallID", "inap.targetCallID",
4589 FT_INT32, BASE_DEC, NULL, 0,
4590 "ChangePartiesArg/targetCallID", HFILL }},
4591 { &hf_inap_legToBeConnectedID,
4592 { "legToBeConnectedID", "inap.legToBeConnectedID",
4593 FT_BYTES, BASE_HEX, NULL, 0,
4594 "ChangePartiesArg/legToBeConnectedID", HFILL }},
4595 { &hf_inap_legToBeDetached,
4596 { "legToBeDetached", "inap.legToBeDetached",
4597 FT_BYTES, BASE_HEX, NULL, 0,
4598 "DetachArg/legToBeDetached", HFILL }},
4600 { "legID", "inap.legID",
4601 FT_UINT32, BASE_DEC, VALS(inap_LegID_vals), 0,
4603 { &hf_inap_sendingSideID,
4604 { "sendingSideID", "inap.sendingSideID",
4605 FT_BYTES, BASE_HEX, NULL, 0,
4607 { &hf_inap_receivingSideID,
4608 { "receivingSideID", "inap.receivingSideID",
4609 FT_BYTES, BASE_HEX, NULL, 0,
4611 { &hf_inap_heldLegID,
4612 { "heldLegID", "inap.heldLegID",
4613 FT_UINT32, BASE_DEC, VALS(inap_LegID_vals), 0,
4614 "ReconnectArg/heldLegID", HFILL }},
4615 { &hf_inap_legToBeReleased,
4616 { "legToBeReleased", "inap.legToBeReleased",
4617 FT_UINT32, BASE_DEC, VALS(inap_LegID_vals), 0,
4618 "ReleaseCallPartyConnectionArg/legToBeReleased", HFILL }},
4619 { &hf_inap_releaseCause,
4620 { "releaseCause", "inap.releaseCause",
4621 FT_BYTES, BASE_HEX, NULL, 0,
4623 { &hf_inap_legStatus,
4624 { "legStatus", "inap.legStatus",
4625 FT_UINT32, BASE_DEC, VALS(inap_LegStatus_vals), 0,
4626 "LegInformation/legStatus", HFILL }},
4627 { &hf_inap_VariableParts_item,
4628 { "Item", "inap.VariableParts_item",
4629 FT_UINT32, BASE_DEC, VALS(inap_VariableParts_item_vals), 0,
4630 "VariableParts/_item", HFILL }},
4632 { "integer", "inap.integer",
4633 FT_UINT32, BASE_DEC, NULL, 0,
4634 "VariableParts/_item/integer", HFILL }},
4636 { "number", "inap.number",
4637 FT_BYTES, BASE_HEX, NULL, 0,
4638 "VariableParts/_item/number", HFILL }},
4640 { "time", "inap.time",
4641 FT_BYTES, BASE_HEX, NULL, 0,
4642 "VariableParts/_item/time", HFILL }},
4644 { "date", "inap.date",
4645 FT_BYTES, BASE_HEX, NULL, 0,
4646 "VariableParts/_item/date", HFILL }},
4648 { "price", "inap.price",
4649 FT_BYTES, BASE_HEX, NULL, 0,
4650 "VariableParts/_item/price", HFILL }},
4651 { &hf_inap_elementaryMessageID,
4652 { "elementaryMessageID", "inap.elementaryMessageID",
4653 FT_UINT32, BASE_DEC, NULL, 0,
4655 { &hf_inap_variableParts,
4656 { "variableParts", "inap.variableParts",
4657 FT_NONE, BASE_NONE, NULL, 0,
4658 "VariableMessage/variableParts", HFILL }},
4660 { "toneID", "inap.toneID",
4661 FT_UINT32, BASE_DEC, NULL, 0,
4662 "Tone/toneID", HFILL }},
4663 { &hf_inap_tduration,
4664 { "tduration", "inap.tduration",
4665 FT_UINT32, BASE_DEC, NULL, 0,
4666 "Tone/tduration", HFILL }},
4667 { &hf_inap_messageContent,
4668 { "messageContent", "inap.messageContent",
4669 FT_STRING, BASE_NONE, NULL, 0,
4670 "Text/messageContent", HFILL }},
4671 { &hf_inap_attributes,
4672 { "attributes", "inap.attributes",
4673 FT_BYTES, BASE_HEX, NULL, 0,
4674 "Text/attributes", HFILL }},
4676 { "text", "inap.text",
4677 FT_NONE, BASE_NONE, NULL, 0,
4678 "MessageID/text", HFILL }},
4679 { &hf_inap_elementaryMessageIDs,
4680 { "elementaryMessageIDs", "inap.elementaryMessageIDs",
4681 FT_NONE, BASE_NONE, NULL, 0,
4682 "MessageID/elementaryMessageIDs", HFILL }},
4683 { &hf_inap_elementaryMessageIDs_item,
4684 { "Item", "inap.elementaryMessageIDs_item",
4685 FT_UINT32, BASE_DEC, NULL, 0,
4686 "MessageID/elementaryMessageIDs/_item", HFILL }},
4687 { &hf_inap_variableMessage,
4688 { "variableMessage", "inap.variableMessage",
4689 FT_NONE, BASE_NONE, NULL, 0,
4690 "MessageID/variableMessage", HFILL }},
4691 { &hf_inap_inbandInfo,
4692 { "inbandInfo", "inap.inbandInfo",
4693 FT_NONE, BASE_NONE, NULL, 0,
4694 "InformationToSend/inbandInfo", HFILL }},
4695 { &hf_inap_messageID,
4696 { "messageID", "inap.messageID",
4697 FT_UINT32, BASE_DEC, VALS(inap_MessageID_vals), 0,
4698 "InformationToSend/inbandInfo/messageID", HFILL }},
4699 { &hf_inap_numberOfRepetitions,
4700 { "numberOfRepetitions", "inap.numberOfRepetitions",
4701 FT_UINT32, BASE_DEC, NULL, 0,
4702 "InformationToSend/inbandInfo/numberOfRepetitions", HFILL }},
4703 { &hf_inap_mduration,
4704 { "mduration", "inap.mduration",
4705 FT_UINT32, BASE_DEC, NULL, 0,
4706 "InformationToSend/inbandInfo/mduration", HFILL }},
4707 { &hf_inap_interval,
4708 { "interval", "inap.interval",
4709 FT_UINT32, BASE_DEC, NULL, 0,
4712 { "tone", "inap.tone",
4713 FT_NONE, BASE_NONE, NULL, 0,
4714 "InformationToSend/tone", HFILL }},
4715 { &hf_inap_displayInformation,
4716 { "displayInformation", "inap.displayInformation",
4717 FT_STRING, BASE_NONE, NULL, 0,
4718 "InformationToSend/displayInformation", HFILL }},
4719 { &hf_inap_dialledNumber,
4720 { "dialledNumber", "inap.dialledNumber",
4721 FT_BYTES, BASE_HEX, NULL, 0,
4722 "FilteringCriteria/dialledNumber", HFILL }},
4723 { &hf_inap_callingLineID,
4724 { "callingLineID", "inap.callingLineID",
4725 FT_BYTES, BASE_HEX, NULL, 0,
4726 "FilteringCriteria/callingLineID", HFILL }},
4727 { &hf_inap_serviceKey,
4728 { "serviceKey", "inap.serviceKey",
4729 FT_UINT32, BASE_DEC, NULL, 0,
4731 { &hf_inap_addressAndService,
4732 { "addressAndService", "inap.addressAndService",
4733 FT_NONE, BASE_NONE, NULL, 0,
4734 "FilteringCriteria/addressAndService", HFILL }},
4735 { &hf_inap_calledAddressValue,
4736 { "calledAddressValue", "inap.calledAddressValue",
4737 FT_BYTES, BASE_HEX, NULL, 0,
4739 { &hf_inap_callingAddressValue,
4740 { "callingAddressValue", "inap.callingAddressValue",
4741 FT_BYTES, BASE_HEX, NULL, 0,
4743 { &hf_inap_locationNumber,
4744 { "locationNumber", "inap.locationNumber",
4745 FT_BYTES, BASE_HEX, NULL, 0,
4747 { &hf_inap_Extensions_item,
4748 { "Item", "inap.Extensions_item",
4749 FT_NONE, BASE_NONE, NULL, 0,
4750 "Extensions/_item", HFILL }},
4752 { "type", "inap.type",
4753 FT_INT32, BASE_DEC, NULL, 0,
4754 "Extensions/_item/type", HFILL }},
4755 { &hf_inap_criticality,
4756 { "criticality", "inap.criticality",
4757 FT_UINT32, BASE_DEC, VALS(inap_T_criticality_vals), 0,
4758 "Extensions/_item/criticality", HFILL }},
4760 { "value", "inap.value",
4761 FT_BYTES, BASE_HEX, NULL, 0,
4762 "Extensions/_item/value", HFILL }},
4763 { &hf_inap_filteredCallTreatment,
4764 { "filteredCallTreatment", "inap.filteredCallTreatment",
4765 FT_NONE, BASE_NONE, NULL, 0,
4766 "ActivateServiceFilteringarg/filteredCallTreatment", HFILL }},
4767 { &hf_inap_sFBillingChargingCharacteristics,
4768 { "sFBillingChargingCharacteristics", "inap.sFBillingChargingCharacteristics",
4769 FT_BYTES, BASE_HEX, NULL, 0,
4770 "ActivateServiceFilteringarg/filteredCallTreatment/sFBillingChargingCharacteristics", HFILL }},
4771 { &hf_inap_informationToSend,
4772 { "informationToSend", "inap.informationToSend",
4773 FT_UINT32, BASE_DEC, VALS(inap_InformationToSend_vals), 0,
4775 { &hf_inap_maximumNumberOfCounters,
4776 { "maximumNumberOfCounters", "inap.maximumNumberOfCounters",
4777 FT_INT32, BASE_DEC, NULL, 0,
4778 "ActivateServiceFilteringarg/filteredCallTreatment/maximumNumberOfCounters", HFILL }},
4779 { &hf_inap_filteringCharacteristics,
4780 { "filteringCharacteristics", "inap.filteringCharacteristics",
4781 FT_UINT32, BASE_DEC, VALS(inap_T_filteringCharacteristics_vals), 0,
4782 "ActivateServiceFilteringarg/filteringCharacteristics", HFILL }},
4783 { &hf_inap_numberOfCalls,
4784 { "numberOfCalls", "inap.numberOfCalls",
4785 FT_UINT32, BASE_DEC, NULL, 0,
4786 "ActivateServiceFilteringarg/filteringCharacteristics/numberOfCalls", HFILL }},
4787 { &hf_inap_filteringTimeOut,
4788 { "filteringTimeOut", "inap.filteringTimeOut",
4789 FT_UINT32, BASE_DEC, VALS(inap_T_filteringTimeOut_vals), 0,
4790 "ActivateServiceFilteringarg/filteringTimeOut", HFILL }},
4791 { &hf_inap_aduration,
4792 { "aduration", "inap.aduration",
4793 FT_UINT32, BASE_DEC, NULL, 0,
4794 "ActivateServiceFilteringarg/filteringTimeOut/aduration", HFILL }},
4795 { &hf_inap_stopTime,
4796 { "stopTime", "inap.stopTime",
4797 FT_BYTES, BASE_HEX, NULL, 0,
4798 "ActivateServiceFilteringarg/filteringTimeOut/stopTime", HFILL }},
4799 { &hf_inap_filteringCriteria,
4800 { "filteringCriteria", "inap.filteringCriteria",
4801 FT_UINT32, BASE_DEC, VALS(inap_FilteringCriteria_vals), 0,
4803 { &hf_inap_startTime,
4804 { "startTime", "inap.startTime",
4805 FT_BYTES, BASE_HEX, NULL, 0,
4806 "ActivateServiceFilteringarg/startTime", HFILL }},
4807 { &hf_inap_extensions,
4808 { "extensions", "inap.extensions",
4809 FT_NONE, BASE_NONE, NULL, 0,
4811 { &hf_inap_messageType,
4812 { "messageType", "inap.messageType",
4813 FT_UINT32, BASE_DEC, VALS(inap_T_messageType_vals), 0,
4814 "MiscCallInfo/messageType", HFILL }},
4815 { &hf_inap_dpAssignment,
4816 { "dpAssignment", "inap.dpAssignment",
4817 FT_UINT32, BASE_DEC, VALS(inap_T_dpAssignment_vals), 0,
4818 "MiscCallInfo/dpAssignment", HFILL }},
4819 { &hf_inap_miscCallInfo,
4820 { "miscCallInfo", "inap.miscCallInfo",
4821 FT_NONE, BASE_NONE, NULL, 0,
4823 { &hf_inap_triggerType,
4824 { "triggerType", "inap.triggerType",
4825 FT_UINT32, BASE_DEC, VALS(inap_TriggerType_vals), 0,
4827 { &hf_inap_RouteList_item,
4828 { "Item", "inap.RouteList_item",
4829 FT_BYTES, BASE_HEX, NULL, 0,
4830 "RouteList/_item", HFILL }},
4831 { &hf_inap_bearerCap,
4832 { "bearerCap", "inap.bearerCap",
4833 FT_BYTES, BASE_HEX, NULL, 0,
4834 "BearerCapability/bearerCap", HFILL }},
4836 { "tmr", "inap.tmr",
4837 FT_BYTES, BASE_HEX, NULL, 0,
4838 "BearerCapability/tmr", HFILL }},
4839 { &hf_inap_serviceAddressInformation,
4840 { "serviceAddressInformation", "inap.serviceAddressInformation",
4841 FT_NONE, BASE_NONE, NULL, 0,
4842 "DpSpecificCommonParameters/serviceAddressInformation", HFILL }},
4843 { &hf_inap_bearerCapability,
4844 { "bearerCapability", "inap.bearerCapability",
4845 FT_UINT32, BASE_DEC, VALS(inap_BearerCapability_vals), 0,
4847 { &hf_inap_calledPartyNumber,
4848 { "calledPartyNumber", "inap.calledPartyNumber",
4849 FT_BYTES, BASE_HEX, NULL, 0,
4851 { &hf_inap_callingPartyNumber,
4852 { "callingPartyNumber", "inap.callingPartyNumber",
4853 FT_BYTES, BASE_HEX, NULL, 0,
4855 { &hf_inap_callingPartysCategory,
4856 { "callingPartysCategory", "inap.callingPartysCategory",
4857 FT_BYTES, BASE_HEX, NULL, 0,
4859 { &hf_inap_iPSSPCapabilities,
4860 { "iPSSPCapabilities", "inap.iPSSPCapabilities",
4861 FT_BYTES, BASE_HEX, NULL, 0,
4863 { &hf_inap_iPAvailable,
4864 { "iPAvailable", "inap.iPAvailable",
4865 FT_BYTES, BASE_HEX, NULL, 0,
4867 { &hf_inap_iSDNAccessRelatedInformation,
4868 { "iSDNAccessRelatedInformation", "inap.iSDNAccessRelatedInformation",
4869 FT_BYTES, BASE_HEX, NULL, 0,
4871 { &hf_inap_cGEncountered,
4872 { "cGEncountered", "inap.cGEncountered",
4873 FT_UINT32, BASE_DEC, VALS(inap_CGEncountered_vals), 0,
4875 { &hf_inap_serviceProfileIdentifier,
4876 { "serviceProfileIdentifier", "inap.serviceProfileIdentifier",
4877 FT_BYTES, BASE_HEX, NULL, 0,
4879 { &hf_inap_terminalType,
4880 { "terminalType", "inap.terminalType",
4881 FT_UINT32, BASE_DEC, VALS(inap_TerminalType_vals), 0,
4883 { &hf_inap_chargeNumber,
4884 { "chargeNumber", "inap.chargeNumber",
4885 FT_BYTES, BASE_HEX, NULL, 0,
4887 { &hf_inap_servingAreaID,
4888 { "servingAreaID", "inap.servingAreaID",
4889 FT_BYTES, BASE_HEX, NULL, 0,
4890 "DpSpecificCommonParameters/servingAreaID", HFILL }},
4891 { &hf_inap_trunkGroupID,
4892 { "trunkGroupID", "inap.trunkGroupID",
4893 FT_INT32, BASE_DEC, NULL, 0,
4895 { &hf_inap_privateFacilityID,
4896 { "privateFacilityID", "inap.privateFacilityID",
4897 FT_INT32, BASE_DEC, NULL, 0,
4899 { &hf_inap_huntGroup,
4900 { "huntGroup", "inap.huntGroup",
4901 FT_BYTES, BASE_HEX, NULL, 0,
4903 { &hf_inap_routeIndex,
4904 { "routeIndex", "inap.routeIndex",
4905 FT_BYTES, BASE_HEX, NULL, 0,
4907 { &hf_inap_dpSpecificCommonParameters,
4908 { "dpSpecificCommonParameters", "inap.dpSpecificCommonParameters",
4909 FT_NONE, BASE_NONE, NULL, 0,
4911 { &hf_inap_dialledDigits,
4912 { "dialledDigits", "inap.dialledDigits",
4913 FT_BYTES, BASE_HEX, NULL, 0,
4915 { &hf_inap_callingPartyBusinessGroupID,
4916 { "callingPartyBusinessGroupID", "inap.callingPartyBusinessGroupID",
4917 FT_BYTES, BASE_HEX, NULL, 0,
4919 { &hf_inap_callingPartySubaddress,
4920 { "callingPartySubaddress", "inap.callingPartySubaddress",
4921 FT_BYTES, BASE_HEX, NULL, 0,
4923 { &hf_inap_callingFacilityGroup,
4924 { "callingFacilityGroup", "inap.callingFacilityGroup",
4925 FT_UINT32, BASE_DEC, VALS(inap_CallingFacilityGroup_vals), 0,
4927 { &hf_inap_callingFacilityGroupMember,
4928 { "callingFacilityGroupMember", "inap.callingFacilityGroupMember",
4929 FT_INT32, BASE_DEC, NULL, 0,
4931 { &hf_inap_originalCalledPartyID,
4932 { "originalCalledPartyID", "inap.originalCalledPartyID",
4933 FT_BYTES, BASE_HEX, NULL, 0,
4936 { "prefix", "inap.prefix",
4937 FT_BYTES, BASE_HEX, NULL, 0,
4939 { &hf_inap_redirectingPartyID,
4940 { "redirectingPartyID", "inap.redirectingPartyID",
4941 FT_BYTES, BASE_HEX, NULL, 0,
4943 { &hf_inap_redirectionInformation,
4944 { "redirectionInformation", "inap.redirectionInformation",
4945 FT_BYTES, BASE_HEX, NULL, 0,
4947 { &hf_inap_routeList,
4948 { "routeList", "inap.routeList",
4949 FT_NONE, BASE_NONE, NULL, 0,
4951 { &hf_inap_travellingClassMark,
4952 { "travellingClassMark", "inap.travellingClassMark",
4953 FT_BYTES, BASE_HEX, NULL, 0,
4955 { &hf_inap_featureCode,
4956 { "featureCode", "inap.featureCode",
4957 FT_BYTES, BASE_HEX, NULL, 0,
4959 { &hf_inap_accessCode,
4960 { "accessCode", "inap.accessCode",
4961 FT_BYTES, BASE_HEX, NULL, 0,
4964 { "carrier", "inap.carrier",
4965 FT_BYTES, BASE_HEX, NULL, 0,
4967 { &hf_inap_destinationRoutingAddress,
4968 { "destinationRoutingAddress", "inap.destinationRoutingAddress",
4969 FT_NONE, BASE_NONE, NULL, 0,
4971 { &hf_inap_destinationRoutingAddress_item,
4972 { "Item", "inap.destinationRoutingAddress_item",
4973 FT_BYTES, BASE_HEX, NULL, 0,
4975 { &hf_inap_alertingPattern,
4976 { "alertingPattern", "inap.alertingPattern",
4977 FT_BYTES, BASE_HEX, NULL, 0,
4979 { &hf_inap_aChBillingChargingCharacteristics,
4980 { "aChBillingChargingCharacteristics", "inap.aChBillingChargingCharacteristics",
4981 FT_BYTES, BASE_HEX, NULL, 0,
4982 "ApplyChargingarg/aChBillingChargingCharacteristics", HFILL }},
4983 { &hf_inap_partyToCharge,
4984 { "partyToCharge", "inap.partyToCharge",
4985 FT_UINT32, BASE_DEC, VALS(inap_PartyToCharge_vals), 0,
4987 { &hf_inap_correlationID,
4988 { "correlationID", "inap.correlationID",
4989 FT_BYTES, BASE_HEX, NULL, 0,
4991 { &hf_inap_gapCriteria,
4992 { "gapCriteria", "inap.gapCriteria",
4993 FT_UINT32, BASE_DEC, VALS(inap_T_gapCriteria_vals), 0,
4994 "CallGaparg/gapCriteria", HFILL }},
4995 { &hf_inap_gapOnService,
4996 { "gapOnService", "inap.gapOnService",
4997 FT_NONE, BASE_NONE, NULL, 0,
4998 "CallGaparg/gapCriteria/gapOnService", HFILL }},
4999 { &hf_inap_dpCriteria,
5000 { "dpCriteria", "inap.dpCriteria",
5001 FT_UINT32, BASE_DEC, VALS(inap_T_dpCriteria_vals), 0,
5002 "CallGaparg/gapCriteria/gapOnService/dpCriteria", HFILL }},
5003 { &hf_inap_calledAddressAndService,
5004 { "calledAddressAndService", "inap.calledAddressAndService",
5005 FT_NONE, BASE_NONE, NULL, 0,
5006 "CallGaparg/gapCriteria/calledAddressAndService", HFILL }},
5007 { &hf_inap_callingAddressAndService,
5008 { "callingAddressAndService", "inap.callingAddressAndService",
5009 FT_NONE, BASE_NONE, NULL, 0,
5010 "CallGaparg/gapCriteria/callingAddressAndService", HFILL }},
5011 { &hf_inap_gapIndicators,
5012 { "gapIndicators", "inap.gapIndicators",
5013 FT_NONE, BASE_NONE, NULL, 0,
5014 "CallGaparg/gapIndicators", HFILL }},
5015 { &hf_inap_cgduration,
5016 { "cgduration", "inap.cgduration",
5017 FT_UINT32, BASE_DEC, NULL, 0,
5018 "CallGaparg/gapIndicators/cgduration", HFILL }},
5019 { &hf_inap_gapInterval,
5020 { "gapInterval", "inap.gapInterval",
5021 FT_UINT32, BASE_DEC, NULL, 0,
5022 "CallGaparg/gapIndicators/gapInterval", HFILL }},
5023 { &hf_inap_controlType,
5024 { "controlType", "inap.controlType",
5025 FT_UINT32, BASE_DEC, VALS(inap_T_controlType_vals), 0,
5026 "CallGaparg/controlType", HFILL }},
5027 { &hf_inap_gapTreatment,
5028 { "gapTreatment", "inap.gapTreatment",
5029 FT_UINT32, BASE_DEC, VALS(inap_T_gapTreatment_vals), 0,
5030 "CallGaparg/gapTreatment", HFILL }},
5032 { "both", "inap.both",
5033 FT_NONE, BASE_NONE, NULL, 0,
5035 { &hf_inap_requestedInformationList,
5036 { "requestedInformationList", "inap.requestedInformationList",
5037 FT_NONE, BASE_NONE, NULL, 0,
5038 "CallInformationReportarg/requestedInformationList", HFILL }},
5039 { &hf_inap_requestedInformationList_item,
5040 { "Item", "inap.requestedInformationList_item",
5041 FT_NONE, BASE_NONE, NULL, 0,
5042 "CallInformationReportarg/requestedInformationList/_item", HFILL }},
5043 { &hf_inap_requestedInformationType,
5044 { "requestedInformationType", "inap.requestedInformationType",
5045 FT_UINT32, BASE_DEC, VALS(inap_T_requestedInformationType_vals), 0,
5046 "CallInformationReportarg/requestedInformationList/_item/requestedInformationType", HFILL }},
5047 { &hf_inap_requestedInformationValue,
5048 { "requestedInformationValue", "inap.requestedInformationValue",
5049 FT_UINT32, BASE_DEC, VALS(inap_T_requestedInformationValue_vals), 0,
5050 "CallInformationReportarg/requestedInformationList/_item/requestedInformationValue", HFILL }},
5051 { &hf_inap_callAttemptElapsedTimeValue,
5052 { "callAttemptElapsedTimeValue", "inap.callAttemptElapsedTimeValue",
5053 FT_UINT32, BASE_DEC, NULL, 0,
5054 "CallInformationReportarg/requestedInformationList/_item/requestedInformationValue/callAttemptElapsedTimeValue", HFILL }},
5055 { &hf_inap_callStopTimeValue,
5056 { "callStopTimeValue", "inap.callStopTimeValue",
5057 FT_BYTES, BASE_HEX, NULL, 0,
5058 "CallInformationReportarg/requestedInformationList/_item/requestedInformationValue/callStopTimeValue", HFILL }},
5059 { &hf_inap_callConnectedElapsedTimeValue,
5060 { "callConnectedElapsedTimeValue", "inap.callConnectedElapsedTimeValue",
5061 FT_UINT32, BASE_DEC, NULL, 0,
5062 "CallInformationReportarg/requestedInformationList/_item/requestedInformationValue/callConnectedElapsedTimeValue", HFILL }},
5063 { &hf_inap_releaseCauseValue,
5064 { "releaseCauseValue", "inap.releaseCauseValue",
5065 FT_BYTES, BASE_HEX, NULL, 0,
5066 "CallInformationReportarg/requestedInformationList/_item/requestedInformationValue/releaseCauseValue", HFILL }},
5067 { &hf_inap_requestedInformationTypeList,
5068 { "requestedInformationTypeList", "inap.requestedInformationTypeList",
5069 FT_NONE, BASE_NONE, NULL, 0,
5070 "CallInformationRequestarg/requestedInformationTypeList", HFILL }},
5071 { &hf_inap_requestedInformationTypeList_item,
5072 { "Item", "inap.requestedInformationTypeList_item",
5073 FT_UINT32, BASE_DEC, VALS(inap_T_requestedInformationTypeList_item_vals), 0,
5074 "CallInformationRequestarg/requestedInformationTypeList/_item", HFILL }},
5075 { &hf_inap_invokeID,
5076 { "invokeID", "inap.invokeID",
5077 FT_UINT32, BASE_DEC, NULL, 0,
5078 "Cancelarg/invokeID", HFILL }},
5079 { &hf_inap_allRequests,
5080 { "allRequests", "inap.allRequests",
5081 FT_NONE, BASE_NONE, NULL, 0,
5082 "Cancelarg/allRequests", HFILL }},
5084 { "lineID", "inap.lineID",
5085 FT_BYTES, BASE_HEX, NULL, 0,
5087 { &hf_inap_facilityGroupID,
5088 { "facilityGroupID", "inap.facilityGroupID",
5089 FT_UINT32, BASE_DEC, VALS(inap_FacilityGroupID_vals), 0,
5091 { &hf_inap_facilityGroupMemberID,
5092 { "facilityGroupMemberID", "inap.facilityGroupMemberID",
5093 FT_INT32, BASE_DEC, NULL, 0,
5095 { &hf_inap_resourceID,
5096 { "resourceID", "inap.resourceID",
5097 FT_UINT32, BASE_DEC, VALS(inap_ResourceID_vals), 0,
5099 { &hf_inap_numberingPlan,
5100 { "numberingPlan", "inap.numberingPlan",
5101 FT_BYTES, BASE_HEX, NULL, 0,
5102 "CollectInformationarg/numberingPlan", HFILL }},
5103 { &hf_inap_cutAndPaste,
5104 { "cutAndPaste", "inap.cutAndPaste",
5105 FT_UINT32, BASE_DEC, NULL, 0,
5106 "Connectarg/cutAndPaste", HFILL }},
5107 { &hf_inap_forwardingCondition,
5108 { "forwardingCondition", "inap.forwardingCondition",
5109 FT_UINT32, BASE_DEC, VALS(inap_T_forwardingCondition_vals), 0,
5110 "Connectarg/forwardingCondition", HFILL }},
5112 { "scfID", "inap.scfID",
5113 FT_BYTES, BASE_HEX, NULL, 0,
5115 { &hf_inap_serviceInteractionIndicators,
5116 { "serviceInteractionIndicators", "inap.serviceInteractionIndicators",
5117 FT_BYTES, BASE_HEX, NULL, 0,
5119 { &hf_inap_resourceAddress,
5120 { "resourceAddress", "inap.resourceAddress",
5121 FT_UINT32, BASE_DEC, VALS(inap_T_resourceAddress_vals), 0,
5122 "ConnectToResource/resourceAddress", HFILL }},
5123 { &hf_inap_ipRoutingAddress,
5124 { "ipRoutingAddress", "inap.ipRoutingAddress",
5125 FT_BYTES, BASE_HEX, NULL, 0,
5126 "ConnectToResource/resourceAddress/ipRoutingAddress", HFILL }},
5128 { "none", "inap.none",
5129 FT_NONE, BASE_NONE, NULL, 0,
5130 "ConnectToResource/resourceAddress/none", HFILL }},
5131 { &hf_inap_assistingSSPIPRoutingAddress,
5132 { "assistingSSPIPRoutingAddress", "inap.assistingSSPIPRoutingAddress",
5133 FT_BYTES, BASE_HEX, NULL, 0,
5134 "EstablishTemporaryConnection/assistingSSPIPRoutingAddress", HFILL }},
5135 { &hf_inap_eventTypeCharging,
5136 { "eventTypeCharging", "inap.eventTypeCharging",
5137 FT_BYTES, BASE_HEX, NULL, 0,
5139 { &hf_inap_eventSpecificInformationCharging,
5140 { "eventSpecificInformationCharging", "inap.eventSpecificInformationCharging",
5141 FT_BYTES, BASE_HEX, NULL, 0,
5142 "EventNotificationChargingarg/eventSpecificInformationCharging", HFILL }},
5143 { &hf_inap_monitorMode,
5144 { "monitorMode", "inap.monitorMode",
5145 FT_UINT32, BASE_DEC, VALS(inap_MonitorMode_vals), 0,
5147 { &hf_inap_eventTypeBCSM,
5148 { "eventTypeBCSM", "inap.eventTypeBCSM",
5149 FT_UINT32, BASE_DEC, VALS(inap_EventTypeBCSM_vals), 0,
5151 { &hf_inap_bcsmEventCorrelationID,
5152 { "bcsmEventCorrelationID", "inap.bcsmEventCorrelationID",
5153 FT_BYTES, BASE_HEX, NULL, 0,
5155 { &hf_inap_eventSpecificInformationBCSM,
5156 { "eventSpecificInformationBCSM", "inap.eventSpecificInformationBCSM",
5157 FT_UINT32, BASE_DEC, VALS(inap_T_eventSpecificInformationBCSM_vals), 0,
5158 "EventReportBCSM/eventSpecificInformationBCSM", HFILL }},
5159 { &hf_inap_collectedInfoSpecificInfo,
5160 { "collectedInfoSpecificInfo", "inap.collectedInfoSpecificInfo",
5161 FT_NONE, BASE_NONE, NULL, 0,
5162 "EventReportBCSM/eventSpecificInformationBCSM/collectedInfoSpecificInfo", HFILL }},
5163 { &hf_inap_calledPartynumber,
5164 { "calledPartynumber", "inap.calledPartynumber",
5165 FT_BYTES, BASE_HEX, NULL, 0,
5167 { &hf_inap_analyzedInfoSpecificInfo,
5168 { "analyzedInfoSpecificInfo", "inap.analyzedInfoSpecificInfo",
5169 FT_NONE, BASE_NONE, NULL, 0,
5170 "EventReportBCSM/eventSpecificInformationBCSM/analyzedInfoSpecificInfo", HFILL }},
5171 { &hf_inap_routeSelectFailureSpecificInfo,
5172 { "routeSelectFailureSpecificInfo", "inap.routeSelectFailureSpecificInfo",
5173 FT_NONE, BASE_NONE, NULL, 0,
5174 "EventReportBCSM/eventSpecificInformationBCSM/routeSelectFailureSpecificInfo", HFILL }},
5175 { &hf_inap_failureCause,
5176 { "failureCause", "inap.failureCause",
5177 FT_BYTES, BASE_HEX, NULL, 0,
5179 { &hf_inap_oCalledPartyBusySpecificInfo,
5180 { "oCalledPartyBusySpecificInfo", "inap.oCalledPartyBusySpecificInfo",
5181 FT_NONE, BASE_NONE, NULL, 0,
5182 "EventReportBCSM/eventSpecificInformationBCSM/oCalledPartyBusySpecificInfo", HFILL }},
5183 { &hf_inap_busyCause,
5184 { "busyCause", "inap.busyCause",
5185 FT_BYTES, BASE_HEX, NULL, 0,
5187 { &hf_inap_oNoAnswerSpecificInfo,
5188 { "oNoAnswerSpecificInfo", "inap.oNoAnswerSpecificInfo",
5189 FT_NONE, BASE_NONE, NULL, 0,
5190 "EventReportBCSM/eventSpecificInformationBCSM/oNoAnswerSpecificInfo", HFILL }},
5191 { &hf_inap_oAnswerSpecificInfo,
5192 { "oAnswerSpecificInfo", "inap.oAnswerSpecificInfo",
5193 FT_NONE, BASE_NONE, NULL, 0,
5194 "EventReportBCSM/eventSpecificInformationBCSM/oAnswerSpecificInfo", HFILL }},
5195 { &hf_inap_oMidCallSpecificInfo,
5196 { "oMidCallSpecificInfo", "inap.oMidCallSpecificInfo",
5197 FT_NONE, BASE_NONE, NULL, 0,
5198 "EventReportBCSM/eventSpecificInformationBCSM/oMidCallSpecificInfo", HFILL }},
5199 { &hf_inap_connectTime,
5200 { "connectTime", "inap.connectTime",
5201 FT_UINT32, BASE_DEC, NULL, 0,
5203 { &hf_inap_oDisconnectSpecificInfo,
5204 { "oDisconnectSpecificInfo", "inap.oDisconnectSpecificInfo",
5205 FT_NONE, BASE_NONE, NULL, 0,
5206 "EventReportBCSM/eventSpecificInformationBCSM/oDisconnectSpecificInfo", HFILL }},
5207 { &hf_inap_tBusySpecificInfo,
5208 { "tBusySpecificInfo", "inap.tBusySpecificInfo",
5209 FT_NONE, BASE_NONE, NULL, 0,
5210 "EventReportBCSM/eventSpecificInformationBCSM/tBusySpecificInfo", HFILL }},
5211 { &hf_inap_tNoAnswerSpecificInfo,
5212 { "tNoAnswerSpecificInfo", "inap.tNoAnswerSpecificInfo",
5213 FT_NONE, BASE_NONE, NULL, 0,
5214 "EventReportBCSM/eventSpecificInformationBCSM/tNoAnswerSpecificInfo", HFILL }},
5215 { &hf_inap_tAnswerSpecificInfo,
5216 { "tAnswerSpecificInfo", "inap.tAnswerSpecificInfo",
5217 FT_NONE, BASE_NONE, NULL, 0,
5218 "EventReportBCSM/eventSpecificInformationBCSM/tAnswerSpecificInfo", HFILL }},
5219 { &hf_inap_tMidCallSpecificInfo,
5220 { "tMidCallSpecificInfo", "inap.tMidCallSpecificInfo",
5221 FT_NONE, BASE_NONE, NULL, 0,
5222 "EventReportBCSM/eventSpecificInformationBCSM/tMidCallSpecificInfo", HFILL }},
5223 { &hf_inap_tDisconnectSpecificInfo,
5224 { "tDisconnectSpecificInfo", "inap.tDisconnectSpecificInfo",
5225 FT_NONE, BASE_NONE, NULL, 0,
5226 "EventReportBCSM/eventSpecificInformationBCSM/tDisconnectSpecificInfo", HFILL }},
5227 { &hf_inap_holdcause,
5228 { "holdcause", "inap.holdcause",
5229 FT_BYTES, BASE_HEX, NULL, 0,
5230 "HoldCallInNetworkarg/holdcause", HFILL }},
5232 { "empty", "inap.empty",
5233 FT_NONE, BASE_NONE, NULL, 0,
5234 "HoldCallInNetworkarg/empty", HFILL }},
5235 { &hf_inap_highLayerCompatibility,
5236 { "highLayerCompatibility", "inap.highLayerCompatibility",
5237 FT_BYTES, BASE_HEX, NULL, 0,
5238 "InitialDP/highLayerCompatibility", HFILL }},
5239 { &hf_inap_additionalCallingPartyNumber,
5240 { "additionalCallingPartyNumber", "inap.additionalCallingPartyNumber",
5241 FT_BYTES, BASE_HEX, NULL, 0,
5242 "InitialDP/additionalCallingPartyNumber", HFILL }},
5243 { &hf_inap_forwardCallIndicators,
5244 { "forwardCallIndicators", "inap.forwardCallIndicators",
5245 FT_BYTES, BASE_HEX, NULL, 0,
5246 "InitialDP/forwardCallIndicators", HFILL }},
5247 { &hf_inap_calledPartyBusinessGroupID,
5248 { "calledPartyBusinessGroupID", "inap.calledPartyBusinessGroupID",
5249 FT_BYTES, BASE_HEX, NULL, 0,
5251 { &hf_inap_calledPartySubaddress,
5252 { "calledPartySubaddress", "inap.calledPartySubaddress",
5253 FT_BYTES, BASE_HEX, NULL, 0,
5255 { &hf_inap_featureRequestIndicator,
5256 { "featureRequestIndicator", "inap.featureRequestIndicator",
5257 FT_UINT32, BASE_DEC, VALS(inap_FeatureRequestIndicator_vals), 0,
5259 { &hf_inap_disconnectFromIPForbidden,
5260 { "disconnectFromIPForbidden", "inap.disconnectFromIPForbidden",
5261 FT_BOOLEAN, 8, NULL, 0,
5263 { &hf_inap_requestAnnouncementComplete,
5264 { "requestAnnouncementComplete", "inap.requestAnnouncementComplete",
5265 FT_BOOLEAN, 8, NULL, 0,
5266 "PlayAnnouncement/requestAnnouncementComplete", HFILL }},
5267 { &hf_inap_collectedInfo,
5268 { "collectedInfo", "inap.collectedInfo",
5269 FT_UINT32, BASE_DEC, VALS(inap_T_collectedInfo_vals), 0,
5270 "PromptAndCollectUserInformationarg/collectedInfo", HFILL }},
5271 { &hf_inap_collectedDigits,
5272 { "collectedDigits", "inap.collectedDigits",
5273 FT_NONE, BASE_NONE, NULL, 0,
5274 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits", HFILL }},
5275 { &hf_inap_minimumNbOfDigits,
5276 { "minimumNbOfDigits", "inap.minimumNbOfDigits",
5277 FT_UINT32, BASE_DEC, NULL, 0,
5278 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/minimumNbOfDigits", HFILL }},
5279 { &hf_inap_maximumNbOfDigits,
5280 { "maximumNbOfDigits", "inap.maximumNbOfDigits",
5281 FT_UINT32, BASE_DEC, NULL, 0,
5282 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/maximumNbOfDigits", HFILL }},
5283 { &hf_inap_endOfReplyDigit,
5284 { "endOfReplyDigit", "inap.endOfReplyDigit",
5285 FT_BYTES, BASE_HEX, NULL, 0,
5286 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/endOfReplyDigit", HFILL }},
5287 { &hf_inap_cancelDigit,
5288 { "cancelDigit", "inap.cancelDigit",
5289 FT_BYTES, BASE_HEX, NULL, 0,
5290 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/cancelDigit", HFILL }},
5291 { &hf_inap_startDigit,
5292 { "startDigit", "inap.startDigit",
5293 FT_BYTES, BASE_HEX, NULL, 0,
5294 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/startDigit", HFILL }},
5295 { &hf_inap_firstDigitTimeOut,
5296 { "firstDigitTimeOut", "inap.firstDigitTimeOut",
5297 FT_UINT32, BASE_DEC, NULL, 0,
5298 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/firstDigitTimeOut", HFILL }},
5299 { &hf_inap_interDigitTimeOut,
5300 { "interDigitTimeOut", "inap.interDigitTimeOut",
5301 FT_UINT32, BASE_DEC, NULL, 0,
5302 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/interDigitTimeOut", HFILL }},
5303 { &hf_inap_errorTreatment,
5304 { "errorTreatment", "inap.errorTreatment",
5305 FT_UINT32, BASE_DEC, VALS(inap_T_errorTreatment_vals), 0,
5306 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/errorTreatment", HFILL }},
5307 { &hf_inap_interruptableAnnInd,
5308 { "interruptableAnnInd", "inap.interruptableAnnInd",
5309 FT_BOOLEAN, 8, NULL, 0,
5310 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/interruptableAnnInd", HFILL }},
5311 { &hf_inap_voiceInformation,
5312 { "voiceInformation", "inap.voiceInformation",
5313 FT_BOOLEAN, 8, NULL, 0,
5314 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/voiceInformation", HFILL }},
5315 { &hf_inap_voiceBack,
5316 { "voiceBack", "inap.voiceBack",
5317 FT_BOOLEAN, 8, NULL, 0,
5318 "PromptAndCollectUserInformationarg/collectedInfo/collectedDigits/voiceBack", HFILL }},
5319 { &hf_inap_iA5Information,
5320 { "iA5Information", "inap.iA5Information",
5321 FT_BOOLEAN, 8, NULL, 0,
5322 "PromptAndCollectUserInformationarg/collectedInfo/iA5Information", HFILL }},
5323 { &hf_inap_digitsResponse,
5324 { "digitsResponse", "inap.digitsResponse",
5325 FT_BYTES, BASE_HEX, NULL, 0,
5326 "PromptAndCollectUserInformationres/digitsResponse", HFILL }},
5327 { &hf_inap_iA5Response,
5328 { "iA5Response", "inap.iA5Response",
5329 FT_STRING, BASE_NONE, NULL, 0,
5330 "PromptAndCollectUserInformationres/iA5Response", HFILL }},
5331 { &hf_inap_initialCallSegment,
5332 { "initialCallSegment", "inap.initialCallSegment",
5333 FT_BYTES, BASE_HEX, NULL, 0,
5334 "ReleaseCallArg/initialCallSegment", HFILL }},
5335 { &hf_inap_allCallSegments,
5336 { "allCallSegments", "inap.allCallSegments",
5337 FT_NONE, BASE_NONE, NULL, 0,
5338 "ReleaseCallArg/allCallSegments", HFILL }},
5339 { &hf_inap_resourceStatus,
5340 { "resourceStatus", "inap.resourceStatus",
5341 FT_UINT32, BASE_DEC, VALS(inap_ResourceStatus_vals), 0,
5343 { &hf_inap_monitorDuration,
5344 { "monitorDuration", "inap.monitorDuration",
5345 FT_UINT32, BASE_DEC, NULL, 0,
5347 { &hf_inap_RequestNotificationChargingEvent_item,
5348 { "Item", "inap.RequestNotificationChargingEvent_item",
5349 FT_NONE, BASE_NONE, NULL, 0,
5350 "RequestNotificationChargingEvent/_item", HFILL }},
5351 { &hf_inap_bcsmEvents,
5352 { "bcsmEvents", "inap.bcsmEvents",
5353 FT_NONE, BASE_NONE, NULL, 0,
5354 "RequestReportBCSMEvent/bcsmEvents", HFILL }},
5355 { &hf_inap_bcsmEvents_item,
5356 { "Item", "inap.bcsmEvents_item",
5357 FT_NONE, BASE_NONE, NULL, 0,
5358 "RequestReportBCSMEvent/bcsmEvents/_item", HFILL }},
5359 { &hf_inap_dpSpecificCriteria,
5360 { "dpSpecificCriteria", "inap.dpSpecificCriteria",
5361 FT_UINT32, BASE_DEC, VALS(inap_T_dpSpecificCriteria_vals), 0,
5362 "RequestReportBCSMEvent/bcsmEvents/_item/dpSpecificCriteria", HFILL }},
5363 { &hf_inap_numberOfDigits,
5364 { "numberOfDigits", "inap.numberOfDigits",
5365 FT_UINT32, BASE_DEC, NULL, 0,
5366 "RequestReportBCSMEvent/bcsmEvents/_item/dpSpecificCriteria/numberOfDigits", HFILL }},
5367 { &hf_inap_applicationTimer,
5368 { "applicationTimer", "inap.applicationTimer",
5369 FT_UINT32, BASE_DEC, NULL, 0,
5370 "RequestReportBCSMEvent/bcsmEvents/_item/dpSpecificCriteria/applicationTimer", HFILL }},
5372 { "timerID", "inap.timerID",
5373 FT_UINT32, BASE_DEC, VALS(inap_T_timerID_vals), 0,
5374 "ResetTimer/timerID", HFILL }},
5375 { &hf_inap_timervalue,
5376 { "timervalue", "inap.timervalue",
5377 FT_UINT32, BASE_DEC, NULL, 0,
5378 "ResetTimer/timervalue", HFILL }},
5379 { &hf_inap_destinationNumberRoutingAddress,
5380 { "destinationNumberRoutingAddress", "inap.destinationNumberRoutingAddress",
5381 FT_BYTES, BASE_HEX, NULL, 0,
5382 "SelectFacility/destinationNumberRoutingAddress", HFILL }},
5383 { &hf_inap_calledFacilityGroup,
5384 { "calledFacilityGroup", "inap.calledFacilityGroup",
5385 FT_UINT32, BASE_DEC, VALS(inap_CalledFacilityGroup_vals), 0,
5387 { &hf_inap_calledFacilityGroupMember,
5388 { "calledFacilityGroupMember", "inap.calledFacilityGroupMember",
5389 FT_INT32, BASE_DEC, NULL, 0,
5391 { &hf_inap_sCIBillingChargingCharacteristics,
5392 { "sCIBillingChargingCharacteristics", "inap.sCIBillingChargingCharacteristics",
5393 FT_BYTES, BASE_HEX, NULL, 0,
5394 "SendChargingInformation/sCIBillingChargingCharacteristics", HFILL }},
5395 { &hf_inap_countersValue,
5396 { "countersValue", "inap.countersValue",
5397 FT_NONE, BASE_NONE, NULL, 0,
5398 "ServiceFilteringResponse/countersValue", HFILL }},
5399 { &hf_inap_countersValue_item,
5400 { "Item", "inap.countersValue_item",
5401 FT_NONE, BASE_NONE, NULL, 0,
5402 "ServiceFilteringResponse/countersValue/_item", HFILL }},
5403 { &hf_inap_counterID,
5404 { "counterID", "inap.counterID",
5405 FT_UINT32, BASE_DEC, NULL, 0,
5406 "ServiceFilteringResponse/countersValue/_item/counterID", HFILL }},
5407 { &hf_inap_counterValue,
5408 { "counterValue", "inap.counterValue",
5409 FT_UINT32, BASE_DEC, NULL, 0,
5410 "ServiceFilteringResponse/countersValue/_item/counterValue", HFILL }},
5411 { &hf_inap_responseCondition,
5412 { "responseCondition", "inap.responseCondition",
5413 FT_UINT32, BASE_DEC, VALS(inap_T_responseCondition_vals), 0,
5414 "ServiceFilteringResponse/responseCondition", HFILL }},
5415 { &hf_inap_reportCondition,
5416 { "reportCondition", "inap.reportCondition",
5417 FT_UINT32, BASE_DEC, VALS(inap_T_reportCondition_vals), 0,
5418 "StatusReport/reportCondition", HFILL }},
5420 { "problem", "inap.problem",
5421 FT_UINT32, BASE_DEC, VALS(inap_T_problem_vals), 0,
5422 "CancelFailed/problem", HFILL }},
5423 { &hf_inap_operation,
5424 { "operation", "inap.operation",
5425 FT_UINT32, BASE_DEC, NULL, 0,
5426 "CancelFailed/operation", HFILL }},
5427 { &hf_inap_rinvokeID,
5428 { "rinvokeID", "inap.rinvokeID",
5429 FT_UINT32, BASE_DEC, VALS(inap_T_rinvokeID_vals), 0,
5430 "RejectPDU/rinvokeID", HFILL }},
5431 { &hf_inap_invidtype,
5432 { "invidtype", "inap.invidtype",
5433 FT_INT32, BASE_DEC, NULL, 0,
5434 "RejectPDU/rinvokeID/invidtype", HFILL }},
5436 { "null", "inap.null",
5437 FT_NONE, BASE_NONE, NULL, 0,
5438 "RejectPDU/rinvokeID/null", HFILL }},
5439 { &hf_inap_rproblem,
5440 { "rproblem", "inap.rproblem",
5441 FT_UINT32, BASE_DEC, VALS(inap_T_rproblem_vals), 0,
5442 "RejectPDU/rproblem", HFILL }},
5445 FT_INT32, BASE_DEC, VALS(inap_GeneralProblem_vals), 0,
5446 "RejectPDU/rproblem/gp", HFILL }},
5449 FT_INT32, BASE_DEC, VALS(inap_InvokeProblem_vals), 0,
5450 "RejectPDU/rproblem/ip", HFILL }},
5452 { "rrp", "inap.rrp",
5453 FT_INT32, BASE_DEC, VALS(inap_ReturnResultProblem_vals), 0,
5454 "RejectPDU/rproblem/rrp", HFILL }},
5456 { "rep", "inap.rep",
5457 FT_INT32, BASE_DEC, VALS(inap_ReturnErrorProblem_vals), 0,
5458 "RejectPDU/rproblem/rep", HFILL }},
5460 /*--- End of included file: packet-inap-hfarr.c ---*/
5469 /* List of subtrees */
5470 static gint *ett[] = {
5473 &ett_inap_InvokePDU,
5474 &ett_inap_ReturnErrorPDU,
5475 &ett_inap_ReturnResultPDU,
5476 &ett_inap_ReturnResult_result,
5478 &ett_inapisup_parameter,
5480 /*--- Included file: packet-inap-ettarr.c ---*/
5482 &ett_inap_AddPartyArg,
5483 &ett_inap_AttachArg,
5484 &ett_inap_CallPartyHandlingResultsArg,
5485 &ett_inap_ChangePartiesArg,
5486 &ett_inap_DetachArg,
5487 &ett_inap_HoldCallPartyConnectionArg,
5489 &ett_inap_ReconnectArg,
5490 &ett_inap_ReleaseCallPartyConnectionArg,
5491 &ett_inap_LegInformation,
5492 &ett_inap_VariableParts,
5493 &ett_inap_VariableParts_item,
5494 &ett_inap_VariableMessage,
5497 &ett_inap_MessageID,
5498 &ett_inap_T_elementaryMessageIDs,
5499 &ett_inap_InformationToSend,
5500 &ett_inap_T_inbandInfo,
5501 &ett_inap_FilteringCriteria,
5502 &ett_inap_T_addressAndService,
5503 &ett_inap_Extensions,
5504 &ett_inap_Extensions_item,
5505 &ett_inap_ActivateServiceFilteringarg,
5506 &ett_inap_T_filteredCallTreatment,
5507 &ett_inap_T_filteringCharacteristics,
5508 &ett_inap_T_filteringTimeOut,
5509 &ett_inap_MiscCallInfo,
5510 &ett_inap_ServiceAddressInformation,
5511 &ett_inap_RouteList,
5512 &ett_inap_BearerCapability,
5513 &ett_inap_DpSpecificCommonParameters,
5514 &ett_inap_CallingFacilityGroup,
5515 &ett_inap_AnalysedInformationarg,
5516 &ett_inap_AnalyseInformationarg,
5517 &ett_inap_SEQUENCE_SIZE_1_3_OF_DestinationAddress,
5518 &ett_inap_PartyToCharge,
5519 &ett_inap_ApplyChargingarg,
5520 &ett_inap_AssistRequestInstructionsarg,
5521 &ett_inap_CallGaparg,
5522 &ett_inap_T_gapCriteria,
5523 &ett_inap_T_gapOnService,
5524 &ett_inap_T_calledAddressAndService,
5525 &ett_inap_T_callingAddressAndService,
5526 &ett_inap_T_gapIndicators,
5527 &ett_inap_T_gapTreatment,
5529 &ett_inap_CallInformationReportarg,
5530 &ett_inap_T_requestedInformationList,
5531 &ett_inap_T_requestedInformationList_item,
5532 &ett_inap_T_requestedInformationValue,
5533 &ett_inap_CallInformationRequestarg,
5534 &ett_inap_T_requestedInformationTypeList,
5535 &ett_inap_Cancelarg,
5536 &ett_inap_FacilityGroupID,
5537 &ett_inap_ResourceID,
5538 &ett_inap_CancelStatusReportRequestarg,
5539 &ett_inap_CollectedInformationarg,
5540 &ett_inap_CollectInformationarg,
5541 &ett_inap_Connectarg,
5542 &ett_inap_ConnectToResource,
5543 &ett_inap_T_resourceAddress,
5544 &ett_inap_EstablishTemporaryConnection,
5545 &ett_inap_EventNotificationChargingarg,
5546 &ett_inap_EventReportBCSM,
5547 &ett_inap_T_eventSpecificInformationBCSM,
5548 &ett_inap_T_collectedInfoSpecificInfo,
5549 &ett_inap_T_analyzedInfoSpecificInfo,
5550 &ett_inap_T_routeSelectFailureSpecificInfo,
5551 &ett_inap_T_oCalledPartyBusySpecificInfo,
5552 &ett_inap_T_oNoAnswerSpecificInfo,
5553 &ett_inap_T_oAnswerSpecificInfo,
5554 &ett_inap_T_oMidCallSpecificInfo,
5555 &ett_inap_T_oDisconnectSpecificInfo,
5556 &ett_inap_T_tBusySpecificInfo,
5557 &ett_inap_T_tNoAnswerSpecificInfo,
5558 &ett_inap_T_tAnswerSpecificInfo,
5559 &ett_inap_T_tMidCallSpecificInfo,
5560 &ett_inap_T_tDisconnectSpecificInfo,
5561 &ett_inap_HoldCallInNetworkarg,
5562 &ett_inap_InitialDP,
5563 &ett_inap_InitiateCallAttempt,
5565 &ett_inap_OCalledPartyBusy,
5566 &ett_inap_ODisconnect,
5568 &ett_inap_ONoAnswer,
5569 &ett_inap_OriginationAttemptAuthorized,
5570 &ett_inap_PlayAnnouncement,
5571 &ett_inap_PromptAndCollectUserInformationarg,
5572 &ett_inap_T_collectedInfo,
5573 &ett_inap_T_collectedDigits,
5574 &ett_inap_PromptAndCollectUserInformationres,
5575 &ett_inap_ReleaseCallArg,
5576 &ett_inap_T_allCallSegments,
5577 &ett_inap_RequestCurrentStatusReportarg,
5578 &ett_inap_RequestCurrentStatusReportres,
5579 &ett_inap_RequestEveryStatusChangeReport,
5580 &ett_inap_RequestFirstStatusMatchReport,
5581 &ett_inap_RequestNotificationChargingEvent,
5582 &ett_inap_RequestNotificationChargingEvent_item,
5583 &ett_inap_RequestReportBCSMEvent,
5584 &ett_inap_T_bcsmEvents,
5585 &ett_inap_T_bcsmEvents_item,
5586 &ett_inap_T_dpSpecificCriteria,
5587 &ett_inap_ResetTimer,
5588 &ett_inap_RouteSelectFailure,
5589 &ett_inap_CalledFacilityGroup,
5590 &ett_inap_SelectFacility,
5591 &ett_inap_SelectRoute,
5592 &ett_inap_SendChargingInformation,
5593 &ett_inap_ServiceFilteringResponse,
5594 &ett_inap_T_countersValue,
5595 &ett_inap_T_countersValue_item,
5596 &ett_inap_StatusReport,
5599 &ett_inap_TDisconnect,
5600 &ett_inap_TermAttemptAuthorized,
5602 &ett_inap_TNoAnswer,
5603 &ett_inap_CancelFailed,
5604 &ett_inap_RejectPDU,
5605 &ett_inap_T_rinvokeID,
5606 &ett_inap_T_rproblem,
5608 /*--- End of included file: packet-inap-ettarr.c ---*/
5612 /* Register protocol */
5613 proto_inap = proto_register_protocol(PNAME, PSNAME, PFNAME);
5614 /*XXX register_dissector("inap", dissect_inap, proto_inap);*/
5615 /* Register fields and subtrees */
5616 proto_register_field_array(proto_inap, hf, array_length(hf));
5617 proto_register_subtree_array(ett, array_length(ett));
5620 inap_module = prefs_register_protocol(proto_inap, proto_reg_handoff_inap);
5622 prefs_register_uint_preference(inap_module, "tcap.itu_ssn",
5623 "Subsystem number used for INAP",
5624 "Set Subsystem number used for INAP",
5625 10, &global_tcap_itu_ssn);
5627 prefs_register_uint_preference(inap_module, "tcap.itu_ssn1",
5628 "Subsystem number used for INAP",
5629 "Set Subsystem number used for INAP",
5630 10, &global_tcap_itu_ssn1);